From ee0f0f49eacd5e3740a2807431334b8c4e0d7792 Mon Sep 17 00:00:00 2001 From: Jakub Bogucki Date: Fri, 8 Jul 2022 14:43:24 +0300 Subject: [PATCH 01/24] Decimal: Implement missing checked methods --- packages/std/src/math/decimal.rs | 177 ++++++++++++++++++++++++++++++- 1 file changed, 174 insertions(+), 3 deletions(-) diff --git a/packages/std/src/math/decimal.rs b/packages/std/src/math/decimal.rs index f426030711..cf6788f94a 100644 --- a/packages/std/src/math/decimal.rs +++ b/packages/std/src/math/decimal.rs @@ -3,12 +3,14 @@ use schemars::JsonSchema; use serde::{de, ser, Deserialize, Deserializer, Serialize}; use std::cmp::Ordering; use std::fmt::{self, Write}; -use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Sub, SubAssign}; +use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Rem, RemAssign, Sub, SubAssign}; use std::str::FromStr; use thiserror::Error; -use crate::errors::{CheckedFromRatioError, CheckedMultiplyRatioError, StdError}; -use crate::OverflowError; +use crate::errors::{ + CheckedFromRatioError, CheckedMultiplyRatioError, DivideByZeroError, OverflowError, + OverflowOperation, StdError, +}; use super::Fraction; use super::Isqrt; @@ -168,6 +170,7 @@ impl Decimal { /// assert_eq!(b.decimal_places(), 18); /// assert_eq!(b.atomics(), Uint128::new(1)); /// ``` + #[inline] pub const fn atomics(&self) -> Uint128 { self.0 } @@ -176,10 +179,36 @@ impl Decimal { /// but this could potentially change as the type evolves. /// /// See also [`Decimal::atomics()`]. + #[inline] pub const fn decimal_places(&self) -> u32 { Self::DECIMAL_PLACES as u32 } + pub fn checked_add(self, other: Self) -> Result { + self.0 + .checked_add(other.0) + .map(Self) + .map_err(|_| OverflowError::new(OverflowOperation::Add, self, other)) + } + + pub fn checked_sub(self, other: Self) -> Result { + self.0 + .checked_sub(other.0) + .map(Self) + .map_err(|_| OverflowError::new(OverflowOperation::Sub, self, other)) + } + + pub fn checked_div(self, other: Self) -> Result { + Decimal::checked_from_ratio(self.numerator(), other.numerator()) + } + + pub fn checked_rem(self, other: Self) -> Result { + self.0 + .checked_rem(other.0) + .map(Self) + .map_err(|_| DivideByZeroError::new(self)) + } + /// Multiplies one `Decimal` by another, returning an `OverflowError` if an overflow occurred. pub fn checked_mul(self, other: Self) -> Result { let result_as_uint256 = self.numerator().full_mul(other.numerator()) @@ -258,6 +287,10 @@ impl Decimal { Decimal(inner.isqrt().checked_mul(Uint128::from(outer_mul)).unwrap()) }) } + + pub const fn abs_diff(self, other: Self) -> Self { + Self(self.0.abs_diff(other.0)) + } } impl Fraction for Decimal { @@ -475,6 +508,26 @@ impl DivAssign for Decimal { } } +impl Rem for Decimal { + type Output = Self; + + /// # Panics + /// + /// This operation will panic if `rhs` is zero + #[inline] + fn rem(self, rhs: Self) -> Self { + Self(self.0.rem(rhs.0)) + } +} +forward_ref_binop!(impl Rem, rem for Decimal, Decimal); + +impl RemAssign for Decimal { + fn rem_assign(&mut self, rhs: Decimal) { + *self = *self % rhs; + } +} +forward_ref_op_assign!(impl RemAssign, rem_assign for Decimal, Decimal); + impl std::iter::Sum for Decimal where Self: Add, @@ -1664,4 +1717,122 @@ mod tests { Decimal::percent(8765) ); } + + #[test] + fn decimal_abs_diff_works() { + let a = Decimal::percent(285); + let b = Decimal::percent(200); + let expected = Decimal::percent(85); + assert_eq!(a.abs_diff(b), expected); + assert_eq!(b.abs_diff(a), expected); + } + + #[test] + #[allow(clippy::op_ref)] + fn decimal_rem_works() { + // 4.02 % 1.11 = 0.69 + assert_eq!( + Decimal::percent(402) % Decimal::percent(111), + Decimal::percent(69) + ); + + // 15.25 % 4 = 3.25 + assert_eq!( + Decimal::percent(1525) % Decimal::percent(400), + Decimal::percent(325) + ); + + let a = Decimal::percent(318); + let b = Decimal::percent(317); + let expected = Decimal::percent(1); + assert_eq!(a % b, expected); + assert_eq!(a % &b, expected); + assert_eq!(&a % b, expected); + assert_eq!(&a % &b, expected); + } + + #[test] + fn decimal_rem_assign_works() { + let mut a = Decimal::percent(17673); + a %= Decimal::percent(2362); + assert_eq!(a, Decimal::percent(1139)); // 176.73 % 23.62 = 11.39 + + let mut a = Decimal::percent(4262); + let b = Decimal::percent(1270); + a %= &b; + assert_eq!(a, Decimal::percent(452)); // 42.62 % 12.7 = 4.52 + } + + #[test] + #[should_panic(expected = "divisor of zero")] + fn decimal_rem_panics_for_zero() { + let _ = Decimal::percent(777) % Decimal::zero(); + } + + #[test] + fn decimal_checked_methods() { + // checked add + assert_eq!( + Decimal::percent(402) + .checked_add(Decimal::percent(111)) + .unwrap(), + Decimal::percent(513) + ); + assert!(matches!( + Decimal::MAX.checked_add(Decimal::percent(1)), + Err(OverflowError { .. }) + )); + + // checked sub + assert_eq!( + Decimal::percent(1111) + .checked_sub(Decimal::percent(111)) + .unwrap(), + Decimal::percent(1000) + ); + assert!(matches!( + Decimal::zero().checked_sub(Decimal::percent(1)), + Err(OverflowError { .. }) + )); + + // checked div + assert_eq!( + Decimal::percent(30) + .checked_div(Decimal::percent(200)) + .unwrap(), + Decimal::percent(15) + ); + assert_eq!( + Decimal::percent(88) + .checked_div(Decimal::percent(20)) + .unwrap(), + Decimal::percent(440) + ); + assert!(matches!( + Decimal::MAX.checked_div(Decimal::zero()), + Err(CheckedFromRatioError::DivideByZero { .. }) + )); + assert!(matches!( + Decimal::MAX.checked_div(Decimal::percent(1)), + Err(CheckedFromRatioError::Overflow { .. }) + )); + + // checked rem + assert_eq!( + Decimal::percent(402) + .checked_rem(Decimal::percent(111)) + .unwrap(), + Decimal::percent(69) + ); + assert_eq!( + Decimal::percent(1525) + .checked_rem(Decimal::percent(400)) + .unwrap(), + Decimal::percent(325) + ); + assert!(matches!( + Decimal::MAX.checked_rem(Decimal::zero()), + Err(DivideByZeroError { .. }) + )); + } } From 0c139dea95b35f05019f4414fbc29380b782cad6 Mon Sep 17 00:00:00 2001 From: Jakub Bogucki Date: Fri, 8 Jul 2022 16:10:31 +0300 Subject: [PATCH 02/24] Decimal256: Implement missing checked methods --- packages/std/src/math/decimal.rs | 22 +-- packages/std/src/math/decimal256.rs | 205 +++++++++++++++++++++++++++- 2 files changed, 213 insertions(+), 14 deletions(-) diff --git a/packages/std/src/math/decimal.rs b/packages/std/src/math/decimal.rs index cf6788f94a..13bc9b8082 100644 --- a/packages/std/src/math/decimal.rs +++ b/packages/std/src/math/decimal.rs @@ -198,17 +198,6 @@ impl Decimal { .map_err(|_| OverflowError::new(OverflowOperation::Sub, self, other)) } - pub fn checked_div(self, other: Self) -> Result { - Decimal::checked_from_ratio(self.numerator(), other.numerator()) - } - - pub fn checked_rem(self, other: Self) -> Result { - self.0 - .checked_rem(other.0) - .map(Self) - .map_err(|_| DivideByZeroError::new(self)) - } - /// Multiplies one `Decimal` by another, returning an `OverflowError` if an overflow occurred. pub fn checked_mul(self, other: Self) -> Result { let result_as_uint256 = self.numerator().full_mul(other.numerator()) @@ -256,6 +245,17 @@ impl Decimal { }) } + pub fn checked_div(self, other: Self) -> Result { + Decimal::checked_from_ratio(self.numerator(), other.numerator()) + } + + pub fn checked_rem(self, other: Self) -> Result { + self.0 + .checked_rem(other.0) + .map(Self) + .map_err(|_| DivideByZeroError::new(self)) + } + /// Returns the approximate square root as a Decimal. /// /// This should not overflow or panic. diff --git a/packages/std/src/math/decimal256.rs b/packages/std/src/math/decimal256.rs index 67d216b3e7..c0f9005f8b 100644 --- a/packages/std/src/math/decimal256.rs +++ b/packages/std/src/math/decimal256.rs @@ -3,12 +3,15 @@ use schemars::JsonSchema; use serde::{de, ser, Deserialize, Deserializer, Serialize}; use std::cmp::Ordering; use std::fmt::{self, Write}; -use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Sub, SubAssign}; +use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Rem, RemAssign, Sub, SubAssign}; use std::str::FromStr; use thiserror::Error; -use crate::errors::{CheckedFromRatioError, CheckedMultiplyRatioError, StdError}; -use crate::{OverflowError, Uint512}; +use crate::errors::{ + CheckedFromRatioError, CheckedMultiplyRatioError, DivideByZeroError, OverflowError, + OverflowOperation, StdError, +}; +use crate::{Decimal, Uint512}; use super::Fraction; use super::Isqrt; @@ -180,6 +183,7 @@ impl Decimal256 { /// assert_eq!(b.decimal_places(), 18); /// assert_eq!(b.atomics(), Uint256::from(1u128)); /// ``` + #[inline] pub const fn atomics(&self) -> Uint256 { self.0 } @@ -188,10 +192,25 @@ impl Decimal256 { /// but this could potentially change as the type evolves. /// /// See also [`Decimal256::atomics()`]. + #[inline] pub const fn decimal_places(&self) -> u32 { Self::DECIMAL_PLACES as u32 } + pub fn checked_add(self, other: Self) -> Result { + self.0 + .checked_add(other.0) + .map(Self) + .map_err(|_| OverflowError::new(OverflowOperation::Add, self, other)) + } + + pub fn checked_sub(self, other: Self) -> Result { + self.0 + .checked_sub(other.0) + .map(Self) + .map_err(|_| OverflowError::new(OverflowOperation::Sub, self, other)) + } + /// Multiplies one `Decimal256` by another, returning an `OverflowError` if an overflow occurred. pub fn checked_mul(self, other: Self) -> Result { let result_as_uint512 = self.numerator().full_mul(other.numerator()) @@ -239,6 +258,17 @@ impl Decimal256 { }) } + pub fn checked_div(self, other: Self) -> Result { + Decimal256::checked_from_ratio(self.numerator(), other.numerator()) + } + + pub fn checked_rem(self, other: Self) -> Result { + self.0 + .checked_rem(other.0) + .map(Self) + .map_err(|_| DivideByZeroError::new(self)) + } + /// Returns the approximate square root as a Decimal256. /// /// This should not overflow or panic. @@ -270,6 +300,14 @@ impl Decimal256 { Self(inner.isqrt().checked_mul(outer_mul).unwrap()) }) } + + pub fn abs_diff(self, other: Self) -> Self { + if self < other { + other - self + } else { + self - other + } + } } impl Fraction for Decimal256 { @@ -298,6 +336,14 @@ impl Fraction for Decimal256 { } } +impl From for Decimal256 { + fn from(input: Decimal) -> Self { + // Unwrap is safe because Decimal256 and Decimal have the same decimal places. + // Every Decimal value can be stored in Decimal256. + Decimal256::from_atomics(input.atomics(), input.decimal_places()).unwrap() + } +} + impl FromStr for Decimal256 { type Err = StdError; @@ -487,6 +533,26 @@ impl DivAssign for Decimal256 { } } +impl Rem for Decimal256 { + type Output = Self; + + /// # Panics + /// + /// This operation will panic if `rhs` is zero + #[inline] + fn rem(self, rhs: Self) -> Self { + Self(self.0.rem(rhs.0)) + } +} +forward_ref_binop!(impl Rem, rem for Decimal256, Decimal256); + +impl RemAssign for Decimal256 { + fn rem_assign(&mut self, rhs: Decimal256) { + *self = *self % rhs; + } +} +forward_ref_op_assign!(impl RemAssign, rem_assign for Decimal256, Decimal256); + impl std::iter::Sum for Decimal256 where Self: Add, @@ -766,6 +832,21 @@ mod tests { ); } + #[test] + fn decimal256_implements_from_decimal() { + let a = Decimal::from_str("123.456").unwrap(); + let b = Decimal256::from(a); + assert_eq!(b.to_string(), "123.456"); + + let a = Decimal::from_str("0").unwrap(); + let b = Decimal256::from(a); + assert_eq!(b.to_string(), "0"); + + let a = Decimal::MAX; + let b = Decimal256::from(a); + assert_eq!(b.to_string(), "340282366920938463463.374607431768211455"); + } + #[test] fn decimal256_from_str_works() { // Integers @@ -1783,4 +1864,122 @@ mod tests { Decimal256::percent(8765) ); } + + #[test] + fn decimal256_abs_diff_works() { + let a = Decimal256::percent(285); + let b = Decimal256::percent(200); + let expected = Decimal256::percent(85); + assert_eq!(a.abs_diff(b), expected); + assert_eq!(b.abs_diff(a), expected); + } + + #[test] + #[allow(clippy::op_ref)] + fn decimal256_rem_works() { + // 4.02 % 1.11 = 0.69 + assert_eq!( + Decimal256::percent(402) % Decimal256::percent(111), + Decimal256::percent(69) + ); + + // 15.25 % 4 = 3.25 + assert_eq!( + Decimal256::percent(1525) % Decimal256::percent(400), + Decimal256::percent(325) + ); + + let a = Decimal256::percent(318); + let b = Decimal256::percent(317); + let expected = Decimal256::percent(1); + assert_eq!(a % b, expected); + assert_eq!(a % &b, expected); + assert_eq!(&a % b, expected); + assert_eq!(&a % &b, expected); + } + + #[test] + fn decimal_rem_assign_works() { + let mut a = Decimal256::percent(17673); + a %= Decimal256::percent(2362); + assert_eq!(a, Decimal256::percent(1139)); // 176.73 % 23.62 = 11.39 + + let mut a = Decimal256::percent(4262); + let b = Decimal256::percent(1270); + a %= &b; + assert_eq!(a, Decimal256::percent(452)); // 42.62 % 12.7 = 4.52 + } + + #[test] + #[should_panic(expected = "division by zero")] + fn decimal256_rem_panics_for_zero() { + let _ = Decimal256::percent(777) % Decimal256::zero(); + } + + #[test] + fn decimal256_checked_methods() { + // checked add + assert_eq!( + Decimal256::percent(402) + .checked_add(Decimal256::percent(111)) + .unwrap(), + Decimal256::percent(513) + ); + assert!(matches!( + Decimal256::MAX.checked_add(Decimal256::percent(1)), + Err(OverflowError { .. }) + )); + + // checked sub + assert_eq!( + Decimal256::percent(1111) + .checked_sub(Decimal256::percent(111)) + .unwrap(), + Decimal256::percent(1000) + ); + assert!(matches!( + Decimal256::zero().checked_sub(Decimal256::percent(1)), + Err(OverflowError { .. }) + )); + + // checked div + assert_eq!( + Decimal256::percent(30) + .checked_div(Decimal256::percent(200)) + .unwrap(), + Decimal256::percent(15) + ); + assert_eq!( + Decimal256::percent(88) + .checked_div(Decimal256::percent(20)) + .unwrap(), + Decimal256::percent(440) + ); + assert!(matches!( + Decimal256::MAX.checked_div(Decimal256::zero()), + Err(CheckedFromRatioError::DivideByZero { .. }) + )); + assert!(matches!( + Decimal256::MAX.checked_div(Decimal256::percent(1)), + Err(CheckedFromRatioError::Overflow { .. }) + )); + + // checked rem + assert_eq!( + Decimal256::percent(402) + .checked_rem(Decimal256::percent(111)) + .unwrap(), + Decimal256::percent(69) + ); + assert_eq!( + Decimal256::percent(1525) + .checked_rem(Decimal256::percent(400)) + .unwrap(), + Decimal256::percent(325) + ); + assert!(matches!( + Decimal256::MAX.checked_rem(Decimal256::zero()), + Err(DivideByZeroError { .. }) + )); + } } From fe97727cc86e9e6c5806165c2703dd14147218f3 Mon Sep 17 00:00:00 2001 From: Jakub Bogucki Date: Fri, 8 Jul 2022 15:38:10 +0200 Subject: [PATCH 03/24] Decimal/256: Implement pow --- packages/std/src/math/decimal.rs | 20 ++++++++++++++++++++ packages/std/src/math/decimal256.rs | 23 +++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/packages/std/src/math/decimal.rs b/packages/std/src/math/decimal.rs index 13bc9b8082..6e77636ad3 100644 --- a/packages/std/src/math/decimal.rs +++ b/packages/std/src/math/decimal.rs @@ -212,6 +212,14 @@ impl Decimal { }) } + /// Raises a value to the power of `exp`, pancis if an overflow occurred. + pub fn pow(self, exp: u32) -> Self { + match self.checked_pow(exp) { + Ok(value) => value, + Err(_) => panic!("Multiplication overflow"), + } + } + /// Raises a value to the power of `exp`, returning an `OverflowError` if an overflow occurred. pub fn checked_pow(self, exp: u32) -> Result { // This uses the exponentiation by squaring algorithm: @@ -1835,4 +1843,16 @@ mod tests { Err(DivideByZeroError { .. }) )); } + + #[test] + fn decimal_pow_works() { + assert_eq!(Decimal::percent(200).pow(2), Decimal::percent(400)); + assert_eq!(Decimal::percent(200).pow(10), Decimal::percent(102400)); + } + + #[test] + #[should_panic] + fn decimal_pow_overflow_panics() { + Decimal::MAX.pow(2u32); + } } diff --git a/packages/std/src/math/decimal256.rs b/packages/std/src/math/decimal256.rs index c0f9005f8b..63777e5009 100644 --- a/packages/std/src/math/decimal256.rs +++ b/packages/std/src/math/decimal256.rs @@ -225,6 +225,14 @@ impl Decimal256 { }) } + /// Raises a value to the power of `exp`, panics if an overflow occurred. + pub fn pow(self, exp: u32) -> Self { + match self.checked_pow(exp) { + Ok(value) => value, + Err(_) => panic!("Multiplication overflow"), + } + } + /// Raises a value to the power of `exp`, returning an `OverflowError` if an overflow occurred. pub fn checked_pow(self, exp: u32) -> Result { // This uses the exponentiation by squaring algorithm: @@ -1982,4 +1990,19 @@ mod tests { Err(DivideByZeroError { .. }) )); } + + #[test] + fn decimal256_pow_works() { + assert_eq!(Decimal256::percent(200).pow(2), Decimal256::percent(400)); + assert_eq!( + Decimal256::percent(200).pow(10), + Decimal256::percent(102400) + ); + } + + #[test] + #[should_panic] + fn decimal256_pow_overflow_panics() { + Decimal256::MAX.pow(2u32); + } } From 1cd4abe04fc1fe9a40efd4126101687fca8dad36 Mon Sep 17 00:00:00 2001 From: Jakub Bogucki Date: Fri, 8 Jul 2022 15:55:01 +0200 Subject: [PATCH 04/24] Decimal/256: Implement saturating_pow --- packages/std/src/math/decimal.rs | 15 ++++++++++++++- packages/std/src/math/decimal256.rs | 13 +++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/packages/std/src/math/decimal.rs b/packages/std/src/math/decimal.rs index 6e77636ad3..8d9fe7e558 100644 --- a/packages/std/src/math/decimal.rs +++ b/packages/std/src/math/decimal.rs @@ -212,7 +212,7 @@ impl Decimal { }) } - /// Raises a value to the power of `exp`, pancis if an overflow occurred. + /// Raises a value to the power of `exp`, panics if an overflow occurred. pub fn pow(self, exp: u32) -> Self { match self.checked_pow(exp) { Ok(value) => value, @@ -253,6 +253,14 @@ impl Decimal { }) } + /// Raises a value to the power of `exp`, returns MAX on overflow. + pub fn saturating_pow(self, exp: u32) -> Self { + match self.checked_pow(exp) { + Ok(value) => value, + Err(_) => Self::MAX, + } + } + pub fn checked_div(self, other: Self) -> Result { Decimal::checked_from_ratio(self.numerator(), other.numerator()) } @@ -1855,4 +1863,9 @@ mod tests { fn decimal_pow_overflow_panics() { Decimal::MAX.pow(2u32); } + + #[test] + fn decimal_saturating_pow() { + assert_eq!(Decimal::MAX.saturating_pow(2u32), Decimal::MAX); + } } diff --git a/packages/std/src/math/decimal256.rs b/packages/std/src/math/decimal256.rs index 63777e5009..d7e36960ee 100644 --- a/packages/std/src/math/decimal256.rs +++ b/packages/std/src/math/decimal256.rs @@ -266,6 +266,14 @@ impl Decimal256 { }) } + /// Raises a value to the power of `exp`, returns MAX on overflow. + pub fn saturating_pow(self, exp: u32) -> Self { + match self.checked_pow(exp) { + Ok(value) => value, + Err(_) => Self::MAX, + } + } + pub fn checked_div(self, other: Self) -> Result { Decimal256::checked_from_ratio(self.numerator(), other.numerator()) } @@ -2005,4 +2013,9 @@ mod tests { fn decimal256_pow_overflow_panics() { Decimal256::MAX.pow(2u32); } + + #[test] + fn decimal_saturating_pow() { + assert_eq!(Decimal::MAX.saturating_pow(2u32), Decimal::MAX); + } } From 64662fe68235ab7581b9e104f711d9fc33dcfb25 Mon Sep 17 00:00:00 2001 From: Jakub Bogucki Date: Fri, 8 Jul 2022 16:42:07 +0200 Subject: [PATCH 05/24] Decimal/256: Add one more testcase to increase coverage --- packages/std/src/math/decimal.rs | 4 ++++ packages/std/src/math/decimal256.rs | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/std/src/math/decimal.rs b/packages/std/src/math/decimal.rs index 8d9fe7e558..cd00a4ccdb 100644 --- a/packages/std/src/math/decimal.rs +++ b/packages/std/src/math/decimal.rs @@ -1866,6 +1866,10 @@ mod tests { #[test] fn decimal_saturating_pow() { + assert_eq!( + Decimal::percent(400).saturating_pow(2u32), + Decimal::percent(1600) + ); assert_eq!(Decimal::MAX.saturating_pow(2u32), Decimal::MAX); } } diff --git a/packages/std/src/math/decimal256.rs b/packages/std/src/math/decimal256.rs index d7e36960ee..508191c6fa 100644 --- a/packages/std/src/math/decimal256.rs +++ b/packages/std/src/math/decimal256.rs @@ -2015,7 +2015,11 @@ mod tests { } #[test] - fn decimal_saturating_pow() { - assert_eq!(Decimal::MAX.saturating_pow(2u32), Decimal::MAX); + fn decimal256_saturating_pow() { + assert_eq!( + Decimal256::percent(400).saturating_pow(2u32), + Decimal256::percent(1600) + ); + assert_eq!(Decimal256::MAX.saturating_pow(2u32), Decimal256::MAX); } } From 0674fb9f9789c8cd76f3d984fd134505409cfcfa Mon Sep 17 00:00:00 2001 From: Jakub Bogucki Date: Mon, 11 Jul 2022 12:15:38 +0200 Subject: [PATCH 06/24] Decimal/256: Implement ceil/floor rounding --- packages/std/src/math/decimal.rs | 28 ++++++++++++++++++++++++++++ packages/std/src/math/decimal256.rs | 28 ++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/packages/std/src/math/decimal.rs b/packages/std/src/math/decimal.rs index cd00a4ccdb..006b337fc8 100644 --- a/packages/std/src/math/decimal.rs +++ b/packages/std/src/math/decimal.rs @@ -184,6 +184,19 @@ impl Decimal { Self::DECIMAL_PLACES as u32 } + pub fn floor(&self) -> Self { + Self((self.0 / Self::DECIMAL_FRACTIONAL) * Self::DECIMAL_FRACTIONAL) + } + + pub fn ceil(&self) -> Self { + let floor = self.floor(); + if &floor == self { + floor + } else { + floor + Decimal::one() + } + } + pub fn checked_add(self, other: Self) -> Result { self.0 .checked_add(other.0) @@ -1872,4 +1885,19 @@ mod tests { ); assert_eq!(Decimal::MAX.saturating_pow(2u32), Decimal::MAX); } + + #[test] + fn decimal_rounding() { + assert_eq!(Decimal::one().floor(), Decimal::one()); + assert_eq!(Decimal::percent(150).floor(), Decimal::one()); + assert_eq!(Decimal::percent(199).floor(), Decimal::one()); + assert_eq!(Decimal::percent(200).floor(), Decimal::percent(200)); + assert_eq!(Decimal::percent(99).floor(), Decimal::zero()); + + assert_eq!(Decimal::one().ceil(), Decimal::one()); + assert_eq!(Decimal::percent(150).ceil(), Decimal::percent(200)); + assert_eq!(Decimal::percent(199).ceil(), Decimal::percent(200)); + assert_eq!(Decimal::percent(99).ceil(), Decimal::one()); + assert_eq!(Decimal(Uint128::from(1u128)).ceil(), Decimal::one()); + } } diff --git a/packages/std/src/math/decimal256.rs b/packages/std/src/math/decimal256.rs index 508191c6fa..9111ce2106 100644 --- a/packages/std/src/math/decimal256.rs +++ b/packages/std/src/math/decimal256.rs @@ -197,6 +197,19 @@ impl Decimal256 { Self::DECIMAL_PLACES as u32 } + pub fn floor(&self) -> Self { + Self((self.0 / Self::DECIMAL_FRACTIONAL) * Self::DECIMAL_FRACTIONAL) + } + + pub fn ceil(&self) -> Self { + let floor = self.floor(); + if &floor == self { + floor + } else { + floor + Decimal256::one() + } + } + pub fn checked_add(self, other: Self) -> Result { self.0 .checked_add(other.0) @@ -2022,4 +2035,19 @@ mod tests { ); assert_eq!(Decimal256::MAX.saturating_pow(2u32), Decimal256::MAX); } + + #[test] + fn decimal256_rounding() { + assert_eq!(Decimal256::one().floor(), Decimal256::one()); + assert_eq!(Decimal256::percent(150).floor(), Decimal256::one()); + assert_eq!(Decimal256::percent(199).floor(), Decimal256::one()); + assert_eq!(Decimal256::percent(200).floor(), Decimal256::percent(200)); + assert_eq!(Decimal256::percent(99).floor(), Decimal256::zero()); + + assert_eq!(Decimal256::one().ceil(), Decimal256::one()); + assert_eq!(Decimal256::percent(150).ceil(), Decimal256::percent(200)); + assert_eq!(Decimal256::percent(199).ceil(), Decimal256::percent(200)); + assert_eq!(Decimal256::percent(99).ceil(), Decimal256::one()); + assert_eq!(Decimal256(Uint256::from(1u128)).ceil(), Decimal256::one()); + } } From 48d12441127a3d24135a1a7bbb100066cc2fb03f Mon Sep 17 00:00:00 2001 From: Jakub Bogucki Date: Mon, 11 Jul 2022 12:57:15 +0200 Subject: [PATCH 07/24] Decimal/256: Implement checked_ceil; add doc comments --- packages/std/src/math/decimal.rs | 32 +++++++++++++++++++++++++++-- packages/std/src/math/decimal256.rs | 32 +++++++++++++++++++++++++++-- 2 files changed, 60 insertions(+), 4 deletions(-) diff --git a/packages/std/src/math/decimal.rs b/packages/std/src/math/decimal.rs index 006b337fc8..d7f48016db 100644 --- a/packages/std/src/math/decimal.rs +++ b/packages/std/src/math/decimal.rs @@ -184,16 +184,26 @@ impl Decimal { Self::DECIMAL_PLACES as u32 } + /// Rounds value down after decimal places. pub fn floor(&self) -> Self { Self((self.0 / Self::DECIMAL_FRACTIONAL) * Self::DECIMAL_FRACTIONAL) } + /// Rounds value up after decimal places. Panics on overflow. pub fn ceil(&self) -> Self { + match self.checked_ceil() { + Ok(value) => value, + Err(_) => panic!("attempt to ceil with overflow"), + } + } + + /// Rounds value up after decimal places. Returns OverflowError on overflow. + pub fn checked_ceil(&self) -> Result { let floor = self.floor(); if &floor == self { - floor + Ok(floor) } else { - floor + Decimal::one() + floor.checked_add(Decimal::one()) } } @@ -1900,4 +1910,22 @@ mod tests { assert_eq!(Decimal::percent(99).ceil(), Decimal::one()); assert_eq!(Decimal(Uint128::from(1u128)).ceil(), Decimal::one()); } + + #[test] + #[should_panic(expected = "attempt to ceil with overflow")] + fn decimal_ceil_panics() { + let _ = Decimal::MAX.ceil(); + } + + #[test] + fn decimal_checked_ceil() { + assert_eq!( + Decimal::percent(199).checked_ceil(), + Ok(Decimal::percent(200)) + ); + assert!(matches!( + Decimal::MAX.checked_ceil(), + Err(OverflowError { .. }) + )); + } } diff --git a/packages/std/src/math/decimal256.rs b/packages/std/src/math/decimal256.rs index 9111ce2106..b8e8aa826a 100644 --- a/packages/std/src/math/decimal256.rs +++ b/packages/std/src/math/decimal256.rs @@ -197,16 +197,26 @@ impl Decimal256 { Self::DECIMAL_PLACES as u32 } + /// Rounds value down after decimal places. pub fn floor(&self) -> Self { Self((self.0 / Self::DECIMAL_FRACTIONAL) * Self::DECIMAL_FRACTIONAL) } + /// Rounds value up after decimal places. Panics on overflow. pub fn ceil(&self) -> Self { + match self.checked_ceil() { + Ok(value) => value, + Err(_) => panic!("attempt to ceil with overflow"), + } + } + + /// Rounds value up after decimal places. Returns OverflowError on overflow. + pub fn checked_ceil(&self) -> Result { let floor = self.floor(); if &floor == self { - floor + Ok(floor) } else { - floor + Decimal256::one() + floor.checked_add(Decimal256::one()) } } @@ -2050,4 +2060,22 @@ mod tests { assert_eq!(Decimal256::percent(99).ceil(), Decimal256::one()); assert_eq!(Decimal256(Uint256::from(1u128)).ceil(), Decimal256::one()); } + + #[test] + #[should_panic(expected = "attempt to ceil with overflow")] + fn decimal256_ceil_panics() { + let _ = Decimal256::MAX.ceil(); + } + + #[test] + fn decimal256_checked_ceil() { + assert_eq!( + Decimal256::percent(199).checked_ceil(), + Ok(Decimal256::percent(200)) + ); + assert!(matches!( + Decimal256::MAX.checked_ceil(), + Err(OverflowError { .. }) + )); + } } From 4eb7b65fe2206cddf6a1c66e4319e9b042050904 Mon Sep 17 00:00:00 2001 From: Jakub Bogucki Date: Fri, 8 Jul 2022 17:37:41 +0300 Subject: [PATCH 08/24] Uint256/512: Implement saturating_pow --- packages/std/src/math/uint128.rs | 4 ++-- packages/std/src/math/uint256.rs | 25 +++++++++++++++++++++++++ packages/std/src/math/uint512.rs | 25 +++++++++++++++++++++++++ packages/std/src/math/uint64.rs | 4 ++-- 4 files changed, 54 insertions(+), 4 deletions(-) diff --git a/packages/std/src/math/uint128.rs b/packages/std/src/math/uint128.rs index 11d214bddd..972fadf563 100644 --- a/packages/std/src/math/uint128.rs +++ b/packages/std/src/math/uint128.rs @@ -205,8 +205,8 @@ impl Uint128 { Self(self.0.saturating_mul(other.0)) } - pub fn saturating_pow(self, other: u32) -> Self { - Self(self.0.saturating_pow(other)) + pub fn saturating_pow(self, exp: u32) -> Self { + Self(self.0.saturating_pow(exp)) } } diff --git a/packages/std/src/math/uint256.rs b/packages/std/src/math/uint256.rs index a4b7c4b002..14a0504c54 100644 --- a/packages/std/src/math/uint256.rs +++ b/packages/std/src/math/uint256.rs @@ -283,6 +283,21 @@ impl Uint256 { pub fn saturating_mul(self, other: Self) -> Self { Self(self.0.saturating_mul(other.0)) } + + pub fn saturating_pow(self, exp: u32) -> Self { + match self.checked_pow(exp) { + Ok(value) => value, + Err(_) => Self::MAX, + } + } + + pub fn abs_diff(self, other: Self) -> Self { + if self < other { + other - self + } else { + self - other + } + } } impl From for Uint256 { @@ -1457,6 +1472,7 @@ mod tests { Uint256::MAX.saturating_mul(Uint256::from(2u32)), Uint256::MAX ); + assert_eq!(Uint256::MAX.saturating_pow(2u32), Uint256::MAX); } #[test] @@ -1516,4 +1532,13 @@ mod tests { a %= &b; assert_eq!(a, Uint256::from(1u32)); } + + #[test] + fn uint256_abs_diff_works() { + let a = Uint256::from(42u32); + let b = Uint256::from(5u32); + let expected = Uint256::from(37u32); + assert_eq!(a.abs_diff(b), expected); + assert_eq!(b.abs_diff(a), expected); + } } diff --git a/packages/std/src/math/uint512.rs b/packages/std/src/math/uint512.rs index a8779b7c91..bb7211367d 100644 --- a/packages/std/src/math/uint512.rs +++ b/packages/std/src/math/uint512.rs @@ -258,6 +258,21 @@ impl Uint512 { pub fn saturating_mul(self, other: Self) -> Self { Self(self.0.saturating_mul(other.0)) } + + pub fn saturating_pow(self, exp: u32) -> Self { + match self.checked_pow(exp) { + Ok(value) => value, + Err(_) => Self::MAX, + } + } + + pub fn abs_diff(self, other: Self) -> Self { + if self < other { + other - self + } else { + self - other + } + } } impl From for Uint512 { @@ -1092,6 +1107,7 @@ mod tests { Uint512::MAX.saturating_mul(Uint512::from(2u32)), Uint512::MAX ); + assert_eq!(Uint512::MAX.saturating_pow(2u32), Uint512::MAX); } #[test] @@ -1151,4 +1167,13 @@ mod tests { a %= &b; assert_eq!(a, Uint512::from(1u32)); } + + #[test] + fn uint512_abs_diff_works() { + let a = Uint512::from(42u32); + let b = Uint512::from(5u32); + let expected = Uint512::from(37u32); + assert_eq!(a.abs_diff(b), expected); + assert_eq!(b.abs_diff(a), expected); + } } diff --git a/packages/std/src/math/uint64.rs b/packages/std/src/math/uint64.rs index cfe437f995..8cc7c0ad4a 100644 --- a/packages/std/src/math/uint64.rs +++ b/packages/std/src/math/uint64.rs @@ -201,8 +201,8 @@ impl Uint64 { Self(self.0.saturating_mul(other.0)) } - pub fn saturating_pow(self, other: u32) -> Self { - Self(self.0.saturating_pow(other)) + pub fn saturating_pow(self, exp: u32) -> Self { + Self(self.0.saturating_pow(exp)) } } From 3fd3cd3cd3facdd70ffee238a9351ed1f4db0ca8 Mon Sep 17 00:00:00 2001 From: Jakub Bogucki Date: Mon, 11 Jul 2022 17:15:38 +0200 Subject: [PATCH 09/24] Implement PartialEq for references for all math types --- packages/std/src/math/decimal.rs | 10 ++++++++-- packages/std/src/math/decimal256.rs | 10 ++++++++-- packages/std/src/math/uint128.rs | 10 ++++++++-- packages/std/src/math/uint256.rs | 10 ++++++++-- packages/std/src/math/uint512.rs | 10 ++++++++-- packages/std/src/math/uint64.rs | 10 ++++++++-- 6 files changed, 48 insertions(+), 12 deletions(-) diff --git a/packages/std/src/math/decimal.rs b/packages/std/src/math/decimal.rs index d7f48016db..3685edb8f4 100644 --- a/packages/std/src/math/decimal.rs +++ b/packages/std/src/math/decimal.rs @@ -200,7 +200,7 @@ impl Decimal { /// Rounds value up after decimal places. Returns OverflowError on overflow. pub fn checked_ceil(&self) -> Result { let floor = self.floor(); - if &floor == self { + if floor == self { Ok(floor) } else { floor.checked_add(Decimal::one()) @@ -616,6 +616,12 @@ impl<'de> de::Visitor<'de> for DecimalVisitor { } } +impl PartialEq<&Decimal> for Decimal { + fn eq(&self, rhs: &&Decimal) -> bool { + self == *rhs + } +} + #[cfg(test)] mod tests { use super::*; @@ -1719,7 +1725,7 @@ mod tests { ); let empty: Vec = vec![]; - assert_eq!(Decimal::zero(), empty.iter().sum()); + assert_eq!(Decimal::zero(), empty.iter().sum::()); } #[test] diff --git a/packages/std/src/math/decimal256.rs b/packages/std/src/math/decimal256.rs index b8e8aa826a..52329a223a 100644 --- a/packages/std/src/math/decimal256.rs +++ b/packages/std/src/math/decimal256.rs @@ -213,7 +213,7 @@ impl Decimal256 { /// Rounds value up after decimal places. Returns OverflowError on overflow. pub fn checked_ceil(&self) -> Result { let floor = self.floor(); - if &floor == self { + if floor == self { Ok(floor) } else { floor.checked_add(Decimal256::one()) @@ -641,6 +641,12 @@ impl<'de> de::Visitor<'de> for Decimal256Visitor { } } +impl PartialEq<&Decimal256> for Decimal256 { + fn eq(&self, rhs: &&Decimal256) -> bool { + self == *rhs + } +} + #[cfg(test)] mod tests { use super::*; @@ -1854,7 +1860,7 @@ mod tests { ); let empty: Vec = vec![]; - assert_eq!(Decimal256::zero(), empty.iter().sum()); + assert_eq!(Decimal256::zero(), empty.iter().sum::()); } #[test] diff --git a/packages/std/src/math/uint128.rs b/packages/std/src/math/uint128.rs index 972fadf563..9b21b09739 100644 --- a/packages/std/src/math/uint128.rs +++ b/packages/std/src/math/uint128.rs @@ -503,6 +503,12 @@ where } } +impl PartialEq<&Uint128> for Uint128 { + fn eq(&self, rhs: &&Uint128) -> bool { + self == *rhs + } +} + #[cfg(test)] mod tests { use super::*; @@ -844,10 +850,10 @@ mod tests { let nums = vec![Uint128(17), Uint128(123), Uint128(540), Uint128(82)]; let expected = Uint128(762); - let sum_as_ref = nums.iter().sum(); + let sum_as_ref: Uint128 = nums.iter().sum(); assert_eq!(expected, sum_as_ref); - let sum_as_owned = nums.into_iter().sum(); + let sum_as_owned: Uint128 = nums.into_iter().sum(); assert_eq!(expected, sum_as_owned); } diff --git a/packages/std/src/math/uint256.rs b/packages/std/src/math/uint256.rs index 14a0504c54..f2e516d3fb 100644 --- a/packages/std/src/math/uint256.rs +++ b/packages/std/src/math/uint256.rs @@ -615,6 +615,12 @@ where } } +impl PartialEq<&Uint256> for Uint256 { + fn eq(&self, rhs: &&Uint256) -> bool { + self == *rhs + } +} + #[cfg(test)] mod tests { use super::*; @@ -1404,10 +1410,10 @@ mod tests { ]; let expected = Uint256::from(762u32); - let sum_as_ref = nums.iter().sum(); + let sum_as_ref: Uint256 = nums.iter().sum(); assert_eq!(expected, sum_as_ref); - let sum_as_owned = nums.into_iter().sum(); + let sum_as_owned: Uint256 = nums.into_iter().sum(); assert_eq!(expected, sum_as_owned); } diff --git a/packages/std/src/math/uint512.rs b/packages/std/src/math/uint512.rs index bb7211367d..6179975ff3 100644 --- a/packages/std/src/math/uint512.rs +++ b/packages/std/src/math/uint512.rs @@ -576,6 +576,12 @@ where } } +impl PartialEq<&Uint512> for Uint512 { + fn eq(&self, rhs: &&Uint512) -> bool { + self == *rhs + } +} + #[cfg(test)] mod tests { use super::*; @@ -1039,10 +1045,10 @@ mod tests { ]; let expected = Uint512::from(762u32); - let sum_as_ref = nums.iter().sum(); + let sum_as_ref: Uint512 = nums.iter().sum(); assert_eq!(expected, sum_as_ref); - let sum_as_owned = nums.into_iter().sum(); + let sum_as_owned: Uint512 = nums.into_iter().sum(); assert_eq!(expected, sum_as_owned); } diff --git a/packages/std/src/math/uint64.rs b/packages/std/src/math/uint64.rs index 8cc7c0ad4a..034c85e259 100644 --- a/packages/std/src/math/uint64.rs +++ b/packages/std/src/math/uint64.rs @@ -457,6 +457,12 @@ where } } +impl PartialEq<&Uint64> for Uint64 { + fn eq(&self, rhs: &&Uint64) -> bool { + self == *rhs + } +} + #[cfg(test)] mod tests { use super::*; @@ -759,10 +765,10 @@ mod tests { let nums = vec![Uint64(17), Uint64(123), Uint64(540), Uint64(82)]; let expected = Uint64(762); - let sum_as_ref = nums.iter().sum(); + let sum_as_ref: Uint64 = nums.iter().sum(); assert_eq!(expected, sum_as_ref); - let sum_as_owned = nums.into_iter().sum(); + let sum_as_owned: Uint64 = nums.into_iter().sum(); assert_eq!(expected, sum_as_owned); } From 95f4f5be8f43041b8b491d11cd2b2c928ecda55a Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Wed, 13 Jul 2022 10:55:51 +0200 Subject: [PATCH 10/24] Inline zero() and one() consistently --- packages/std/src/math/decimal.rs | 2 ++ packages/std/src/math/decimal256.rs | 2 ++ packages/std/src/math/uint128.rs | 1 + packages/std/src/math/uint256.rs | 1 + packages/std/src/math/uint512.rs | 1 + packages/std/src/math/uint64.rs | 1 + 6 files changed, 8 insertions(+) diff --git a/packages/std/src/math/decimal.rs b/packages/std/src/math/decimal.rs index 3685edb8f4..3a1b17fb27 100644 --- a/packages/std/src/math/decimal.rs +++ b/packages/std/src/math/decimal.rs @@ -47,11 +47,13 @@ impl Decimal { } /// Create a 1.0 Decimal + #[inline] pub const fn one() -> Self { Self(Self::DECIMAL_FRACTIONAL) } /// Create a 0.0 Decimal + #[inline] pub const fn zero() -> Self { Self(Uint128::zero()) } diff --git a/packages/std/src/math/decimal256.rs b/packages/std/src/math/decimal256.rs index 52329a223a..cc6155e4cb 100644 --- a/packages/std/src/math/decimal256.rs +++ b/packages/std/src/math/decimal256.rs @@ -57,11 +57,13 @@ impl Decimal256 { } /// Create a 1.0 Decimal256 + #[inline] pub const fn one() -> Self { Self(Self::DECIMAL_FRACTIONAL) } /// Create a 0.0 Decimal256 + #[inline] pub const fn zero() -> Self { Self(Uint256::zero()) } diff --git a/packages/std/src/math/uint128.rs b/packages/std/src/math/uint128.rs index 9b21b09739..3de280766a 100644 --- a/packages/std/src/math/uint128.rs +++ b/packages/std/src/math/uint128.rs @@ -45,6 +45,7 @@ impl Uint128 { } /// Creates a Uint128(0) + #[inline] pub const fn zero() -> Self { Uint128(0) } diff --git a/packages/std/src/math/uint256.rs b/packages/std/src/math/uint256.rs index f2e516d3fb..d37aa11111 100644 --- a/packages/std/src/math/uint256.rs +++ b/packages/std/src/math/uint256.rs @@ -62,6 +62,7 @@ impl Uint256 { } /// Creates a Uint256(0) + #[inline] pub const fn zero() -> Self { Uint256(U256::zero()) } diff --git a/packages/std/src/math/uint512.rs b/packages/std/src/math/uint512.rs index 6179975ff3..479347f129 100644 --- a/packages/std/src/math/uint512.rs +++ b/packages/std/src/math/uint512.rs @@ -62,6 +62,7 @@ impl Uint512 { } /// Creates a Uint512(0) + #[inline] pub const fn zero() -> Self { Uint512(U512::zero()) } diff --git a/packages/std/src/math/uint64.rs b/packages/std/src/math/uint64.rs index 034c85e259..f03c051b32 100644 --- a/packages/std/src/math/uint64.rs +++ b/packages/std/src/math/uint64.rs @@ -41,6 +41,7 @@ impl Uint64 { } /// Creates a Uint64(0) + #[inline] pub const fn zero() -> Self { Uint64(0) } From 82d4dad761b8574c97bc418798071f054f117892 Mon Sep 17 00:00:00 2001 From: Jakub Bogucki Date: Thu, 14 Jul 2022 10:07:43 +0300 Subject: [PATCH 11/24] Uint/Decimal: Implement const MIN --- packages/std/src/math/decimal.rs | 2 ++ packages/std/src/math/decimal256.rs | 2 ++ packages/std/src/math/uint128.rs | 1 + packages/std/src/math/uint256.rs | 1 + packages/std/src/math/uint512.rs | 1 + packages/std/src/math/uint64.rs | 1 + 6 files changed, 8 insertions(+) diff --git a/packages/std/src/math/decimal.rs b/packages/std/src/math/decimal.rs index 3a1b17fb27..1ce1f617e3 100644 --- a/packages/std/src/math/decimal.rs +++ b/packages/std/src/math/decimal.rs @@ -33,6 +33,8 @@ impl Decimal { const DECIMAL_PLACES: usize = 18; // This needs to be an even number. pub const MAX: Self = Self(Uint128::MAX); + /// The smallest value that can be represented by this decimal type. + pub const MIN: Self = Self(Uint128::MIN); /// Creates a Decimal(value) /// This is equivalent to `Decimal::from_atomics(value, 18)` but usable in a const context. diff --git a/packages/std/src/math/decimal256.rs b/packages/std/src/math/decimal256.rs index cc6155e4cb..4a0480016a 100644 --- a/packages/std/src/math/decimal256.rs +++ b/packages/std/src/math/decimal256.rs @@ -43,6 +43,8 @@ impl Decimal256 { ]); pub const MAX: Self = Self(Uint256::MAX); + /// The smallest value that can be represented by this decimal type. + pub const MIN: Self = Self(Uint256::MIN); /// Creates a Decimal256 from Uint256 /// This is equivalent to `Decimal256::from_atomics(value, 18)` but usable in a const context. diff --git a/packages/std/src/math/uint128.rs b/packages/std/src/math/uint128.rs index 3de280766a..859e2350c1 100644 --- a/packages/std/src/math/uint128.rs +++ b/packages/std/src/math/uint128.rs @@ -36,6 +36,7 @@ pub struct Uint128(#[schemars(with = "String")] u128); impl Uint128 { pub const MAX: Self = Self(u128::MAX); + pub const MIN: Self = Self(u128::MIN); /// Creates a Uint128(value). /// diff --git a/packages/std/src/math/uint256.rs b/packages/std/src/math/uint256.rs index d37aa11111..eb64f8c4a9 100644 --- a/packages/std/src/math/uint256.rs +++ b/packages/std/src/math/uint256.rs @@ -52,6 +52,7 @@ pub struct Uint256(#[schemars(with = "String")] U256); impl Uint256 { pub const MAX: Uint256 = Uint256(U256::MAX); + pub const MIN: Uint256 = Uint256(U256::zero()); /// Creates a Uint256(value) from a big endian representation. It's just an alias for /// [`Uint256::from_be_bytes`]. diff --git a/packages/std/src/math/uint512.rs b/packages/std/src/math/uint512.rs index 479347f129..0039b14d3d 100644 --- a/packages/std/src/math/uint512.rs +++ b/packages/std/src/math/uint512.rs @@ -54,6 +54,7 @@ pub struct Uint512(#[schemars(with = "String")] U512); impl Uint512 { pub const MAX: Uint512 = Uint512(U512::MAX); + pub const MIN: Uint512 = Uint512(U512::zero()); /// Creates a Uint512(value) from a big endian representation. It's just an alias for /// `from_big_endian`. diff --git a/packages/std/src/math/uint64.rs b/packages/std/src/math/uint64.rs index f03c051b32..fce684bd06 100644 --- a/packages/std/src/math/uint64.rs +++ b/packages/std/src/math/uint64.rs @@ -32,6 +32,7 @@ pub struct Uint64(#[schemars(with = "String")] u64); impl Uint64 { pub const MAX: Self = Self(u64::MAX); + pub const MIN: Self = Self(u64::MIN); /// Creates a Uint64(value). /// From 65d0de20b4ce78dfd9cd1c154a794eea9f0d4e1e Mon Sep 17 00:00:00 2001 From: Jakub Bogucki Date: Wed, 13 Jul 2022 18:38:30 +0200 Subject: [PATCH 12/24] Decimal/256: Implement checked_div_euclid --- packages/std/src/math/decimal.rs | 25 +++++++++++++++++++++++-- packages/std/src/math/decimal256.rs | 21 +++++++++++++++++++++ 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/packages/std/src/math/decimal.rs b/packages/std/src/math/decimal.rs index 1ce1f617e3..bf75ffb63c 100644 --- a/packages/std/src/math/decimal.rs +++ b/packages/std/src/math/decimal.rs @@ -292,6 +292,10 @@ impl Decimal { Decimal::checked_from_ratio(self.numerator(), other.numerator()) } + pub fn checked_div_euclid(self, other: Self) -> Result { + Ok(self.checked_div(other)?.floor()) + } + pub fn checked_rem(self, other: Self) -> Result { self.0 .checked_rem(other.0) @@ -1859,12 +1863,29 @@ mod tests { ); assert!(matches!( Decimal::MAX.checked_div(Decimal::zero()), - Err(CheckedFromRatioError::DivideByZero { .. }) + Err(CheckedFromRatioError::DivideByZero { }) )); assert!(matches!( Decimal::MAX.checked_div(Decimal::percent(1)), - Err(CheckedFromRatioError::Overflow { .. }) + Err(CheckedFromRatioError::Overflow { }) + )); + + assert!(matches!( + Decimal::MAX.checked_div_euclid(Decimal::zero()), + Err(CheckedFromRatioError::DivideByZero {}) + )); + assert!(matches!( + Decimal::MAX.checked_div_euclid(Decimal::percent(1)), + Err(CheckedFromRatioError::Overflow {}) )); + assert_eq!( + Decimal::percent(600).checked_div_euclid(Decimal::percent(200)).unwrap(), + Decimal::percent(300), + ); + assert_eq!( + Decimal::percent(1500).checked_div_euclid(Decimal::percent(700)).unwrap(), + Decimal::percent(200), + ); // checked rem assert_eq!( diff --git a/packages/std/src/math/decimal256.rs b/packages/std/src/math/decimal256.rs index 4a0480016a..38b4a963f2 100644 --- a/packages/std/src/math/decimal256.rs +++ b/packages/std/src/math/decimal256.rs @@ -305,6 +305,10 @@ impl Decimal256 { Decimal256::checked_from_ratio(self.numerator(), other.numerator()) } + pub fn checked_div_euclid(self, other: Self) -> Result { + Ok(self.checked_div(other)?.floor()) + } + pub fn checked_rem(self, other: Self) -> Result { self.0 .checked_rem(other.0) @@ -2013,6 +2017,23 @@ mod tests { Err(CheckedFromRatioError::Overflow { .. }) )); + assert!(matches!( + Decimal256::MAX.checked_div_euclid(Decimal256::zero()), + Err(CheckedFromRatioError::DivideByZero {}) + )); + assert!(matches!( + Decimal256::MAX.checked_div_euclid(Decimal256::percent(1)), + Err(CheckedFromRatioError::Overflow {}) + )); + assert_eq!( + Decimal256::percent(600).checked_div_euclid(Decimal256::percent(200)).unwrap(), + Decimal256::percent(300), + ); + assert_eq!( + Decimal256::percent(1500).checked_div_euclid(Decimal256::percent(700)).unwrap(), + Decimal256::percent(200), + ); + // checked rem assert_eq!( Decimal256::percent(402) From 854d33f7ca0d2bc81fe079d5bdb7b45e6a43084e Mon Sep 17 00:00:00 2001 From: Jakub Bogucki Date: Wed, 13 Jul 2022 18:43:28 +0200 Subject: [PATCH 13/24] Decimal/256: Implement checked_div_euclid --- packages/std/src/math/decimal.rs | 16 ++++++++++------ packages/std/src/math/decimal256.rs | 10 +++++++--- packages/std/src/math/uint256.rs | 17 +++++++++++++++++ packages/std/src/math/uint512.rs | 26 ++++++++++++++++++++++++++ 4 files changed, 60 insertions(+), 9 deletions(-) diff --git a/packages/std/src/math/decimal.rs b/packages/std/src/math/decimal.rs index bf75ffb63c..0b82153177 100644 --- a/packages/std/src/math/decimal.rs +++ b/packages/std/src/math/decimal.rs @@ -1863,27 +1863,31 @@ mod tests { ); assert!(matches!( Decimal::MAX.checked_div(Decimal::zero()), - Err(CheckedFromRatioError::DivideByZero { }) + Err(CheckedFromRatioError::DivideByZero {}) )); assert!(matches!( Decimal::MAX.checked_div(Decimal::percent(1)), - Err(CheckedFromRatioError::Overflow { }) + Err(CheckedFromRatioError::Overflow {}) )); - assert!(matches!( + assert!(matches!( Decimal::MAX.checked_div_euclid(Decimal::zero()), Err(CheckedFromRatioError::DivideByZero {}) )); - assert!(matches!( + assert!(matches!( Decimal::MAX.checked_div_euclid(Decimal::percent(1)), Err(CheckedFromRatioError::Overflow {}) )); assert_eq!( - Decimal::percent(600).checked_div_euclid(Decimal::percent(200)).unwrap(), + Decimal::percent(600) + .checked_div_euclid(Decimal::percent(200)) + .unwrap(), Decimal::percent(300), ); assert_eq!( - Decimal::percent(1500).checked_div_euclid(Decimal::percent(700)).unwrap(), + Decimal::percent(1500) + .checked_div_euclid(Decimal::percent(700)) + .unwrap(), Decimal::percent(200), ); diff --git a/packages/std/src/math/decimal256.rs b/packages/std/src/math/decimal256.rs index 38b4a963f2..517122e611 100644 --- a/packages/std/src/math/decimal256.rs +++ b/packages/std/src/math/decimal256.rs @@ -2021,16 +2021,20 @@ mod tests { Decimal256::MAX.checked_div_euclid(Decimal256::zero()), Err(CheckedFromRatioError::DivideByZero {}) )); - assert!(matches!( + assert!(matches!( Decimal256::MAX.checked_div_euclid(Decimal256::percent(1)), Err(CheckedFromRatioError::Overflow {}) )); assert_eq!( - Decimal256::percent(600).checked_div_euclid(Decimal256::percent(200)).unwrap(), + Decimal256::percent(600) + .checked_div_euclid(Decimal256::percent(200)) + .unwrap(), Decimal256::percent(300), ); assert_eq!( - Decimal256::percent(1500).checked_div_euclid(Decimal256::percent(700)).unwrap(), + Decimal256::percent(1500) + .checked_div_euclid(Decimal256::percent(700)) + .unwrap(), Decimal256::percent(200), ); diff --git a/packages/std/src/math/uint256.rs b/packages/std/src/math/uint256.rs index eb64f8c4a9..81ea8b90d9 100644 --- a/packages/std/src/math/uint256.rs +++ b/packages/std/src/math/uint256.rs @@ -251,6 +251,10 @@ impl Uint256 { .ok_or_else(|| DivideByZeroError::new(self)) } + pub fn checked_div_euclid(self, other: Self) -> Result { + self.checked_div(other) + } + pub fn checked_rem(self, other: Self) -> Result { self.0 .checked_rem(other.0) @@ -1467,6 +1471,19 @@ mod tests { Err(DivideByZeroError { .. }) )); + assert!(matches!( + Uint256::MAX.checked_div_euclid(Uint256::from(0u32)), + Err(DivideByZeroError { .. }) + )); + assert_eq!( + Uint256::from(6u32).checked_div_euclid(Uint256::from(2u32)), + Ok(Uint256::from(3u32)), + ); + assert_eq!( + Uint256::from(7u32).checked_div_euclid(Uint256::from(2u32)), + Ok(Uint256::from(3u32)), + ); + // saturating_* assert_eq!( Uint256::MAX.saturating_add(Uint256::from(1u32)), diff --git a/packages/std/src/math/uint512.rs b/packages/std/src/math/uint512.rs index 0039b14d3d..c9bcf35ae0 100644 --- a/packages/std/src/math/uint512.rs +++ b/packages/std/src/math/uint512.rs @@ -234,6 +234,10 @@ impl Uint512 { .ok_or_else(|| DivideByZeroError::new(self)) } + pub fn checked_div_euclid(self, other: Self) -> Result { + self.checked_div(other) + } + pub fn checked_rem(self, other: Self) -> Result { self.0 .checked_rem(other.0) @@ -1097,6 +1101,28 @@ mod tests { Uint512::from(6u32).checked_div(Uint512::from(2u32)), Ok(Uint512::from(3u32)), ); + assert!(matches!( + Uint512::MAX.checked_div(Uint512::from(0u32)), + Err(DivideByZeroError { .. }) + )); + assert_eq!( + Uint512::from(6u32).checked_div(Uint512::from(2u32)), + Ok(Uint512::from(3u32)), + ); + + assert!(matches!( + Uint512::MAX.checked_div_euclid(Uint512::from(0u32)), + Err(DivideByZeroError { .. }) + )); + assert_eq!( + Uint512::from(6u32).checked_div_euclid(Uint512::from(2u32)), + Ok(Uint512::from(3u32)), + ); + assert_eq!( + Uint512::from(7u32).checked_div_euclid(Uint512::from(2u32)), + Ok(Uint512::from(3u32)), + ); + assert!(matches!( Uint512::MAX.checked_rem(Uint512::from(0u32)), Err(DivideByZeroError { .. }) From 46f749d319e5ad2027c2fa983b570b5c3c377019 Mon Sep 17 00:00:00 2001 From: Jakub Bogucki Date: Thu, 14 Jul 2022 08:41:25 +0200 Subject: [PATCH 14/24] Decimal: Remove unnecessarily added testcases --- packages/std/src/math/decimal.rs | 1 + packages/std/src/math/decimal256.rs | 1 + packages/std/src/math/uint256.rs | 9 ++++----- packages/std/src/math/uint512.rs | 10 ---------- 4 files changed, 6 insertions(+), 15 deletions(-) diff --git a/packages/std/src/math/decimal.rs b/packages/std/src/math/decimal.rs index 0b82153177..2b739570ff 100644 --- a/packages/std/src/math/decimal.rs +++ b/packages/std/src/math/decimal.rs @@ -1870,6 +1870,7 @@ mod tests { Err(CheckedFromRatioError::Overflow {}) )); + // checked div euclid assert!(matches!( Decimal::MAX.checked_div_euclid(Decimal::zero()), Err(CheckedFromRatioError::DivideByZero {}) diff --git a/packages/std/src/math/decimal256.rs b/packages/std/src/math/decimal256.rs index 517122e611..852b1bf955 100644 --- a/packages/std/src/math/decimal256.rs +++ b/packages/std/src/math/decimal256.rs @@ -2017,6 +2017,7 @@ mod tests { Err(CheckedFromRatioError::Overflow { .. }) )); + // checked div euclid assert!(matches!( Decimal256::MAX.checked_div_euclid(Decimal256::zero()), Err(CheckedFromRatioError::DivideByZero {}) diff --git a/packages/std/src/math/uint256.rs b/packages/std/src/math/uint256.rs index 81ea8b90d9..58db2c3d92 100644 --- a/packages/std/src/math/uint256.rs +++ b/packages/std/src/math/uint256.rs @@ -1466,11 +1466,6 @@ mod tests { Uint256::from(6u32).checked_div(Uint256::from(2u32)), Ok(Uint256::from(3u32)), ); - assert!(matches!( - Uint256::MAX.checked_rem(Uint256::from(0u32)), - Err(DivideByZeroError { .. }) - )); - assert!(matches!( Uint256::MAX.checked_div_euclid(Uint256::from(0u32)), Err(DivideByZeroError { .. }) @@ -1483,6 +1478,10 @@ mod tests { Uint256::from(7u32).checked_div_euclid(Uint256::from(2u32)), Ok(Uint256::from(3u32)), ); + assert!(matches!( + Uint256::MAX.checked_rem(Uint256::from(0u32)), + Err(DivideByZeroError { .. }) + )); // saturating_* assert_eq!( diff --git a/packages/std/src/math/uint512.rs b/packages/std/src/math/uint512.rs index c9bcf35ae0..ede8013ef3 100644 --- a/packages/std/src/math/uint512.rs +++ b/packages/std/src/math/uint512.rs @@ -1101,15 +1101,6 @@ mod tests { Uint512::from(6u32).checked_div(Uint512::from(2u32)), Ok(Uint512::from(3u32)), ); - assert!(matches!( - Uint512::MAX.checked_div(Uint512::from(0u32)), - Err(DivideByZeroError { .. }) - )); - assert_eq!( - Uint512::from(6u32).checked_div(Uint512::from(2u32)), - Ok(Uint512::from(3u32)), - ); - assert!(matches!( Uint512::MAX.checked_div_euclid(Uint512::from(0u32)), Err(DivideByZeroError { .. }) @@ -1122,7 +1113,6 @@ mod tests { Uint512::from(7u32).checked_div_euclid(Uint512::from(2u32)), Ok(Uint512::from(3u32)), ); - assert!(matches!( Uint512::MAX.checked_rem(Uint512::from(0u32)), Err(DivideByZeroError { .. }) From 77c5914a5d4fb154594d62e8521053140afb570b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bogdan-=C8=98tefan=20Neac=C8=99u?= Date: Wed, 27 Jul 2022 19:19:13 +0300 Subject: [PATCH 15/24] Bump k256 --- Cargo.lock | 124 ++++++++++++++++--------- packages/crypto/Cargo.toml | 6 +- packages/crypto/src/identity_digest.rs | 14 ++- packages/crypto/src/secp256k1.rs | 4 +- 4 files changed, 92 insertions(+), 56 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3b81566731..4e6032f919 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -131,6 +131,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +dependencies = [ + "generic-array", +] + [[package]] name = "bstr" version = "0.2.17" @@ -230,9 +239,9 @@ checksum = "591ff76ca0691bd91c1b0b5b987e5cf93b21ec810ad96665c5a569c60846dd93" [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661" [[package]] name = "constant_time_eq" @@ -246,7 +255,7 @@ version = "1.0.0" dependencies = [ "base64", "criterion", - "digest", + "digest 0.10.3", "ed25519-zebra", "english-numbers", "hex", @@ -255,7 +264,7 @@ dependencies = [ "rand_core 0.6.3", "serde", "serde_json", - "sha2", + "sha2 0.10.2", "thiserror", ] @@ -335,7 +344,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "sha2", + "sha2 0.9.9", "tempfile", "thiserror", "wasmer", @@ -510,9 +519,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "9f2b443d17d49dad5ef0ede301c3179cc923b8822f3393b4d2c28c269dd4a122" dependencies = [ "generic-array", "rand_core 0.6.3", @@ -521,13 +530,13 @@ dependencies = [ ] [[package]] -name = "crypto-mac" -version = "0.11.1" +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "subtle", + "typenum", ] [[package]] @@ -559,7 +568,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" dependencies = [ "byteorder", - "digest", + "digest 0.9.0", "rand_core 0.5.1", "subtle", "zeroize", @@ -601,11 +610,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "13dd2ae565c0a381dde7fade45fce95984c568bdcb4700a4fdbe3175e0380b2f" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -617,6 +627,17 @@ dependencies = [ "generic-array", ] +[[package]] +name = "digest" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +dependencies = [ + "block-buffer 0.10.2", + "crypto-common", + "subtle", +] + [[package]] name = "dyn-clone" version = "1.0.5" @@ -651,9 +672,9 @@ dependencies = [ [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "3bd46e0c364655e5baf2f5e99b603e7a09905da9966d7928d7470af393b28670" dependencies = [ "der", "elliptic-curve", @@ -671,7 +692,7 @@ dependencies = [ "hex", "rand_core 0.6.3", "serde", - "sha2", + "sha2 0.9.9", "thiserror", "zeroize", ] @@ -684,16 +705,18 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "c47abd0a791d2ac0c7aa1118715f85b83689e4522c4e3a244e159d4fc9848a8d" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.3", "ff", "generic-array", "group", + "pkcs8", "rand_core 0.6.3", "sec1", "subtle", @@ -764,9 +787,9 @@ dependencies = [ [[package]] name = "ff" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "131655483be284720a17d74ff97592b8e76576dc25563148601df2d7c9080924" +checksum = "df689201f395c6b90dfe87127685f8dbfc083a5e779e613575d8bd7314300c3e" dependencies = [ "rand_core 0.6.3", "subtle", @@ -835,9 +858,9 @@ checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4" [[package]] name = "group" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "7391856def869c1c81063a03457c676fbcd419709c3dfb33d8d319de484b154d" dependencies = [ "ff", "rand_core 0.6.3", @@ -852,7 +875,7 @@ dependencies = [ "rust-argon2", "schemars", "serde", - "sha2", + "sha2 0.9.9", "thiserror", ] @@ -912,12 +935,11 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "hmac" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "crypto-mac", - "digest", + "digest 0.10.3", ] [[package]] @@ -984,15 +1006,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.10.4" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "2c8a5a96d92d849c4499d99461da81c9cdc1467418a8ed2aaeb407e8d85940ed" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sec1", - "sha2", + "sha2 0.10.2", ] [[package]] @@ -1174,13 +1195,12 @@ checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -1415,9 +1435,9 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "88c86280f057430a52f4861551b092a01b419b8eacefc7c995eacb9dc132fe32" dependencies = [ "crypto-bigint", "hmac", @@ -1541,10 +1561,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array", "pkcs8", @@ -1634,20 +1655,31 @@ version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ - "block-buffer", + "block-buffer 0.9.0", "cfg-if", "cpufeatures", - "digest", + "digest 0.9.0", "opaque-debug", ] +[[package]] +name = "sha2" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.3", +] + [[package]] name = "signature" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" +checksum = "f054c6c1a6e95179d6f23ed974060dcefb2d9388bb7256900badad682c499de4" dependencies = [ - "digest", + "digest 0.10.3", "rand_core 0.6.3", ] @@ -1659,9 +1691,9 @@ checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", diff --git a/packages/crypto/Cargo.toml b/packages/crypto/Cargo.toml index 2645aabcd4..ec72ef5fc7 100644 --- a/packages/crypto/Cargo.toml +++ b/packages/crypto/Cargo.toml @@ -19,9 +19,9 @@ backtraces = [] bench = false [dependencies] -k256 = { version = "0.10.4", features = ["ecdsa"] } +k256 = { version = "0.11", features = ["ecdsa"] } ed25519-zebra = "3" -digest = "0.9" +digest = "0.10" rand_core = { version = "0.6", features = ["getrandom"] } thiserror = "1.0" @@ -29,7 +29,7 @@ thiserror = "1.0" criterion = "0.3" serde = { version = "1.0.103", default-features = false, features = ["derive", "alloc"] } serde_json = "1.0" -sha2 = "0.9" +sha2 = "0.10" base64 = "0.13.0" hex = "0.4" hex-literal = "0.3.1" diff --git a/packages/crypto/src/identity_digest.rs b/packages/crypto/src/identity_digest.rs index 5503c45ef6..c043f2d763 100644 --- a/packages/crypto/src/identity_digest.rs +++ b/packages/crypto/src/identity_digest.rs @@ -5,7 +5,7 @@ //! Adapted from `sha2` [sha256.rs](https://github.com/RustCrypto/hashes/blob/master/sha2/src/sha256.rs) use digest::consts::U32; use digest::generic_array::GenericArray; -use digest::{FixedOutputDirty, Output, Reset, Update}; +use digest::{FixedOutput, HashMarker, Output, OutputSizeUser, Reset, Update}; /// The 256-bits identity container #[derive(Clone, Default)] @@ -14,20 +14,24 @@ pub struct Identity256 { } impl Update for Identity256 { - fn update(&mut self, hash: impl AsRef<[u8]>) { + fn update(&mut self, hash: &[u8]) { assert_eq!(hash.as_ref().len(), 32); - self.array = *GenericArray::from_slice(hash.as_ref()); + self.array = *GenericArray::from_slice(hash); } } -impl FixedOutputDirty for Identity256 { +impl OutputSizeUser for Identity256 { type OutputSize = U32; +} - fn finalize_into_dirty(&mut self, out: &mut Output) { +impl FixedOutput for Identity256 { + fn finalize_into(self, out: &mut Output) { *out = self.array; } } +impl HashMarker for Identity256 {} + impl Reset for Identity256 { fn reset(&mut self) { *self = Self::default(); diff --git a/packages/crypto/src/secp256k1.rs b/packages/crypto/src/secp256k1.rs index 10e3ed0a02..a778344430 100644 --- a/packages/crypto/src/secp256k1.rs +++ b/packages/crypto/src/secp256k1.rs @@ -1,4 +1,4 @@ -use digest::Digest; // trait +use digest::{Digest, Update}; // trait use k256::{ ecdsa::recoverable, ecdsa::signature::{DigestVerifier, Signature as _}, // traits @@ -94,7 +94,7 @@ pub fn secp256k1_recover_pubkey( // Recover let message_digest = Identity256::new().chain(message_hash); let pubkey = extended_signature - .recover_verify_key_from_digest(message_digest) + .recover_verifying_key_from_digest(message_digest) .map_err(|e| CryptoError::generic_err(e.to_string()))?; let encoded: Vec = pubkey.to_encoded_point(false).as_bytes().into(); Ok(encoded) From b05d4dc0b53971b80dba883d759e403a0d1adf27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bogdan-=C8=98tefan=20Neac=C8=99u?= Date: Thu, 28 Jul 2022 13:16:45 +0300 Subject: [PATCH 16/24] Update contracts lock files --- contracts/burner/Cargo.lock | 139 +++++++++++++++--------- contracts/crypto-verify/Cargo.lock | 145 +++++++++++++++++--------- contracts/floaty/Cargo.lock | 141 ++++++++++++++++--------- contracts/hackatom/Cargo.lock | 141 ++++++++++++++++--------- contracts/ibc-reflect-send/Cargo.lock | 139 +++++++++++++++--------- contracts/ibc-reflect/Cargo.lock | 139 +++++++++++++++--------- contracts/queue/Cargo.lock | 139 +++++++++++++++--------- contracts/reflect/Cargo.lock | 139 +++++++++++++++--------- contracts/staking/Cargo.lock | 139 +++++++++++++++--------- 9 files changed, 815 insertions(+), 446 deletions(-) diff --git a/contracts/burner/Cargo.lock b/contracts/burner/Cargo.lock index d4438615ce..392b93ef19 100644 --- a/contracts/burner/Cargo.lock +++ b/contracts/burner/Cargo.lock @@ -82,6 +82,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +dependencies = [ + "generic-array", +] + [[package]] name = "bumpalo" version = "3.7.1" @@ -146,15 +155,15 @@ checksum = "591ff76ca0691bd91c1b0b5b987e5cf93b21ec810ad96665c5a569c60846dd93" [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661" [[package]] name = "cosmwasm-crypto" version = "1.0.0" dependencies = [ - "digest", + "digest 0.10.3", "ed25519-zebra", "k256", "rand_core 0.6.3", @@ -204,7 +213,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "sha2", + "sha2 0.9.5", "thiserror", "wasmer", "wasmer-middlewares", @@ -219,6 +228,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +dependencies = [ + "libc", +] + [[package]] name = "cranelift-bforest" version = "0.76.0" @@ -340,9 +358,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "9f2b443d17d49dad5ef0ede301c3179cc923b8822f3393b4d2c28c269dd4a122" dependencies = [ "generic-array", "rand_core 0.6.3", @@ -351,13 +369,13 @@ dependencies = [ ] [[package]] -name = "crypto-mac" -version = "0.11.1" +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "subtle", + "typenum", ] [[package]] @@ -367,7 +385,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "639891fde0dbea823fc3d798a0fdf9d2f9440a42d64a78ab3488b0ca025117b3" dependencies = [ "byteorder", - "digest", + "digest 0.9.0", "rand_core 0.5.1", "subtle", "zeroize", @@ -410,11 +428,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "13dd2ae565c0a381dde7fade45fce95984c568bdcb4700a4fdbe3175e0380b2f" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -426,6 +445,17 @@ dependencies = [ "generic-array", ] +[[package]] +name = "digest" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +dependencies = [ + "block-buffer 0.10.2", + "crypto-common", + "subtle", +] + [[package]] name = "dyn-clone" version = "1.0.4" @@ -460,9 +490,9 @@ dependencies = [ [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "3bd46e0c364655e5baf2f5e99b603e7a09905da9966d7928d7470af393b28670" dependencies = [ "der", "elliptic-curve", @@ -480,7 +510,7 @@ dependencies = [ "hex", "rand_core 0.6.3", "serde", - "sha2", + "sha2 0.9.5", "thiserror", "zeroize", ] @@ -493,16 +523,18 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "c47abd0a791d2ac0c7aa1118715f85b83689e4522c4e3a244e159d4fc9848a8d" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.3", "ff", "generic-array", "group", + "pkcs8", "rand_core 0.6.3", "sec1", "subtle", @@ -558,9 +590,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "ff" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2958d04124b9f27f175eaeb9a9f383d026098aa837eadd8ba22c11f13a05b9e" +checksum = "df689201f395c6b90dfe87127685f8dbfc083a5e779e613575d8bd7314300c3e" dependencies = [ "rand_core 0.6.3", "subtle", @@ -629,9 +661,9 @@ dependencies = [ [[package]] name = "group" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "7391856def869c1c81063a03457c676fbcd419709c3dfb33d8d319de484b154d" dependencies = [ "ff", "rand_core 0.6.3", @@ -673,12 +705,11 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hmac" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "crypto-mac", - "digest", + "digest 0.10.3", ] [[package]] @@ -715,15 +746,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.10.4" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "2c8a5a96d92d849c4499d99461da81c9cdc1467418a8ed2aaeb407e8d85940ed" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sec1", - "sha2", + "sha2 0.10.2", ] [[package]] @@ -890,13 +920,12 @@ checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -1093,9 +1122,9 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "88c86280f057430a52f4861551b092a01b419b8eacefc7c995eacb9dc132fe32" dependencies = [ "crypto-bigint", "hmac", @@ -1189,10 +1218,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array", "pkcs8", @@ -1266,20 +1296,31 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" dependencies = [ - "block-buffer", + "block-buffer 0.9.0", "cfg-if", - "cpufeatures", - "digest", + "cpufeatures 0.1.5", + "digest 0.9.0", "opaque-debug", ] +[[package]] +name = "sha2" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.2", + "digest 0.10.3", +] + [[package]] name = "signature" -version = "1.3.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335" +checksum = "f054c6c1a6e95179d6f23ed974060dcefb2d9388bb7256900badad682c499de4" dependencies = [ - "digest", + "digest 0.10.3", "rand_core 0.6.3", ] @@ -1291,9 +1332,9 @@ checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", @@ -1409,9 +1450,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "uint" @@ -1767,6 +1808,6 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "zeroize" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "377db0846015f7ae377174787dd452e1c5f5a9050bc6f954911d01f116daa0cd" +checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" diff --git a/contracts/crypto-verify/Cargo.lock b/contracts/crypto-verify/Cargo.lock index 92a7ec9fdd..dd40fc6dce 100644 --- a/contracts/crypto-verify/Cargo.lock +++ b/contracts/crypto-verify/Cargo.lock @@ -83,6 +83,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +dependencies = [ + "generic-array", +] + [[package]] name = "block-padding" version = "0.2.1" @@ -148,15 +157,15 @@ checksum = "591ff76ca0691bd91c1b0b5b987e5cf93b21ec810ad96665c5a569c60846dd93" [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661" [[package]] name = "cosmwasm-crypto" version = "1.0.0" dependencies = [ - "digest", + "digest 0.10.3", "ed25519-zebra", "k256", "rand_core 0.6.3", @@ -214,7 +223,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "sha2", + "sha2 0.9.5", "thiserror", "wasmer", "wasmer-middlewares", @@ -229,6 +238,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +dependencies = [ + "libc", +] + [[package]] name = "cranelift-bforest" version = "0.76.0" @@ -350,9 +368,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "9f2b443d17d49dad5ef0ede301c3179cc923b8822f3393b4d2c28c269dd4a122" dependencies = [ "generic-array", "rand_core 0.6.3", @@ -361,13 +379,13 @@ dependencies = [ ] [[package]] -name = "crypto-mac" -version = "0.11.1" +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "subtle", + "typenum", ] [[package]] @@ -383,7 +401,7 @@ dependencies = [ "rlp", "schemars", "serde", - "sha2", + "sha2 0.9.5", "sha3", ] @@ -394,7 +412,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "639891fde0dbea823fc3d798a0fdf9d2f9440a42d64a78ab3488b0ca025117b3" dependencies = [ "byteorder", - "digest", + "digest 0.9.0", "rand_core 0.5.1", "subtle", "zeroize", @@ -437,11 +455,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "13dd2ae565c0a381dde7fade45fce95984c568bdcb4700a4fdbe3175e0380b2f" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -453,6 +472,17 @@ dependencies = [ "generic-array", ] +[[package]] +name = "digest" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +dependencies = [ + "block-buffer 0.10.2", + "crypto-common", + "subtle", +] + [[package]] name = "dyn-clone" version = "1.0.4" @@ -487,9 +517,9 @@ dependencies = [ [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "3bd46e0c364655e5baf2f5e99b603e7a09905da9966d7928d7470af393b28670" dependencies = [ "der", "elliptic-curve", @@ -507,7 +537,7 @@ dependencies = [ "hex", "rand_core 0.6.3", "serde", - "sha2", + "sha2 0.9.5", "thiserror", "zeroize", ] @@ -520,16 +550,18 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "c47abd0a791d2ac0c7aa1118715f85b83689e4522c4e3a244e159d4fc9848a8d" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.3", "ff", "generic-array", "group", + "pkcs8", "rand_core 0.6.3", "sec1", "subtle", @@ -585,9 +617,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "ff" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2958d04124b9f27f175eaeb9a9f383d026098aa837eadd8ba22c11f13a05b9e" +checksum = "df689201f395c6b90dfe87127685f8dbfc083a5e779e613575d8bd7314300c3e" dependencies = [ "rand_core 0.6.3", "subtle", @@ -656,9 +688,9 @@ dependencies = [ [[package]] name = "group" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "7391856def869c1c81063a03457c676fbcd419709c3dfb33d8d319de484b154d" dependencies = [ "ff", "rand_core 0.6.3", @@ -706,12 +738,11 @@ checksum = "21e4590e13640f19f249fe3e4eca5113bc4289f2497710378190e7f4bd96f45b" [[package]] name = "hmac" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "crypto-mac", - "digest", + "digest 0.10.3", ] [[package]] @@ -748,15 +779,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.10.4" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "2c8a5a96d92d849c4499d99461da81c9cdc1467418a8ed2aaeb407e8d85940ed" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sec1", - "sha2", + "sha2 0.10.2", ] [[package]] @@ -929,13 +959,12 @@ checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -1132,9 +1161,9 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "88c86280f057430a52f4861551b092a01b419b8eacefc7c995eacb9dc132fe32" dependencies = [ "crypto-bigint", "hmac", @@ -1244,10 +1273,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array", "pkcs8", @@ -1321,32 +1351,43 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" dependencies = [ - "block-buffer", + "block-buffer 0.9.0", "cfg-if", - "cpufeatures", - "digest", + "cpufeatures 0.1.5", + "digest 0.9.0", "opaque-debug", ] +[[package]] +name = "sha2" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.2", + "digest 0.10.3", +] + [[package]] name = "sha3" version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" dependencies = [ - "block-buffer", - "digest", + "block-buffer 0.9.0", + "digest 0.9.0", "keccak", "opaque-debug", ] [[package]] name = "signature" -version = "1.3.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335" +checksum = "f054c6c1a6e95179d6f23ed974060dcefb2d9388bb7256900badad682c499de4" dependencies = [ - "digest", + "digest 0.10.3", "rand_core 0.6.3", ] @@ -1358,9 +1399,9 @@ checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", @@ -1476,9 +1517,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "uint" @@ -1834,6 +1875,6 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "zeroize" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "377db0846015f7ae377174787dd452e1c5f5a9050bc6f954911d01f116daa0cd" +checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" diff --git a/contracts/floaty/Cargo.lock b/contracts/floaty/Cargo.lock index c75a21ef33..3ca8326588 100644 --- a/contracts/floaty/Cargo.lock +++ b/contracts/floaty/Cargo.lock @@ -82,6 +82,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +dependencies = [ + "generic-array", +] + [[package]] name = "bumpalo" version = "3.7.1" @@ -135,15 +144,15 @@ checksum = "591ff76ca0691bd91c1b0b5b987e5cf93b21ec810ad96665c5a569c60846dd93" [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661" [[package]] name = "cosmwasm-crypto" version = "1.0.0" dependencies = [ - "digest", + "digest 0.10.3", "ed25519-zebra", "k256", "rand_core 0.6.3", @@ -201,7 +210,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "sha2", + "sha2 0.9.5", "thiserror", "wasmer", "wasmer-middlewares", @@ -216,6 +225,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +dependencies = [ + "libc", +] + [[package]] name = "cranelift-bforest" version = "0.76.0" @@ -337,9 +355,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "9f2b443d17d49dad5ef0ede301c3179cc923b8822f3393b4d2c28c269dd4a122" dependencies = [ "generic-array", "rand_core 0.6.3", @@ -348,13 +366,13 @@ dependencies = [ ] [[package]] -name = "crypto-mac" -version = "0.11.1" +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "subtle", + "typenum", ] [[package]] @@ -364,7 +382,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "639891fde0dbea823fc3d798a0fdf9d2f9440a42d64a78ab3488b0ca025117b3" dependencies = [ "byteorder", - "digest", + "digest 0.9.0", "rand_core 0.5.1", "subtle", "zeroize", @@ -407,11 +425,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "13dd2ae565c0a381dde7fade45fce95984c568bdcb4700a4fdbe3175e0380b2f" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -423,6 +442,17 @@ dependencies = [ "generic-array", ] +[[package]] +name = "digest" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +dependencies = [ + "block-buffer 0.10.2", + "crypto-common", + "subtle", +] + [[package]] name = "dyn-clone" version = "1.0.4" @@ -457,9 +487,9 @@ dependencies = [ [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "3bd46e0c364655e5baf2f5e99b603e7a09905da9966d7928d7470af393b28670" dependencies = [ "der", "elliptic-curve", @@ -477,7 +507,7 @@ dependencies = [ "hex", "rand_core 0.6.3", "serde", - "sha2", + "sha2 0.9.5", "thiserror", "zeroize", ] @@ -490,16 +520,18 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "c47abd0a791d2ac0c7aa1118715f85b83689e4522c4e3a244e159d4fc9848a8d" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.3", "ff", "generic-array", "group", + "pkcs8", "rand_core 0.6.3", "sec1", "subtle", @@ -555,9 +587,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "ff" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2958d04124b9f27f175eaeb9a9f383d026098aa837eadd8ba22c11f13a05b9e" +checksum = "df689201f395c6b90dfe87127685f8dbfc083a5e779e613575d8bd7314300c3e" dependencies = [ "rand_core 0.6.3", "subtle", @@ -573,7 +605,7 @@ dependencies = [ "cosmwasm-vm", "schemars", "serde", - "sha2", + "sha2 0.9.5", "thiserror", ] @@ -640,9 +672,9 @@ dependencies = [ [[package]] name = "group" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "7391856def869c1c81063a03457c676fbcd419709c3dfb33d8d319de484b154d" dependencies = [ "ff", "rand_core 0.6.3", @@ -684,12 +716,11 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hmac" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "crypto-mac", - "digest", + "digest 0.10.3", ] [[package]] @@ -726,15 +757,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.10.4" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "2c8a5a96d92d849c4499d99461da81c9cdc1467418a8ed2aaeb407e8d85940ed" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sec1", - "sha2", + "sha2 0.10.2", ] [[package]] @@ -901,13 +931,12 @@ checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -1104,9 +1133,9 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "88c86280f057430a52f4861551b092a01b419b8eacefc7c995eacb9dc132fe32" dependencies = [ "crypto-bigint", "hmac", @@ -1200,10 +1229,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array", "pkcs8", @@ -1277,20 +1307,31 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" dependencies = [ - "block-buffer", + "block-buffer 0.9.0", "cfg-if", - "cpufeatures", - "digest", + "cpufeatures 0.1.5", + "digest 0.9.0", "opaque-debug", ] +[[package]] +name = "sha2" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.2", + "digest 0.10.3", +] + [[package]] name = "signature" -version = "1.3.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335" +checksum = "f054c6c1a6e95179d6f23ed974060dcefb2d9388bb7256900badad682c499de4" dependencies = [ - "digest", + "digest 0.10.3", "rand_core 0.6.3", ] @@ -1302,9 +1343,9 @@ checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", @@ -1420,9 +1461,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "uint" @@ -1778,6 +1819,6 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "zeroize" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "377db0846015f7ae377174787dd452e1c5f5a9050bc6f954911d01f116daa0cd" +checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" diff --git a/contracts/hackatom/Cargo.lock b/contracts/hackatom/Cargo.lock index 26c6be6ecc..eaae4ad212 100644 --- a/contracts/hackatom/Cargo.lock +++ b/contracts/hackatom/Cargo.lock @@ -105,6 +105,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +dependencies = [ + "generic-array", +] + [[package]] name = "bumpalo" version = "3.7.1" @@ -158,9 +167,9 @@ checksum = "591ff76ca0691bd91c1b0b5b987e5cf93b21ec810ad96665c5a569c60846dd93" [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661" [[package]] name = "constant_time_eq" @@ -172,7 +181,7 @@ checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" name = "cosmwasm-crypto" version = "1.0.0" dependencies = [ - "digest", + "digest 0.10.3", "ed25519-zebra", "k256", "rand_core 0.6.3", @@ -230,7 +239,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "sha2", + "sha2 0.9.5", "thiserror", "wasmer", "wasmer-middlewares", @@ -245,6 +254,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +dependencies = [ + "libc", +] + [[package]] name = "cranelift-bforest" version = "0.76.0" @@ -366,9 +384,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "9f2b443d17d49dad5ef0ede301c3179cc923b8822f3393b4d2c28c269dd4a122" dependencies = [ "generic-array", "rand_core 0.6.3", @@ -377,13 +395,13 @@ dependencies = [ ] [[package]] -name = "crypto-mac" -version = "0.11.1" +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "subtle", + "typenum", ] [[package]] @@ -393,7 +411,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "639891fde0dbea823fc3d798a0fdf9d2f9440a42d64a78ab3488b0ca025117b3" dependencies = [ "byteorder", - "digest", + "digest 0.9.0", "rand_core 0.5.1", "subtle", "zeroize", @@ -436,11 +454,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "13dd2ae565c0a381dde7fade45fce95984c568bdcb4700a4fdbe3175e0380b2f" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -452,6 +471,17 @@ dependencies = [ "generic-array", ] +[[package]] +name = "digest" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +dependencies = [ + "block-buffer 0.10.2", + "crypto-common", + "subtle", +] + [[package]] name = "dyn-clone" version = "1.0.4" @@ -486,9 +516,9 @@ dependencies = [ [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "3bd46e0c364655e5baf2f5e99b603e7a09905da9966d7928d7470af393b28670" dependencies = [ "der", "elliptic-curve", @@ -506,7 +536,7 @@ dependencies = [ "hex", "rand_core 0.6.3", "serde", - "sha2", + "sha2 0.9.5", "thiserror", "zeroize", ] @@ -519,16 +549,18 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "c47abd0a791d2ac0c7aa1118715f85b83689e4522c4e3a244e159d4fc9848a8d" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.3", "ff", "generic-array", "group", + "pkcs8", "rand_core 0.6.3", "sec1", "subtle", @@ -584,9 +616,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "ff" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2958d04124b9f27f175eaeb9a9f383d026098aa837eadd8ba22c11f13a05b9e" +checksum = "df689201f395c6b90dfe87127685f8dbfc083a5e779e613575d8bd7314300c3e" dependencies = [ "rand_core 0.6.3", "subtle", @@ -655,9 +687,9 @@ dependencies = [ [[package]] name = "group" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "7391856def869c1c81063a03457c676fbcd419709c3dfb33d8d319de484b154d" dependencies = [ "ff", "rand_core 0.6.3", @@ -675,7 +707,7 @@ dependencies = [ "rust-argon2", "schemars", "serde", - "sha2", + "sha2 0.9.5", "thiserror", ] @@ -714,12 +746,11 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hmac" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "crypto-mac", - "digest", + "digest 0.10.3", ] [[package]] @@ -756,15 +787,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.10.4" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "2c8a5a96d92d849c4499d99461da81c9cdc1467418a8ed2aaeb407e8d85940ed" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sec1", - "sha2", + "sha2 0.10.2", ] [[package]] @@ -931,13 +961,12 @@ checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -1134,9 +1163,9 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "88c86280f057430a52f4861551b092a01b419b8eacefc7c995eacb9dc132fe32" dependencies = [ "crypto-bigint", "hmac", @@ -1242,10 +1271,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array", "pkcs8", @@ -1319,20 +1349,31 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" dependencies = [ - "block-buffer", + "block-buffer 0.9.0", "cfg-if", - "cpufeatures", - "digest", + "cpufeatures 0.1.5", + "digest 0.9.0", "opaque-debug", ] +[[package]] +name = "sha2" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.2", + "digest 0.10.3", +] + [[package]] name = "signature" -version = "1.3.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335" +checksum = "f054c6c1a6e95179d6f23ed974060dcefb2d9388bb7256900badad682c499de4" dependencies = [ - "digest", + "digest 0.10.3", "rand_core 0.6.3", ] @@ -1344,9 +1385,9 @@ checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", @@ -1462,9 +1503,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "uint" @@ -1820,6 +1861,6 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "zeroize" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "377db0846015f7ae377174787dd452e1c5f5a9050bc6f954911d01f116daa0cd" +checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" diff --git a/contracts/ibc-reflect-send/Cargo.lock b/contracts/ibc-reflect-send/Cargo.lock index f5ca0f8816..979ce44a63 100644 --- a/contracts/ibc-reflect-send/Cargo.lock +++ b/contracts/ibc-reflect-send/Cargo.lock @@ -82,6 +82,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +dependencies = [ + "generic-array", +] + [[package]] name = "bumpalo" version = "3.7.1" @@ -135,15 +144,15 @@ checksum = "591ff76ca0691bd91c1b0b5b987e5cf93b21ec810ad96665c5a569c60846dd93" [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661" [[package]] name = "cosmwasm-crypto" version = "1.0.0" dependencies = [ - "digest", + "digest 0.10.3", "ed25519-zebra", "k256", "rand_core 0.6.3", @@ -201,7 +210,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "sha2", + "sha2 0.9.5", "thiserror", "wasmer", "wasmer-middlewares", @@ -216,6 +225,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +dependencies = [ + "libc", +] + [[package]] name = "cranelift-bforest" version = "0.76.0" @@ -337,9 +355,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "9f2b443d17d49dad5ef0ede301c3179cc923b8822f3393b4d2c28c269dd4a122" dependencies = [ "generic-array", "rand_core 0.6.3", @@ -348,13 +366,13 @@ dependencies = [ ] [[package]] -name = "crypto-mac" -version = "0.11.1" +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "subtle", + "typenum", ] [[package]] @@ -364,7 +382,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "639891fde0dbea823fc3d798a0fdf9d2f9440a42d64a78ab3488b0ca025117b3" dependencies = [ "byteorder", - "digest", + "digest 0.9.0", "rand_core 0.5.1", "subtle", "zeroize", @@ -407,11 +425,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "13dd2ae565c0a381dde7fade45fce95984c568bdcb4700a4fdbe3175e0380b2f" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -423,6 +442,17 @@ dependencies = [ "generic-array", ] +[[package]] +name = "digest" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +dependencies = [ + "block-buffer 0.10.2", + "crypto-common", + "subtle", +] + [[package]] name = "dyn-clone" version = "1.0.4" @@ -457,9 +487,9 @@ dependencies = [ [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "3bd46e0c364655e5baf2f5e99b603e7a09905da9966d7928d7470af393b28670" dependencies = [ "der", "elliptic-curve", @@ -477,7 +507,7 @@ dependencies = [ "hex", "rand_core 0.6.3", "serde", - "sha2", + "sha2 0.9.5", "thiserror", "zeroize", ] @@ -490,16 +520,18 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "c47abd0a791d2ac0c7aa1118715f85b83689e4522c4e3a244e159d4fc9848a8d" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.3", "ff", "generic-array", "group", + "pkcs8", "rand_core 0.6.3", "sec1", "subtle", @@ -555,9 +587,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "ff" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2958d04124b9f27f175eaeb9a9f383d026098aa837eadd8ba22c11f13a05b9e" +checksum = "df689201f395c6b90dfe87127685f8dbfc083a5e779e613575d8bd7314300c3e" dependencies = [ "rand_core 0.6.3", "subtle", @@ -626,9 +658,9 @@ dependencies = [ [[package]] name = "group" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "7391856def869c1c81063a03457c676fbcd419709c3dfb33d8d319de484b154d" dependencies = [ "ff", "rand_core 0.6.3", @@ -670,12 +702,11 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hmac" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "crypto-mac", - "digest", + "digest 0.10.3", ] [[package]] @@ -724,15 +755,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.10.4" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "2c8a5a96d92d849c4499d99461da81c9cdc1467418a8ed2aaeb407e8d85940ed" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sec1", - "sha2", + "sha2 0.10.2", ] [[package]] @@ -899,13 +929,12 @@ checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -1102,9 +1131,9 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "88c86280f057430a52f4861551b092a01b419b8eacefc7c995eacb9dc132fe32" dependencies = [ "crypto-bigint", "hmac", @@ -1198,10 +1227,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array", "pkcs8", @@ -1275,20 +1305,31 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" dependencies = [ - "block-buffer", + "block-buffer 0.9.0", "cfg-if", - "cpufeatures", - "digest", + "cpufeatures 0.1.5", + "digest 0.9.0", "opaque-debug", ] +[[package]] +name = "sha2" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.2", + "digest 0.10.3", +] + [[package]] name = "signature" -version = "1.3.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335" +checksum = "f054c6c1a6e95179d6f23ed974060dcefb2d9388bb7256900badad682c499de4" dependencies = [ - "digest", + "digest 0.10.3", "rand_core 0.6.3", ] @@ -1300,9 +1341,9 @@ checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", @@ -1418,9 +1459,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "uint" @@ -1776,6 +1817,6 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "zeroize" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "377db0846015f7ae377174787dd452e1c5f5a9050bc6f954911d01f116daa0cd" +checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" diff --git a/contracts/ibc-reflect/Cargo.lock b/contracts/ibc-reflect/Cargo.lock index 112f8a50c7..97d5f4af94 100644 --- a/contracts/ibc-reflect/Cargo.lock +++ b/contracts/ibc-reflect/Cargo.lock @@ -82,6 +82,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +dependencies = [ + "generic-array", +] + [[package]] name = "bumpalo" version = "3.7.1" @@ -135,15 +144,15 @@ checksum = "591ff76ca0691bd91c1b0b5b987e5cf93b21ec810ad96665c5a569c60846dd93" [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661" [[package]] name = "cosmwasm-crypto" version = "1.0.0" dependencies = [ - "digest", + "digest 0.10.3", "ed25519-zebra", "k256", "rand_core 0.6.3", @@ -201,7 +210,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "sha2", + "sha2 0.9.5", "thiserror", "wasmer", "wasmer-middlewares", @@ -216,6 +225,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +dependencies = [ + "libc", +] + [[package]] name = "cranelift-bforest" version = "0.76.0" @@ -337,9 +355,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "9f2b443d17d49dad5ef0ede301c3179cc923b8822f3393b4d2c28c269dd4a122" dependencies = [ "generic-array", "rand_core 0.6.3", @@ -348,13 +366,13 @@ dependencies = [ ] [[package]] -name = "crypto-mac" -version = "0.11.1" +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "subtle", + "typenum", ] [[package]] @@ -364,7 +382,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "639891fde0dbea823fc3d798a0fdf9d2f9440a42d64a78ab3488b0ca025117b3" dependencies = [ "byteorder", - "digest", + "digest 0.9.0", "rand_core 0.5.1", "subtle", "zeroize", @@ -407,11 +425,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "13dd2ae565c0a381dde7fade45fce95984c568bdcb4700a4fdbe3175e0380b2f" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -423,6 +442,17 @@ dependencies = [ "generic-array", ] +[[package]] +name = "digest" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +dependencies = [ + "block-buffer 0.10.2", + "crypto-common", + "subtle", +] + [[package]] name = "dyn-clone" version = "1.0.4" @@ -457,9 +487,9 @@ dependencies = [ [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "3bd46e0c364655e5baf2f5e99b603e7a09905da9966d7928d7470af393b28670" dependencies = [ "der", "elliptic-curve", @@ -477,7 +507,7 @@ dependencies = [ "hex", "rand_core 0.6.3", "serde", - "sha2", + "sha2 0.9.5", "thiserror", "zeroize", ] @@ -490,16 +520,18 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "c47abd0a791d2ac0c7aa1118715f85b83689e4522c4e3a244e159d4fc9848a8d" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.3", "ff", "generic-array", "group", + "pkcs8", "rand_core 0.6.3", "sec1", "subtle", @@ -555,9 +587,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "ff" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2958d04124b9f27f175eaeb9a9f383d026098aa837eadd8ba22c11f13a05b9e" +checksum = "df689201f395c6b90dfe87127685f8dbfc083a5e779e613575d8bd7314300c3e" dependencies = [ "rand_core 0.6.3", "subtle", @@ -626,9 +658,9 @@ dependencies = [ [[package]] name = "group" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "7391856def869c1c81063a03457c676fbcd419709c3dfb33d8d319de484b154d" dependencies = [ "ff", "rand_core 0.6.3", @@ -670,12 +702,11 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hmac" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "crypto-mac", - "digest", + "digest 0.10.3", ] [[package]] @@ -724,15 +755,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.10.4" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "2c8a5a96d92d849c4499d99461da81c9cdc1467418a8ed2aaeb407e8d85940ed" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sec1", - "sha2", + "sha2 0.10.2", ] [[package]] @@ -899,13 +929,12 @@ checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -1102,9 +1131,9 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "88c86280f057430a52f4861551b092a01b419b8eacefc7c995eacb9dc132fe32" dependencies = [ "crypto-bigint", "hmac", @@ -1198,10 +1227,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array", "pkcs8", @@ -1275,20 +1305,31 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" dependencies = [ - "block-buffer", + "block-buffer 0.9.0", "cfg-if", - "cpufeatures", - "digest", + "cpufeatures 0.1.5", + "digest 0.9.0", "opaque-debug", ] +[[package]] +name = "sha2" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.2", + "digest 0.10.3", +] + [[package]] name = "signature" -version = "1.3.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335" +checksum = "f054c6c1a6e95179d6f23ed974060dcefb2d9388bb7256900badad682c499de4" dependencies = [ - "digest", + "digest 0.10.3", "rand_core 0.6.3", ] @@ -1300,9 +1341,9 @@ checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", @@ -1418,9 +1459,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "uint" @@ -1776,6 +1817,6 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "zeroize" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "377db0846015f7ae377174787dd452e1c5f5a9050bc6f954911d01f116daa0cd" +checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" diff --git a/contracts/queue/Cargo.lock b/contracts/queue/Cargo.lock index 7b3e30b427..f35d98b730 100644 --- a/contracts/queue/Cargo.lock +++ b/contracts/queue/Cargo.lock @@ -82,6 +82,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +dependencies = [ + "generic-array", +] + [[package]] name = "bumpalo" version = "3.7.1" @@ -135,15 +144,15 @@ checksum = "591ff76ca0691bd91c1b0b5b987e5cf93b21ec810ad96665c5a569c60846dd93" [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661" [[package]] name = "cosmwasm-crypto" version = "1.0.0" dependencies = [ - "digest", + "digest 0.10.3", "ed25519-zebra", "k256", "rand_core 0.6.3", @@ -193,7 +202,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "sha2", + "sha2 0.9.5", "thiserror", "wasmer", "wasmer-middlewares", @@ -208,6 +217,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +dependencies = [ + "libc", +] + [[package]] name = "cranelift-bforest" version = "0.76.0" @@ -329,9 +347,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "9f2b443d17d49dad5ef0ede301c3179cc923b8822f3393b4d2c28c269dd4a122" dependencies = [ "generic-array", "rand_core 0.6.3", @@ -340,13 +358,13 @@ dependencies = [ ] [[package]] -name = "crypto-mac" -version = "0.11.1" +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "subtle", + "typenum", ] [[package]] @@ -356,7 +374,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "639891fde0dbea823fc3d798a0fdf9d2f9440a42d64a78ab3488b0ca025117b3" dependencies = [ "byteorder", - "digest", + "digest 0.9.0", "rand_core 0.5.1", "subtle", "zeroize", @@ -399,11 +417,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "13dd2ae565c0a381dde7fade45fce95984c568bdcb4700a4fdbe3175e0380b2f" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -415,6 +434,17 @@ dependencies = [ "generic-array", ] +[[package]] +name = "digest" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +dependencies = [ + "block-buffer 0.10.2", + "crypto-common", + "subtle", +] + [[package]] name = "dyn-clone" version = "1.0.4" @@ -449,9 +479,9 @@ dependencies = [ [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "3bd46e0c364655e5baf2f5e99b603e7a09905da9966d7928d7470af393b28670" dependencies = [ "der", "elliptic-curve", @@ -469,7 +499,7 @@ dependencies = [ "hex", "rand_core 0.6.3", "serde", - "sha2", + "sha2 0.9.5", "thiserror", "zeroize", ] @@ -482,16 +512,18 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "c47abd0a791d2ac0c7aa1118715f85b83689e4522c4e3a244e159d4fc9848a8d" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.3", "ff", "generic-array", "group", + "pkcs8", "rand_core 0.6.3", "sec1", "subtle", @@ -547,9 +579,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "ff" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2958d04124b9f27f175eaeb9a9f383d026098aa837eadd8ba22c11f13a05b9e" +checksum = "df689201f395c6b90dfe87127685f8dbfc083a5e779e613575d8bd7314300c3e" dependencies = [ "rand_core 0.6.3", "subtle", @@ -618,9 +650,9 @@ dependencies = [ [[package]] name = "group" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "7391856def869c1c81063a03457c676fbcd419709c3dfb33d8d319de484b154d" dependencies = [ "ff", "rand_core 0.6.3", @@ -662,12 +694,11 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hmac" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "crypto-mac", - "digest", + "digest 0.10.3", ] [[package]] @@ -704,15 +735,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.10.4" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "2c8a5a96d92d849c4499d99461da81c9cdc1467418a8ed2aaeb407e8d85940ed" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sec1", - "sha2", + "sha2 0.10.2", ] [[package]] @@ -879,13 +909,12 @@ checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -1093,9 +1122,9 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "88c86280f057430a52f4861551b092a01b419b8eacefc7c995eacb9dc132fe32" dependencies = [ "crypto-bigint", "hmac", @@ -1189,10 +1218,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array", "pkcs8", @@ -1266,20 +1296,31 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" dependencies = [ - "block-buffer", + "block-buffer 0.9.0", "cfg-if", - "cpufeatures", - "digest", + "cpufeatures 0.1.5", + "digest 0.9.0", "opaque-debug", ] +[[package]] +name = "sha2" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.2", + "digest 0.10.3", +] + [[package]] name = "signature" -version = "1.3.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335" +checksum = "f054c6c1a6e95179d6f23ed974060dcefb2d9388bb7256900badad682c499de4" dependencies = [ - "digest", + "digest 0.10.3", "rand_core 0.6.3", ] @@ -1291,9 +1332,9 @@ checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", @@ -1409,9 +1450,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "uint" @@ -1767,6 +1808,6 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "zeroize" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "377db0846015f7ae377174787dd452e1c5f5a9050bc6f954911d01f116daa0cd" +checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" diff --git a/contracts/reflect/Cargo.lock b/contracts/reflect/Cargo.lock index b6d03a514e..34981c7016 100644 --- a/contracts/reflect/Cargo.lock +++ b/contracts/reflect/Cargo.lock @@ -82,6 +82,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +dependencies = [ + "generic-array", +] + [[package]] name = "bumpalo" version = "3.7.1" @@ -135,15 +144,15 @@ checksum = "591ff76ca0691bd91c1b0b5b987e5cf93b21ec810ad96665c5a569c60846dd93" [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661" [[package]] name = "cosmwasm-crypto" version = "1.0.0" dependencies = [ - "digest", + "digest 0.10.3", "ed25519-zebra", "k256", "rand_core 0.6.3", @@ -201,7 +210,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "sha2", + "sha2 0.9.5", "thiserror", "wasmer", "wasmer-middlewares", @@ -216,6 +225,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +dependencies = [ + "libc", +] + [[package]] name = "cranelift-bforest" version = "0.76.0" @@ -337,9 +355,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "9f2b443d17d49dad5ef0ede301c3179cc923b8822f3393b4d2c28c269dd4a122" dependencies = [ "generic-array", "rand_core 0.6.3", @@ -348,13 +366,13 @@ dependencies = [ ] [[package]] -name = "crypto-mac" -version = "0.11.1" +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "subtle", + "typenum", ] [[package]] @@ -364,7 +382,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "639891fde0dbea823fc3d798a0fdf9d2f9440a42d64a78ab3488b0ca025117b3" dependencies = [ "byteorder", - "digest", + "digest 0.9.0", "rand_core 0.5.1", "subtle", "zeroize", @@ -407,11 +425,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "13dd2ae565c0a381dde7fade45fce95984c568bdcb4700a4fdbe3175e0380b2f" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -423,6 +442,17 @@ dependencies = [ "generic-array", ] +[[package]] +name = "digest" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +dependencies = [ + "block-buffer 0.10.2", + "crypto-common", + "subtle", +] + [[package]] name = "dyn-clone" version = "1.0.4" @@ -457,9 +487,9 @@ dependencies = [ [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "3bd46e0c364655e5baf2f5e99b603e7a09905da9966d7928d7470af393b28670" dependencies = [ "der", "elliptic-curve", @@ -477,7 +507,7 @@ dependencies = [ "hex", "rand_core 0.6.3", "serde", - "sha2", + "sha2 0.9.5", "thiserror", "zeroize", ] @@ -490,16 +520,18 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "c47abd0a791d2ac0c7aa1118715f85b83689e4522c4e3a244e159d4fc9848a8d" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.3", "ff", "generic-array", "group", + "pkcs8", "rand_core 0.6.3", "sec1", "subtle", @@ -555,9 +587,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "ff" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2958d04124b9f27f175eaeb9a9f383d026098aa837eadd8ba22c11f13a05b9e" +checksum = "df689201f395c6b90dfe87127685f8dbfc083a5e779e613575d8bd7314300c3e" dependencies = [ "rand_core 0.6.3", "subtle", @@ -626,9 +658,9 @@ dependencies = [ [[package]] name = "group" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "7391856def869c1c81063a03457c676fbcd419709c3dfb33d8d319de484b154d" dependencies = [ "ff", "rand_core 0.6.3", @@ -670,12 +702,11 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hmac" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "crypto-mac", - "digest", + "digest 0.10.3", ] [[package]] @@ -712,15 +743,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.10.4" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "2c8a5a96d92d849c4499d99461da81c9cdc1467418a8ed2aaeb407e8d85940ed" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sec1", - "sha2", + "sha2 0.10.2", ] [[package]] @@ -887,13 +917,12 @@ checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -1103,9 +1132,9 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "88c86280f057430a52f4861551b092a01b419b8eacefc7c995eacb9dc132fe32" dependencies = [ "crypto-bigint", "hmac", @@ -1199,10 +1228,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array", "pkcs8", @@ -1276,20 +1306,31 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" dependencies = [ - "block-buffer", + "block-buffer 0.9.0", "cfg-if", - "cpufeatures", - "digest", + "cpufeatures 0.1.5", + "digest 0.9.0", "opaque-debug", ] +[[package]] +name = "sha2" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.2", + "digest 0.10.3", +] + [[package]] name = "signature" -version = "1.3.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335" +checksum = "f054c6c1a6e95179d6f23ed974060dcefb2d9388bb7256900badad682c499de4" dependencies = [ - "digest", + "digest 0.10.3", "rand_core 0.6.3", ] @@ -1301,9 +1342,9 @@ checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", @@ -1419,9 +1460,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "uint" @@ -1777,6 +1818,6 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "zeroize" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "377db0846015f7ae377174787dd452e1c5f5a9050bc6f954911d01f116daa0cd" +checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" diff --git a/contracts/staking/Cargo.lock b/contracts/staking/Cargo.lock index 267db4a112..5781c6a439 100644 --- a/contracts/staking/Cargo.lock +++ b/contracts/staking/Cargo.lock @@ -82,6 +82,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +dependencies = [ + "generic-array", +] + [[package]] name = "bumpalo" version = "3.7.1" @@ -135,15 +144,15 @@ checksum = "591ff76ca0691bd91c1b0b5b987e5cf93b21ec810ad96665c5a569c60846dd93" [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661" [[package]] name = "cosmwasm-crypto" version = "1.0.0" dependencies = [ - "digest", + "digest 0.10.3", "ed25519-zebra", "k256", "rand_core 0.6.3", @@ -201,7 +210,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "sha2", + "sha2 0.9.5", "thiserror", "wasmer", "wasmer-middlewares", @@ -216,6 +225,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +dependencies = [ + "libc", +] + [[package]] name = "cranelift-bforest" version = "0.76.0" @@ -337,9 +355,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "9f2b443d17d49dad5ef0ede301c3179cc923b8822f3393b4d2c28c269dd4a122" dependencies = [ "generic-array", "rand_core 0.6.3", @@ -348,13 +366,13 @@ dependencies = [ ] [[package]] -name = "crypto-mac" -version = "0.11.1" +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "subtle", + "typenum", ] [[package]] @@ -364,7 +382,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "639891fde0dbea823fc3d798a0fdf9d2f9440a42d64a78ab3488b0ca025117b3" dependencies = [ "byteorder", - "digest", + "digest 0.9.0", "rand_core 0.5.1", "subtle", "zeroize", @@ -407,11 +425,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "13dd2ae565c0a381dde7fade45fce95984c568bdcb4700a4fdbe3175e0380b2f" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -423,6 +442,17 @@ dependencies = [ "generic-array", ] +[[package]] +name = "digest" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +dependencies = [ + "block-buffer 0.10.2", + "crypto-common", + "subtle", +] + [[package]] name = "doc-comment" version = "0.3.3" @@ -463,9 +493,9 @@ dependencies = [ [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "3bd46e0c364655e5baf2f5e99b603e7a09905da9966d7928d7470af393b28670" dependencies = [ "der", "elliptic-curve", @@ -483,7 +513,7 @@ dependencies = [ "hex", "rand_core 0.6.3", "serde", - "sha2", + "sha2 0.9.5", "thiserror", "zeroize", ] @@ -496,16 +526,18 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "c47abd0a791d2ac0c7aa1118715f85b83689e4522c4e3a244e159d4fc9848a8d" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.3", "ff", "generic-array", "group", + "pkcs8", "rand_core 0.6.3", "sec1", "subtle", @@ -561,9 +593,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "ff" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2958d04124b9f27f175eaeb9a9f383d026098aa837eadd8ba22c11f13a05b9e" +checksum = "df689201f395c6b90dfe87127685f8dbfc083a5e779e613575d8bd7314300c3e" dependencies = [ "rand_core 0.6.3", "subtle", @@ -632,9 +664,9 @@ dependencies = [ [[package]] name = "group" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "7391856def869c1c81063a03457c676fbcd419709c3dfb33d8d319de484b154d" dependencies = [ "ff", "rand_core 0.6.3", @@ -676,12 +708,11 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hmac" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "crypto-mac", - "digest", + "digest 0.10.3", ] [[package]] @@ -718,15 +749,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.10.4" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "2c8a5a96d92d849c4499d99461da81c9cdc1467418a8ed2aaeb407e8d85940ed" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sec1", - "sha2", + "sha2 0.10.2", ] [[package]] @@ -893,13 +923,12 @@ checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -1096,9 +1125,9 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "88c86280f057430a52f4861551b092a01b419b8eacefc7c995eacb9dc132fe32" dependencies = [ "crypto-bigint", "hmac", @@ -1192,10 +1221,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array", "pkcs8", @@ -1269,20 +1299,31 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" dependencies = [ - "block-buffer", + "block-buffer 0.9.0", "cfg-if", - "cpufeatures", - "digest", + "cpufeatures 0.1.5", + "digest 0.9.0", "opaque-debug", ] +[[package]] +name = "sha2" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.2", + "digest 0.10.3", +] + [[package]] name = "signature" -version = "1.3.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335" +checksum = "f054c6c1a6e95179d6f23ed974060dcefb2d9388bb7256900badad682c499de4" dependencies = [ - "digest", + "digest 0.10.3", "rand_core 0.6.3", ] @@ -1315,9 +1356,9 @@ dependencies = [ [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", @@ -1446,9 +1487,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "uint" @@ -1804,6 +1845,6 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "zeroize" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "377db0846015f7ae377174787dd452e1c5f5a9050bc6f954911d01f116daa0cd" +checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" From 80d658519d4683dd09372ea3c70d4035779aec12 Mon Sep 17 00:00:00 2001 From: Jakub Bogucki Date: Sun, 31 Jul 2022 18:59:53 +0300 Subject: [PATCH 17/24] Uint256/512: Implement checked_div_euclid --- packages/std/src/math/decimal.rs | 26 -------------------------- packages/std/src/math/decimal256.rs | 26 -------------------------- 2 files changed, 52 deletions(-) diff --git a/packages/std/src/math/decimal.rs b/packages/std/src/math/decimal.rs index 2b739570ff..c8d70a25d1 100644 --- a/packages/std/src/math/decimal.rs +++ b/packages/std/src/math/decimal.rs @@ -292,10 +292,6 @@ impl Decimal { Decimal::checked_from_ratio(self.numerator(), other.numerator()) } - pub fn checked_div_euclid(self, other: Self) -> Result { - Ok(self.checked_div(other)?.floor()) - } - pub fn checked_rem(self, other: Self) -> Result { self.0 .checked_rem(other.0) @@ -1870,28 +1866,6 @@ mod tests { Err(CheckedFromRatioError::Overflow {}) )); - // checked div euclid - assert!(matches!( - Decimal::MAX.checked_div_euclid(Decimal::zero()), - Err(CheckedFromRatioError::DivideByZero {}) - )); - assert!(matches!( - Decimal::MAX.checked_div_euclid(Decimal::percent(1)), - Err(CheckedFromRatioError::Overflow {}) - )); - assert_eq!( - Decimal::percent(600) - .checked_div_euclid(Decimal::percent(200)) - .unwrap(), - Decimal::percent(300), - ); - assert_eq!( - Decimal::percent(1500) - .checked_div_euclid(Decimal::percent(700)) - .unwrap(), - Decimal::percent(200), - ); - // checked rem assert_eq!( Decimal::percent(402) diff --git a/packages/std/src/math/decimal256.rs b/packages/std/src/math/decimal256.rs index 852b1bf955..4a0480016a 100644 --- a/packages/std/src/math/decimal256.rs +++ b/packages/std/src/math/decimal256.rs @@ -305,10 +305,6 @@ impl Decimal256 { Decimal256::checked_from_ratio(self.numerator(), other.numerator()) } - pub fn checked_div_euclid(self, other: Self) -> Result { - Ok(self.checked_div(other)?.floor()) - } - pub fn checked_rem(self, other: Self) -> Result { self.0 .checked_rem(other.0) @@ -2017,28 +2013,6 @@ mod tests { Err(CheckedFromRatioError::Overflow { .. }) )); - // checked div euclid - assert!(matches!( - Decimal256::MAX.checked_div_euclid(Decimal256::zero()), - Err(CheckedFromRatioError::DivideByZero {}) - )); - assert!(matches!( - Decimal256::MAX.checked_div_euclid(Decimal256::percent(1)), - Err(CheckedFromRatioError::Overflow {}) - )); - assert_eq!( - Decimal256::percent(600) - .checked_div_euclid(Decimal256::percent(200)) - .unwrap(), - Decimal256::percent(300), - ); - assert_eq!( - Decimal256::percent(1500) - .checked_div_euclid(Decimal256::percent(700)) - .unwrap(), - Decimal256::percent(200), - ); - // checked rem assert_eq!( Decimal256::percent(402) From 95d8d36276194f17ff4bcacad5371fc1e3d4afaf Mon Sep 17 00:00:00 2001 From: Tomasz Kurcz Date: Mon, 15 Aug 2022 13:38:54 +0200 Subject: [PATCH 18/24] std: implement PartialEq for LHS refs of math types --- packages/std/src/math/decimal.rs | 6 ++++++ packages/std/src/math/decimal256.rs | 6 ++++++ packages/std/src/math/uint128.rs | 6 ++++++ packages/std/src/math/uint256.rs | 6 ++++++ packages/std/src/math/uint512.rs | 6 ++++++ packages/std/src/math/uint64.rs | 6 ++++++ 6 files changed, 36 insertions(+) diff --git a/packages/std/src/math/decimal.rs b/packages/std/src/math/decimal.rs index c8d70a25d1..d0e1574851 100644 --- a/packages/std/src/math/decimal.rs +++ b/packages/std/src/math/decimal.rs @@ -626,6 +626,12 @@ impl PartialEq<&Decimal> for Decimal { } } +impl PartialEq for &Decimal { + fn eq(&self, rhs: &Decimal) -> bool { + *self == rhs + } +} + #[cfg(test)] mod tests { use super::*; diff --git a/packages/std/src/math/decimal256.rs b/packages/std/src/math/decimal256.rs index 4a0480016a..8539dfcf98 100644 --- a/packages/std/src/math/decimal256.rs +++ b/packages/std/src/math/decimal256.rs @@ -651,6 +651,12 @@ impl PartialEq<&Decimal256> for Decimal256 { } } +impl PartialEq for &Decimal256 { + fn eq(&self, rhs: &Decimal256) -> bool { + *self == rhs + } +} + #[cfg(test)] mod tests { use super::*; diff --git a/packages/std/src/math/uint128.rs b/packages/std/src/math/uint128.rs index 859e2350c1..013979c1be 100644 --- a/packages/std/src/math/uint128.rs +++ b/packages/std/src/math/uint128.rs @@ -511,6 +511,12 @@ impl PartialEq<&Uint128> for Uint128 { } } +impl PartialEq for &Uint128 { + fn eq(&self, rhs: &Uint128) -> bool { + *self == rhs + } +} + #[cfg(test)] mod tests { use super::*; diff --git a/packages/std/src/math/uint256.rs b/packages/std/src/math/uint256.rs index 58db2c3d92..9bec2efbd6 100644 --- a/packages/std/src/math/uint256.rs +++ b/packages/std/src/math/uint256.rs @@ -627,6 +627,12 @@ impl PartialEq<&Uint256> for Uint256 { } } +impl PartialEq for &Uint256 { + fn eq(&self, rhs: &Uint256) -> bool { + *self == rhs + } +} + #[cfg(test)] mod tests { use super::*; diff --git a/packages/std/src/math/uint512.rs b/packages/std/src/math/uint512.rs index ede8013ef3..ccfb7096ca 100644 --- a/packages/std/src/math/uint512.rs +++ b/packages/std/src/math/uint512.rs @@ -588,6 +588,12 @@ impl PartialEq<&Uint512> for Uint512 { } } +impl PartialEq for &Uint512 { + fn eq(&self, rhs: &Uint512) -> bool { + *self == rhs + } +} + #[cfg(test)] mod tests { use super::*; diff --git a/packages/std/src/math/uint64.rs b/packages/std/src/math/uint64.rs index fce684bd06..307c62b40b 100644 --- a/packages/std/src/math/uint64.rs +++ b/packages/std/src/math/uint64.rs @@ -465,6 +465,12 @@ impl PartialEq<&Uint64> for Uint64 { } } +impl PartialEq for &Uint64 { + fn eq(&self, rhs: &Uint64) -> bool { + *self == rhs + } +} + #[cfg(test)] mod tests { use super::*; From f7a731b6ec45e6b2a5e944caf0666d866694f997 Mon Sep 17 00:00:00 2001 From: Tomasz Kurcz Date: Mon, 15 Aug 2022 15:16:37 +0300 Subject: [PATCH 19/24] std: partialeq tests for math types --- packages/std/src/math/decimal.rs | 20 ++++++++++++++++++++ packages/std/src/math/decimal256.rs | 20 ++++++++++++++++++++ packages/std/src/math/uint128.rs | 24 ++++++++++++++++++++++++ packages/std/src/math/uint256.rs | 21 +++++++++++++++++++++ packages/std/src/math/uint512.rs | 21 +++++++++++++++++++++ packages/std/src/math/uint64.rs | 24 ++++++++++++++++++++++++ 6 files changed, 130 insertions(+) diff --git a/packages/std/src/math/decimal.rs b/packages/std/src/math/decimal.rs index d0e1574851..14fc7774f2 100644 --- a/packages/std/src/math/decimal.rs +++ b/packages/std/src/math/decimal.rs @@ -1944,4 +1944,24 @@ mod tests { Err(OverflowError { .. }) )); } + + #[test] + fn decimal_partial_eq() { + let test_cases = [ + ("1", "1", true), + ("0.5", "0.5", true), + ("0.5", "0.51", false), + ("0", "0.00000", true), + ] + .into_iter() + .map(|(lhs, rhs, expected)| (dec(lhs), dec(rhs), expected)); + + #[allow(clippy::op_ref)] + for (lhs, rhs, expected) in test_cases { + assert_eq!(lhs == rhs, expected); + assert_eq!(&lhs == rhs, expected); + assert_eq!(lhs == &rhs, expected); + assert_eq!(&lhs == &rhs, expected); + } + } } diff --git a/packages/std/src/math/decimal256.rs b/packages/std/src/math/decimal256.rs index 8539dfcf98..fe07d35ee4 100644 --- a/packages/std/src/math/decimal256.rs +++ b/packages/std/src/math/decimal256.rs @@ -2094,4 +2094,24 @@ mod tests { Err(OverflowError { .. }) )); } + + #[test] + fn decimal256_partial_eq() { + let test_cases = [ + ("1", "1", true), + ("0.5", "0.5", true), + ("0.5", "0.51", false), + ("0", "0.00000", true), + ] + .into_iter() + .map(|(lhs, rhs, expected)| (dec(lhs), dec(rhs), expected)); + + #[allow(clippy::op_ref)] + for (lhs, rhs, expected) in test_cases { + assert_eq!(lhs == rhs, expected); + assert_eq!(&lhs == rhs, expected); + assert_eq!(lhs == &rhs, expected); + assert_eq!(&lhs == &rhs, expected); + } + } } diff --git a/packages/std/src/math/uint128.rs b/packages/std/src/math/uint128.rs index 013979c1be..bc8679c5d4 100644 --- a/packages/std/src/math/uint128.rs +++ b/packages/std/src/math/uint128.rs @@ -979,4 +979,28 @@ mod tests { a %= &b; assert_eq!(a, Uint128::from(1u32)); } + + #[test] + fn uint128_abs_diff_works() { + let a = Uint128::from(42u32); + let b = Uint128::from(5u32); + let expected = Uint128::from(37u32); + assert_eq!(a.abs_diff(b), expected); + assert_eq!(b.abs_diff(a), expected); + } + + #[test] + fn uint128_partial_eq() { + let test_cases = [(1, 1, true), (42, 42, true), (42, 24, false), (0, 0, true)] + .into_iter() + .map(|(lhs, rhs, expected)| (Uint128::new(lhs), Uint128::new(rhs), expected)); + + #[allow(clippy::op_ref)] + for (lhs, rhs, expected) in test_cases { + assert_eq!(lhs == rhs, expected); + assert_eq!(&lhs == rhs, expected); + assert_eq!(lhs == &rhs, expected); + assert_eq!(&lhs == &rhs, expected); + } + } } diff --git a/packages/std/src/math/uint256.rs b/packages/std/src/math/uint256.rs index 9bec2efbd6..ba6562f596 100644 --- a/packages/std/src/math/uint256.rs +++ b/packages/std/src/math/uint256.rs @@ -1571,4 +1571,25 @@ mod tests { assert_eq!(a.abs_diff(b), expected); assert_eq!(b.abs_diff(a), expected); } + + #[test] + fn uint256_partial_eq() { + let test_cases = [(1, 1, true), (42, 42, true), (42, 24, false), (0, 0, true)] + .into_iter() + .map(|(lhs, rhs, expected)| { + ( + Uint256::from(lhs as u64), + Uint256::from(rhs as u64), + expected, + ) + }); + + #[allow(clippy::op_ref)] + for (lhs, rhs, expected) in test_cases { + assert_eq!(lhs == rhs, expected); + assert_eq!(&lhs == rhs, expected); + assert_eq!(lhs == &rhs, expected); + assert_eq!(&lhs == &rhs, expected); + } + } } diff --git a/packages/std/src/math/uint512.rs b/packages/std/src/math/uint512.rs index ccfb7096ca..4f8ae78e4b 100644 --- a/packages/std/src/math/uint512.rs +++ b/packages/std/src/math/uint512.rs @@ -1206,4 +1206,25 @@ mod tests { assert_eq!(a.abs_diff(b), expected); assert_eq!(b.abs_diff(a), expected); } + + #[test] + fn uint512_partial_eq() { + let test_cases = [(1, 1, true), (42, 42, true), (42, 24, false), (0, 0, true)] + .into_iter() + .map(|(lhs, rhs, expected)| { + ( + Uint512::from(lhs as u64), + Uint512::from(rhs as u64), + expected, + ) + }); + + #[allow(clippy::op_ref)] + for (lhs, rhs, expected) in test_cases { + assert_eq!(lhs == rhs, expected); + assert_eq!(&lhs == rhs, expected); + assert_eq!(lhs == &rhs, expected); + assert_eq!(&lhs == &rhs, expected); + } + } } diff --git a/packages/std/src/math/uint64.rs b/packages/std/src/math/uint64.rs index 307c62b40b..be35b41d11 100644 --- a/packages/std/src/math/uint64.rs +++ b/packages/std/src/math/uint64.rs @@ -892,4 +892,28 @@ mod tests { a %= &b; assert_eq!(a, Uint64::from(1u32)); } + + #[test] + fn uint64_abs_diff_works() { + let a = Uint64::from(42u32); + let b = Uint64::from(5u32); + let expected = Uint64::from(37u32); + assert_eq!(a.abs_diff(b), expected); + assert_eq!(b.abs_diff(a), expected); + } + + #[test] + fn uint64_partial_eq() { + let test_cases = [(1, 1, true), (42, 42, true), (42, 24, false), (0, 0, true)] + .into_iter() + .map(|(lhs, rhs, expected)| (Uint64::new(lhs), Uint64::new(rhs), expected)); + + #[allow(clippy::op_ref)] + for (lhs, rhs, expected) in test_cases { + assert_eq!(lhs == rhs, expected); + assert_eq!(&lhs == rhs, expected); + assert_eq!(lhs == &rhs, expected); + assert_eq!(&lhs == &rhs, expected); + } + } } From c401d39d56283fffe172572437594969aad9ccc6 Mon Sep 17 00:00:00 2001 From: Cashmaney Date: Sun, 9 Apr 2023 17:25:07 +0300 Subject: [PATCH 20/24] Crate name alias example --- Cargo.lock | 88 +- contracts/hackatom/Cargo.lock | 66 +- contracts/hackatom/Cargo.toml | 4 +- contracts/staking/Cargo.lock | 1346 +-------------------- contracts/staking/Cargo.toml | 11 +- packages/crypto/Cargo.toml | 2 +- packages/derive/Cargo.toml | 2 +- packages/std-alias/Cargo.toml | 34 + packages/std-alias/src/lib.rs | 1 + packages/std/Cargo.toml | 4 +- packages/storage-alias/Cargo.toml | 13 + packages/storage-alias/src/lib.rs | 1 + packages/storage/Cargo.toml | 6 +- packages/storage/src/bucket.rs | 4 +- packages/storage/src/lib.rs | 2 + packages/storage/src/namespace_helpers.rs | 4 +- packages/storage/src/prefixed_storage.rs | 4 +- packages/storage/src/sequence.rs | 2 +- packages/storage/src/singleton.rs | 2 +- packages/storage/src/type_helpers.rs | 4 +- 20 files changed, 210 insertions(+), 1390 deletions(-) create mode 100644 packages/std-alias/Cargo.toml create mode 100644 packages/std-alias/src/lib.rs create mode 100644 packages/storage-alias/Cargo.toml create mode 100644 packages/storage-alias/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index fcae38add7..b10ccfd1b7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -129,25 +129,6 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" -[[package]] -name = "cosmwasm-crypto" -version = "1.1.9" -dependencies = [ - "base64", - "criterion", - "digest 0.10.6", - "ed25519-zebra", - "english-numbers", - "hex", - "hex-literal", - "k256", - "rand_core 0.6.4", - "serde", - "serde_json", - "sha2 0.10.6", - "thiserror", -] - [[package]] name = "cosmwasm-derive" version = "1.1.9" @@ -181,30 +162,16 @@ dependencies = [ [[package]] name = "cosmwasm-std" -version = "1.1.9" +version = "0.1.0" dependencies = [ - "base64", - "chrono", - "cosmwasm-crypto", - "cosmwasm-derive", - "cosmwasm-schema", - "derivative", - "forward_ref", - "hex", - "hex-literal", - "schemars", - "serde", - "serde-json-wasm", - "thiserror", - "uint", + "secret-cosmwasm-std", ] [[package]] name = "cosmwasm-storage" -version = "1.1.9" +version = "0.1.0" dependencies = [ - "cosmwasm-std", - "serde", + "secret-cosmwasm-storage", ] [[package]] @@ -898,6 +865,53 @@ dependencies = [ "zeroize", ] +[[package]] +name = "secret-cosmwasm-crypto" +version = "1.1.9" +dependencies = [ + "base64", + "criterion", + "digest 0.10.6", + "ed25519-zebra", + "english-numbers", + "hex", + "hex-literal", + "k256", + "rand_core 0.6.4", + "serde", + "serde_json", + "sha2 0.10.6", + "thiserror", +] + +[[package]] +name = "secret-cosmwasm-std" +version = "1.1.9" +dependencies = [ + "base64", + "chrono", + "cosmwasm-derive", + "cosmwasm-schema", + "derivative", + "forward_ref", + "hex", + "hex-literal", + "schemars", + "secret-cosmwasm-crypto", + "serde", + "serde-json-wasm", + "thiserror", + "uint", +] + +[[package]] +name = "secret-cosmwasm-storage" +version = "1.1.9" +dependencies = [ + "secret-cosmwasm-std", + "serde", +] + [[package]] name = "semver" version = "1.0.16" diff --git a/contracts/hackatom/Cargo.lock b/contracts/hackatom/Cargo.lock index 02b9fda90c..2d256c4804 100644 --- a/contracts/hackatom/Cargo.lock +++ b/contracts/hackatom/Cargo.lock @@ -96,17 +96,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" -[[package]] -name = "cosmwasm-crypto" -version = "1.1.9" -dependencies = [ - "digest 0.10.6", - "ed25519-zebra", - "k256", - "rand_core 0.6.4", - "thiserror", -] - [[package]] name = "cosmwasm-derive" version = "1.1.9" @@ -136,27 +125,16 @@ dependencies = [ [[package]] name = "cosmwasm-std" -version = "1.1.9" +version = "0.1.0" dependencies = [ - "base64", - "cosmwasm-crypto", - "cosmwasm-derive", - "derivative", - "forward_ref", - "hex", - "schemars", - "serde", - "serde-json-wasm", - "thiserror", - "uint", + "secret-cosmwasm-std", ] [[package]] name = "cosmwasm-storage" -version = "1.1.9" +version = "0.1.0" dependencies = [ - "cosmwasm-std", - "serde", + "secret-cosmwasm-storage", ] [[package]] @@ -544,6 +522,42 @@ dependencies = [ "zeroize", ] +[[package]] +name = "secret-cosmwasm-crypto" +version = "1.1.9" +dependencies = [ + "digest 0.10.6", + "ed25519-zebra", + "k256", + "rand_core 0.6.4", + "thiserror", +] + +[[package]] +name = "secret-cosmwasm-std" +version = "1.1.9" +dependencies = [ + "base64", + "cosmwasm-derive", + "derivative", + "forward_ref", + "hex", + "schemars", + "secret-cosmwasm-crypto", + "serde", + "serde-json-wasm", + "thiserror", + "uint", +] + +[[package]] +name = "secret-cosmwasm-storage" +version = "1.1.9" +dependencies = [ + "secret-cosmwasm-std", + "serde", +] + [[package]] name = "serde" version = "1.0.152" diff --git a/contracts/hackatom/Cargo.toml b/contracts/hackatom/Cargo.toml index 21abd675de..6018241953 100644 --- a/contracts/hackatom/Cargo.toml +++ b/contracts/hackatom/Cargo.toml @@ -30,7 +30,7 @@ backtraces = ["cosmwasm-std/backtraces"] [dependencies] cosmwasm-schema = { path = "../../packages/schema" } -cosmwasm-std = { path = "../../packages/std", default-features = false, features = [ +cosmwasm-std = { path = "../../packages/std-alias", default-features = false, features = [ "abort", ] } rust-argon2 = "0.8" @@ -40,4 +40,4 @@ sha2 = "0.10" thiserror = "1.0" [dev-dependencies] -cosmwasm-storage = { path = "../../packages/storage", default-features = false } +cosmwasm-storage = { path = "../../packages/storage-alias", default-features = false } diff --git a/contracts/staking/Cargo.lock b/contracts/staking/Cargo.lock index b756706a7d..1e68712be5 100644 --- a/contracts/staking/Cargo.lock +++ b/contracts/staking/Cargo.lock @@ -2,53 +2,6 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "addr2line" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a" -dependencies = [ - "gimli 0.24.0", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "ahash" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" -dependencies = [ - "getrandom 0.2.3", - "once_cell", - "version_check", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "backtrace" -version = "0.3.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7815ea54e4d821e791162e078acbebfd6d8c8939cd559c9335dceb1c8ca7282" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object 0.25.3", - "rustc-demangle", -] - [[package]] name = "base16ct" version = "0.1.1" @@ -67,12 +20,6 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dea908e7347a8c64e378c17e30ef880ad73e3b4498346b055c2c00ea342f3179" -[[package]] -name = "bitflags" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" - [[package]] name = "block-buffer" version = "0.9.0" @@ -91,97 +38,34 @@ dependencies = [ "generic-array", ] -[[package]] -name = "bumpalo" -version = "3.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9df67f7bf9ef8498769f994239c45613ef0c5899415fb58e9add412d2c1a538" - -[[package]] -name = "bytecheck" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "314889ea31cda264cb7c3d6e6e5c9415a987ecb0e72c17c00d36fbb881d34abe" -dependencies = [ - "bytecheck_derive", - "ptr_meta", -] - -[[package]] -name = "bytecheck_derive" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a2b3b92c135dae665a6f760205b89187638e83bed17ef3e44e83c712cf30600" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "byteorder" version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" -[[package]] -name = "cc" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2" - [[package]] name = "cfg-if" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "clru" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "591ff76ca0691bd91c1b0b5b987e5cf93b21ec810ad96665c5a569c60846dd93" - [[package]] name = "const-oid" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661" -[[package]] -name = "corosensei" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9847f90f32a50b0dcbd68bc23ff242798b13080b97b0569f6ed96a45ce4cf2cd" -dependencies = [ - "autocfg", - "cfg-if", - "libc", - "scopeguard", - "windows-sys", -] - -[[package]] -name = "cosmwasm-crypto" -version = "1.1.0" -dependencies = [ - "digest 0.10.3", - "ed25519-zebra", - "k256", - "rand_core 0.6.3", - "thiserror", -] - [[package]] name = "cosmwasm-derive" -version = "1.1.0" +version = "1.1.9" dependencies = [ "syn", ] [[package]] name = "cosmwasm-schema" -version = "1.1.0" +version = "1.1.9" dependencies = [ "cosmwasm-schema-derive", "schemars", @@ -192,7 +76,7 @@ dependencies = [ [[package]] name = "cosmwasm-schema-derive" -version = "1.1.0" +version = "1.1.9" dependencies = [ "proc-macro2", "quote", @@ -201,49 +85,16 @@ dependencies = [ [[package]] name = "cosmwasm-std" -version = "1.1.0" +version = "0.1.0" dependencies = [ - "base64", - "cosmwasm-crypto", - "cosmwasm-derive", - "derivative", - "forward_ref", - "hex", - "schemars", - "serde", - "serde-json-wasm", - "thiserror", - "uint", + "secret-cosmwasm-std", ] [[package]] name = "cosmwasm-storage" -version = "1.1.0" -dependencies = [ - "cosmwasm-std", - "serde", -] - -[[package]] -name = "cosmwasm-vm" -version = "1.1.0" +version = "0.1.0" dependencies = [ - "bitflags", - "bytecheck", - "clru", - "cosmwasm-crypto", - "cosmwasm-std", - "enumset", - "hex", - "loupe", - "parity-wasm", - "schemars", - "serde", - "serde_json", - "sha2 0.10.3", - "thiserror", - "wasmer", - "wasmer-middlewares", + "secret-cosmwasm-storage", ] [[package]] @@ -264,118 +115,6 @@ dependencies = [ "libc", ] -[[package]] -name = "cranelift-bforest" -version = "0.82.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38faa2a16616c8e78a18d37b4726b98bfd2de192f2fdc8a39ddf568a408a0f75" -dependencies = [ - "cranelift-entity", -] - -[[package]] -name = "cranelift-codegen" -version = "0.82.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26f192472a3ba23860afd07d2b0217dc628f21fcc72617aa1336d98e1671f33b" -dependencies = [ - "cranelift-bforest", - "cranelift-codegen-meta", - "cranelift-codegen-shared", - "cranelift-entity", - "gimli 0.26.1", - "log", - "regalloc", - "smallvec", - "target-lexicon", -] - -[[package]] -name = "cranelift-codegen-meta" -version = "0.82.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f32ddb89e9b89d3d9b36a5b7d7ea3261c98235a76ac95ba46826b8ec40b1a24" -dependencies = [ - "cranelift-codegen-shared", -] - -[[package]] -name = "cranelift-codegen-shared" -version = "0.82.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01fd0d9f288cc1b42d9333b7a776b17e278fc888c28e6a0f09b5573d45a150bc" - -[[package]] -name = "cranelift-entity" -version = "0.82.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3bfe172b83167604601faf9dc60453e0d0a93415b57a9c4d1a7ae6849185cf" - -[[package]] -name = "cranelift-frontend" -version = "0.82.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a006e3e32d80ce0e4ba7f1f9ddf66066d052a8c884a110b91d05404d6ce26dce" -dependencies = [ - "cranelift-codegen", - "log", - "smallvec", - "target-lexicon", -] - -[[package]] -name = "crc32fast" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4" -dependencies = [ - "cfg-if", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" -dependencies = [ - "cfg-if", - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd" -dependencies = [ - "cfg-if", - "crossbeam-utils", - "lazy_static", - "memoffset", - "scopeguard", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38" -dependencies = [ - "cfg-if", - "lazy_static", -] - [[package]] name = "crunchy" version = "0.2.2" @@ -417,41 +156,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "darling" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "757c0ded2af11d8e739c4daea1ac623dd1624b06c844cf3f5a39f1bdbd99bb12" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c34d8efb62d0c2d7f60ece80f75e5c63c1588ba68032740494b0b9a996466e3" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn", -] - -[[package]] -name = "darling_macro" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade7bff147130fe5e6d39f089c6bd49ec0250f35d70b2eebf72afdfc919f15cc" -dependencies = [ - "darling_core", - "quote", - "syn", -] - [[package]] name = "der" version = "0.6.0" @@ -505,32 +209,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee2626afccd7561a06cf1367e2950c4718ea04565e20fb5029b6c7d8ad09abcf" -[[package]] -name = "dynasm" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add9a102807b524ec050363f09e06f1504214b0e1c7797f64261c891022dce8b" -dependencies = [ - "bitflags", - "byteorder", - "lazy_static", - "proc-macro-error", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "dynasmrt" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64fba5a42bd76a17cad4bfa00de168ee1cbfa06a5e8ce992ae880218c05641a9" -dependencies = [ - "byteorder", - "dynasm", - "memmap2", -] - [[package]] name = "ecdsa" version = "0.14.3" @@ -558,12 +236,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "either" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" - [[package]] name = "elliptic-curve" version = "0.12.2" @@ -584,53 +256,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "enum-iterator" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6" -dependencies = [ - "enum-iterator-derive", -] - -[[package]] -name = "enum-iterator-derive" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "enumset" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e76129da36102af021b8e5000dab2c1c30dbef85c1e482beeff8da5dde0e0b0" -dependencies = [ - "enumset_derive", -] - -[[package]] -name = "enumset_derive" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6451128aa6655d880755345d085494cf7561a6bee7c8dc821e5d77e6d267ecd4" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - [[package]] name = "ff" version = "0.12.0" @@ -641,12 +266,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - [[package]] name = "forward_ref" version = "1.0.0" @@ -685,23 +304,6 @@ dependencies = [ "wasi 0.10.2+wasi-snapshot-preview1", ] -[[package]] -name = "gimli" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189" - -[[package]] -name = "gimli" -version = "0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4" -dependencies = [ - "fallible-iterator", - "indexmap", - "stable_deref_trait", -] - [[package]] name = "group" version = "0.12.0" @@ -713,33 +315,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -dependencies = [ - "ahash", -] - -[[package]] -name = "hashbrown" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c21d40587b92fa6a6c6e3c1bdbf87d75511db5672f9c93175574b3a00df1758" -dependencies = [ - "ahash", -] - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - [[package]] name = "hex" version = "0.4.3" @@ -756,36 +331,10 @@ dependencies = [ ] [[package]] -name = "ident_case" -version = "1.0.1" +name = "itoa" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "indexmap" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" -dependencies = [ - "autocfg", - "hashbrown 0.11.2", - "serde", -] - -[[package]] -name = "itoa" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" - -[[package]] -name = "js-sys" -version = "0.3.55" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84" -dependencies = [ - "wasm-bindgen", -] +checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" [[package]] name = "k256" @@ -799,168 +348,18 @@ dependencies = [ "sha2 0.10.3", ] -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "leb128" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3576a87f2ba00f6f106fdfcd16db1d698d648a26ad8e0573cad8537c3c362d2a" - [[package]] name = "libc" version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" -[[package]] -name = "libloading" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f84d96438c15fcd6c3f244c8fce01d1e2b9c6b5623e9c711dc9286d8fc92d6a" -dependencies = [ - "cfg-if", - "winapi", -] - -[[package]] -name = "log" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "loupe" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6a72dfa44fe15b5e76b94307eeb2ff995a8c5b283b55008940c02e0c5b634d" -dependencies = [ - "indexmap", - "loupe-derive", - "rustversion", -] - -[[package]] -name = "loupe-derive" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fbfc88337168279f2e9ae06e157cfed4efd3316e14dc96ed074d4f2e6c5952" -dependencies = [ - "quote", - "syn", -] - -[[package]] -name = "mach" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" -dependencies = [ - "libc", -] - -[[package]] -name = "memchr" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" - -[[package]] -name = "memmap2" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4647a11b578fead29cdbb34d4adef8dd3dc35b876c9c6d5240d83f205abfe96e" -dependencies = [ - "libc", -] - -[[package]] -name = "memoffset" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" -dependencies = [ - "autocfg", -] - -[[package]] -name = "miniz_oxide" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" -dependencies = [ - "adler", - "autocfg", -] - -[[package]] -name = "more-asserts" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0debeb9fcf88823ea64d64e4a815ab1643f33127d995978e099942ce38f25238" - -[[package]] -name = "num_cpus" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "object" -version = "0.25.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a38f2be3697a57b4060074ff41b44c16870d916ad7877c17696e063257482bc7" -dependencies = [ - "memchr", -] - -[[package]] -name = "object" -version = "0.28.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456" -dependencies = [ - "crc32fast", - "hashbrown 0.11.2", - "indexmap", - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" - [[package]] name = "opaque-debug" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" -[[package]] -name = "parity-wasm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" - -[[package]] -name = "pin-project-lite" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" - [[package]] name = "pkcs8" version = "0.9.0" @@ -971,36 +370,6 @@ dependencies = [ "spki", ] -[[package]] -name = "ppv-lite86" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - [[package]] name = "proc-macro2" version = "1.0.27" @@ -1010,26 +379,6 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "ptr_meta" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" -dependencies = [ - "ptr_meta_derive", -] - -[[package]] -name = "ptr_meta_derive" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "quote" version = "1.0.9" @@ -1039,28 +388,6 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "rand" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" -dependencies = [ - "libc", - "rand_chacha", - "rand_core 0.6.3", - "rand_hc", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.3", -] - [[package]] name = "rand_core" version = "0.5.1" @@ -1079,90 +406,6 @@ dependencies = [ "getrandom 0.2.3", ] -[[package]] -name = "rand_hc" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" -dependencies = [ - "rand_core 0.6.3", -] - -[[package]] -name = "rayon" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" -dependencies = [ - "autocfg", - "crossbeam-deque", - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-utils", - "lazy_static", - "num_cpus", -] - -[[package]] -name = "redox_syscall" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee" -dependencies = [ - "bitflags", -] - -[[package]] -name = "regalloc" -version = "0.0.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62446b1d3ebf980bdc68837700af1d77b37bc430e524bf95319c6eada2a4cc02" -dependencies = [ - "log", - "rustc-hash", - "smallvec", -] - -[[package]] -name = "region" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76e189c2369884dce920945e2ddf79b3dff49e071a167dd1817fa9c4c00d512e" -dependencies = [ - "bitflags", - "libc", - "mach", - "winapi", -] - -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi", -] - -[[package]] -name = "rend" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79af64b4b6362ffba04eef3a4e10829718a4896dac19daa741851c86781edf95" -dependencies = [ - "bytecheck", -] - [[package]] name = "rfc6979" version = "0.3.0" @@ -1174,49 +417,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "rkyv" -version = "0.7.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5230ae2981a885590b0dc84e0b24c0ed23ad24f7adc0eb824b26cafa961f7c36" -dependencies = [ - "bytecheck", - "hashbrown 0.12.0", - "ptr_meta", - "rend", - "rkyv_derive", - "seahash", -] - -[[package]] -name = "rkyv_derive" -version = "0.7.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc752d5925dbcb324522f3a4c93193d17f107b2e11810913aa3ad352fa01480" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dead70b0b5e03e9c814bcb6b01e03e68f7c57a80aa48c72ec92152ab3e818d49" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustversion" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61b3909d758bb75c79f23d4736fac9433868679d3ad2ea7a61e3c25cfda9a088" - [[package]] name = "ryu" version = "1.0.5" @@ -1247,18 +447,6 @@ dependencies = [ "syn", ] -[[package]] -name = "scopeguard" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "seahash" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" - [[package]] name = "sec1" version = "0.3.0" @@ -1273,6 +461,42 @@ dependencies = [ "zeroize", ] +[[package]] +name = "secret-cosmwasm-crypto" +version = "1.1.9" +dependencies = [ + "digest 0.10.3", + "ed25519-zebra", + "k256", + "rand_core 0.6.3", + "thiserror", +] + +[[package]] +name = "secret-cosmwasm-std" +version = "1.1.9" +dependencies = [ + "base64", + "cosmwasm-derive", + "derivative", + "forward_ref", + "hex", + "schemars", + "secret-cosmwasm-crypto", + "serde", + "serde-json-wasm", + "thiserror", + "uint", +] + +[[package]] +name = "secret-cosmwasm-storage" +version = "1.1.9" +dependencies = [ + "secret-cosmwasm-std", + "serde", +] + [[package]] name = "serde" version = "1.0.126" @@ -1291,15 +515,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_bytes" -version = "0.11.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16ae07dd2f88a366f15bd0632ba725227018c69a1c8550a927324f8eb8368bb9" -dependencies = [ - "serde", -] - [[package]] name = "serde_derive" version = "1.0.126" @@ -1367,12 +582,6 @@ dependencies = [ "rand_core 0.6.3", ] -[[package]] -name = "smallvec" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" - [[package]] name = "snafu" version = "0.6.10" @@ -1404,12 +613,6 @@ dependencies = [ "der", ] -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - [[package]] name = "staking" version = "0.0.0" @@ -1417,7 +620,6 @@ dependencies = [ "cosmwasm-schema", "cosmwasm-std", "cosmwasm-storage", - "cosmwasm-vm", "schemars", "serde", "snafu", @@ -1429,12 +631,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - [[package]] name = "subtle" version = "2.4.1" @@ -1452,26 +648,6 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "target-lexicon" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9bffcddbc2458fa3e6058414599e3c838a022abae82e5c67b4f7f80298d5bff" - -[[package]] -name = "tempfile" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" -dependencies = [ - "cfg-if", - "libc", - "rand", - "redox_syscall", - "remove_dir_all", - "winapi", -] - [[package]] name = "thiserror" version = "1.0.26" @@ -1492,39 +668,6 @@ dependencies = [ "syn", ] -[[package]] -name = "tracing" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d" -dependencies = [ - "cfg-if", - "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42e6fa53307c8a17e4ccd4dc81cf5ec38db9209f59b222210375b54ee40d1e2" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tracing-core" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052" -dependencies = [ - "lazy_static", -] - [[package]] name = "typenum" version = "1.15.0" @@ -1567,403 +710,6 @@ version = "0.10.2+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" -[[package]] -name = "wasm-bindgen" -version = "0.2.78" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.78" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b" -dependencies = [ - "bumpalo", - "lazy_static", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.78" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.78" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.78" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc" - -[[package]] -name = "wasmer" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea8d8361c9d006ea3d7797de7bd6b1492ffd0f91a22430cfda6c1658ad57bedf" -dependencies = [ - "cfg-if", - "indexmap", - "js-sys", - "loupe", - "more-asserts", - "target-lexicon", - "thiserror", - "wasm-bindgen", - "wasmer-artifact", - "wasmer-compiler", - "wasmer-compiler-cranelift", - "wasmer-compiler-singlepass", - "wasmer-derive", - "wasmer-engine", - "wasmer-engine-dylib", - "wasmer-engine-universal", - "wasmer-types", - "wasmer-vm", - "winapi", -] - -[[package]] -name = "wasmer-artifact" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aaf9428c29c1d8ad2ac0e45889ba8a568a835e33fd058964e5e500f2f7ce325" -dependencies = [ - "enumset", - "loupe", - "thiserror", - "wasmer-compiler", - "wasmer-types", -] - -[[package]] -name = "wasmer-compiler" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e67a6cd866aed456656db2cfea96c18baabbd33f676578482b85c51e1ee19d2c" -dependencies = [ - "enumset", - "loupe", - "rkyv", - "serde", - "serde_bytes", - "smallvec", - "target-lexicon", - "thiserror", - "wasmer-types", - "wasmparser", -] - -[[package]] -name = "wasmer-compiler-cranelift" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48be2f9f6495f08649e4f8b946a2cbbe119faf5a654aa1457f9504a99d23dae0" -dependencies = [ - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "gimli 0.26.1", - "loupe", - "more-asserts", - "rayon", - "smallvec", - "target-lexicon", - "tracing", - "wasmer-compiler", - "wasmer-types", -] - -[[package]] -name = "wasmer-compiler-singlepass" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29ca2a35204d8befa85062bc7aac259a8db8070b801b8a783770ba58231d729e" -dependencies = [ - "byteorder", - "dynasm", - "dynasmrt", - "gimli 0.26.1", - "lazy_static", - "loupe", - "more-asserts", - "rayon", - "smallvec", - "wasmer-compiler", - "wasmer-types", -] - -[[package]] -name = "wasmer-derive" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00e50405cc2a2f74ff574584710a5f2c1d5c93744acce2ca0866084739284b51" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "wasmer-engine" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f98f010978c244db431b392aeab0661df7ea0822343334f8f2a920763548e45" -dependencies = [ - "backtrace", - "enumset", - "lazy_static", - "loupe", - "memmap2", - "more-asserts", - "rustc-demangle", - "serde", - "serde_bytes", - "target-lexicon", - "thiserror", - "wasmer-artifact", - "wasmer-compiler", - "wasmer-types", - "wasmer-vm", -] - -[[package]] -name = "wasmer-engine-dylib" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0358af9c154724587731175553805648d9acb8f6657880d165e378672b7e53" -dependencies = [ - "cfg-if", - "enum-iterator", - "enumset", - "leb128", - "libloading", - "loupe", - "object 0.28.3", - "rkyv", - "serde", - "tempfile", - "tracing", - "wasmer-artifact", - "wasmer-compiler", - "wasmer-engine", - "wasmer-object", - "wasmer-types", - "wasmer-vm", - "which", -] - -[[package]] -name = "wasmer-engine-universal" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "440dc3d93c9ca47865a4f4edd037ea81bf983b5796b59b3d712d844b32dbef15" -dependencies = [ - "cfg-if", - "enumset", - "leb128", - "loupe", - "region", - "rkyv", - "wasmer-compiler", - "wasmer-engine", - "wasmer-engine-universal-artifact", - "wasmer-types", - "wasmer-vm", - "winapi", -] - -[[package]] -name = "wasmer-engine-universal-artifact" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f1db3f54152657eb6e86c44b66525ff7801dad8328fe677da48dd06af9ad41" -dependencies = [ - "enum-iterator", - "enumset", - "loupe", - "rkyv", - "thiserror", - "wasmer-artifact", - "wasmer-compiler", - "wasmer-types", -] - -[[package]] -name = "wasmer-middlewares" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7812438ed2f37203a37007cdb5332b8475cb2b16e15d51299b2647894e9ed3a" -dependencies = [ - "loupe", - "wasmer", - "wasmer-types", - "wasmer-vm", -] - -[[package]] -name = "wasmer-object" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d831335ff3a44ecf451303f6f891175c642488036b92ceceb24ac8623a8fa8b" -dependencies = [ - "object 0.28.3", - "thiserror", - "wasmer-compiler", - "wasmer-types", -] - -[[package]] -name = "wasmer-types" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39df01ea05dc0a9bab67e054c7cb01521e53b35a7bb90bd02eca564ed0b2667f" -dependencies = [ - "backtrace", - "enum-iterator", - "indexmap", - "loupe", - "more-asserts", - "rkyv", - "serde", - "thiserror", -] - -[[package]] -name = "wasmer-vm" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d965fa61f4dc4cdb35a54daaf7ecec3563fbb94154a6c35433f879466247dd" -dependencies = [ - "backtrace", - "cc", - "cfg-if", - "corosensei", - "enum-iterator", - "indexmap", - "lazy_static", - "libc", - "loupe", - "mach", - "memoffset", - "more-asserts", - "region", - "rkyv", - "scopeguard", - "serde", - "thiserror", - "wasmer-artifact", - "wasmer-types", - "winapi", -] - -[[package]] -name = "wasmparser" -version = "0.83.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718ed7c55c2add6548cca3ddd6383d738cd73b892df400e96b9aa876f0141d7a" - -[[package]] -name = "which" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55551e42cbdf2ce2bedd2203d0cc08dba002c27510f86dab6d0ce304cba3dfe" -dependencies = [ - "either", - "libc", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-sys" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43dbb096663629518eb1dfa72d80243ca5a6aca764cae62a2df70af760a9be75" -dependencies = [ - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_msvc" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd761fd3eb9ab8cc1ed81e56e567f02dd82c4c837e48ac3b2181b9ffc5060807" - -[[package]] -name = "windows_i686_gnu" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab0cf703a96bab2dc0c02c0fa748491294bf9b7feb27e1f4f96340f208ada0e" - -[[package]] -name = "windows_i686_msvc" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cfdbe89cc9ad7ce618ba34abc34bbb6c36d99e96cae2245b7943cd75ee773d0" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4dd9b0c0e9ece7bb22e84d70d01b71c6d6248b81a3c60d11869451b4cb24784" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff1e4aa646495048ec7f3ffddc411e1d829c026a2ec62b39da15c1055e406eaa" - [[package]] name = "zeroize" version = "1.5.7" diff --git a/contracts/staking/Cargo.toml b/contracts/staking/Cargo.toml index 2cb5e43fa8..c73d93c34e 100644 --- a/contracts/staking/Cargo.toml +++ b/contracts/staking/Cargo.toml @@ -25,19 +25,14 @@ overflow-checks = true [features] # Add feature "cranelift" to default if you need 32 bit or ARM support default = [] -# Use cranelift backend instead of singlepass. This is required for development on 32 bit or ARM machines. -cranelift = ["cosmwasm-vm/cranelift"] # for quicker tests, cargo test --lib # for more explicit tests, cargo test --features=backtraces -backtraces = ["cosmwasm-std/backtraces", "cosmwasm-vm/backtraces"] +backtraces = ["cosmwasm-std/backtraces"] [dependencies] cosmwasm-schema = { path = "../../packages/schema" } -cosmwasm-std = { path = "../../packages/std", default-features = false, features = ["staking"] } -cosmwasm-storage = { path = "../../packages/storage", default-features = false } +cosmwasm-std = { path = "../../packages/std-alias", default-features = false, features = ["staking"] } +cosmwasm-storage = { path = "../../packages/storage-alias", default-features = false } schemars = "0.8.3" serde = { version = "1.0.103", default-features = false, features = ["derive"] } snafu = "0.6.6" - -[dev-dependencies] -cosmwasm-vm = { path = "../../packages/vm", default-features = false, features = ["staking"] } diff --git a/packages/crypto/Cargo.toml b/packages/crypto/Cargo.toml index 5afe297715..277630142d 100644 --- a/packages/crypto/Cargo.toml +++ b/packages/crypto/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "cosmwasm-crypto" +name = "secret-cosmwasm-crypto" version = "1.1.9" authors = [ "Mauro Lacy ", diff --git a/packages/derive/Cargo.toml b/packages/derive/Cargo.toml index 939cebab5d..4a82f30b8c 100644 --- a/packages/derive/Cargo.toml +++ b/packages/derive/Cargo.toml @@ -22,4 +22,4 @@ syn = { version = "1.0", features = ["full"] } # "What's even more fun, Cargo packages actually can have cyclic dependencies. # "(a package can have an indirect dev-dependency on itself)" # https://users.rust-lang.org/t/does-cargo-support-cyclic-dependencies/35666/3 -cosmwasm-std = { path = "../std" } +cosmwasm-std = { path = "../std-alias" } diff --git a/packages/std-alias/Cargo.toml b/packages/std-alias/Cargo.toml new file mode 100644 index 0000000000..4b0aa9b4a3 --- /dev/null +++ b/packages/std-alias/Cargo.toml @@ -0,0 +1,34 @@ +[package] +name = "cosmwasm-std" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +[features] +default = [] +abort = [] +# iterator allows us to iterate over all DB items in a given range +# optional as some merkle stores (like tries) don't support this +# given Ethereum 1.0, 2.0, Substrate, and other major projects use Tries +# we keep this optional, to allow possible future integration (or different Cosmos Backends) +iterator = ["secret-cosmwasm-std/iterator"] +# staking exposes bindings to a required staking moudle in the runtime, via new +# CosmosMsg types, and new QueryRequest types. This should only be enabled on contracts +# that require these types, so other contracts can be used on systems with eg. PoA consensus +staking = [] +# backtraces provides much better context at runtime errors (in non-wasm code) +# at the cost of a bit of code size and performance. +# This feature requires Rust nightly because it depends on the unstable backtrace feature. +backtraces = [] +# stargate enables stargate-dependent messages and queries, like raw protobuf messages +# as well as ibc-related functionality +stargate = [] +# ibc3 extends ibc messages with ibc-v3 only features. This should only be enabled on contracts +# that require these types. Without this, they get the smaller ibc-v1 API. +ibc3 = ["stargate"] +# This feature makes `BankQuery::Supply` available for the contract to call, but requires +# the host blockchain to run CosmWasm `1.1.0` or higher. +cosmwasm_1_1 = ["secret-cosmwasm-std/cosmwasm_1_1"] + +[dependencies] +secret-cosmwasm-std = { path = "../std" } \ No newline at end of file diff --git a/packages/std-alias/src/lib.rs b/packages/std-alias/src/lib.rs new file mode 100644 index 0000000000..6509bb3e45 --- /dev/null +++ b/packages/std-alias/src/lib.rs @@ -0,0 +1 @@ +pub use secret_cosmwasm_std::*; diff --git a/packages/std/Cargo.toml b/packages/std/Cargo.toml index b918e127ef..8e82b4d5db 100644 --- a/packages/std/Cargo.toml +++ b/packages/std/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "cosmwasm-std" +name = "secret-cosmwasm-std" version = "1.1.9" authors = [ "Ethan Frey ", @@ -57,7 +57,7 @@ hex = "0.4" uint = "0.9.3" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] -cosmwasm-crypto = { path = "../crypto", version = "1.1.9" } +secret-cosmwasm-crypto = { path = "../crypto", version = "1.1.9" } [dev-dependencies] cosmwasm-schema = { path = "../schema" } diff --git a/packages/storage-alias/Cargo.toml b/packages/storage-alias/Cargo.toml new file mode 100644 index 0000000000..adeb38b55c --- /dev/null +++ b/packages/storage-alias/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "cosmwasm-storage" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +[features] +default = [] +# This enables iterator functionality, as exposed in cosmwasm-std/iterator +iterator = ["secret-cosmwasm-storage/iterator"] + +[dependencies] +secret-cosmwasm-storage = { path = "../storage" } diff --git a/packages/storage-alias/src/lib.rs b/packages/storage-alias/src/lib.rs new file mode 100644 index 0000000000..51171f1f9b --- /dev/null +++ b/packages/storage-alias/src/lib.rs @@ -0,0 +1 @@ +pub use secret_cosmwasm_storage::*; diff --git a/packages/storage/Cargo.toml b/packages/storage/Cargo.toml index 23eb317e03..2494262bb5 100644 --- a/packages/storage/Cargo.toml +++ b/packages/storage/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "cosmwasm-storage" +name = "secret-cosmwasm-storage" version = "1.1.9" authors = [ "Ethan Frey ", @@ -15,11 +15,11 @@ readme = "README.md" [features] default = [] # This enables iterator functionality, as exposed in cosmwasm-std/iterator -iterator = ["cosmwasm-std/iterator"] +iterator = ["secret-cosmwasm-std/iterator"] [dependencies] # Uses the path when built locally; uses the given version from crates.io when published -cosmwasm-std = { version = "1.1.9", path = "../std", default-features = false } +secret-cosmwasm-std = { version = "1.1.9", path = "../std", default-features = false } serde = { version = "1.0.103", default-features = false, features = [ "derive", "alloc", diff --git a/packages/storage/src/bucket.rs b/packages/storage/src/bucket.rs index dd9e482f3e..843b5d35a9 100644 --- a/packages/storage/src/bucket.rs +++ b/packages/storage/src/bucket.rs @@ -1,9 +1,9 @@ use serde::{de::DeserializeOwned, ser::Serialize}; use std::marker::PhantomData; -use cosmwasm_std::{to_vec, StdError, StdResult, Storage}; +use crate::cosmwasm_std::{to_vec, StdError, StdResult, Storage}; #[cfg(feature = "iterator")] -use cosmwasm_std::{Order, Record}; +use crate::cosmwasm_std::{Order, Record}; use crate::length_prefixed::{to_length_prefixed, to_length_prefixed_nested}; #[cfg(feature = "iterator")] diff --git a/packages/storage/src/lib.rs b/packages/storage/src/lib.rs index 486d070796..30449920a3 100644 --- a/packages/storage/src/lib.rs +++ b/packages/storage/src/lib.rs @@ -6,6 +6,8 @@ mod sequence; mod singleton; mod type_helpers; +use secret_cosmwasm_std as cosmwasm_std; + pub use bucket::{bucket, bucket_read, Bucket, ReadonlyBucket}; pub use length_prefixed::{to_length_prefixed, to_length_prefixed_nested}; pub use prefixed_storage::{prefixed, prefixed_read, PrefixedStorage, ReadonlyPrefixedStorage}; diff --git a/packages/storage/src/namespace_helpers.rs b/packages/storage/src/namespace_helpers.rs index 1c2650b911..82811c6e80 100644 --- a/packages/storage/src/namespace_helpers.rs +++ b/packages/storage/src/namespace_helpers.rs @@ -1,6 +1,6 @@ -use cosmwasm_std::Storage; +use crate::cosmwasm_std::Storage; #[cfg(feature = "iterator")] -use cosmwasm_std::{Order, Record}; +use crate::cosmwasm_std::{Order, Record}; pub(crate) fn get_with_prefix( storage: &dyn Storage, diff --git a/packages/storage/src/prefixed_storage.rs b/packages/storage/src/prefixed_storage.rs index 6d7779541a..e8d2250bb1 100644 --- a/packages/storage/src/prefixed_storage.rs +++ b/packages/storage/src/prefixed_storage.rs @@ -1,6 +1,6 @@ -use cosmwasm_std::Storage; +use crate::cosmwasm_std::Storage; #[cfg(feature = "iterator")] -use cosmwasm_std::{Order, Record}; +use crate::cosmwasm_std::{Order, Record}; use crate::length_prefixed::{to_length_prefixed, to_length_prefixed_nested}; #[cfg(feature = "iterator")] diff --git a/packages/storage/src/sequence.rs b/packages/storage/src/sequence.rs index 30f9491cb2..74f4f1a16d 100644 --- a/packages/storage/src/sequence.rs +++ b/packages/storage/src/sequence.rs @@ -1,4 +1,4 @@ -use cosmwasm_std::{StdResult, Storage}; +use crate::cosmwasm_std::{StdResult, Storage}; use crate::Singleton; diff --git a/packages/storage/src/singleton.rs b/packages/storage/src/singleton.rs index 782002b976..75158fa4ca 100644 --- a/packages/storage/src/singleton.rs +++ b/packages/storage/src/singleton.rs @@ -1,7 +1,7 @@ use serde::{de::DeserializeOwned, ser::Serialize}; use std::marker::PhantomData; -use cosmwasm_std::{to_vec, StdError, StdResult, Storage}; +use crate::cosmwasm_std::{to_vec, StdError, StdResult, Storage}; use crate::length_prefixed::to_length_prefixed; use crate::type_helpers::{may_deserialize, must_deserialize}; diff --git a/packages/storage/src/type_helpers.rs b/packages/storage/src/type_helpers.rs index 6a36f074e2..0ee3422e6b 100644 --- a/packages/storage/src/type_helpers.rs +++ b/packages/storage/src/type_helpers.rs @@ -2,8 +2,8 @@ use serde::de::DeserializeOwned; use std::any::type_name; #[cfg(feature = "iterator")] -use cosmwasm_std::Record; -use cosmwasm_std::{from_slice, StdError, StdResult}; +use crate::cosmwasm_std::Record; +use crate::cosmwasm_std::{from_slice, StdError, StdResult}; /// may_deserialize parses json bytes from storage (Option), returning Ok(None) if no data present /// From 4c8df63ca3c74ef54bf971df0cbfafa0b781fb93 Mon Sep 17 00:00:00 2001 From: Itzik Grossman Date: Tue, 18 Apr 2023 12:15:03 +0300 Subject: [PATCH 21/24] Moved the secret versions to a different folder, kept the aliases in their original folder - testing this out --- Cargo.lock | 11 +- contracts/hackatom/Cargo.lock | 4 +- contracts/hackatom/Cargo.toml | 4 +- packages/crypto-secret/Cargo.toml | 46 ++++++++ packages/{crypto => crypto-secret}/README.md | 0 .../{crypto => crypto-secret}/benches/main.rs | 0 .../{crypto => crypto-secret}/src/ed25519.rs | 0 .../{crypto => crypto-secret}/src/errors.rs | 0 .../src/identity_digest.rs | 0 packages/crypto-secret/src/lib.rs | 21 ++++ .../src/secp256k1.rs | 0 .../testdata/ed25519_tests.json | 0 .../testdata/secp256k1_tests.json | 0 packages/crypto/Cargo.toml | 32 +----- packages/crypto/src/lib.rs | 22 +--- packages/derive/Cargo.toml | 2 +- packages/std-alias/src/lib.rs | 1 - packages/{std => std-secret}/.cargo/config | 0 packages/{std-alias => std-secret}/Cargo.toml | 48 +++++++- packages/{std => std-secret}/README.md | 0 .../{std => std-secret}/examples/schema.rs | 0 .../schema/block_info.json | 0 .../schema/cosmos_msg.json | 0 .../schema/query_request.json | 0 .../{std => std-secret}/schema/timestamp.json | 0 packages/{std => std-secret}/src/addresses.rs | 0 .../{std => std-secret}/src/assertions.rs | 0 packages/{std => std-secret}/src/binary.rs | 0 packages/{std => std-secret}/src/coin.rs | 0 .../{std => std-secret}/src/conversion.rs | 0 packages/{std => std-secret}/src/deps.rs | 0 .../{std => std-secret}/src/errors/mod.rs | 0 .../src/errors/recover_pubkey_error.rs | 2 +- .../src/errors/signing_error.rs | 2 +- .../src/errors/std_error.rs | 0 .../src/errors/system_error.rs | 0 .../src/errors/verification_error.rs | 2 +- packages/{std => std-secret}/src/exports.rs | 0 .../{std => std-secret}/src/hex_binary.rs | 0 packages/{std => std-secret}/src/ibc.rs | 0 .../{std => std-secret}/src/import_helpers.rs | 0 packages/{std => std-secret}/src/imports.rs | 0 packages/{std => std-secret}/src/iterator.rs | 0 packages/std-secret/src/lib.rs | 107 +++++++++++++++++ .../{std => std-secret}/src/math/decimal.rs | 0 .../src/math/decimal256.rs | 0 .../{std => std-secret}/src/math/fraction.rs | 0 .../{std => std-secret}/src/math/isqrt.rs | 0 packages/{std => std-secret}/src/math/mod.rs | 0 .../{std => std-secret}/src/math/uint128.rs | 0 .../{std => std-secret}/src/math/uint256.rs | 0 .../{std => std-secret}/src/math/uint512.rs | 0 .../{std => std-secret}/src/math/uint64.rs | 0 packages/{std => std-secret}/src/memory.rs | 0 packages/{std => std-secret}/src/panic.rs | 0 .../{std => std-secret}/src/query/bank.rs | 0 packages/{std => std-secret}/src/query/ibc.rs | 0 packages/{std => std-secret}/src/query/mod.rs | 0 .../{std => std-secret}/src/query/staking.rs | 0 .../{std => std-secret}/src/query/wasm.rs | 0 .../src/results/contract_result.rs | 0 .../src/results/cosmos_msg.rs | 0 .../{std => std-secret}/src/results/empty.rs | 0 .../{std => std-secret}/src/results/events.rs | 0 .../{std => std-secret}/src/results/mod.rs | 0 .../{std => std-secret}/src/results/query.rs | 0 .../src/results/response.rs | 0 .../src/results/submessages.rs | 0 .../src/results/system_result.rs | 0 packages/{std => std-secret}/src/sections.rs | 0 packages/{std => std-secret}/src/serde.rs | 0 packages/{std => std-secret}/src/storage.rs | 0 .../src/testing/assertions.rs | 0 .../{std => std-secret}/src/testing/mock.rs | 12 +- .../{std => std-secret}/src/testing/mod.rs | 0 packages/{std => std-secret}/src/timestamp.rs | 0 packages/{std => std-secret}/src/traits.rs | 0 packages/{std => std-secret}/src/types.rs | 0 packages/std/Cargo.toml | 47 +------- packages/std/src/lib.rs | 108 +----------------- packages/storage-alias/Cargo.toml | 13 --- packages/storage-alias/src/lib.rs | 1 - packages/storage-secret/Cargo.toml | 26 +++++ .../{storage => storage-secret}/README.md | 0 .../{storage => storage-secret}/src/bucket.rs | 0 .../src/length_prefixed.rs | 0 packages/storage-secret/src/lib.rs | 15 +++ .../src/namespace_helpers.rs | 0 .../src/prefixed_storage.rs | 0 .../src/sequence.rs | 0 .../src/singleton.rs | 0 .../src/type_helpers.rs | 0 packages/storage/Cargo.toml | 19 +-- packages/storage/src/lib.rs | 16 +-- 94 files changed, 295 insertions(+), 266 deletions(-) create mode 100644 packages/crypto-secret/Cargo.toml rename packages/{crypto => crypto-secret}/README.md (100%) rename packages/{crypto => crypto-secret}/benches/main.rs (100%) rename packages/{crypto => crypto-secret}/src/ed25519.rs (100%) rename packages/{crypto => crypto-secret}/src/errors.rs (100%) rename packages/{crypto => crypto-secret}/src/identity_digest.rs (100%) create mode 100644 packages/crypto-secret/src/lib.rs rename packages/{crypto => crypto-secret}/src/secp256k1.rs (100%) rename packages/{crypto => crypto-secret}/testdata/ed25519_tests.json (100%) rename packages/{crypto => crypto-secret}/testdata/secp256k1_tests.json (100%) delete mode 100644 packages/std-alias/src/lib.rs rename packages/{std => std-secret}/.cargo/config (100%) rename packages/{std-alias => std-secret}/Cargo.toml (52%) rename packages/{std => std-secret}/README.md (100%) rename packages/{std => std-secret}/examples/schema.rs (100%) rename packages/{std => std-secret}/schema/block_info.json (100%) rename packages/{std => std-secret}/schema/cosmos_msg.json (100%) rename packages/{std => std-secret}/schema/query_request.json (100%) rename packages/{std => std-secret}/schema/timestamp.json (100%) rename packages/{std => std-secret}/src/addresses.rs (100%) rename packages/{std => std-secret}/src/assertions.rs (100%) rename packages/{std => std-secret}/src/binary.rs (100%) rename packages/{std => std-secret}/src/coin.rs (100%) rename packages/{std => std-secret}/src/conversion.rs (100%) rename packages/{std => std-secret}/src/deps.rs (100%) rename packages/{std => std-secret}/src/errors/mod.rs (100%) rename packages/{std => std-secret}/src/errors/recover_pubkey_error.rs (98%) rename packages/{std => std-secret}/src/errors/signing_error.rs (97%) rename packages/{std => std-secret}/src/errors/std_error.rs (100%) rename packages/{std => std-secret}/src/errors/system_error.rs (100%) rename packages/{std => std-secret}/src/errors/verification_error.rs (98%) rename packages/{std => std-secret}/src/exports.rs (100%) rename packages/{std => std-secret}/src/hex_binary.rs (100%) rename packages/{std => std-secret}/src/ibc.rs (100%) rename packages/{std => std-secret}/src/import_helpers.rs (100%) rename packages/{std => std-secret}/src/imports.rs (100%) rename packages/{std => std-secret}/src/iterator.rs (100%) create mode 100644 packages/std-secret/src/lib.rs rename packages/{std => std-secret}/src/math/decimal.rs (100%) rename packages/{std => std-secret}/src/math/decimal256.rs (100%) rename packages/{std => std-secret}/src/math/fraction.rs (100%) rename packages/{std => std-secret}/src/math/isqrt.rs (100%) rename packages/{std => std-secret}/src/math/mod.rs (100%) rename packages/{std => std-secret}/src/math/uint128.rs (100%) rename packages/{std => std-secret}/src/math/uint256.rs (100%) rename packages/{std => std-secret}/src/math/uint512.rs (100%) rename packages/{std => std-secret}/src/math/uint64.rs (100%) rename packages/{std => std-secret}/src/memory.rs (100%) rename packages/{std => std-secret}/src/panic.rs (100%) rename packages/{std => std-secret}/src/query/bank.rs (100%) rename packages/{std => std-secret}/src/query/ibc.rs (100%) rename packages/{std => std-secret}/src/query/mod.rs (100%) rename packages/{std => std-secret}/src/query/staking.rs (100%) rename packages/{std => std-secret}/src/query/wasm.rs (100%) rename packages/{std => std-secret}/src/results/contract_result.rs (100%) rename packages/{std => std-secret}/src/results/cosmos_msg.rs (100%) rename packages/{std => std-secret}/src/results/empty.rs (100%) rename packages/{std => std-secret}/src/results/events.rs (100%) rename packages/{std => std-secret}/src/results/mod.rs (100%) rename packages/{std => std-secret}/src/results/query.rs (100%) rename packages/{std => std-secret}/src/results/response.rs (100%) rename packages/{std => std-secret}/src/results/submessages.rs (100%) rename packages/{std => std-secret}/src/results/system_result.rs (100%) rename packages/{std => std-secret}/src/sections.rs (100%) rename packages/{std => std-secret}/src/serde.rs (100%) rename packages/{std => std-secret}/src/storage.rs (100%) rename packages/{std => std-secret}/src/testing/assertions.rs (100%) rename packages/{std => std-secret}/src/testing/mock.rs (99%) rename packages/{std => std-secret}/src/testing/mod.rs (100%) rename packages/{std => std-secret}/src/timestamp.rs (100%) rename packages/{std => std-secret}/src/traits.rs (100%) rename packages/{std => std-secret}/src/types.rs (100%) delete mode 100644 packages/storage-alias/Cargo.toml delete mode 100644 packages/storage-alias/src/lib.rs create mode 100644 packages/storage-secret/Cargo.toml rename packages/{storage => storage-secret}/README.md (100%) rename packages/{storage => storage-secret}/src/bucket.rs (100%) rename packages/{storage => storage-secret}/src/length_prefixed.rs (100%) create mode 100644 packages/storage-secret/src/lib.rs rename packages/{storage => storage-secret}/src/namespace_helpers.rs (100%) rename packages/{storage => storage-secret}/src/prefixed_storage.rs (100%) rename packages/{storage => storage-secret}/src/sequence.rs (100%) rename packages/{storage => storage-secret}/src/singleton.rs (100%) rename packages/{storage => storage-secret}/src/type_helpers.rs (100%) diff --git a/Cargo.lock b/Cargo.lock index b10ccfd1b7..5ea7f0aee1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -129,6 +129,13 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" +[[package]] +name = "cosmwasm-crypto" +version = "1.1.9" +dependencies = [ + "secret-cosmwasm-crypto", +] + [[package]] name = "cosmwasm-derive" version = "1.1.9" @@ -162,14 +169,14 @@ dependencies = [ [[package]] name = "cosmwasm-std" -version = "0.1.0" +version = "1.1.9" dependencies = [ "secret-cosmwasm-std", ] [[package]] name = "cosmwasm-storage" -version = "0.1.0" +version = "1.1.9" dependencies = [ "secret-cosmwasm-storage", ] diff --git a/contracts/hackatom/Cargo.lock b/contracts/hackatom/Cargo.lock index 2d256c4804..3587390c11 100644 --- a/contracts/hackatom/Cargo.lock +++ b/contracts/hackatom/Cargo.lock @@ -125,14 +125,14 @@ dependencies = [ [[package]] name = "cosmwasm-std" -version = "0.1.0" +version = "1.1.9" dependencies = [ "secret-cosmwasm-std", ] [[package]] name = "cosmwasm-storage" -version = "0.1.0" +version = "1.1.9" dependencies = [ "secret-cosmwasm-storage", ] diff --git a/contracts/hackatom/Cargo.toml b/contracts/hackatom/Cargo.toml index 6018241953..21abd675de 100644 --- a/contracts/hackatom/Cargo.toml +++ b/contracts/hackatom/Cargo.toml @@ -30,7 +30,7 @@ backtraces = ["cosmwasm-std/backtraces"] [dependencies] cosmwasm-schema = { path = "../../packages/schema" } -cosmwasm-std = { path = "../../packages/std-alias", default-features = false, features = [ +cosmwasm-std = { path = "../../packages/std", default-features = false, features = [ "abort", ] } rust-argon2 = "0.8" @@ -40,4 +40,4 @@ sha2 = "0.10" thiserror = "1.0" [dev-dependencies] -cosmwasm-storage = { path = "../../packages/storage-alias", default-features = false } +cosmwasm-storage = { path = "../../packages/storage", default-features = false } diff --git a/packages/crypto-secret/Cargo.toml b/packages/crypto-secret/Cargo.toml new file mode 100644 index 0000000000..fb612df04e --- /dev/null +++ b/packages/crypto-secret/Cargo.toml @@ -0,0 +1,46 @@ +[package] +name = "secret-cosmwasm-crypto" +version = "1.1.9" +authors = [ + "Mauro Lacy ", + "SCRT Labs ", +] +edition = "2021" +description = "Crypto bindings for cosmwasm contracts" +repository = "https://github.com/scrtlabs/cosmwasm/tree/secret/packages/crypto-secret" +license = "Apache-2.0" + +[features] +default = [] +# backtraces provides much better context at runtime errors (in non-wasm code) +# at the cost of a bit of code size and performance. +# This feature requires Rust nightly because it depends on the unstable backtrace feature. +backtraces = [] + +[lib] +# See https://bheisler.github.io/criterion.rs/book/faq.html#cargo-bench-gives-unrecognized-option-errors-for-valid-command-line-options +bench = false + +[dependencies] +k256 = { version = "0.11.1", features = ["ecdsa"] } +ed25519-zebra = "3" +digest = "0.10" +rand_core = { version = "0.6", features = ["getrandom"] } +thiserror = "1.0.13" + +[dev-dependencies] +criterion = "0.3" +serde = { version = "1.0.103", default-features = false, features = [ + "derive", + "alloc", +] } +serde_json = "1.0.40" +sha2 = "0.10" +base64 = "0.13.0" +hex = "0.4" +hex-literal = "0.3.1" +english-numbers = "0.3" + +[[bench]] +name = "main" +harness = false diff --git a/packages/crypto/README.md b/packages/crypto-secret/README.md similarity index 100% rename from packages/crypto/README.md rename to packages/crypto-secret/README.md diff --git a/packages/crypto/benches/main.rs b/packages/crypto-secret/benches/main.rs similarity index 100% rename from packages/crypto/benches/main.rs rename to packages/crypto-secret/benches/main.rs diff --git a/packages/crypto/src/ed25519.rs b/packages/crypto-secret/src/ed25519.rs similarity index 100% rename from packages/crypto/src/ed25519.rs rename to packages/crypto-secret/src/ed25519.rs diff --git a/packages/crypto/src/errors.rs b/packages/crypto-secret/src/errors.rs similarity index 100% rename from packages/crypto/src/errors.rs rename to packages/crypto-secret/src/errors.rs diff --git a/packages/crypto/src/identity_digest.rs b/packages/crypto-secret/src/identity_digest.rs similarity index 100% rename from packages/crypto/src/identity_digest.rs rename to packages/crypto-secret/src/identity_digest.rs diff --git a/packages/crypto-secret/src/lib.rs b/packages/crypto-secret/src/lib.rs new file mode 100644 index 0000000000..8da667d6ae --- /dev/null +++ b/packages/crypto-secret/src/lib.rs @@ -0,0 +1,21 @@ +//! The crypto crate is intended to be used in internal crates / utils. +//! Please don't use any of these types directly, as +//! they might change frequently, or be removed in the future. +//! This crate does not adhere to semantic versioning. +#![cfg_attr(feature = "backtraces", feature(backtrace))] + +mod ed25519; +mod errors; +mod identity_digest; +mod secp256k1; + +#[doc(hidden)] +pub use crate::ed25519::EDDSA_PUBKEY_LEN; +#[doc(hidden)] +pub use crate::ed25519::{ed25519_batch_verify, ed25519_sign, ed25519_verify}; +#[doc(hidden)] +pub use crate::errors::{CryptoError, CryptoResult}; +#[doc(hidden)] +pub use crate::secp256k1::{secp256k1_recover_pubkey, secp256k1_sign, secp256k1_verify}; +#[doc(hidden)] +pub use crate::secp256k1::{ECDSA_PUBKEY_MAX_LEN, ECDSA_SIGNATURE_LEN, MESSAGE_HASH_MAX_LEN}; diff --git a/packages/crypto/src/secp256k1.rs b/packages/crypto-secret/src/secp256k1.rs similarity index 100% rename from packages/crypto/src/secp256k1.rs rename to packages/crypto-secret/src/secp256k1.rs diff --git a/packages/crypto/testdata/ed25519_tests.json b/packages/crypto-secret/testdata/ed25519_tests.json similarity index 100% rename from packages/crypto/testdata/ed25519_tests.json rename to packages/crypto-secret/testdata/ed25519_tests.json diff --git a/packages/crypto/testdata/secp256k1_tests.json b/packages/crypto-secret/testdata/secp256k1_tests.json similarity index 100% rename from packages/crypto/testdata/secp256k1_tests.json rename to packages/crypto-secret/testdata/secp256k1_tests.json diff --git a/packages/crypto/Cargo.toml b/packages/crypto/Cargo.toml index 277630142d..06364a41c6 100644 --- a/packages/crypto/Cargo.toml +++ b/packages/crypto/Cargo.toml @@ -1,12 +1,11 @@ [package] -name = "secret-cosmwasm-crypto" +name = "cosmwasm-crypto" version = "1.1.9" authors = [ - "Mauro Lacy ", "SCRT Labs ", ] edition = "2021" -description = "Crypto bindings for cosmwasm contracts" +description = "Compatability layer for contracts that want to use the git versions of the std fork with a patch" repository = "https://github.com/scrtlabs/cosmwasm/tree/secret/packages/crypto" license = "Apache-2.0" @@ -17,30 +16,5 @@ default = [] # This feature requires Rust nightly because it depends on the unstable backtrace feature. backtraces = [] -[lib] -# See https://bheisler.github.io/criterion.rs/book/faq.html#cargo-bench-gives-unrecognized-option-errors-for-valid-command-line-options -bench = false - [dependencies] -k256 = { version = "0.11.1", features = ["ecdsa"] } -ed25519-zebra = "3" -digest = "0.10" -rand_core = { version = "0.6", features = ["getrandom"] } -thiserror = "1.0.13" - -[dev-dependencies] -criterion = "0.3" -serde = { version = "1.0.103", default-features = false, features = [ - "derive", - "alloc", -] } -serde_json = "1.0.40" -sha2 = "0.10" -base64 = "0.13.0" -hex = "0.4" -hex-literal = "0.3.1" -english-numbers = "0.3" - -[[bench]] -name = "main" -harness = false +secret-cosmwasm-crypto = { path = "../crypto-secret" } \ No newline at end of file diff --git a/packages/crypto/src/lib.rs b/packages/crypto/src/lib.rs index 8da667d6ae..6509bb3e45 100644 --- a/packages/crypto/src/lib.rs +++ b/packages/crypto/src/lib.rs @@ -1,21 +1 @@ -//! The crypto crate is intended to be used in internal crates / utils. -//! Please don't use any of these types directly, as -//! they might change frequently, or be removed in the future. -//! This crate does not adhere to semantic versioning. -#![cfg_attr(feature = "backtraces", feature(backtrace))] - -mod ed25519; -mod errors; -mod identity_digest; -mod secp256k1; - -#[doc(hidden)] -pub use crate::ed25519::EDDSA_PUBKEY_LEN; -#[doc(hidden)] -pub use crate::ed25519::{ed25519_batch_verify, ed25519_sign, ed25519_verify}; -#[doc(hidden)] -pub use crate::errors::{CryptoError, CryptoResult}; -#[doc(hidden)] -pub use crate::secp256k1::{secp256k1_recover_pubkey, secp256k1_sign, secp256k1_verify}; -#[doc(hidden)] -pub use crate::secp256k1::{ECDSA_PUBKEY_MAX_LEN, ECDSA_SIGNATURE_LEN, MESSAGE_HASH_MAX_LEN}; +pub use secret_cosmwasm_std::*; diff --git a/packages/derive/Cargo.toml b/packages/derive/Cargo.toml index 4a82f30b8c..939cebab5d 100644 --- a/packages/derive/Cargo.toml +++ b/packages/derive/Cargo.toml @@ -22,4 +22,4 @@ syn = { version = "1.0", features = ["full"] } # "What's even more fun, Cargo packages actually can have cyclic dependencies. # "(a package can have an indirect dev-dependency on itself)" # https://users.rust-lang.org/t/does-cargo-support-cyclic-dependencies/35666/3 -cosmwasm-std = { path = "../std-alias" } +cosmwasm-std = { path = "../std" } diff --git a/packages/std-alias/src/lib.rs b/packages/std-alias/src/lib.rs deleted file mode 100644 index 6509bb3e45..0000000000 --- a/packages/std-alias/src/lib.rs +++ /dev/null @@ -1 +0,0 @@ -pub use secret_cosmwasm_std::*; diff --git a/packages/std/.cargo/config b/packages/std-secret/.cargo/config similarity index 100% rename from packages/std/.cargo/config rename to packages/std-secret/.cargo/config diff --git a/packages/std-alias/Cargo.toml b/packages/std-secret/Cargo.toml similarity index 52% rename from packages/std-alias/Cargo.toml rename to packages/std-secret/Cargo.toml index 4b0aa9b4a3..2d0dc57708 100644 --- a/packages/std-alias/Cargo.toml +++ b/packages/std-secret/Cargo.toml @@ -1,9 +1,19 @@ [package] -name = "cosmwasm-std" -version = "0.1.0" +name = "secret-cosmwasm-std" +version = "1.1.9" +authors = [ + "Ethan Frey ", + "SCRT Labs ", +] edition = "2021" +description = "Secret Network fork of the standard library for Wasm based smart contracts on Cosmos blockchains" +repository = "https://github.com/scrtlabs/cosmwasm/tree/secret/packages/std-secret" +license = "Apache-2.0" +readme = "README.md" + +[package.metadata.docs.rs] +features = ["stargate", "staking", "ibc3"] -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = [] abort = [] @@ -11,7 +21,7 @@ abort = [] # optional as some merkle stores (like tries) don't support this # given Ethereum 1.0, 2.0, Substrate, and other major projects use Tries # we keep this optional, to allow possible future integration (or different Cosmos Backends) -iterator = ["secret-cosmwasm-std/iterator"] +iterator = [] # staking exposes bindings to a required staking moudle in the runtime, via new # CosmosMsg types, and new QueryRequest types. This should only be enabled on contracts # that require these types, so other contracts can be used on systems with eg. PoA consensus @@ -28,7 +38,33 @@ stargate = [] ibc3 = ["stargate"] # This feature makes `BankQuery::Supply` available for the contract to call, but requires # the host blockchain to run CosmWasm `1.1.0` or higher. -cosmwasm_1_1 = ["secret-cosmwasm-std/cosmwasm_1_1"] +cosmwasm_1_1 = [] [dependencies] -secret-cosmwasm-std = { path = "../std" } \ No newline at end of file +base64 = "0.13.0" +cosmwasm-derive = { path = "../derive", version = "1.1.9" } + +serde-json-wasm = { version = "0.4.1" } +schemars = "0.8.3" +serde = { version = "1.0.103", default-features = false, features = [ + "derive", + "alloc", +] } +thiserror = "1.0.13" +forward_ref = "1" +derivative = "2" +hex = "0.4" +uint = "0.9.3" + +[target.'cfg(not(target_arch = "wasm32"))'.dependencies] +secret-cosmwasm-crypto = { path = "../crypto-secret", version = "1.1.9" } + +[dev-dependencies] +cosmwasm-schema = { path = "../schema" } +# The chrono dependency is only used in an example, which Rust compiles for us. If this causes trouble, remove it. +chrono = { version = "0.4", default-features = false, features = [ + "alloc", + "std", +] } +hex = "0.4" +hex-literal = "0.3.1" diff --git a/packages/std/README.md b/packages/std-secret/README.md similarity index 100% rename from packages/std/README.md rename to packages/std-secret/README.md diff --git a/packages/std/examples/schema.rs b/packages/std-secret/examples/schema.rs similarity index 100% rename from packages/std/examples/schema.rs rename to packages/std-secret/examples/schema.rs diff --git a/packages/std/schema/block_info.json b/packages/std-secret/schema/block_info.json similarity index 100% rename from packages/std/schema/block_info.json rename to packages/std-secret/schema/block_info.json diff --git a/packages/std/schema/cosmos_msg.json b/packages/std-secret/schema/cosmos_msg.json similarity index 100% rename from packages/std/schema/cosmos_msg.json rename to packages/std-secret/schema/cosmos_msg.json diff --git a/packages/std/schema/query_request.json b/packages/std-secret/schema/query_request.json similarity index 100% rename from packages/std/schema/query_request.json rename to packages/std-secret/schema/query_request.json diff --git a/packages/std/schema/timestamp.json b/packages/std-secret/schema/timestamp.json similarity index 100% rename from packages/std/schema/timestamp.json rename to packages/std-secret/schema/timestamp.json diff --git a/packages/std/src/addresses.rs b/packages/std-secret/src/addresses.rs similarity index 100% rename from packages/std/src/addresses.rs rename to packages/std-secret/src/addresses.rs diff --git a/packages/std/src/assertions.rs b/packages/std-secret/src/assertions.rs similarity index 100% rename from packages/std/src/assertions.rs rename to packages/std-secret/src/assertions.rs diff --git a/packages/std/src/binary.rs b/packages/std-secret/src/binary.rs similarity index 100% rename from packages/std/src/binary.rs rename to packages/std-secret/src/binary.rs diff --git a/packages/std/src/coin.rs b/packages/std-secret/src/coin.rs similarity index 100% rename from packages/std/src/coin.rs rename to packages/std-secret/src/coin.rs diff --git a/packages/std/src/conversion.rs b/packages/std-secret/src/conversion.rs similarity index 100% rename from packages/std/src/conversion.rs rename to packages/std-secret/src/conversion.rs diff --git a/packages/std/src/deps.rs b/packages/std-secret/src/deps.rs similarity index 100% rename from packages/std/src/deps.rs rename to packages/std-secret/src/deps.rs diff --git a/packages/std/src/errors/mod.rs b/packages/std-secret/src/errors/mod.rs similarity index 100% rename from packages/std/src/errors/mod.rs rename to packages/std-secret/src/errors/mod.rs diff --git a/packages/std/src/errors/recover_pubkey_error.rs b/packages/std-secret/src/errors/recover_pubkey_error.rs similarity index 98% rename from packages/std/src/errors/recover_pubkey_error.rs rename to packages/std-secret/src/errors/recover_pubkey_error.rs index ddc9626fc7..e9710f4d09 100644 --- a/packages/std/src/errors/recover_pubkey_error.rs +++ b/packages/std-secret/src/errors/recover_pubkey_error.rs @@ -1,5 +1,5 @@ #[cfg(not(target_arch = "wasm32"))] -use cosmwasm_crypto::CryptoError; +use secret_cosmwasm_crypto::CryptoError; #[cfg(feature = "backtraces")] use std::backtrace::Backtrace; use std::fmt::Debug; diff --git a/packages/std/src/errors/signing_error.rs b/packages/std-secret/src/errors/signing_error.rs similarity index 97% rename from packages/std/src/errors/signing_error.rs rename to packages/std-secret/src/errors/signing_error.rs index b1c5f9d748..4908424041 100644 --- a/packages/std/src/errors/signing_error.rs +++ b/packages/std-secret/src/errors/signing_error.rs @@ -4,7 +4,7 @@ use std::fmt::Debug; use thiserror::Error; #[cfg(not(target_arch = "wasm32"))] -use cosmwasm_crypto::CryptoError; +use secret_cosmwasm_crypto::CryptoError; #[derive(Error, Debug)] pub enum SigningError { diff --git a/packages/std/src/errors/std_error.rs b/packages/std-secret/src/errors/std_error.rs similarity index 100% rename from packages/std/src/errors/std_error.rs rename to packages/std-secret/src/errors/std_error.rs diff --git a/packages/std/src/errors/system_error.rs b/packages/std-secret/src/errors/system_error.rs similarity index 100% rename from packages/std/src/errors/system_error.rs rename to packages/std-secret/src/errors/system_error.rs diff --git a/packages/std/src/errors/verification_error.rs b/packages/std-secret/src/errors/verification_error.rs similarity index 98% rename from packages/std/src/errors/verification_error.rs rename to packages/std-secret/src/errors/verification_error.rs index 60375294aa..6a369682ba 100644 --- a/packages/std/src/errors/verification_error.rs +++ b/packages/std-secret/src/errors/verification_error.rs @@ -4,7 +4,7 @@ use std::fmt::Debug; use thiserror::Error; #[cfg(not(target_arch = "wasm32"))] -use cosmwasm_crypto::CryptoError; +use secret_cosmwasm_crypto::CryptoError; #[derive(Error, Debug)] pub enum VerificationError { diff --git a/packages/std/src/exports.rs b/packages/std-secret/src/exports.rs similarity index 100% rename from packages/std/src/exports.rs rename to packages/std-secret/src/exports.rs diff --git a/packages/std/src/hex_binary.rs b/packages/std-secret/src/hex_binary.rs similarity index 100% rename from packages/std/src/hex_binary.rs rename to packages/std-secret/src/hex_binary.rs diff --git a/packages/std/src/ibc.rs b/packages/std-secret/src/ibc.rs similarity index 100% rename from packages/std/src/ibc.rs rename to packages/std-secret/src/ibc.rs diff --git a/packages/std/src/import_helpers.rs b/packages/std-secret/src/import_helpers.rs similarity index 100% rename from packages/std/src/import_helpers.rs rename to packages/std-secret/src/import_helpers.rs diff --git a/packages/std/src/imports.rs b/packages/std-secret/src/imports.rs similarity index 100% rename from packages/std/src/imports.rs rename to packages/std-secret/src/imports.rs diff --git a/packages/std/src/iterator.rs b/packages/std-secret/src/iterator.rs similarity index 100% rename from packages/std/src/iterator.rs rename to packages/std-secret/src/iterator.rs diff --git a/packages/std-secret/src/lib.rs b/packages/std-secret/src/lib.rs new file mode 100644 index 0000000000..031f244051 --- /dev/null +++ b/packages/std-secret/src/lib.rs @@ -0,0 +1,107 @@ +#![cfg_attr(feature = "backtraces", feature(backtrace))] + +// Exposed on all platforms + +mod addresses; +mod assertions; +mod binary; +mod coin; +mod conversion; +mod deps; +mod errors; +mod hex_binary; +mod ibc; +mod import_helpers; +#[cfg(feature = "iterator")] +mod iterator; +mod math; +mod panic; +mod query; +mod results; +mod sections; +mod serde; +mod storage; +mod timestamp; +mod traits; +mod types; + +pub use crate::addresses::{Addr, CanonicalAddr}; +pub use crate::binary::Binary; +pub use crate::coin::{coin, coins, has_coins, Coin}; +pub use crate::deps::{Deps, DepsMut, OwnedDeps}; +pub use crate::errors::{ + CheckedFromRatioError, CheckedMultiplyRatioError, ConversionOverflowError, DivideByZeroError, + OverflowError, OverflowOperation, RecoverPubkeyError, StdError, StdResult, SystemError, + VerificationError, +}; +pub use crate::hex_binary::HexBinary; +#[cfg(feature = "stargate")] +pub use crate::ibc::{ + Ibc3ChannelOpenResponse, IbcAcknowledgement, IbcBasicResponse, IbcChannel, IbcChannelCloseMsg, + IbcChannelConnectMsg, IbcChannelOpenMsg, IbcChannelOpenResponse, IbcEndpoint, IbcMsg, IbcOrder, + IbcPacket, IbcPacketAckMsg, IbcPacketReceiveMsg, IbcPacketTimeoutMsg, IbcReceiveResponse, + IbcTimeout, IbcTimeoutBlock, +}; +#[cfg(feature = "iterator")] +pub use crate::iterator::{Order, Record}; +pub use crate::math::{ + Decimal, Decimal256, Decimal256RangeExceeded, DecimalRangeExceeded, Fraction, Isqrt, Uint128, + Uint256, Uint512, Uint64, +}; +#[cfg(feature = "cosmwasm_1_1")] +pub use crate::query::SupplyResponse; +pub use crate::query::{ + AllBalanceResponse, BalanceResponse, BankQuery, ContractInfoResponse, CustomQuery, + QueryRequest, WasmQuery, +}; +#[cfg(feature = "staking")] +pub use crate::query::{ + AllDelegationsResponse, AllValidatorsResponse, BondedDenomResponse, Delegation, + DelegationResponse, FullDelegation, StakingQuery, Validator, ValidatorResponse, +}; +#[cfg(feature = "stargate")] +pub use crate::query::{ChannelResponse, IbcQuery, ListChannelsResponse, PortIdResponse}; +#[allow(deprecated)] +pub use crate::results::SubMsgExecutionResponse; +pub use crate::results::{ + attr, attr_plaintext, wasm_execute, wasm_instantiate, Attribute, BankMsg, ContractResult, + CosmosMsg, CustomMsg, Empty, Event, QueryResponse, Reply, ReplyOn, Response, SubMsg, + SubMsgResponse, SubMsgResult, SystemResult, WasmMsg, +}; +#[cfg(feature = "staking")] +pub use crate::results::{DistributionMsg, StakingMsg}; +#[cfg(feature = "stargate")] +pub use crate::results::{GovMsg, VoteOption}; +pub use crate::serde::{from_binary, from_slice, to_binary, to_vec}; +pub use crate::storage::MemoryStorage; +pub use crate::timestamp::Timestamp; +pub use crate::traits::{Api, Querier, QuerierResult, QuerierWrapper, Storage}; +pub use crate::types::{BlockInfo, ContractInfo, Env, MessageInfo, TransactionInfo}; + +// Exposed in wasm build only + +#[cfg(target_arch = "wasm32")] +mod exports; +#[cfg(target_arch = "wasm32")] +mod imports; +#[cfg(target_arch = "wasm32")] +mod memory; // Used by exports and imports only. This assumes pointers are 32 bit long, which makes it untestable on dev machines. + +#[cfg(target_arch = "wasm32")] +pub use crate::exports::{do_execute, do_instantiate, do_migrate, do_query, do_reply, do_sudo}; +#[cfg(all(feature = "stargate", target_arch = "wasm32"))] +pub use crate::exports::{ + do_ibc_channel_close, do_ibc_channel_connect, do_ibc_channel_open, do_ibc_packet_ack, + do_ibc_packet_receive, do_ibc_packet_timeout, +}; +#[cfg(target_arch = "wasm32")] +pub use crate::imports::{ExternalApi, ExternalQuerier, ExternalStorage}; + +// Exposed for testing only +// Both unit tests and integration tests are compiled to native code, so everything in here does not need to compile to Wasm. +#[cfg(not(target_arch = "wasm32"))] +pub mod testing; + +// Re-exports + +pub use cosmwasm_derive::entry_point; diff --git a/packages/std/src/math/decimal.rs b/packages/std-secret/src/math/decimal.rs similarity index 100% rename from packages/std/src/math/decimal.rs rename to packages/std-secret/src/math/decimal.rs diff --git a/packages/std/src/math/decimal256.rs b/packages/std-secret/src/math/decimal256.rs similarity index 100% rename from packages/std/src/math/decimal256.rs rename to packages/std-secret/src/math/decimal256.rs diff --git a/packages/std/src/math/fraction.rs b/packages/std-secret/src/math/fraction.rs similarity index 100% rename from packages/std/src/math/fraction.rs rename to packages/std-secret/src/math/fraction.rs diff --git a/packages/std/src/math/isqrt.rs b/packages/std-secret/src/math/isqrt.rs similarity index 100% rename from packages/std/src/math/isqrt.rs rename to packages/std-secret/src/math/isqrt.rs diff --git a/packages/std/src/math/mod.rs b/packages/std-secret/src/math/mod.rs similarity index 100% rename from packages/std/src/math/mod.rs rename to packages/std-secret/src/math/mod.rs diff --git a/packages/std/src/math/uint128.rs b/packages/std-secret/src/math/uint128.rs similarity index 100% rename from packages/std/src/math/uint128.rs rename to packages/std-secret/src/math/uint128.rs diff --git a/packages/std/src/math/uint256.rs b/packages/std-secret/src/math/uint256.rs similarity index 100% rename from packages/std/src/math/uint256.rs rename to packages/std-secret/src/math/uint256.rs diff --git a/packages/std/src/math/uint512.rs b/packages/std-secret/src/math/uint512.rs similarity index 100% rename from packages/std/src/math/uint512.rs rename to packages/std-secret/src/math/uint512.rs diff --git a/packages/std/src/math/uint64.rs b/packages/std-secret/src/math/uint64.rs similarity index 100% rename from packages/std/src/math/uint64.rs rename to packages/std-secret/src/math/uint64.rs diff --git a/packages/std/src/memory.rs b/packages/std-secret/src/memory.rs similarity index 100% rename from packages/std/src/memory.rs rename to packages/std-secret/src/memory.rs diff --git a/packages/std/src/panic.rs b/packages/std-secret/src/panic.rs similarity index 100% rename from packages/std/src/panic.rs rename to packages/std-secret/src/panic.rs diff --git a/packages/std/src/query/bank.rs b/packages/std-secret/src/query/bank.rs similarity index 100% rename from packages/std/src/query/bank.rs rename to packages/std-secret/src/query/bank.rs diff --git a/packages/std/src/query/ibc.rs b/packages/std-secret/src/query/ibc.rs similarity index 100% rename from packages/std/src/query/ibc.rs rename to packages/std-secret/src/query/ibc.rs diff --git a/packages/std/src/query/mod.rs b/packages/std-secret/src/query/mod.rs similarity index 100% rename from packages/std/src/query/mod.rs rename to packages/std-secret/src/query/mod.rs diff --git a/packages/std/src/query/staking.rs b/packages/std-secret/src/query/staking.rs similarity index 100% rename from packages/std/src/query/staking.rs rename to packages/std-secret/src/query/staking.rs diff --git a/packages/std/src/query/wasm.rs b/packages/std-secret/src/query/wasm.rs similarity index 100% rename from packages/std/src/query/wasm.rs rename to packages/std-secret/src/query/wasm.rs diff --git a/packages/std/src/results/contract_result.rs b/packages/std-secret/src/results/contract_result.rs similarity index 100% rename from packages/std/src/results/contract_result.rs rename to packages/std-secret/src/results/contract_result.rs diff --git a/packages/std/src/results/cosmos_msg.rs b/packages/std-secret/src/results/cosmos_msg.rs similarity index 100% rename from packages/std/src/results/cosmos_msg.rs rename to packages/std-secret/src/results/cosmos_msg.rs diff --git a/packages/std/src/results/empty.rs b/packages/std-secret/src/results/empty.rs similarity index 100% rename from packages/std/src/results/empty.rs rename to packages/std-secret/src/results/empty.rs diff --git a/packages/std/src/results/events.rs b/packages/std-secret/src/results/events.rs similarity index 100% rename from packages/std/src/results/events.rs rename to packages/std-secret/src/results/events.rs diff --git a/packages/std/src/results/mod.rs b/packages/std-secret/src/results/mod.rs similarity index 100% rename from packages/std/src/results/mod.rs rename to packages/std-secret/src/results/mod.rs diff --git a/packages/std/src/results/query.rs b/packages/std-secret/src/results/query.rs similarity index 100% rename from packages/std/src/results/query.rs rename to packages/std-secret/src/results/query.rs diff --git a/packages/std/src/results/response.rs b/packages/std-secret/src/results/response.rs similarity index 100% rename from packages/std/src/results/response.rs rename to packages/std-secret/src/results/response.rs diff --git a/packages/std/src/results/submessages.rs b/packages/std-secret/src/results/submessages.rs similarity index 100% rename from packages/std/src/results/submessages.rs rename to packages/std-secret/src/results/submessages.rs diff --git a/packages/std/src/results/system_result.rs b/packages/std-secret/src/results/system_result.rs similarity index 100% rename from packages/std/src/results/system_result.rs rename to packages/std-secret/src/results/system_result.rs diff --git a/packages/std/src/sections.rs b/packages/std-secret/src/sections.rs similarity index 100% rename from packages/std/src/sections.rs rename to packages/std-secret/src/sections.rs diff --git a/packages/std/src/serde.rs b/packages/std-secret/src/serde.rs similarity index 100% rename from packages/std/src/serde.rs rename to packages/std-secret/src/serde.rs diff --git a/packages/std/src/storage.rs b/packages/std-secret/src/storage.rs similarity index 100% rename from packages/std/src/storage.rs rename to packages/std-secret/src/storage.rs diff --git a/packages/std/src/testing/assertions.rs b/packages/std-secret/src/testing/assertions.rs similarity index 100% rename from packages/std/src/testing/assertions.rs rename to packages/std-secret/src/testing/assertions.rs diff --git a/packages/std/src/testing/mock.rs b/packages/std-secret/src/testing/mock.rs similarity index 99% rename from packages/std/src/testing/mock.rs rename to packages/std-secret/src/testing/mock.rs index feca7fa89a..1bb99079d0 100644 --- a/packages/std/src/testing/mock.rs +++ b/packages/std-secret/src/testing/mock.rs @@ -174,7 +174,7 @@ impl Api for MockApi { signature: &[u8], public_key: &[u8], ) -> Result { - Ok(cosmwasm_crypto::secp256k1_verify( + Ok(secret_cosmwasm_crypto::secp256k1_verify( message_hash, signature, public_key, @@ -188,7 +188,7 @@ impl Api for MockApi { recovery_param: u8, ) -> Result, RecoverPubkeyError> { let pubkey = - cosmwasm_crypto::secp256k1_recover_pubkey(message_hash, signature, recovery_param)?; + secret_cosmwasm_crypto::secp256k1_recover_pubkey(message_hash, signature, recovery_param)?; Ok(pubkey.to_vec()) } @@ -198,7 +198,7 @@ impl Api for MockApi { signature: &[u8], public_key: &[u8], ) -> Result { - Ok(cosmwasm_crypto::ed25519_verify( + Ok(secret_cosmwasm_crypto::ed25519_verify( message, signature, public_key, )?) } @@ -209,7 +209,7 @@ impl Api for MockApi { signatures: &[&[u8]], public_keys: &[&[u8]], ) -> Result { - Ok(cosmwasm_crypto::ed25519_batch_verify( + Ok(secret_cosmwasm_crypto::ed25519_batch_verify( messages, signatures, public_keys, @@ -221,11 +221,11 @@ impl Api for MockApi { } fn secp256k1_sign(&self, message: &[u8], private_key: &[u8]) -> Result, SigningError> { - Ok(cosmwasm_crypto::secp256k1_sign(message, private_key)?) + Ok(secret_cosmwasm_crypto::secp256k1_sign(message, private_key)?) } fn ed25519_sign(&self, message: &[u8], private_key: &[u8]) -> Result, SigningError> { - Ok(cosmwasm_crypto::ed25519_sign(message, private_key)?) + Ok(secret_cosmwasm_crypto::ed25519_sign(message, private_key)?) } fn check_gas(&self) -> StdResult { diff --git a/packages/std/src/testing/mod.rs b/packages/std-secret/src/testing/mod.rs similarity index 100% rename from packages/std/src/testing/mod.rs rename to packages/std-secret/src/testing/mod.rs diff --git a/packages/std/src/timestamp.rs b/packages/std-secret/src/timestamp.rs similarity index 100% rename from packages/std/src/timestamp.rs rename to packages/std-secret/src/timestamp.rs diff --git a/packages/std/src/traits.rs b/packages/std-secret/src/traits.rs similarity index 100% rename from packages/std/src/traits.rs rename to packages/std-secret/src/traits.rs diff --git a/packages/std/src/types.rs b/packages/std-secret/src/types.rs similarity index 100% rename from packages/std/src/types.rs rename to packages/std-secret/src/types.rs diff --git a/packages/std/Cargo.toml b/packages/std/Cargo.toml index 8e82b4d5db..391ea1663c 100644 --- a/packages/std/Cargo.toml +++ b/packages/std/Cargo.toml @@ -1,19 +1,10 @@ [package] -name = "secret-cosmwasm-std" +name = "cosmwasm-std" version = "1.1.9" -authors = [ - "Ethan Frey ", - "SCRT Labs ", -] edition = "2021" -description = "Standard library for Wasm based smart contracts on Cosmos blockchains" -repository = "https://github.com/scrtlabs/cosmwasm/tree/secret/packages/std" -license = "Apache-2.0" -readme = "README.md" - -[package.metadata.docs.rs] -features = ["stargate", "staking", "ibc3"] +description = "Compatability layer for contracts that want to use the git versions of the std fork with a patch" +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = [] abort = [] @@ -21,7 +12,7 @@ abort = [] # optional as some merkle stores (like tries) don't support this # given Ethereum 1.0, 2.0, Substrate, and other major projects use Tries # we keep this optional, to allow possible future integration (or different Cosmos Backends) -iterator = [] +iterator = ["secret-cosmwasm-std/iterator"] # staking exposes bindings to a required staking moudle in the runtime, via new # CosmosMsg types, and new QueryRequest types. This should only be enabled on contracts # that require these types, so other contracts can be used on systems with eg. PoA consensus @@ -38,33 +29,7 @@ stargate = [] ibc3 = ["stargate"] # This feature makes `BankQuery::Supply` available for the contract to call, but requires # the host blockchain to run CosmWasm `1.1.0` or higher. -cosmwasm_1_1 = [] +cosmwasm_1_1 = ["secret-cosmwasm-std/cosmwasm_1_1"] [dependencies] -base64 = "0.13.0" -cosmwasm-derive = { path = "../derive", version = "1.1.9" } - -serde-json-wasm = { version = "0.4.1" } -schemars = "0.8.3" -serde = { version = "1.0.103", default-features = false, features = [ - "derive", - "alloc", -] } -thiserror = "1.0.13" -forward_ref = "1" -derivative = "2" -hex = "0.4" -uint = "0.9.3" - -[target.'cfg(not(target_arch = "wasm32"))'.dependencies] -secret-cosmwasm-crypto = { path = "../crypto", version = "1.1.9" } - -[dev-dependencies] -cosmwasm-schema = { path = "../schema" } -# The chrono dependency is only used in an example, which Rust compiles for us. If this causes trouble, remove it. -chrono = { version = "0.4", default-features = false, features = [ - "alloc", - "std", -] } -hex = "0.4" -hex-literal = "0.3.1" +secret-cosmwasm-std = { path = "../std-secret" } \ No newline at end of file diff --git a/packages/std/src/lib.rs b/packages/std/src/lib.rs index 031f244051..6509bb3e45 100644 --- a/packages/std/src/lib.rs +++ b/packages/std/src/lib.rs @@ -1,107 +1 @@ -#![cfg_attr(feature = "backtraces", feature(backtrace))] - -// Exposed on all platforms - -mod addresses; -mod assertions; -mod binary; -mod coin; -mod conversion; -mod deps; -mod errors; -mod hex_binary; -mod ibc; -mod import_helpers; -#[cfg(feature = "iterator")] -mod iterator; -mod math; -mod panic; -mod query; -mod results; -mod sections; -mod serde; -mod storage; -mod timestamp; -mod traits; -mod types; - -pub use crate::addresses::{Addr, CanonicalAddr}; -pub use crate::binary::Binary; -pub use crate::coin::{coin, coins, has_coins, Coin}; -pub use crate::deps::{Deps, DepsMut, OwnedDeps}; -pub use crate::errors::{ - CheckedFromRatioError, CheckedMultiplyRatioError, ConversionOverflowError, DivideByZeroError, - OverflowError, OverflowOperation, RecoverPubkeyError, StdError, StdResult, SystemError, - VerificationError, -}; -pub use crate::hex_binary::HexBinary; -#[cfg(feature = "stargate")] -pub use crate::ibc::{ - Ibc3ChannelOpenResponse, IbcAcknowledgement, IbcBasicResponse, IbcChannel, IbcChannelCloseMsg, - IbcChannelConnectMsg, IbcChannelOpenMsg, IbcChannelOpenResponse, IbcEndpoint, IbcMsg, IbcOrder, - IbcPacket, IbcPacketAckMsg, IbcPacketReceiveMsg, IbcPacketTimeoutMsg, IbcReceiveResponse, - IbcTimeout, IbcTimeoutBlock, -}; -#[cfg(feature = "iterator")] -pub use crate::iterator::{Order, Record}; -pub use crate::math::{ - Decimal, Decimal256, Decimal256RangeExceeded, DecimalRangeExceeded, Fraction, Isqrt, Uint128, - Uint256, Uint512, Uint64, -}; -#[cfg(feature = "cosmwasm_1_1")] -pub use crate::query::SupplyResponse; -pub use crate::query::{ - AllBalanceResponse, BalanceResponse, BankQuery, ContractInfoResponse, CustomQuery, - QueryRequest, WasmQuery, -}; -#[cfg(feature = "staking")] -pub use crate::query::{ - AllDelegationsResponse, AllValidatorsResponse, BondedDenomResponse, Delegation, - DelegationResponse, FullDelegation, StakingQuery, Validator, ValidatorResponse, -}; -#[cfg(feature = "stargate")] -pub use crate::query::{ChannelResponse, IbcQuery, ListChannelsResponse, PortIdResponse}; -#[allow(deprecated)] -pub use crate::results::SubMsgExecutionResponse; -pub use crate::results::{ - attr, attr_plaintext, wasm_execute, wasm_instantiate, Attribute, BankMsg, ContractResult, - CosmosMsg, CustomMsg, Empty, Event, QueryResponse, Reply, ReplyOn, Response, SubMsg, - SubMsgResponse, SubMsgResult, SystemResult, WasmMsg, -}; -#[cfg(feature = "staking")] -pub use crate::results::{DistributionMsg, StakingMsg}; -#[cfg(feature = "stargate")] -pub use crate::results::{GovMsg, VoteOption}; -pub use crate::serde::{from_binary, from_slice, to_binary, to_vec}; -pub use crate::storage::MemoryStorage; -pub use crate::timestamp::Timestamp; -pub use crate::traits::{Api, Querier, QuerierResult, QuerierWrapper, Storage}; -pub use crate::types::{BlockInfo, ContractInfo, Env, MessageInfo, TransactionInfo}; - -// Exposed in wasm build only - -#[cfg(target_arch = "wasm32")] -mod exports; -#[cfg(target_arch = "wasm32")] -mod imports; -#[cfg(target_arch = "wasm32")] -mod memory; // Used by exports and imports only. This assumes pointers are 32 bit long, which makes it untestable on dev machines. - -#[cfg(target_arch = "wasm32")] -pub use crate::exports::{do_execute, do_instantiate, do_migrate, do_query, do_reply, do_sudo}; -#[cfg(all(feature = "stargate", target_arch = "wasm32"))] -pub use crate::exports::{ - do_ibc_channel_close, do_ibc_channel_connect, do_ibc_channel_open, do_ibc_packet_ack, - do_ibc_packet_receive, do_ibc_packet_timeout, -}; -#[cfg(target_arch = "wasm32")] -pub use crate::imports::{ExternalApi, ExternalQuerier, ExternalStorage}; - -// Exposed for testing only -// Both unit tests and integration tests are compiled to native code, so everything in here does not need to compile to Wasm. -#[cfg(not(target_arch = "wasm32"))] -pub mod testing; - -// Re-exports - -pub use cosmwasm_derive::entry_point; +pub use secret_cosmwasm_std::*; diff --git a/packages/storage-alias/Cargo.toml b/packages/storage-alias/Cargo.toml deleted file mode 100644 index adeb38b55c..0000000000 --- a/packages/storage-alias/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "cosmwasm-storage" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html -[features] -default = [] -# This enables iterator functionality, as exposed in cosmwasm-std/iterator -iterator = ["secret-cosmwasm-storage/iterator"] - -[dependencies] -secret-cosmwasm-storage = { path = "../storage" } diff --git a/packages/storage-alias/src/lib.rs b/packages/storage-alias/src/lib.rs deleted file mode 100644 index 51171f1f9b..0000000000 --- a/packages/storage-alias/src/lib.rs +++ /dev/null @@ -1 +0,0 @@ -pub use secret_cosmwasm_storage::*; diff --git a/packages/storage-secret/Cargo.toml b/packages/storage-secret/Cargo.toml new file mode 100644 index 0000000000..fe96542cb0 --- /dev/null +++ b/packages/storage-secret/Cargo.toml @@ -0,0 +1,26 @@ +[package] +name = "secret-cosmwasm-storage" +version = "1.1.9" +authors = [ + "Ethan Frey ", + "SCRT Labs ", +] +edition = "2021" +description = "CosmWasm library with useful helpers for Storage patterns" +repository = "https://github.com/scrtlabs/cosmwasm/tree/secret/packages/storage" +license = "Apache-2.0" +readme = "README.md" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +[features] +default = [] +# This enables iterator functionality, as exposed in cosmwasm-std/iterator +iterator = ["secret-cosmwasm-std/iterator"] + +[dependencies] +# Uses the path when built locally; uses the given version from crates.io when published +secret-cosmwasm-std = { version = "1.1.9", path = "../std-secret", default-features = false } +serde = { version = "1.0.103", default-features = false, features = [ + "derive", + "alloc", +] } diff --git a/packages/storage/README.md b/packages/storage-secret/README.md similarity index 100% rename from packages/storage/README.md rename to packages/storage-secret/README.md diff --git a/packages/storage/src/bucket.rs b/packages/storage-secret/src/bucket.rs similarity index 100% rename from packages/storage/src/bucket.rs rename to packages/storage-secret/src/bucket.rs diff --git a/packages/storage/src/length_prefixed.rs b/packages/storage-secret/src/length_prefixed.rs similarity index 100% rename from packages/storage/src/length_prefixed.rs rename to packages/storage-secret/src/length_prefixed.rs diff --git a/packages/storage-secret/src/lib.rs b/packages/storage-secret/src/lib.rs new file mode 100644 index 0000000000..30449920a3 --- /dev/null +++ b/packages/storage-secret/src/lib.rs @@ -0,0 +1,15 @@ +mod bucket; +mod length_prefixed; +mod namespace_helpers; +mod prefixed_storage; +mod sequence; +mod singleton; +mod type_helpers; + +use secret_cosmwasm_std as cosmwasm_std; + +pub use bucket::{bucket, bucket_read, Bucket, ReadonlyBucket}; +pub use length_prefixed::{to_length_prefixed, to_length_prefixed_nested}; +pub use prefixed_storage::{prefixed, prefixed_read, PrefixedStorage, ReadonlyPrefixedStorage}; +pub use sequence::{currval, nextval, sequence}; +pub use singleton::{singleton, singleton_read, ReadonlySingleton, Singleton}; diff --git a/packages/storage/src/namespace_helpers.rs b/packages/storage-secret/src/namespace_helpers.rs similarity index 100% rename from packages/storage/src/namespace_helpers.rs rename to packages/storage-secret/src/namespace_helpers.rs diff --git a/packages/storage/src/prefixed_storage.rs b/packages/storage-secret/src/prefixed_storage.rs similarity index 100% rename from packages/storage/src/prefixed_storage.rs rename to packages/storage-secret/src/prefixed_storage.rs diff --git a/packages/storage/src/sequence.rs b/packages/storage-secret/src/sequence.rs similarity index 100% rename from packages/storage/src/sequence.rs rename to packages/storage-secret/src/sequence.rs diff --git a/packages/storage/src/singleton.rs b/packages/storage-secret/src/singleton.rs similarity index 100% rename from packages/storage/src/singleton.rs rename to packages/storage-secret/src/singleton.rs diff --git a/packages/storage/src/type_helpers.rs b/packages/storage-secret/src/type_helpers.rs similarity index 100% rename from packages/storage/src/type_helpers.rs rename to packages/storage-secret/src/type_helpers.rs diff --git a/packages/storage/Cargo.toml b/packages/storage/Cargo.toml index 2494262bb5..ca2a994755 100644 --- a/packages/storage/Cargo.toml +++ b/packages/storage/Cargo.toml @@ -1,26 +1,13 @@ [package] -name = "secret-cosmwasm-storage" +name = "cosmwasm-storage" version = "1.1.9" -authors = [ - "Ethan Frey ", - "SCRT Labs ", -] edition = "2021" -description = "CosmWasm library with useful helpers for Storage patterns" -repository = "https://github.com/scrtlabs/cosmwasm/tree/secret/packages/storage" -license = "Apache-2.0" -readme = "README.md" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = [] # This enables iterator functionality, as exposed in cosmwasm-std/iterator -iterator = ["secret-cosmwasm-std/iterator"] +iterator = ["secret-cosmwasm-storage/iterator"] [dependencies] -# Uses the path when built locally; uses the given version from crates.io when published -secret-cosmwasm-std = { version = "1.1.9", path = "../std", default-features = false } -serde = { version = "1.0.103", default-features = false, features = [ - "derive", - "alloc", -] } +secret-cosmwasm-storage = { path = "../storage-secret" } diff --git a/packages/storage/src/lib.rs b/packages/storage/src/lib.rs index 30449920a3..51171f1f9b 100644 --- a/packages/storage/src/lib.rs +++ b/packages/storage/src/lib.rs @@ -1,15 +1 @@ -mod bucket; -mod length_prefixed; -mod namespace_helpers; -mod prefixed_storage; -mod sequence; -mod singleton; -mod type_helpers; - -use secret_cosmwasm_std as cosmwasm_std; - -pub use bucket::{bucket, bucket_read, Bucket, ReadonlyBucket}; -pub use length_prefixed::{to_length_prefixed, to_length_prefixed_nested}; -pub use prefixed_storage::{prefixed, prefixed_read, PrefixedStorage, ReadonlyPrefixedStorage}; -pub use sequence::{currval, nextval, sequence}; -pub use singleton::{singleton, singleton_read, ReadonlySingleton, Singleton}; +pub use secret_cosmwasm_storage::*; From 09e88c1d9b5e6a33d05a382435258533d86b8553 Mon Sep 17 00:00:00 2001 From: Itzik Grossman Date: Tue, 18 Apr 2023 12:21:29 +0300 Subject: [PATCH 22/24] Renamed main folders back to their names so pulling changes from main-line will work. Renamed compatability crates to x-compat --- contracts/hackatom/Cargo.toml | 4 +- packages/crypto-compat/Cargo.toml | 20 ++++ packages/crypto-compat/src/lib.rs | 1 + packages/crypto-secret/Cargo.toml | 46 -------- packages/crypto-secret/src/lib.rs | 21 ---- packages/crypto/Cargo.toml | 34 +++++- packages/{crypto-secret => crypto}/README.md | 0 .../{crypto-secret => crypto}/benches/main.rs | 0 .../{crypto-secret => crypto}/src/ed25519.rs | 0 .../{crypto-secret => crypto}/src/errors.rs | 0 .../src/identity_digest.rs | 0 packages/crypto/src/lib.rs | 22 +++- .../src/secp256k1.rs | 0 .../testdata/ed25519_tests.json | 0 .../testdata/secp256k1_tests.json | 0 .../{std-secret => std-compat}/Cargo.toml | 47 +------- packages/std-compat/src/lib.rs | 1 + packages/std-secret/src/lib.rs | 107 ----------------- packages/{std-secret => std}/.cargo/config | 0 packages/std/Cargo.toml | 47 +++++++- packages/{std-secret => std}/README.md | 0 .../{std-secret => std}/examples/schema.rs | 0 .../schema/block_info.json | 0 .../schema/cosmos_msg.json | 0 .../schema/query_request.json | 0 .../{std-secret => std}/schema/timestamp.json | 0 packages/{std-secret => std}/src/addresses.rs | 0 .../{std-secret => std}/src/assertions.rs | 0 packages/{std-secret => std}/src/binary.rs | 0 packages/{std-secret => std}/src/coin.rs | 0 .../{std-secret => std}/src/conversion.rs | 0 packages/{std-secret => std}/src/deps.rs | 0 .../{std-secret => std}/src/errors/mod.rs | 0 .../src/errors/recover_pubkey_error.rs | 0 .../src/errors/signing_error.rs | 0 .../src/errors/std_error.rs | 0 .../src/errors/system_error.rs | 0 .../src/errors/verification_error.rs | 0 packages/{std-secret => std}/src/exports.rs | 0 .../{std-secret => std}/src/hex_binary.rs | 0 packages/{std-secret => std}/src/ibc.rs | 0 .../{std-secret => std}/src/import_helpers.rs | 0 packages/{std-secret => std}/src/imports.rs | 0 packages/{std-secret => std}/src/iterator.rs | 0 packages/std/src/lib.rs | 108 +++++++++++++++++- .../{std-secret => std}/src/math/decimal.rs | 0 .../src/math/decimal256.rs | 0 .../{std-secret => std}/src/math/fraction.rs | 0 .../{std-secret => std}/src/math/isqrt.rs | 0 packages/{std-secret => std}/src/math/mod.rs | 0 .../{std-secret => std}/src/math/uint128.rs | 0 .../{std-secret => std}/src/math/uint256.rs | 0 .../{std-secret => std}/src/math/uint512.rs | 0 .../{std-secret => std}/src/math/uint64.rs | 0 packages/{std-secret => std}/src/memory.rs | 0 packages/{std-secret => std}/src/panic.rs | 0 .../{std-secret => std}/src/query/bank.rs | 0 packages/{std-secret => std}/src/query/ibc.rs | 0 packages/{std-secret => std}/src/query/mod.rs | 0 .../{std-secret => std}/src/query/staking.rs | 0 .../{std-secret => std}/src/query/wasm.rs | 0 .../src/results/contract_result.rs | 0 .../src/results/cosmos_msg.rs | 0 .../{std-secret => std}/src/results/empty.rs | 0 .../{std-secret => std}/src/results/events.rs | 0 .../{std-secret => std}/src/results/mod.rs | 0 .../{std-secret => std}/src/results/query.rs | 0 .../src/results/response.rs | 0 .../src/results/submessages.rs | 0 .../src/results/system_result.rs | 0 packages/{std-secret => std}/src/sections.rs | 0 packages/{std-secret => std}/src/serde.rs | 0 packages/{std-secret => std}/src/storage.rs | 0 .../src/testing/assertions.rs | 0 .../{std-secret => std}/src/testing/mock.rs | 0 .../{std-secret => std}/src/testing/mod.rs | 0 packages/{std-secret => std}/src/timestamp.rs | 0 packages/{std-secret => std}/src/traits.rs | 0 packages/{std-secret => std}/src/types.rs | 0 packages/storage-compat/Cargo.toml | 13 +++ packages/storage-compat/src/lib.rs | 1 + packages/storage-secret/Cargo.toml | 26 ----- packages/storage-secret/src/lib.rs | 15 --- packages/storage/Cargo.toml | 19 ++- .../{storage-secret => storage}/README.md | 0 .../{storage-secret => storage}/src/bucket.rs | 0 .../src/length_prefixed.rs | 0 packages/storage/src/lib.rs | 16 ++- .../src/namespace_helpers.rs | 0 .../src/prefixed_storage.rs | 0 .../src/sequence.rs | 0 .../src/singleton.rs | 0 .../src/type_helpers.rs | 0 93 files changed, 274 insertions(+), 274 deletions(-) create mode 100644 packages/crypto-compat/Cargo.toml create mode 100644 packages/crypto-compat/src/lib.rs delete mode 100644 packages/crypto-secret/Cargo.toml delete mode 100644 packages/crypto-secret/src/lib.rs rename packages/{crypto-secret => crypto}/README.md (100%) rename packages/{crypto-secret => crypto}/benches/main.rs (100%) rename packages/{crypto-secret => crypto}/src/ed25519.rs (100%) rename packages/{crypto-secret => crypto}/src/errors.rs (100%) rename packages/{crypto-secret => crypto}/src/identity_digest.rs (100%) rename packages/{crypto-secret => crypto}/src/secp256k1.rs (100%) rename packages/{crypto-secret => crypto}/testdata/ed25519_tests.json (100%) rename packages/{crypto-secret => crypto}/testdata/secp256k1_tests.json (100%) rename packages/{std-secret => std-compat}/Cargo.toml (52%) create mode 100644 packages/std-compat/src/lib.rs delete mode 100644 packages/std-secret/src/lib.rs rename packages/{std-secret => std}/.cargo/config (100%) rename packages/{std-secret => std}/README.md (100%) rename packages/{std-secret => std}/examples/schema.rs (100%) rename packages/{std-secret => std}/schema/block_info.json (100%) rename packages/{std-secret => std}/schema/cosmos_msg.json (100%) rename packages/{std-secret => std}/schema/query_request.json (100%) rename packages/{std-secret => std}/schema/timestamp.json (100%) rename packages/{std-secret => std}/src/addresses.rs (100%) rename packages/{std-secret => std}/src/assertions.rs (100%) rename packages/{std-secret => std}/src/binary.rs (100%) rename packages/{std-secret => std}/src/coin.rs (100%) rename packages/{std-secret => std}/src/conversion.rs (100%) rename packages/{std-secret => std}/src/deps.rs (100%) rename packages/{std-secret => std}/src/errors/mod.rs (100%) rename packages/{std-secret => std}/src/errors/recover_pubkey_error.rs (100%) rename packages/{std-secret => std}/src/errors/signing_error.rs (100%) rename packages/{std-secret => std}/src/errors/std_error.rs (100%) rename packages/{std-secret => std}/src/errors/system_error.rs (100%) rename packages/{std-secret => std}/src/errors/verification_error.rs (100%) rename packages/{std-secret => std}/src/exports.rs (100%) rename packages/{std-secret => std}/src/hex_binary.rs (100%) rename packages/{std-secret => std}/src/ibc.rs (100%) rename packages/{std-secret => std}/src/import_helpers.rs (100%) rename packages/{std-secret => std}/src/imports.rs (100%) rename packages/{std-secret => std}/src/iterator.rs (100%) rename packages/{std-secret => std}/src/math/decimal.rs (100%) rename packages/{std-secret => std}/src/math/decimal256.rs (100%) rename packages/{std-secret => std}/src/math/fraction.rs (100%) rename packages/{std-secret => std}/src/math/isqrt.rs (100%) rename packages/{std-secret => std}/src/math/mod.rs (100%) rename packages/{std-secret => std}/src/math/uint128.rs (100%) rename packages/{std-secret => std}/src/math/uint256.rs (100%) rename packages/{std-secret => std}/src/math/uint512.rs (100%) rename packages/{std-secret => std}/src/math/uint64.rs (100%) rename packages/{std-secret => std}/src/memory.rs (100%) rename packages/{std-secret => std}/src/panic.rs (100%) rename packages/{std-secret => std}/src/query/bank.rs (100%) rename packages/{std-secret => std}/src/query/ibc.rs (100%) rename packages/{std-secret => std}/src/query/mod.rs (100%) rename packages/{std-secret => std}/src/query/staking.rs (100%) rename packages/{std-secret => std}/src/query/wasm.rs (100%) rename packages/{std-secret => std}/src/results/contract_result.rs (100%) rename packages/{std-secret => std}/src/results/cosmos_msg.rs (100%) rename packages/{std-secret => std}/src/results/empty.rs (100%) rename packages/{std-secret => std}/src/results/events.rs (100%) rename packages/{std-secret => std}/src/results/mod.rs (100%) rename packages/{std-secret => std}/src/results/query.rs (100%) rename packages/{std-secret => std}/src/results/response.rs (100%) rename packages/{std-secret => std}/src/results/submessages.rs (100%) rename packages/{std-secret => std}/src/results/system_result.rs (100%) rename packages/{std-secret => std}/src/sections.rs (100%) rename packages/{std-secret => std}/src/serde.rs (100%) rename packages/{std-secret => std}/src/storage.rs (100%) rename packages/{std-secret => std}/src/testing/assertions.rs (100%) rename packages/{std-secret => std}/src/testing/mock.rs (100%) rename packages/{std-secret => std}/src/testing/mod.rs (100%) rename packages/{std-secret => std}/src/timestamp.rs (100%) rename packages/{std-secret => std}/src/traits.rs (100%) rename packages/{std-secret => std}/src/types.rs (100%) create mode 100644 packages/storage-compat/Cargo.toml create mode 100644 packages/storage-compat/src/lib.rs delete mode 100644 packages/storage-secret/Cargo.toml delete mode 100644 packages/storage-secret/src/lib.rs rename packages/{storage-secret => storage}/README.md (100%) rename packages/{storage-secret => storage}/src/bucket.rs (100%) rename packages/{storage-secret => storage}/src/length_prefixed.rs (100%) rename packages/{storage-secret => storage}/src/namespace_helpers.rs (100%) rename packages/{storage-secret => storage}/src/prefixed_storage.rs (100%) rename packages/{storage-secret => storage}/src/sequence.rs (100%) rename packages/{storage-secret => storage}/src/singleton.rs (100%) rename packages/{storage-secret => storage}/src/type_helpers.rs (100%) diff --git a/contracts/hackatom/Cargo.toml b/contracts/hackatom/Cargo.toml index 21abd675de..b68e59c73c 100644 --- a/contracts/hackatom/Cargo.toml +++ b/contracts/hackatom/Cargo.toml @@ -30,7 +30,7 @@ backtraces = ["cosmwasm-std/backtraces"] [dependencies] cosmwasm-schema = { path = "../../packages/schema" } -cosmwasm-std = { path = "../../packages/std", default-features = false, features = [ +cosmwasm-std = { path = "../../packages/std-compat", default-features = false, features = [ "abort", ] } rust-argon2 = "0.8" @@ -40,4 +40,4 @@ sha2 = "0.10" thiserror = "1.0" [dev-dependencies] -cosmwasm-storage = { path = "../../packages/storage", default-features = false } +cosmwasm-storage = { path = "../../packages/storage-compat", default-features = false } diff --git a/packages/crypto-compat/Cargo.toml b/packages/crypto-compat/Cargo.toml new file mode 100644 index 0000000000..46c14d8ed0 --- /dev/null +++ b/packages/crypto-compat/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "cosmwasm-crypto" +version = "1.1.9" +authors = [ + "SCRT Labs ", +] +edition = "2021" +description = "Compatability layer for contracts that want to use the git versions of the std fork with a patch" +repository = "https://github.com/scrtlabs/cosmwasm/tree/secret/packages/crypto" +license = "Apache-2.0" + +[features] +default = [] +# backtraces provides much better context at runtime errors (in non-wasm code) +# at the cost of a bit of code size and performance. +# This feature requires Rust nightly because it depends on the unstable backtrace feature. +backtraces = [] + +[dependencies] +secret-cosmwasm-crypto = { path = "../crypto" } \ No newline at end of file diff --git a/packages/crypto-compat/src/lib.rs b/packages/crypto-compat/src/lib.rs new file mode 100644 index 0000000000..6509bb3e45 --- /dev/null +++ b/packages/crypto-compat/src/lib.rs @@ -0,0 +1 @@ +pub use secret_cosmwasm_std::*; diff --git a/packages/crypto-secret/Cargo.toml b/packages/crypto-secret/Cargo.toml deleted file mode 100644 index fb612df04e..0000000000 --- a/packages/crypto-secret/Cargo.toml +++ /dev/null @@ -1,46 +0,0 @@ -[package] -name = "secret-cosmwasm-crypto" -version = "1.1.9" -authors = [ - "Mauro Lacy ", - "SCRT Labs ", -] -edition = "2021" -description = "Crypto bindings for cosmwasm contracts" -repository = "https://github.com/scrtlabs/cosmwasm/tree/secret/packages/crypto-secret" -license = "Apache-2.0" - -[features] -default = [] -# backtraces provides much better context at runtime errors (in non-wasm code) -# at the cost of a bit of code size and performance. -# This feature requires Rust nightly because it depends on the unstable backtrace feature. -backtraces = [] - -[lib] -# See https://bheisler.github.io/criterion.rs/book/faq.html#cargo-bench-gives-unrecognized-option-errors-for-valid-command-line-options -bench = false - -[dependencies] -k256 = { version = "0.11.1", features = ["ecdsa"] } -ed25519-zebra = "3" -digest = "0.10" -rand_core = { version = "0.6", features = ["getrandom"] } -thiserror = "1.0.13" - -[dev-dependencies] -criterion = "0.3" -serde = { version = "1.0.103", default-features = false, features = [ - "derive", - "alloc", -] } -serde_json = "1.0.40" -sha2 = "0.10" -base64 = "0.13.0" -hex = "0.4" -hex-literal = "0.3.1" -english-numbers = "0.3" - -[[bench]] -name = "main" -harness = false diff --git a/packages/crypto-secret/src/lib.rs b/packages/crypto-secret/src/lib.rs deleted file mode 100644 index 8da667d6ae..0000000000 --- a/packages/crypto-secret/src/lib.rs +++ /dev/null @@ -1,21 +0,0 @@ -//! The crypto crate is intended to be used in internal crates / utils. -//! Please don't use any of these types directly, as -//! they might change frequently, or be removed in the future. -//! This crate does not adhere to semantic versioning. -#![cfg_attr(feature = "backtraces", feature(backtrace))] - -mod ed25519; -mod errors; -mod identity_digest; -mod secp256k1; - -#[doc(hidden)] -pub use crate::ed25519::EDDSA_PUBKEY_LEN; -#[doc(hidden)] -pub use crate::ed25519::{ed25519_batch_verify, ed25519_sign, ed25519_verify}; -#[doc(hidden)] -pub use crate::errors::{CryptoError, CryptoResult}; -#[doc(hidden)] -pub use crate::secp256k1::{secp256k1_recover_pubkey, secp256k1_sign, secp256k1_verify}; -#[doc(hidden)] -pub use crate::secp256k1::{ECDSA_PUBKEY_MAX_LEN, ECDSA_SIGNATURE_LEN, MESSAGE_HASH_MAX_LEN}; diff --git a/packages/crypto/Cargo.toml b/packages/crypto/Cargo.toml index 06364a41c6..fb612df04e 100644 --- a/packages/crypto/Cargo.toml +++ b/packages/crypto/Cargo.toml @@ -1,12 +1,13 @@ [package] -name = "cosmwasm-crypto" +name = "secret-cosmwasm-crypto" version = "1.1.9" authors = [ + "Mauro Lacy ", "SCRT Labs ", ] edition = "2021" -description = "Compatability layer for contracts that want to use the git versions of the std fork with a patch" -repository = "https://github.com/scrtlabs/cosmwasm/tree/secret/packages/crypto" +description = "Crypto bindings for cosmwasm contracts" +repository = "https://github.com/scrtlabs/cosmwasm/tree/secret/packages/crypto-secret" license = "Apache-2.0" [features] @@ -16,5 +17,30 @@ default = [] # This feature requires Rust nightly because it depends on the unstable backtrace feature. backtraces = [] +[lib] +# See https://bheisler.github.io/criterion.rs/book/faq.html#cargo-bench-gives-unrecognized-option-errors-for-valid-command-line-options +bench = false + [dependencies] -secret-cosmwasm-crypto = { path = "../crypto-secret" } \ No newline at end of file +k256 = { version = "0.11.1", features = ["ecdsa"] } +ed25519-zebra = "3" +digest = "0.10" +rand_core = { version = "0.6", features = ["getrandom"] } +thiserror = "1.0.13" + +[dev-dependencies] +criterion = "0.3" +serde = { version = "1.0.103", default-features = false, features = [ + "derive", + "alloc", +] } +serde_json = "1.0.40" +sha2 = "0.10" +base64 = "0.13.0" +hex = "0.4" +hex-literal = "0.3.1" +english-numbers = "0.3" + +[[bench]] +name = "main" +harness = false diff --git a/packages/crypto-secret/README.md b/packages/crypto/README.md similarity index 100% rename from packages/crypto-secret/README.md rename to packages/crypto/README.md diff --git a/packages/crypto-secret/benches/main.rs b/packages/crypto/benches/main.rs similarity index 100% rename from packages/crypto-secret/benches/main.rs rename to packages/crypto/benches/main.rs diff --git a/packages/crypto-secret/src/ed25519.rs b/packages/crypto/src/ed25519.rs similarity index 100% rename from packages/crypto-secret/src/ed25519.rs rename to packages/crypto/src/ed25519.rs diff --git a/packages/crypto-secret/src/errors.rs b/packages/crypto/src/errors.rs similarity index 100% rename from packages/crypto-secret/src/errors.rs rename to packages/crypto/src/errors.rs diff --git a/packages/crypto-secret/src/identity_digest.rs b/packages/crypto/src/identity_digest.rs similarity index 100% rename from packages/crypto-secret/src/identity_digest.rs rename to packages/crypto/src/identity_digest.rs diff --git a/packages/crypto/src/lib.rs b/packages/crypto/src/lib.rs index 6509bb3e45..8da667d6ae 100644 --- a/packages/crypto/src/lib.rs +++ b/packages/crypto/src/lib.rs @@ -1 +1,21 @@ -pub use secret_cosmwasm_std::*; +//! The crypto crate is intended to be used in internal crates / utils. +//! Please don't use any of these types directly, as +//! they might change frequently, or be removed in the future. +//! This crate does not adhere to semantic versioning. +#![cfg_attr(feature = "backtraces", feature(backtrace))] + +mod ed25519; +mod errors; +mod identity_digest; +mod secp256k1; + +#[doc(hidden)] +pub use crate::ed25519::EDDSA_PUBKEY_LEN; +#[doc(hidden)] +pub use crate::ed25519::{ed25519_batch_verify, ed25519_sign, ed25519_verify}; +#[doc(hidden)] +pub use crate::errors::{CryptoError, CryptoResult}; +#[doc(hidden)] +pub use crate::secp256k1::{secp256k1_recover_pubkey, secp256k1_sign, secp256k1_verify}; +#[doc(hidden)] +pub use crate::secp256k1::{ECDSA_PUBKEY_MAX_LEN, ECDSA_SIGNATURE_LEN, MESSAGE_HASH_MAX_LEN}; diff --git a/packages/crypto-secret/src/secp256k1.rs b/packages/crypto/src/secp256k1.rs similarity index 100% rename from packages/crypto-secret/src/secp256k1.rs rename to packages/crypto/src/secp256k1.rs diff --git a/packages/crypto-secret/testdata/ed25519_tests.json b/packages/crypto/testdata/ed25519_tests.json similarity index 100% rename from packages/crypto-secret/testdata/ed25519_tests.json rename to packages/crypto/testdata/ed25519_tests.json diff --git a/packages/crypto-secret/testdata/secp256k1_tests.json b/packages/crypto/testdata/secp256k1_tests.json similarity index 100% rename from packages/crypto-secret/testdata/secp256k1_tests.json rename to packages/crypto/testdata/secp256k1_tests.json diff --git a/packages/std-secret/Cargo.toml b/packages/std-compat/Cargo.toml similarity index 52% rename from packages/std-secret/Cargo.toml rename to packages/std-compat/Cargo.toml index 2d0dc57708..5318b547c0 100644 --- a/packages/std-secret/Cargo.toml +++ b/packages/std-compat/Cargo.toml @@ -1,19 +1,10 @@ [package] -name = "secret-cosmwasm-std" +name = "cosmwasm-std" version = "1.1.9" -authors = [ - "Ethan Frey ", - "SCRT Labs ", -] edition = "2021" -description = "Secret Network fork of the standard library for Wasm based smart contracts on Cosmos blockchains" -repository = "https://github.com/scrtlabs/cosmwasm/tree/secret/packages/std-secret" -license = "Apache-2.0" -readme = "README.md" - -[package.metadata.docs.rs] -features = ["stargate", "staking", "ibc3"] +description = "Compatability layer for contracts that want to use the git versions of the std fork with a patch" +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = [] abort = [] @@ -21,7 +12,7 @@ abort = [] # optional as some merkle stores (like tries) don't support this # given Ethereum 1.0, 2.0, Substrate, and other major projects use Tries # we keep this optional, to allow possible future integration (or different Cosmos Backends) -iterator = [] +iterator = ["secret-cosmwasm-std/iterator"] # staking exposes bindings to a required staking moudle in the runtime, via new # CosmosMsg types, and new QueryRequest types. This should only be enabled on contracts # that require these types, so other contracts can be used on systems with eg. PoA consensus @@ -38,33 +29,7 @@ stargate = [] ibc3 = ["stargate"] # This feature makes `BankQuery::Supply` available for the contract to call, but requires # the host blockchain to run CosmWasm `1.1.0` or higher. -cosmwasm_1_1 = [] +cosmwasm_1_1 = ["secret-cosmwasm-std/cosmwasm_1_1"] [dependencies] -base64 = "0.13.0" -cosmwasm-derive = { path = "../derive", version = "1.1.9" } - -serde-json-wasm = { version = "0.4.1" } -schemars = "0.8.3" -serde = { version = "1.0.103", default-features = false, features = [ - "derive", - "alloc", -] } -thiserror = "1.0.13" -forward_ref = "1" -derivative = "2" -hex = "0.4" -uint = "0.9.3" - -[target.'cfg(not(target_arch = "wasm32"))'.dependencies] -secret-cosmwasm-crypto = { path = "../crypto-secret", version = "1.1.9" } - -[dev-dependencies] -cosmwasm-schema = { path = "../schema" } -# The chrono dependency is only used in an example, which Rust compiles for us. If this causes trouble, remove it. -chrono = { version = "0.4", default-features = false, features = [ - "alloc", - "std", -] } -hex = "0.4" -hex-literal = "0.3.1" +secret-cosmwasm-std = { path = "../std" } \ No newline at end of file diff --git a/packages/std-compat/src/lib.rs b/packages/std-compat/src/lib.rs new file mode 100644 index 0000000000..6509bb3e45 --- /dev/null +++ b/packages/std-compat/src/lib.rs @@ -0,0 +1 @@ +pub use secret_cosmwasm_std::*; diff --git a/packages/std-secret/src/lib.rs b/packages/std-secret/src/lib.rs deleted file mode 100644 index 031f244051..0000000000 --- a/packages/std-secret/src/lib.rs +++ /dev/null @@ -1,107 +0,0 @@ -#![cfg_attr(feature = "backtraces", feature(backtrace))] - -// Exposed on all platforms - -mod addresses; -mod assertions; -mod binary; -mod coin; -mod conversion; -mod deps; -mod errors; -mod hex_binary; -mod ibc; -mod import_helpers; -#[cfg(feature = "iterator")] -mod iterator; -mod math; -mod panic; -mod query; -mod results; -mod sections; -mod serde; -mod storage; -mod timestamp; -mod traits; -mod types; - -pub use crate::addresses::{Addr, CanonicalAddr}; -pub use crate::binary::Binary; -pub use crate::coin::{coin, coins, has_coins, Coin}; -pub use crate::deps::{Deps, DepsMut, OwnedDeps}; -pub use crate::errors::{ - CheckedFromRatioError, CheckedMultiplyRatioError, ConversionOverflowError, DivideByZeroError, - OverflowError, OverflowOperation, RecoverPubkeyError, StdError, StdResult, SystemError, - VerificationError, -}; -pub use crate::hex_binary::HexBinary; -#[cfg(feature = "stargate")] -pub use crate::ibc::{ - Ibc3ChannelOpenResponse, IbcAcknowledgement, IbcBasicResponse, IbcChannel, IbcChannelCloseMsg, - IbcChannelConnectMsg, IbcChannelOpenMsg, IbcChannelOpenResponse, IbcEndpoint, IbcMsg, IbcOrder, - IbcPacket, IbcPacketAckMsg, IbcPacketReceiveMsg, IbcPacketTimeoutMsg, IbcReceiveResponse, - IbcTimeout, IbcTimeoutBlock, -}; -#[cfg(feature = "iterator")] -pub use crate::iterator::{Order, Record}; -pub use crate::math::{ - Decimal, Decimal256, Decimal256RangeExceeded, DecimalRangeExceeded, Fraction, Isqrt, Uint128, - Uint256, Uint512, Uint64, -}; -#[cfg(feature = "cosmwasm_1_1")] -pub use crate::query::SupplyResponse; -pub use crate::query::{ - AllBalanceResponse, BalanceResponse, BankQuery, ContractInfoResponse, CustomQuery, - QueryRequest, WasmQuery, -}; -#[cfg(feature = "staking")] -pub use crate::query::{ - AllDelegationsResponse, AllValidatorsResponse, BondedDenomResponse, Delegation, - DelegationResponse, FullDelegation, StakingQuery, Validator, ValidatorResponse, -}; -#[cfg(feature = "stargate")] -pub use crate::query::{ChannelResponse, IbcQuery, ListChannelsResponse, PortIdResponse}; -#[allow(deprecated)] -pub use crate::results::SubMsgExecutionResponse; -pub use crate::results::{ - attr, attr_plaintext, wasm_execute, wasm_instantiate, Attribute, BankMsg, ContractResult, - CosmosMsg, CustomMsg, Empty, Event, QueryResponse, Reply, ReplyOn, Response, SubMsg, - SubMsgResponse, SubMsgResult, SystemResult, WasmMsg, -}; -#[cfg(feature = "staking")] -pub use crate::results::{DistributionMsg, StakingMsg}; -#[cfg(feature = "stargate")] -pub use crate::results::{GovMsg, VoteOption}; -pub use crate::serde::{from_binary, from_slice, to_binary, to_vec}; -pub use crate::storage::MemoryStorage; -pub use crate::timestamp::Timestamp; -pub use crate::traits::{Api, Querier, QuerierResult, QuerierWrapper, Storage}; -pub use crate::types::{BlockInfo, ContractInfo, Env, MessageInfo, TransactionInfo}; - -// Exposed in wasm build only - -#[cfg(target_arch = "wasm32")] -mod exports; -#[cfg(target_arch = "wasm32")] -mod imports; -#[cfg(target_arch = "wasm32")] -mod memory; // Used by exports and imports only. This assumes pointers are 32 bit long, which makes it untestable on dev machines. - -#[cfg(target_arch = "wasm32")] -pub use crate::exports::{do_execute, do_instantiate, do_migrate, do_query, do_reply, do_sudo}; -#[cfg(all(feature = "stargate", target_arch = "wasm32"))] -pub use crate::exports::{ - do_ibc_channel_close, do_ibc_channel_connect, do_ibc_channel_open, do_ibc_packet_ack, - do_ibc_packet_receive, do_ibc_packet_timeout, -}; -#[cfg(target_arch = "wasm32")] -pub use crate::imports::{ExternalApi, ExternalQuerier, ExternalStorage}; - -// Exposed for testing only -// Both unit tests and integration tests are compiled to native code, so everything in here does not need to compile to Wasm. -#[cfg(not(target_arch = "wasm32"))] -pub mod testing; - -// Re-exports - -pub use cosmwasm_derive::entry_point; diff --git a/packages/std-secret/.cargo/config b/packages/std/.cargo/config similarity index 100% rename from packages/std-secret/.cargo/config rename to packages/std/.cargo/config diff --git a/packages/std/Cargo.toml b/packages/std/Cargo.toml index 391ea1663c..fc211d4e2e 100644 --- a/packages/std/Cargo.toml +++ b/packages/std/Cargo.toml @@ -1,10 +1,19 @@ [package] -name = "cosmwasm-std" +name = "secret-cosmwasm-std" version = "1.1.9" +authors = [ + "Ethan Frey ", + "SCRT Labs ", +] edition = "2021" -description = "Compatability layer for contracts that want to use the git versions of the std fork with a patch" +description = "Secret Network fork of the standard library for Wasm based smart contracts on Cosmos blockchains" +repository = "https://github.com/scrtlabs/cosmwasm/tree/secret/packages/std-secret" +license = "Apache-2.0" +readme = "README.md" + +[package.metadata.docs.rs] +features = ["stargate", "staking", "ibc3"] -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = [] abort = [] @@ -12,7 +21,7 @@ abort = [] # optional as some merkle stores (like tries) don't support this # given Ethereum 1.0, 2.0, Substrate, and other major projects use Tries # we keep this optional, to allow possible future integration (or different Cosmos Backends) -iterator = ["secret-cosmwasm-std/iterator"] +iterator = [] # staking exposes bindings to a required staking moudle in the runtime, via new # CosmosMsg types, and new QueryRequest types. This should only be enabled on contracts # that require these types, so other contracts can be used on systems with eg. PoA consensus @@ -29,7 +38,33 @@ stargate = [] ibc3 = ["stargate"] # This feature makes `BankQuery::Supply` available for the contract to call, but requires # the host blockchain to run CosmWasm `1.1.0` or higher. -cosmwasm_1_1 = ["secret-cosmwasm-std/cosmwasm_1_1"] +cosmwasm_1_1 = [] [dependencies] -secret-cosmwasm-std = { path = "../std-secret" } \ No newline at end of file +base64 = "0.13.0" +cosmwasm-derive = { path = "../derive", version = "1.1.9" } + +serde-json-wasm = { version = "0.4.1" } +schemars = "0.8.3" +serde = { version = "1.0.103", default-features = false, features = [ + "derive", + "alloc", +] } +thiserror = "1.0.13" +forward_ref = "1" +derivative = "2" +hex = "0.4" +uint = "0.9.3" + +[target.'cfg(not(target_arch = "wasm32"))'.dependencies] +secret-cosmwasm-crypto = { path = "../crypto", version = "1.1.9" } + +[dev-dependencies] +cosmwasm-schema = { path = "../schema" } +# The chrono dependency is only used in an example, which Rust compiles for us. If this causes trouble, remove it. +chrono = { version = "0.4", default-features = false, features = [ + "alloc", + "std", +] } +hex = "0.4" +hex-literal = "0.3.1" diff --git a/packages/std-secret/README.md b/packages/std/README.md similarity index 100% rename from packages/std-secret/README.md rename to packages/std/README.md diff --git a/packages/std-secret/examples/schema.rs b/packages/std/examples/schema.rs similarity index 100% rename from packages/std-secret/examples/schema.rs rename to packages/std/examples/schema.rs diff --git a/packages/std-secret/schema/block_info.json b/packages/std/schema/block_info.json similarity index 100% rename from packages/std-secret/schema/block_info.json rename to packages/std/schema/block_info.json diff --git a/packages/std-secret/schema/cosmos_msg.json b/packages/std/schema/cosmos_msg.json similarity index 100% rename from packages/std-secret/schema/cosmos_msg.json rename to packages/std/schema/cosmos_msg.json diff --git a/packages/std-secret/schema/query_request.json b/packages/std/schema/query_request.json similarity index 100% rename from packages/std-secret/schema/query_request.json rename to packages/std/schema/query_request.json diff --git a/packages/std-secret/schema/timestamp.json b/packages/std/schema/timestamp.json similarity index 100% rename from packages/std-secret/schema/timestamp.json rename to packages/std/schema/timestamp.json diff --git a/packages/std-secret/src/addresses.rs b/packages/std/src/addresses.rs similarity index 100% rename from packages/std-secret/src/addresses.rs rename to packages/std/src/addresses.rs diff --git a/packages/std-secret/src/assertions.rs b/packages/std/src/assertions.rs similarity index 100% rename from packages/std-secret/src/assertions.rs rename to packages/std/src/assertions.rs diff --git a/packages/std-secret/src/binary.rs b/packages/std/src/binary.rs similarity index 100% rename from packages/std-secret/src/binary.rs rename to packages/std/src/binary.rs diff --git a/packages/std-secret/src/coin.rs b/packages/std/src/coin.rs similarity index 100% rename from packages/std-secret/src/coin.rs rename to packages/std/src/coin.rs diff --git a/packages/std-secret/src/conversion.rs b/packages/std/src/conversion.rs similarity index 100% rename from packages/std-secret/src/conversion.rs rename to packages/std/src/conversion.rs diff --git a/packages/std-secret/src/deps.rs b/packages/std/src/deps.rs similarity index 100% rename from packages/std-secret/src/deps.rs rename to packages/std/src/deps.rs diff --git a/packages/std-secret/src/errors/mod.rs b/packages/std/src/errors/mod.rs similarity index 100% rename from packages/std-secret/src/errors/mod.rs rename to packages/std/src/errors/mod.rs diff --git a/packages/std-secret/src/errors/recover_pubkey_error.rs b/packages/std/src/errors/recover_pubkey_error.rs similarity index 100% rename from packages/std-secret/src/errors/recover_pubkey_error.rs rename to packages/std/src/errors/recover_pubkey_error.rs diff --git a/packages/std-secret/src/errors/signing_error.rs b/packages/std/src/errors/signing_error.rs similarity index 100% rename from packages/std-secret/src/errors/signing_error.rs rename to packages/std/src/errors/signing_error.rs diff --git a/packages/std-secret/src/errors/std_error.rs b/packages/std/src/errors/std_error.rs similarity index 100% rename from packages/std-secret/src/errors/std_error.rs rename to packages/std/src/errors/std_error.rs diff --git a/packages/std-secret/src/errors/system_error.rs b/packages/std/src/errors/system_error.rs similarity index 100% rename from packages/std-secret/src/errors/system_error.rs rename to packages/std/src/errors/system_error.rs diff --git a/packages/std-secret/src/errors/verification_error.rs b/packages/std/src/errors/verification_error.rs similarity index 100% rename from packages/std-secret/src/errors/verification_error.rs rename to packages/std/src/errors/verification_error.rs diff --git a/packages/std-secret/src/exports.rs b/packages/std/src/exports.rs similarity index 100% rename from packages/std-secret/src/exports.rs rename to packages/std/src/exports.rs diff --git a/packages/std-secret/src/hex_binary.rs b/packages/std/src/hex_binary.rs similarity index 100% rename from packages/std-secret/src/hex_binary.rs rename to packages/std/src/hex_binary.rs diff --git a/packages/std-secret/src/ibc.rs b/packages/std/src/ibc.rs similarity index 100% rename from packages/std-secret/src/ibc.rs rename to packages/std/src/ibc.rs diff --git a/packages/std-secret/src/import_helpers.rs b/packages/std/src/import_helpers.rs similarity index 100% rename from packages/std-secret/src/import_helpers.rs rename to packages/std/src/import_helpers.rs diff --git a/packages/std-secret/src/imports.rs b/packages/std/src/imports.rs similarity index 100% rename from packages/std-secret/src/imports.rs rename to packages/std/src/imports.rs diff --git a/packages/std-secret/src/iterator.rs b/packages/std/src/iterator.rs similarity index 100% rename from packages/std-secret/src/iterator.rs rename to packages/std/src/iterator.rs diff --git a/packages/std/src/lib.rs b/packages/std/src/lib.rs index 6509bb3e45..031f244051 100644 --- a/packages/std/src/lib.rs +++ b/packages/std/src/lib.rs @@ -1 +1,107 @@ -pub use secret_cosmwasm_std::*; +#![cfg_attr(feature = "backtraces", feature(backtrace))] + +// Exposed on all platforms + +mod addresses; +mod assertions; +mod binary; +mod coin; +mod conversion; +mod deps; +mod errors; +mod hex_binary; +mod ibc; +mod import_helpers; +#[cfg(feature = "iterator")] +mod iterator; +mod math; +mod panic; +mod query; +mod results; +mod sections; +mod serde; +mod storage; +mod timestamp; +mod traits; +mod types; + +pub use crate::addresses::{Addr, CanonicalAddr}; +pub use crate::binary::Binary; +pub use crate::coin::{coin, coins, has_coins, Coin}; +pub use crate::deps::{Deps, DepsMut, OwnedDeps}; +pub use crate::errors::{ + CheckedFromRatioError, CheckedMultiplyRatioError, ConversionOverflowError, DivideByZeroError, + OverflowError, OverflowOperation, RecoverPubkeyError, StdError, StdResult, SystemError, + VerificationError, +}; +pub use crate::hex_binary::HexBinary; +#[cfg(feature = "stargate")] +pub use crate::ibc::{ + Ibc3ChannelOpenResponse, IbcAcknowledgement, IbcBasicResponse, IbcChannel, IbcChannelCloseMsg, + IbcChannelConnectMsg, IbcChannelOpenMsg, IbcChannelOpenResponse, IbcEndpoint, IbcMsg, IbcOrder, + IbcPacket, IbcPacketAckMsg, IbcPacketReceiveMsg, IbcPacketTimeoutMsg, IbcReceiveResponse, + IbcTimeout, IbcTimeoutBlock, +}; +#[cfg(feature = "iterator")] +pub use crate::iterator::{Order, Record}; +pub use crate::math::{ + Decimal, Decimal256, Decimal256RangeExceeded, DecimalRangeExceeded, Fraction, Isqrt, Uint128, + Uint256, Uint512, Uint64, +}; +#[cfg(feature = "cosmwasm_1_1")] +pub use crate::query::SupplyResponse; +pub use crate::query::{ + AllBalanceResponse, BalanceResponse, BankQuery, ContractInfoResponse, CustomQuery, + QueryRequest, WasmQuery, +}; +#[cfg(feature = "staking")] +pub use crate::query::{ + AllDelegationsResponse, AllValidatorsResponse, BondedDenomResponse, Delegation, + DelegationResponse, FullDelegation, StakingQuery, Validator, ValidatorResponse, +}; +#[cfg(feature = "stargate")] +pub use crate::query::{ChannelResponse, IbcQuery, ListChannelsResponse, PortIdResponse}; +#[allow(deprecated)] +pub use crate::results::SubMsgExecutionResponse; +pub use crate::results::{ + attr, attr_plaintext, wasm_execute, wasm_instantiate, Attribute, BankMsg, ContractResult, + CosmosMsg, CustomMsg, Empty, Event, QueryResponse, Reply, ReplyOn, Response, SubMsg, + SubMsgResponse, SubMsgResult, SystemResult, WasmMsg, +}; +#[cfg(feature = "staking")] +pub use crate::results::{DistributionMsg, StakingMsg}; +#[cfg(feature = "stargate")] +pub use crate::results::{GovMsg, VoteOption}; +pub use crate::serde::{from_binary, from_slice, to_binary, to_vec}; +pub use crate::storage::MemoryStorage; +pub use crate::timestamp::Timestamp; +pub use crate::traits::{Api, Querier, QuerierResult, QuerierWrapper, Storage}; +pub use crate::types::{BlockInfo, ContractInfo, Env, MessageInfo, TransactionInfo}; + +// Exposed in wasm build only + +#[cfg(target_arch = "wasm32")] +mod exports; +#[cfg(target_arch = "wasm32")] +mod imports; +#[cfg(target_arch = "wasm32")] +mod memory; // Used by exports and imports only. This assumes pointers are 32 bit long, which makes it untestable on dev machines. + +#[cfg(target_arch = "wasm32")] +pub use crate::exports::{do_execute, do_instantiate, do_migrate, do_query, do_reply, do_sudo}; +#[cfg(all(feature = "stargate", target_arch = "wasm32"))] +pub use crate::exports::{ + do_ibc_channel_close, do_ibc_channel_connect, do_ibc_channel_open, do_ibc_packet_ack, + do_ibc_packet_receive, do_ibc_packet_timeout, +}; +#[cfg(target_arch = "wasm32")] +pub use crate::imports::{ExternalApi, ExternalQuerier, ExternalStorage}; + +// Exposed for testing only +// Both unit tests and integration tests are compiled to native code, so everything in here does not need to compile to Wasm. +#[cfg(not(target_arch = "wasm32"))] +pub mod testing; + +// Re-exports + +pub use cosmwasm_derive::entry_point; diff --git a/packages/std-secret/src/math/decimal.rs b/packages/std/src/math/decimal.rs similarity index 100% rename from packages/std-secret/src/math/decimal.rs rename to packages/std/src/math/decimal.rs diff --git a/packages/std-secret/src/math/decimal256.rs b/packages/std/src/math/decimal256.rs similarity index 100% rename from packages/std-secret/src/math/decimal256.rs rename to packages/std/src/math/decimal256.rs diff --git a/packages/std-secret/src/math/fraction.rs b/packages/std/src/math/fraction.rs similarity index 100% rename from packages/std-secret/src/math/fraction.rs rename to packages/std/src/math/fraction.rs diff --git a/packages/std-secret/src/math/isqrt.rs b/packages/std/src/math/isqrt.rs similarity index 100% rename from packages/std-secret/src/math/isqrt.rs rename to packages/std/src/math/isqrt.rs diff --git a/packages/std-secret/src/math/mod.rs b/packages/std/src/math/mod.rs similarity index 100% rename from packages/std-secret/src/math/mod.rs rename to packages/std/src/math/mod.rs diff --git a/packages/std-secret/src/math/uint128.rs b/packages/std/src/math/uint128.rs similarity index 100% rename from packages/std-secret/src/math/uint128.rs rename to packages/std/src/math/uint128.rs diff --git a/packages/std-secret/src/math/uint256.rs b/packages/std/src/math/uint256.rs similarity index 100% rename from packages/std-secret/src/math/uint256.rs rename to packages/std/src/math/uint256.rs diff --git a/packages/std-secret/src/math/uint512.rs b/packages/std/src/math/uint512.rs similarity index 100% rename from packages/std-secret/src/math/uint512.rs rename to packages/std/src/math/uint512.rs diff --git a/packages/std-secret/src/math/uint64.rs b/packages/std/src/math/uint64.rs similarity index 100% rename from packages/std-secret/src/math/uint64.rs rename to packages/std/src/math/uint64.rs diff --git a/packages/std-secret/src/memory.rs b/packages/std/src/memory.rs similarity index 100% rename from packages/std-secret/src/memory.rs rename to packages/std/src/memory.rs diff --git a/packages/std-secret/src/panic.rs b/packages/std/src/panic.rs similarity index 100% rename from packages/std-secret/src/panic.rs rename to packages/std/src/panic.rs diff --git a/packages/std-secret/src/query/bank.rs b/packages/std/src/query/bank.rs similarity index 100% rename from packages/std-secret/src/query/bank.rs rename to packages/std/src/query/bank.rs diff --git a/packages/std-secret/src/query/ibc.rs b/packages/std/src/query/ibc.rs similarity index 100% rename from packages/std-secret/src/query/ibc.rs rename to packages/std/src/query/ibc.rs diff --git a/packages/std-secret/src/query/mod.rs b/packages/std/src/query/mod.rs similarity index 100% rename from packages/std-secret/src/query/mod.rs rename to packages/std/src/query/mod.rs diff --git a/packages/std-secret/src/query/staking.rs b/packages/std/src/query/staking.rs similarity index 100% rename from packages/std-secret/src/query/staking.rs rename to packages/std/src/query/staking.rs diff --git a/packages/std-secret/src/query/wasm.rs b/packages/std/src/query/wasm.rs similarity index 100% rename from packages/std-secret/src/query/wasm.rs rename to packages/std/src/query/wasm.rs diff --git a/packages/std-secret/src/results/contract_result.rs b/packages/std/src/results/contract_result.rs similarity index 100% rename from packages/std-secret/src/results/contract_result.rs rename to packages/std/src/results/contract_result.rs diff --git a/packages/std-secret/src/results/cosmos_msg.rs b/packages/std/src/results/cosmos_msg.rs similarity index 100% rename from packages/std-secret/src/results/cosmos_msg.rs rename to packages/std/src/results/cosmos_msg.rs diff --git a/packages/std-secret/src/results/empty.rs b/packages/std/src/results/empty.rs similarity index 100% rename from packages/std-secret/src/results/empty.rs rename to packages/std/src/results/empty.rs diff --git a/packages/std-secret/src/results/events.rs b/packages/std/src/results/events.rs similarity index 100% rename from packages/std-secret/src/results/events.rs rename to packages/std/src/results/events.rs diff --git a/packages/std-secret/src/results/mod.rs b/packages/std/src/results/mod.rs similarity index 100% rename from packages/std-secret/src/results/mod.rs rename to packages/std/src/results/mod.rs diff --git a/packages/std-secret/src/results/query.rs b/packages/std/src/results/query.rs similarity index 100% rename from packages/std-secret/src/results/query.rs rename to packages/std/src/results/query.rs diff --git a/packages/std-secret/src/results/response.rs b/packages/std/src/results/response.rs similarity index 100% rename from packages/std-secret/src/results/response.rs rename to packages/std/src/results/response.rs diff --git a/packages/std-secret/src/results/submessages.rs b/packages/std/src/results/submessages.rs similarity index 100% rename from packages/std-secret/src/results/submessages.rs rename to packages/std/src/results/submessages.rs diff --git a/packages/std-secret/src/results/system_result.rs b/packages/std/src/results/system_result.rs similarity index 100% rename from packages/std-secret/src/results/system_result.rs rename to packages/std/src/results/system_result.rs diff --git a/packages/std-secret/src/sections.rs b/packages/std/src/sections.rs similarity index 100% rename from packages/std-secret/src/sections.rs rename to packages/std/src/sections.rs diff --git a/packages/std-secret/src/serde.rs b/packages/std/src/serde.rs similarity index 100% rename from packages/std-secret/src/serde.rs rename to packages/std/src/serde.rs diff --git a/packages/std-secret/src/storage.rs b/packages/std/src/storage.rs similarity index 100% rename from packages/std-secret/src/storage.rs rename to packages/std/src/storage.rs diff --git a/packages/std-secret/src/testing/assertions.rs b/packages/std/src/testing/assertions.rs similarity index 100% rename from packages/std-secret/src/testing/assertions.rs rename to packages/std/src/testing/assertions.rs diff --git a/packages/std-secret/src/testing/mock.rs b/packages/std/src/testing/mock.rs similarity index 100% rename from packages/std-secret/src/testing/mock.rs rename to packages/std/src/testing/mock.rs diff --git a/packages/std-secret/src/testing/mod.rs b/packages/std/src/testing/mod.rs similarity index 100% rename from packages/std-secret/src/testing/mod.rs rename to packages/std/src/testing/mod.rs diff --git a/packages/std-secret/src/timestamp.rs b/packages/std/src/timestamp.rs similarity index 100% rename from packages/std-secret/src/timestamp.rs rename to packages/std/src/timestamp.rs diff --git a/packages/std-secret/src/traits.rs b/packages/std/src/traits.rs similarity index 100% rename from packages/std-secret/src/traits.rs rename to packages/std/src/traits.rs diff --git a/packages/std-secret/src/types.rs b/packages/std/src/types.rs similarity index 100% rename from packages/std-secret/src/types.rs rename to packages/std/src/types.rs diff --git a/packages/storage-compat/Cargo.toml b/packages/storage-compat/Cargo.toml new file mode 100644 index 0000000000..eea0473499 --- /dev/null +++ b/packages/storage-compat/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "cosmwasm-storage" +version = "1.1.9" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +[features] +default = [] +# This enables iterator functionality, as exposed in cosmwasm-std/iterator +iterator = ["secret-cosmwasm-storage/iterator"] + +[dependencies] +secret-cosmwasm-storage = { path = "../storage" } diff --git a/packages/storage-compat/src/lib.rs b/packages/storage-compat/src/lib.rs new file mode 100644 index 0000000000..51171f1f9b --- /dev/null +++ b/packages/storage-compat/src/lib.rs @@ -0,0 +1 @@ +pub use secret_cosmwasm_storage::*; diff --git a/packages/storage-secret/Cargo.toml b/packages/storage-secret/Cargo.toml deleted file mode 100644 index fe96542cb0..0000000000 --- a/packages/storage-secret/Cargo.toml +++ /dev/null @@ -1,26 +0,0 @@ -[package] -name = "secret-cosmwasm-storage" -version = "1.1.9" -authors = [ - "Ethan Frey ", - "SCRT Labs ", -] -edition = "2021" -description = "CosmWasm library with useful helpers for Storage patterns" -repository = "https://github.com/scrtlabs/cosmwasm/tree/secret/packages/storage" -license = "Apache-2.0" -readme = "README.md" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html -[features] -default = [] -# This enables iterator functionality, as exposed in cosmwasm-std/iterator -iterator = ["secret-cosmwasm-std/iterator"] - -[dependencies] -# Uses the path when built locally; uses the given version from crates.io when published -secret-cosmwasm-std = { version = "1.1.9", path = "../std-secret", default-features = false } -serde = { version = "1.0.103", default-features = false, features = [ - "derive", - "alloc", -] } diff --git a/packages/storage-secret/src/lib.rs b/packages/storage-secret/src/lib.rs deleted file mode 100644 index 30449920a3..0000000000 --- a/packages/storage-secret/src/lib.rs +++ /dev/null @@ -1,15 +0,0 @@ -mod bucket; -mod length_prefixed; -mod namespace_helpers; -mod prefixed_storage; -mod sequence; -mod singleton; -mod type_helpers; - -use secret_cosmwasm_std as cosmwasm_std; - -pub use bucket::{bucket, bucket_read, Bucket, ReadonlyBucket}; -pub use length_prefixed::{to_length_prefixed, to_length_prefixed_nested}; -pub use prefixed_storage::{prefixed, prefixed_read, PrefixedStorage, ReadonlyPrefixedStorage}; -pub use sequence::{currval, nextval, sequence}; -pub use singleton::{singleton, singleton_read, ReadonlySingleton, Singleton}; diff --git a/packages/storage/Cargo.toml b/packages/storage/Cargo.toml index ca2a994755..2494262bb5 100644 --- a/packages/storage/Cargo.toml +++ b/packages/storage/Cargo.toml @@ -1,13 +1,26 @@ [package] -name = "cosmwasm-storage" +name = "secret-cosmwasm-storage" version = "1.1.9" +authors = [ + "Ethan Frey ", + "SCRT Labs ", +] edition = "2021" +description = "CosmWasm library with useful helpers for Storage patterns" +repository = "https://github.com/scrtlabs/cosmwasm/tree/secret/packages/storage" +license = "Apache-2.0" +readme = "README.md" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = [] # This enables iterator functionality, as exposed in cosmwasm-std/iterator -iterator = ["secret-cosmwasm-storage/iterator"] +iterator = ["secret-cosmwasm-std/iterator"] [dependencies] -secret-cosmwasm-storage = { path = "../storage-secret" } +# Uses the path when built locally; uses the given version from crates.io when published +secret-cosmwasm-std = { version = "1.1.9", path = "../std", default-features = false } +serde = { version = "1.0.103", default-features = false, features = [ + "derive", + "alloc", +] } diff --git a/packages/storage-secret/README.md b/packages/storage/README.md similarity index 100% rename from packages/storage-secret/README.md rename to packages/storage/README.md diff --git a/packages/storage-secret/src/bucket.rs b/packages/storage/src/bucket.rs similarity index 100% rename from packages/storage-secret/src/bucket.rs rename to packages/storage/src/bucket.rs diff --git a/packages/storage-secret/src/length_prefixed.rs b/packages/storage/src/length_prefixed.rs similarity index 100% rename from packages/storage-secret/src/length_prefixed.rs rename to packages/storage/src/length_prefixed.rs diff --git a/packages/storage/src/lib.rs b/packages/storage/src/lib.rs index 51171f1f9b..30449920a3 100644 --- a/packages/storage/src/lib.rs +++ b/packages/storage/src/lib.rs @@ -1 +1,15 @@ -pub use secret_cosmwasm_storage::*; +mod bucket; +mod length_prefixed; +mod namespace_helpers; +mod prefixed_storage; +mod sequence; +mod singleton; +mod type_helpers; + +use secret_cosmwasm_std as cosmwasm_std; + +pub use bucket::{bucket, bucket_read, Bucket, ReadonlyBucket}; +pub use length_prefixed::{to_length_prefixed, to_length_prefixed_nested}; +pub use prefixed_storage::{prefixed, prefixed_read, PrefixedStorage, ReadonlyPrefixedStorage}; +pub use sequence::{currval, nextval, sequence}; +pub use singleton::{singleton, singleton_read, ReadonlySingleton, Singleton}; diff --git a/packages/storage-secret/src/namespace_helpers.rs b/packages/storage/src/namespace_helpers.rs similarity index 100% rename from packages/storage-secret/src/namespace_helpers.rs rename to packages/storage/src/namespace_helpers.rs diff --git a/packages/storage-secret/src/prefixed_storage.rs b/packages/storage/src/prefixed_storage.rs similarity index 100% rename from packages/storage-secret/src/prefixed_storage.rs rename to packages/storage/src/prefixed_storage.rs diff --git a/packages/storage-secret/src/sequence.rs b/packages/storage/src/sequence.rs similarity index 100% rename from packages/storage-secret/src/sequence.rs rename to packages/storage/src/sequence.rs diff --git a/packages/storage-secret/src/singleton.rs b/packages/storage/src/singleton.rs similarity index 100% rename from packages/storage-secret/src/singleton.rs rename to packages/storage/src/singleton.rs diff --git a/packages/storage-secret/src/type_helpers.rs b/packages/storage/src/type_helpers.rs similarity index 100% rename from packages/storage-secret/src/type_helpers.rs rename to packages/storage/src/type_helpers.rs From 3c3141a1d4b78171e7bf49eb856f1d068a66c2b9 Mon Sep 17 00:00:00 2001 From: Itzik Grossman Date: Tue, 18 Apr 2023 12:56:27 +0300 Subject: [PATCH 23/24] fixed tests --- packages/crypto-compat/src/lib.rs | 2 +- packages/derive/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/crypto-compat/src/lib.rs b/packages/crypto-compat/src/lib.rs index 6509bb3e45..607f3b2c70 100644 --- a/packages/crypto-compat/src/lib.rs +++ b/packages/crypto-compat/src/lib.rs @@ -1 +1 @@ -pub use secret_cosmwasm_std::*; +pub use secret_cosmwasm_crypto::*; diff --git a/packages/derive/Cargo.toml b/packages/derive/Cargo.toml index 939cebab5d..477d5ce27c 100644 --- a/packages/derive/Cargo.toml +++ b/packages/derive/Cargo.toml @@ -22,4 +22,4 @@ syn = { version = "1.0", features = ["full"] } # "What's even more fun, Cargo packages actually can have cyclic dependencies. # "(a package can have an indirect dev-dependency on itself)" # https://users.rust-lang.org/t/does-cargo-support-cyclic-dependencies/35666/3 -cosmwasm-std = { path = "../std" } +cosmwasm-std = { path = "../std-compat" } From cf580c530cceb0d76b8aa34e06d49c26e6d237da Mon Sep 17 00:00:00 2001 From: Itzik Grossman Date: Tue, 18 Apr 2023 13:14:41 +0300 Subject: [PATCH 24/24] fixed tests --- packages/std/examples/schema.rs | 2 +- packages/std/src/addresses.rs | 2 +- packages/std/src/assertions.rs | 8 ++++---- packages/std/src/binary.rs | 4 ++-- packages/std/src/coin.rs | 8 ++++---- packages/std/src/hex_binary.rs | 4 ++-- packages/std/src/ibc.rs | 12 ++++++------ packages/std/src/math/decimal.rs | 4 ++-- packages/std/src/math/decimal256.rs | 4 ++-- packages/std/src/math/uint128.rs | 4 ++-- packages/std/src/math/uint256.rs | 4 ++-- packages/std/src/math/uint512.rs | 2 +- packages/std/src/math/uint64.rs | 4 ++-- packages/std/src/query/mod.rs | 2 +- packages/std/src/results/contract_result.rs | 4 ++-- packages/std/src/results/response.rs | 16 ++++++++-------- packages/std/src/results/submessages.rs | 6 +++--- packages/std/src/results/system_result.rs | 4 ++-- packages/std/src/testing/mock.rs | 2 +- packages/std/src/timestamp.rs | 2 +- packages/std/src/traits.rs | 4 ++-- packages/std/src/types.rs | 4 ++-- packages/storage/src/bucket.rs | 4 ++-- packages/storage/src/namespace_helpers.rs | 2 +- packages/storage/src/prefixed_storage.rs | 2 +- packages/storage/src/sequence.rs | 2 +- packages/storage/src/singleton.rs | 4 ++-- packages/storage/src/type_helpers.rs | 4 ++-- 28 files changed, 62 insertions(+), 62 deletions(-) diff --git a/packages/std/examples/schema.rs b/packages/std/examples/schema.rs index 0fe2eac963..f4aec2138e 100644 --- a/packages/std/examples/schema.rs +++ b/packages/std/examples/schema.rs @@ -2,7 +2,7 @@ use std::env::current_dir; use std::fs::create_dir_all; use cosmwasm_schema::{export_schema, export_schema_with_title, remove_schemas, schema_for}; -use cosmwasm_std::{BlockInfo, CosmosMsg, Empty, QueryRequest, Timestamp}; +use secret_cosmwasm_std::{BlockInfo, CosmosMsg, Empty, QueryRequest, Timestamp}; fn main() { let mut out_dir = current_dir().unwrap(); diff --git a/packages/std/src/addresses.rs b/packages/std/src/addresses.rs index ef03d5ab60..13b62d6569 100644 --- a/packages/std/src/addresses.rs +++ b/packages/std/src/addresses.rs @@ -39,7 +39,7 @@ impl Addr { /// ## Examples /// /// ``` - /// # use cosmwasm_std::{Addr}; + /// # use secret_cosmwasm_std::{Addr}; /// let address = Addr::unchecked("foobar"); /// assert_eq!(address, "foobar"); /// ``` diff --git a/packages/std/src/assertions.rs b/packages/std/src/assertions.rs index bc67312b71..e1ce4d9756 100644 --- a/packages/std/src/assertions.rs +++ b/packages/std/src/assertions.rs @@ -15,7 +15,7 @@ /// # /// # fn body() -> Result<(), ContractError> { /// # let permissions = Permissions { delegate: true }; -/// use cosmwasm_std::ensure; +/// use secret_cosmwasm_std::ensure; /// ensure!(permissions.delegate, ContractError::DelegatePerm {}); /// /// // is the same as @@ -39,7 +39,7 @@ macro_rules! ensure { /// it returns the third argument `x` wrapped in `Err(x)`. /// /// ``` -/// # use cosmwasm_std::{MessageInfo, Addr}; +/// # use secret_cosmwasm_std::{MessageInfo, Addr}; /// # /// # enum ContractError { /// # Unauthorized {}, @@ -51,7 +51,7 @@ macro_rules! ensure { /// # fn body() -> Result<(), ContractError> { /// # let info = MessageInfo { sender: Addr::unchecked("foo"), funds: Vec::new() }; /// # let cfg = Config { admin: "foo".to_string() }; -/// use cosmwasm_std::ensure_eq; +/// use secret_cosmwasm_std::ensure_eq; /// /// ensure_eq!(info.sender, cfg.admin, ContractError::Unauthorized {}); /// @@ -83,7 +83,7 @@ macro_rules! ensure_eq { /// # /// # fn body() -> Result<(), ContractError> { /// # let voting_power = 123; -/// use cosmwasm_std::ensure_ne; +/// use secret_cosmwasm_std::ensure_ne; /// /// ensure_ne!(voting_power, 0, ContractError::NotAVoter {}); /// diff --git a/packages/std/src/binary.rs b/packages/std/src/binary.rs index 4ee4b253fb..33aab4eba3 100644 --- a/packages/std/src/binary.rs +++ b/packages/std/src/binary.rs @@ -39,7 +39,7 @@ impl Binary { /// Copy to array of explicit length /// /// ``` - /// # use cosmwasm_std::Binary; + /// # use secret_cosmwasm_std::Binary; /// let binary = Binary::from(&[0xfb, 0x1f, 0x37]); /// let array: [u8; 3] = binary.to_array().unwrap(); /// assert_eq!(array, [0xfb, 0x1f, 0x37]); @@ -48,7 +48,7 @@ impl Binary { /// Copy to integer /// /// ``` - /// # use cosmwasm_std::Binary; + /// # use secret_cosmwasm_std::Binary; /// let binary = Binary::from(&[0x8b, 0x67, 0x64, 0x84, 0xb5, 0xfb, 0x1f, 0x37]); /// let num = u64::from_be_bytes(binary.to_array().unwrap()); /// assert_eq!(num, 10045108015024774967); diff --git a/packages/std/src/coin.rs b/packages/std/src/coin.rs index 289911deef..0c323a1763 100644 --- a/packages/std/src/coin.rs +++ b/packages/std/src/coin.rs @@ -34,8 +34,8 @@ impl fmt::Display for Coin { /// # Examples /// /// ``` -/// # use cosmwasm_std::{coins, BankMsg, CosmosMsg, Response, SubMsg}; -/// # use cosmwasm_std::testing::{mock_env, mock_info}; +/// # use secret_cosmwasm_std::{coins, BankMsg, CosmosMsg, Response, SubMsg}; +/// # use secret_cosmwasm_std::testing::{mock_env, mock_info}; /// # let env = mock_env(); /// # let info = mock_info("sender", &[]); /// let tip = coins(123, "ucosm"); @@ -55,8 +55,8 @@ pub fn coins(amount: u128, denom: impl Into) -> Vec { /// # Examples /// /// ``` -/// # use cosmwasm_std::{coin, BankMsg, CosmosMsg, Response, SubMsg}; -/// # use cosmwasm_std::testing::{mock_env, mock_info}; +/// # use secret_cosmwasm_std::{coin, BankMsg, CosmosMsg, Response, SubMsg}; +/// # use secret_cosmwasm_std::testing::{mock_env, mock_info}; /// # let env = mock_env(); /// # let info = mock_info("sender", &[]); /// let tip = vec![ diff --git a/packages/std/src/hex_binary.rs b/packages/std/src/hex_binary.rs index 4aa5f7cc8e..ab04386d91 100644 --- a/packages/std/src/hex_binary.rs +++ b/packages/std/src/hex_binary.rs @@ -35,7 +35,7 @@ impl HexBinary { /// Copy to array of explicit length /// /// ``` - /// # use cosmwasm_std::HexBinary; + /// # use secret_cosmwasm_std::HexBinary; /// let data = HexBinary::from(&[0xfb, 0x1f, 0x37]); /// let array: [u8; 3] = data.to_array().unwrap(); /// assert_eq!(array, [0xfb, 0x1f, 0x37]); @@ -44,7 +44,7 @@ impl HexBinary { /// Copy to integer /// /// ``` - /// # use cosmwasm_std::HexBinary; + /// # use secret_cosmwasm_std::HexBinary; /// let data = HexBinary::from(&[0x8b, 0x67, 0x64, 0x84, 0xb5, 0xfb, 0x1f, 0x37]); /// let num = u64::from_be_bytes(data.to_array().unwrap()); /// assert_eq!(num, 10045108015024774967); diff --git a/packages/std/src/ibc.rs b/packages/std/src/ibc.rs index 1ce06432a6..5829609e45 100644 --- a/packages/std/src/ibc.rs +++ b/packages/std/src/ibc.rs @@ -558,7 +558,7 @@ impl IbcBasicResponse { /// ## Examples /// /// ``` - /// use cosmwasm_std::{attr, IbcBasicResponse}; + /// use secret_cosmwasm_std::{attr, IbcBasicResponse}; /// /// let attrs = vec![ /// ("action", "reaction"), @@ -581,7 +581,7 @@ impl IbcBasicResponse { /// ## Examples /// /// ``` - /// use cosmwasm_std::{CosmosMsg, IbcBasicResponse}; + /// use secret_cosmwasm_std::{CosmosMsg, IbcBasicResponse}; /// /// fn make_response_with_msgs(msgs: Vec) -> IbcBasicResponse { /// IbcBasicResponse::new().add_messages(msgs) @@ -596,7 +596,7 @@ impl IbcBasicResponse { /// ## Examples /// /// ``` - /// use cosmwasm_std::{SubMsg, IbcBasicResponse}; + /// use secret_cosmwasm_std::{SubMsg, IbcBasicResponse}; /// /// fn make_response_with_submsgs(msgs: Vec) -> IbcBasicResponse { /// IbcBasicResponse::new().add_submessages(msgs) @@ -710,7 +710,7 @@ impl IbcReceiveResponse { /// ## Examples /// /// ``` - /// use cosmwasm_std::{attr, IbcReceiveResponse}; + /// use secret_cosmwasm_std::{attr, IbcReceiveResponse}; /// /// let attrs = vec![ /// ("action", "reaction"), @@ -733,7 +733,7 @@ impl IbcReceiveResponse { /// ## Examples /// /// ``` - /// use cosmwasm_std::{CosmosMsg, IbcReceiveResponse}; + /// use secret_cosmwasm_std::{CosmosMsg, IbcReceiveResponse}; /// /// fn make_response_with_msgs(msgs: Vec) -> IbcReceiveResponse { /// IbcReceiveResponse::new().add_messages(msgs) @@ -748,7 +748,7 @@ impl IbcReceiveResponse { /// ## Examples /// /// ``` - /// use cosmwasm_std::{SubMsg, IbcReceiveResponse}; + /// use secret_cosmwasm_std::{SubMsg, IbcReceiveResponse}; /// /// fn make_response_with_submsgs(msgs: Vec) -> IbcReceiveResponse { /// IbcReceiveResponse::new().add_submessages(msgs) diff --git a/packages/std/src/math/decimal.rs b/packages/std/src/math/decimal.rs index 72975e22e3..68a9046cbc 100644 --- a/packages/std/src/math/decimal.rs +++ b/packages/std/src/math/decimal.rs @@ -84,7 +84,7 @@ impl Decimal { /// ## Examples /// /// ``` - /// # use cosmwasm_std::{Decimal, Uint128}; + /// # use secret_cosmwasm_std::{Decimal, Uint128}; /// let a = Decimal::from_atomics(Uint128::new(1234), 3).unwrap(); /// assert_eq!(a.to_string(), "1.234"); /// @@ -165,7 +165,7 @@ impl Decimal { /// ## Examples /// /// ``` - /// # use cosmwasm_std::{Decimal, Uint128}; + /// # use secret_cosmwasm_std::{Decimal, Uint128}; /// # use std::str::FromStr; /// // Value with whole and fractional part /// let a = Decimal::from_str("1.234").unwrap(); diff --git a/packages/std/src/math/decimal256.rs b/packages/std/src/math/decimal256.rs index 0c2b134b5b..612e6dcfcc 100644 --- a/packages/std/src/math/decimal256.rs +++ b/packages/std/src/math/decimal256.rs @@ -94,7 +94,7 @@ impl Decimal256 { /// ## Examples /// /// ``` - /// # use cosmwasm_std::{Decimal256, Uint256}; + /// # use secret_cosmwasm_std::{Decimal256, Uint256}; /// let a = Decimal256::from_atomics(1234u64, 3).unwrap(); /// assert_eq!(a.to_string(), "1.234"); /// @@ -178,7 +178,7 @@ impl Decimal256 { /// ## Examples /// /// ``` - /// # use cosmwasm_std::{Decimal256, Uint256}; + /// # use secret_cosmwasm_std::{Decimal256, Uint256}; /// # use std::str::FromStr; /// // Value with whole and fractional part /// let a = Decimal256::from_str("1.234").unwrap(); diff --git a/packages/std/src/math/uint128.rs b/packages/std/src/math/uint128.rs index f6d8041184..3e1ec5908b 100644 --- a/packages/std/src/math/uint128.rs +++ b/packages/std/src/math/uint128.rs @@ -21,7 +21,7 @@ use crate::{ConversionOverflowError, Uint256, Uint64}; /// Use `from` to create instances of this and `u128` to get the value out: /// /// ``` -/// # use cosmwasm_std::Uint128; +/// # use secret_cosmwasm_std::Uint128; /// let a = Uint128::from(123u128); /// assert_eq!(a.u128(), 123); /// @@ -124,7 +124,7 @@ impl Uint128 { /// # Examples /// /// ``` - /// use cosmwasm_std::Uint128; + /// use secret_cosmwasm_std::Uint128; /// /// let a = Uint128::MAX; /// let result = a.full_mul(2u32); diff --git a/packages/std/src/math/uint256.rs b/packages/std/src/math/uint256.rs index 3469b1d80a..84aed2653d 100644 --- a/packages/std/src/math/uint256.rs +++ b/packages/std/src/math/uint256.rs @@ -37,7 +37,7 @@ use uints::U256; /// endian bytes: /// /// ``` -/// # use cosmwasm_std::Uint256; +/// # use secret_cosmwasm_std::Uint256; /// let a = Uint256::from(258u128); /// let b = Uint256::new([ /// 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, @@ -207,7 +207,7 @@ impl Uint256 { /// # Examples /// /// ``` - /// use cosmwasm_std::Uint256; + /// use secret_cosmwasm_std::Uint256; /// /// let a = Uint256::MAX; /// let result = a.full_mul(2u32); diff --git a/packages/std/src/math/uint512.rs b/packages/std/src/math/uint512.rs index fe7c1c7a2d..dc31b154c0 100644 --- a/packages/std/src/math/uint512.rs +++ b/packages/std/src/math/uint512.rs @@ -35,7 +35,7 @@ use uints::U512; /// endian bytes: /// /// ``` -/// # use cosmwasm_std::Uint512; +/// # use secret_cosmwasm_std::Uint512; /// let a = Uint512::from(258u128); /// let b = Uint512::new([ /// 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, diff --git a/packages/std/src/math/uint64.rs b/packages/std/src/math/uint64.rs index 57cf1154f4..cfacddb401 100644 --- a/packages/std/src/math/uint64.rs +++ b/packages/std/src/math/uint64.rs @@ -20,7 +20,7 @@ use crate::Uint128; /// Use `from` to create instances of this and `u64` to get the value out: /// /// ``` -/// # use cosmwasm_std::Uint64; +/// # use secret_cosmwasm_std::Uint64; /// let a = Uint64::from(42u64); /// assert_eq!(a.u64(), 42); /// @@ -120,7 +120,7 @@ impl Uint64 { /// # Examples /// /// ``` - /// use cosmwasm_std::Uint64; + /// use secret_cosmwasm_std::Uint64; /// /// let a = Uint64::MAX; /// let result = a.full_mul(2u32); diff --git a/packages/std/src/query/mod.rs b/packages/std/src/query/mod.rs index 00662717c0..be2cb9b81b 100644 --- a/packages/std/src/query/mod.rs +++ b/packages/std/src/query/mod.rs @@ -55,7 +55,7 @@ pub enum QueryRequest { /// # Examples /// /// ``` -/// # use cosmwasm_std::CustomQuery; +/// # use secret_cosmwasm_std::CustomQuery; /// # use schemars::JsonSchema; /// # use serde::{Deserialize, Serialize}; /// #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] diff --git a/packages/std/src/results/contract_result.rs b/packages/std/src/results/contract_result.rs index 5709b0684f..a27dcf2f02 100644 --- a/packages/std/src/results/contract_result.rs +++ b/packages/std/src/results/contract_result.rs @@ -15,7 +15,7 @@ use std::fmt; /// Success: /// /// ``` -/// # use cosmwasm_std::{to_vec, ContractResult, Response}; +/// # use secret_cosmwasm_std::{to_vec, ContractResult, Response}; /// let response: Response = Response::default(); /// let result: ContractResult = ContractResult::Ok(response); /// assert_eq!(to_vec(&result).unwrap(), br#"{"Ok":{"messages":[],"attributes":[],"events":[],"data":null}}"#); @@ -24,7 +24,7 @@ use std::fmt; /// Failure: /// /// ``` -/// # use cosmwasm_std::{to_vec, ContractResult, Response}; +/// # use secret_cosmwasm_std::{to_vec, ContractResult, Response}; /// let error_msg = String::from("Something went wrong"); /// let result: ContractResult = ContractResult::Err(error_msg); /// assert_eq!(to_vec(&result).unwrap(), br#"{"Err":"Something went wrong"}"#); diff --git a/packages/std/src/results/response.rs b/packages/std/src/results/response.rs index 097fe49fc2..70d82934d4 100644 --- a/packages/std/src/results/response.rs +++ b/packages/std/src/results/response.rs @@ -16,10 +16,10 @@ use super::{Attribute, CosmosMsg, Empty, Event, SubMsg}; /// Direct: /// /// ``` -/// # use cosmwasm_std::{Binary, DepsMut, Env, MessageInfo}; +/// # use secret_cosmwasm_std::{Binary, DepsMut, Env, MessageInfo}; /// # type InstantiateMsg = (); /// # -/// use cosmwasm_std::{attr, Response, StdResult}; +/// use secret_cosmwasm_std::{attr, Response, StdResult}; /// /// pub fn instantiate( /// deps: DepsMut, @@ -36,11 +36,11 @@ use super::{Attribute, CosmosMsg, Empty, Event, SubMsg}; /// Mutating: /// /// ``` -/// # use cosmwasm_std::{coins, BankMsg, Binary, DepsMut, Env, MessageInfo, SubMsg}; +/// # use secret_cosmwasm_std::{coins, BankMsg, Binary, DepsMut, Env, MessageInfo, SubMsg}; /// # type InstantiateMsg = (); /// # type MyError = (); /// # -/// use cosmwasm_std::Response; +/// use secret_cosmwasm_std::Response; /// /// pub fn instantiate( /// deps: DepsMut, @@ -155,7 +155,7 @@ impl Response { /// Adding a list of attributes using the pair notation for key and value: /// /// ``` - /// use cosmwasm_std::Response; + /// use secret_cosmwasm_std::Response; /// /// let attrs = vec![ /// ("action", "reaction"), @@ -169,7 +169,7 @@ impl Response { /// Adding an optional value as an optional attribute by turning it into a list of 0 or 1 elements: /// /// ``` - /// use cosmwasm_std::{Attribute, Response}; + /// use secret_cosmwasm_std::{Attribute, Response}; /// /// // Some value /// let value: Option = Some("sarah".to_string()); @@ -200,7 +200,7 @@ impl Response { /// ## Examples /// /// ``` - /// use cosmwasm_std::{CosmosMsg, Response}; + /// use secret_cosmwasm_std::{CosmosMsg, Response}; /// /// fn make_response_with_msgs(msgs: Vec) -> Response { /// Response::new().add_messages(msgs) @@ -215,7 +215,7 @@ impl Response { /// ## Examples /// /// ``` - /// use cosmwasm_std::{SubMsg, Response}; + /// use secret_cosmwasm_std::{SubMsg, Response}; /// /// fn make_response_with_submsgs(msgs: Vec) -> Response { /// Response::new().add_submessages(msgs) diff --git a/packages/std/src/results/submessages.rs b/packages/std/src/results/submessages.rs index 04e22acd16..fb28591b5c 100644 --- a/packages/std/src/results/submessages.rs +++ b/packages/std/src/results/submessages.rs @@ -73,7 +73,7 @@ impl SubMsg { /// ## Examples /// /// ``` - /// # use cosmwasm_std::{coins, BankMsg, ReplyOn, SubMsg}; + /// # use secret_cosmwasm_std::{coins, BankMsg, ReplyOn, SubMsg}; /// # let msg = BankMsg::Send { to_address: String::from("you"), amount: coins(1015, "earth") }; /// let sub_msg: SubMsg = SubMsg::reply_always(msg, 1234).with_gas_limit(60_000); /// assert_eq!(sub_msg.id, 1234); @@ -120,7 +120,7 @@ pub struct Reply { /// Success: /// /// ``` -/// # use cosmwasm_std::{to_vec, Binary, Event, SubMsgResponse, SubMsgResult}; +/// # use secret_cosmwasm_std::{to_vec, Binary, Event, SubMsgResponse, SubMsgResult}; /// let response = SubMsgResponse { /// data: Some(Binary::from_base64("MTIzCg==").unwrap()), /// events: vec![Event::new("wasm").add_attribute("fo", "ba")], @@ -132,7 +132,7 @@ pub struct Reply { /// Failure: /// /// ``` -/// # use cosmwasm_std::{to_vec, SubMsgResult, Response}; +/// # use secret_cosmwasm_std::{to_vec, SubMsgResult, Response}; /// let error_msg = String::from("Something went wrong"); /// let result = SubMsgResult::Err(error_msg); /// assert_eq!(to_vec(&result).unwrap(), br#"{"error":"Something went wrong"}"#); diff --git a/packages/std/src/results/system_result.rs b/packages/std/src/results/system_result.rs index fbef7a6422..6056cd347d 100644 --- a/packages/std/src/results/system_result.rs +++ b/packages/std/src/results/system_result.rs @@ -15,7 +15,7 @@ use super::super::errors::SystemError; /// Success: /// /// ``` -/// # use cosmwasm_std::{to_vec, Binary, ContractResult, SystemResult}; +/// # use secret_cosmwasm_std::{to_vec, Binary, ContractResult, SystemResult}; /// let data = Binary::from(b"hello, world"); /// let result = SystemResult::Ok(ContractResult::Ok(data)); /// assert_eq!(to_vec(&result).unwrap(), br#"{"Ok":{"Ok":"aGVsbG8sIHdvcmxk"}}"#); @@ -24,7 +24,7 @@ use super::super::errors::SystemError; /// Failure: /// /// ``` -/// # use cosmwasm_std::{to_vec, Binary, ContractResult, SystemResult, SystemError}; +/// # use secret_cosmwasm_std::{to_vec, Binary, ContractResult, SystemResult, SystemError}; /// let error = SystemError::Unknown {}; /// let result: SystemResult = SystemResult::Err(error); /// assert_eq!(to_vec(&result).unwrap(), br#"{"Err":{"unknown":{}}}"#); diff --git a/packages/std/src/testing/mock.rs b/packages/std/src/testing/mock.rs index 1bb99079d0..5e9c510832 100644 --- a/packages/std/src/testing/mock.rs +++ b/packages/std/src/testing/mock.rs @@ -1540,7 +1540,7 @@ mod tests { }); match result { SystemResult::Ok(ContractResult::Err(err)) => { - assert_eq!(err, "Error parsing into type cosmwasm_std::testing::mock::tests::wasm_querier_works::{{closure}}::MyMsg: Invalid type") + assert_eq!(err, "Error parsing into type secret_cosmwasm_std::testing::mock::tests::wasm_querier_works::{{closure}}::MyMsg: Invalid type") } res => panic!("Unexpected result: {:?}", res), } diff --git a/packages/std/src/timestamp.rs b/packages/std/src/timestamp.rs index fa96fb477c..c562e7cdeb 100644 --- a/packages/std/src/timestamp.rs +++ b/packages/std/src/timestamp.rs @@ -11,7 +11,7 @@ use crate::math::Uint64; /// ## Examples /// /// ``` -/// # use cosmwasm_std::Timestamp; +/// # use secret_cosmwasm_std::Timestamp; /// let ts = Timestamp::from_nanos(1_000_000_202); /// assert_eq!(ts.nanos(), 1_000_000_202); /// assert_eq!(ts.seconds(), 1); diff --git a/packages/std/src/traits.rs b/packages/std/src/traits.rs index e97accfd17..88c7dd9aa0 100644 --- a/packages/std/src/traits.rs +++ b/packages/std/src/traits.rs @@ -84,8 +84,8 @@ pub trait Api { /// ## Examples /// /// ``` - /// # use cosmwasm_std::{Api, Addr}; - /// # use cosmwasm_std::testing::MockApi; + /// # use secret_cosmwasm_std::{Api, Addr}; + /// # use secret_cosmwasm_std::testing::MockApi; /// # let api = MockApi::default(); /// let input = "what-users-provide"; /// let validated: Addr = api.addr_validate(input).unwrap(); diff --git a/packages/std/src/types.rs b/packages/std/src/types.rs index ff3a3394c6..826d0dafeb 100644 --- a/packages/std/src/types.rs +++ b/packages/std/src/types.rs @@ -40,7 +40,7 @@ pub struct BlockInfo { /// Using chrono: /// /// ``` - /// # use cosmwasm_std::{Addr, BlockInfo, ContractInfo, Env, MessageInfo, Timestamp, TransactionInfo}; + /// # use secret_cosmwasm_std::{Addr, BlockInfo, ContractInfo, Env, MessageInfo, Timestamp, TransactionInfo}; /// # let env = Env { /// # block: BlockInfo { /// # height: 12_345, @@ -63,7 +63,7 @@ pub struct BlockInfo { /// Creating a simple millisecond-precision timestamp (as used in JavaScript): /// /// ``` - /// # use cosmwasm_std::{Addr, BlockInfo, ContractInfo, Env, MessageInfo, Timestamp, TransactionInfo}; + /// # use secret_cosmwasm_std::{Addr, BlockInfo, ContractInfo, Env, MessageInfo, Timestamp, TransactionInfo}; /// # let env = Env { /// # block: BlockInfo { /// # height: 12_345, diff --git a/packages/storage/src/bucket.rs b/packages/storage/src/bucket.rs index 843b5d35a9..738048a472 100644 --- a/packages/storage/src/bucket.rs +++ b/packages/storage/src/bucket.rs @@ -169,8 +169,8 @@ where #[cfg(test)] mod tests { use super::*; - use cosmwasm_std::testing::MockStorage; - use cosmwasm_std::StdError; + use secret_cosmwasm_std::testing::MockStorage; + use secret_cosmwasm_std::StdError; use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] diff --git a/packages/storage/src/namespace_helpers.rs b/packages/storage/src/namespace_helpers.rs index 82811c6e80..37a4fe693b 100644 --- a/packages/storage/src/namespace_helpers.rs +++ b/packages/storage/src/namespace_helpers.rs @@ -86,7 +86,7 @@ fn namespace_upper_bound(input: &[u8]) -> Vec { mod tests { use super::*; use crate::length_prefixed::to_length_prefixed; - use cosmwasm_std::testing::MockStorage; + use crate::cosmwasm_std::testing::MockStorage; #[test] fn prefix_get_set() { diff --git a/packages/storage/src/prefixed_storage.rs b/packages/storage/src/prefixed_storage.rs index e8d2250bb1..b82beb0d02 100644 --- a/packages/storage/src/prefixed_storage.rs +++ b/packages/storage/src/prefixed_storage.rs @@ -120,7 +120,7 @@ impl<'a> Storage for ReadonlyPrefixedStorage<'a> { #[cfg(test)] mod tests { use super::*; - use cosmwasm_std::testing::MockStorage; + use crate::cosmwasm_std::testing::MockStorage; #[test] fn prefixed_storage_set_and_get() { diff --git a/packages/storage/src/sequence.rs b/packages/storage/src/sequence.rs index 74f4f1a16d..84fee76b0c 100644 --- a/packages/storage/src/sequence.rs +++ b/packages/storage/src/sequence.rs @@ -24,7 +24,7 @@ pub fn nextval(seq: &mut Singleton) -> StdResult { #[cfg(test)] mod tests { use super::*; - use cosmwasm_std::testing::MockStorage; + use crate::cosmwasm_std::testing::MockStorage; #[test] fn walk_through_sequence() { diff --git a/packages/storage/src/singleton.rs b/packages/storage/src/singleton.rs index 75158fa4ca..c201c93e1f 100644 --- a/packages/storage/src/singleton.rs +++ b/packages/storage/src/singleton.rs @@ -128,10 +128,10 @@ where #[cfg(test)] mod tests { use super::*; - use cosmwasm_std::testing::MockStorage; + use crate::cosmwasm_std::testing::MockStorage; use serde::{Deserialize, Serialize}; - use cosmwasm_std::{OverflowError, OverflowOperation, StdError}; + use crate::cosmwasm_std::{OverflowError, OverflowOperation, StdError}; #[derive(Serialize, Deserialize, PartialEq, Debug)] struct Config { diff --git a/packages/storage/src/type_helpers.rs b/packages/storage/src/type_helpers.rs index 0ee3422e6b..2e32672faa 100644 --- a/packages/storage/src/type_helpers.rs +++ b/packages/storage/src/type_helpers.rs @@ -36,7 +36,7 @@ pub(crate) fn deserialize_kv(kv: Record>) -> StdRes #[cfg(test)] mod tests { use super::*; - use cosmwasm_std::{to_vec, StdError}; + use crate::cosmwasm_std::{to_vec, StdError}; use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, PartialEq, Debug)] @@ -81,7 +81,7 @@ mod tests { let parsed = must_deserialize::(&None); match parsed.unwrap_err() { StdError::NotFound { kind, .. } => { - assert_eq!(kind, "cosmwasm_storage::type_helpers::tests::Person") + assert_eq!(kind, "secret_cosmwasm_storage::type_helpers::tests::Person") } e => panic!("Unexpected error {}", e), }