diff --git a/Cargo.lock b/Cargo.lock index 72ab44e19..d47757bdc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1095,8 +1095,8 @@ checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" [[package]] name = "soroban-builtin-sdk-macros" -version = "20.1.0" -source = "git+https://github.com/stellar/rs-soroban-env?rev=c1b238b65bfd13666be4ac14e0e390c31b549caf#c1b238b65bfd13666be4ac14e0e390c31b549caf" +version = "20.1.1" +source = "git+https://github.com/stellar/rs-soroban-env?rev=096d4614299ac08c93d255a5482dd079873265dd#096d4614299ac08c93d255a5482dd079873265dd" dependencies = [ "itertools", "proc-macro2", @@ -1106,8 +1106,8 @@ dependencies = [ [[package]] name = "soroban-env-common" -version = "20.1.0" -source = "git+https://github.com/stellar/rs-soroban-env?rev=c1b238b65bfd13666be4ac14e0e390c31b549caf#c1b238b65bfd13666be4ac14e0e390c31b549caf" +version = "20.1.1" +source = "git+https://github.com/stellar/rs-soroban-env?rev=096d4614299ac08c93d255a5482dd079873265dd#096d4614299ac08c93d255a5482dd079873265dd" dependencies = [ "arbitrary", "crate-git-revision", @@ -1123,8 +1123,8 @@ dependencies = [ [[package]] name = "soroban-env-guest" -version = "20.1.0" -source = "git+https://github.com/stellar/rs-soroban-env?rev=c1b238b65bfd13666be4ac14e0e390c31b549caf#c1b238b65bfd13666be4ac14e0e390c31b549caf" +version = "20.1.1" +source = "git+https://github.com/stellar/rs-soroban-env?rev=096d4614299ac08c93d255a5482dd079873265dd#096d4614299ac08c93d255a5482dd079873265dd" dependencies = [ "soroban-env-common", "static_assertions", @@ -1132,8 +1132,8 @@ dependencies = [ [[package]] name = "soroban-env-host" -version = "20.1.0" -source = "git+https://github.com/stellar/rs-soroban-env?rev=c1b238b65bfd13666be4ac14e0e390c31b549caf#c1b238b65bfd13666be4ac14e0e390c31b549caf" +version = "20.1.1" +source = "git+https://github.com/stellar/rs-soroban-env?rev=096d4614299ac08c93d255a5482dd079873265dd#096d4614299ac08c93d255a5482dd079873265dd" dependencies = [ "backtrace", "curve25519-dalek", @@ -1158,8 +1158,8 @@ dependencies = [ [[package]] name = "soroban-env-macros" -version = "20.1.0" -source = "git+https://github.com/stellar/rs-soroban-env?rev=c1b238b65bfd13666be4ac14e0e390c31b549caf#c1b238b65bfd13666be4ac14e0e390c31b549caf" +version = "20.1.1" +source = "git+https://github.com/stellar/rs-soroban-env?rev=096d4614299ac08c93d255a5482dd079873265dd#096d4614299ac08c93d255a5482dd079873265dd" dependencies = [ "itertools", "proc-macro2", @@ -1259,8 +1259,8 @@ dependencies = [ [[package]] name = "soroban-wasmi" -version = "0.31.1-soroban.20.0.0" -source = "git+https://github.com/stellar/wasmi?rev=ab29800224d85ee64d4ac127bac84cdbb0276721#ab29800224d85ee64d4ac127bac84cdbb0276721" +version = "0.31.1-soroban.20.0.1" +source = "git+https://github.com/stellar/wasmi?rev=0ed3f3dee30dc41ebe21972399e0a73a41944aa0#0ed3f3dee30dc41ebe21972399e0a73a41944aa0" dependencies = [ "smallvec", "spin", @@ -1626,12 +1626,12 @@ checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" [[package]] name = "wasmi_arena" version = "0.4.0" -source = "git+https://github.com/stellar/wasmi?rev=ab29800224d85ee64d4ac127bac84cdbb0276721#ab29800224d85ee64d4ac127bac84cdbb0276721" +source = "git+https://github.com/stellar/wasmi?rev=0ed3f3dee30dc41ebe21972399e0a73a41944aa0#0ed3f3dee30dc41ebe21972399e0a73a41944aa0" [[package]] name = "wasmi_core" version = "0.13.0" -source = "git+https://github.com/stellar/wasmi?rev=ab29800224d85ee64d4ac127bac84cdbb0276721#ab29800224d85ee64d4ac127bac84cdbb0276721" +source = "git+https://github.com/stellar/wasmi?rev=0ed3f3dee30dc41ebe21972399e0a73a41944aa0#0ed3f3dee30dc41ebe21972399e0a73a41944aa0" dependencies = [ "downcast-rs", "libm", diff --git a/Cargo.toml b/Cargo.toml index f3b10e2f3..18d4aac42 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,19 +41,19 @@ soroban-ledger-snapshot = { version = "20.2.0", path = "soroban-ledger-snapshot" soroban-token-sdk = { version = "20.2.0", path = "soroban-token-sdk" } [workspace.dependencies.soroban-env-common] -version = "=20.1.0" +version = "=20.1.1" git = "https://github.com/stellar/rs-soroban-env" -rev = "c1b238b65bfd13666be4ac14e0e390c31b549caf" +rev = "096d4614299ac08c93d255a5482dd079873265dd" [workspace.dependencies.soroban-env-guest] -version = "=20.1.0" +version = "=20.1.1" git = "https://github.com/stellar/rs-soroban-env" -rev = "c1b238b65bfd13666be4ac14e0e390c31b549caf" +rev = "096d4614299ac08c93d255a5482dd079873265dd" [workspace.dependencies.soroban-env-host] -version = "=20.1.0" +version = "=20.1.1" git = "https://github.com/stellar/rs-soroban-env" -rev = "c1b238b65bfd13666be4ac14e0e390c31b549caf" +rev = "096d4614299ac08c93d255a5482dd079873265dd" [workspace.dependencies.stellar-strkey] version = "=0.0.8" diff --git a/soroban-sdk/src/address.rs b/soroban-sdk/src/address.rs index 37b1eb28d..1e368413f 100644 --- a/soroban-sdk/src/address.rs +++ b/soroban-sdk/src/address.rs @@ -125,23 +125,23 @@ impl TryFromVal for Val { #[cfg(not(target_family = "wasm"))] impl TryFrom<&Address> for ScVal { - type Error = ConversionError; - fn try_from(v: &Address) -> Result { + type Error = super::env::Error; + fn try_from(v: &Address) -> Result { ScVal::try_from_val(&v.env, &v.obj.to_val()) } } #[cfg(not(target_family = "wasm"))] impl TryFrom
for ScVal { - type Error = ConversionError; - fn try_from(v: Address) -> Result { + type Error = super::env::Error; + fn try_from(v: Address) -> Result { (&v).try_into() } } #[cfg(not(target_family = "wasm"))] impl TryFromVal for Address { - type Error = ConversionError; + type Error = super::env::Error; fn try_from_val(env: &Env, val: &ScVal) -> Result { Ok( AddressObject::try_from_val(env, &Val::try_from_val(env, val)?)? @@ -153,18 +153,18 @@ impl TryFromVal for Address { #[cfg(not(target_family = "wasm"))] impl TryFrom<&Address> for ScAddress { - type Error = ConversionError; + type Error = super::env::Error; fn try_from(v: &Address) -> Result { match ScVal::try_from_val(&v.env, &v.obj.to_val())? { ScVal::Address(a) => Ok(a), - _ => Err(ConversionError), + _ => Err(ConversionError.into()), } } } #[cfg(not(target_family = "wasm"))] impl TryFrom
for ScAddress { - type Error = ConversionError; + type Error = super::env::Error; fn try_from(v: Address) -> Result { (&v).try_into() } @@ -172,7 +172,7 @@ impl TryFrom
for ScAddress { #[cfg(not(target_family = "wasm"))] impl TryFromVal for Address { - type Error = ConversionError; + type Error = super::env::Error; fn try_from_val(env: &Env, val: &ScAddress) -> Result { Ok(AddressObject::try_from_val( env, diff --git a/soroban-sdk/src/bytes.rs b/soroban-sdk/src/bytes.rs index b835b05bc..f65446b84 100644 --- a/soroban-sdk/src/bytes.rs +++ b/soroban-sdk/src/bytes.rs @@ -230,23 +230,23 @@ impl From<&Bytes> for Bytes { #[cfg(not(target_family = "wasm"))] impl TryFrom<&Bytes> for ScVal { - type Error = ConversionError; - fn try_from(v: &Bytes) -> Result { + type Error = super::env::Error; + fn try_from(v: &Bytes) -> Result { ScVal::try_from_val(&v.env, &v.obj.to_val()) } } #[cfg(not(target_family = "wasm"))] impl TryFrom for ScVal { - type Error = ConversionError; - fn try_from(v: Bytes) -> Result { + type Error = super::env::Error; + fn try_from(v: Bytes) -> Result { (&v).try_into() } } #[cfg(not(target_family = "wasm"))] impl TryFromVal for Bytes { - type Error = ConversionError; + type Error = super::env::Error; fn try_from_val(env: &Env, val: &ScVal) -> Result { Ok( BytesObject::try_from_val(env, &Val::try_from_val(env, val)?)? @@ -892,25 +892,25 @@ impl From<&BytesN> for Bytes { #[cfg(not(target_family = "wasm"))] impl TryFrom<&BytesN> for ScVal { - type Error = ConversionError; - fn try_from(v: &BytesN) -> Result { + type Error = super::env::Error; + fn try_from(v: &BytesN) -> Result { ScVal::try_from_val(&v.0.env, &v.0.obj.to_val()) } } #[cfg(not(target_family = "wasm"))] impl TryFrom> for ScVal { - type Error = ConversionError; - fn try_from(v: BytesN) -> Result { + type Error = super::env::Error; + fn try_from(v: BytesN) -> Result { (&v).try_into() } } #[cfg(not(target_family = "wasm"))] impl TryFromVal for BytesN { - type Error = ConversionError; + type Error = super::env::Error; fn try_from_val(env: &Env, val: &ScVal) -> Result { - Bytes::try_from_val(env, val)?.try_into() + Ok(Bytes::try_from_val(env, val)?.try_into()?) } } diff --git a/soroban-sdk/src/map.rs b/soroban-sdk/src/map.rs index 6fb954436..ae2341968 100644 --- a/soroban-sdk/src/map.rs +++ b/soroban-sdk/src/map.rs @@ -226,24 +226,24 @@ where #[cfg(not(target_family = "wasm"))] impl TryFrom<&Map> for ScVal { - type Error = ConversionError; - fn try_from(v: &Map) -> Result { + type Error = super::env::Error; + fn try_from(v: &Map) -> Result { ScVal::try_from_val(&v.env, &v.obj.to_val()) } } #[cfg(not(target_family = "wasm"))] impl TryFrom> for ScVal { - type Error = ConversionError; - fn try_from(v: Map) -> Result { + type Error = super::env::Error; + fn try_from(v: Map) -> Result { (&v).try_into() } } #[cfg(not(target_family = "wasm"))] impl TryFromVal> for ScVal { - type Error = ConversionError; - fn try_from_val(_e: &Env, v: &Map) -> Result { + type Error = super::env::Error; + fn try_from_val(_e: &Env, v: &Map) -> Result { v.try_into() } } @@ -254,7 +254,7 @@ where K: IntoVal + TryFromVal, V: IntoVal + TryFromVal, { - type Error = ConversionError; + type Error = super::env::Error; fn try_from_val(env: &Env, val: &ScVal) -> Result { Ok(MapObject::try_from_val(env, &Val::try_from_val(env, val)?)? .try_into_val(env) diff --git a/soroban-sdk/src/num.rs b/soroban-sdk/src/num.rs index d7063f183..bbbed44fe 100644 --- a/soroban-sdk/src/num.rs +++ b/soroban-sdk/src/num.rs @@ -90,10 +90,10 @@ macro_rules! impl_num_wrapping_val_type { #[cfg(not(target_family = "wasm"))] impl TryFrom<&$wrapper> for ScVal { - type Error = ConversionError; - fn try_from(v: &$wrapper) -> Result { + type Error = super::env::Error; + fn try_from(v: &$wrapper) -> Result { if let Ok(ss) = <$small>::try_from(v.val) { - ScVal::try_from(ss) + Ok(ScVal::try_from(ss)?) } else { ScVal::try_from_val(&v.env, &v.to_val()) } @@ -102,15 +102,15 @@ macro_rules! impl_num_wrapping_val_type { #[cfg(not(target_family = "wasm"))] impl TryFrom<$wrapper> for ScVal { - type Error = ConversionError; - fn try_from(v: $wrapper) -> Result { + type Error = super::env::Error; + fn try_from(v: $wrapper) -> Result { (&v).try_into() } } #[cfg(not(target_family = "wasm"))] impl TryFromVal for $wrapper { - type Error = ConversionError; + type Error = super::env::Error; fn try_from_val(env: &Env, val: &ScVal) -> Result { Ok(<$val>::try_from_val(env, &Val::try_from_val(env, val)?)? .try_into_val(env) diff --git a/soroban-sdk/src/string.rs b/soroban-sdk/src/string.rs index 565543ce4..28a97fd9c 100644 --- a/soroban-sdk/src/string.rs +++ b/soroban-sdk/src/string.rs @@ -135,23 +135,23 @@ impl From<&String> for String { #[cfg(not(target_family = "wasm"))] impl TryFrom<&String> for ScVal { - type Error = ConversionError; - fn try_from(v: &String) -> Result { + type Error = super::env::Error; + fn try_from(v: &String) -> Result { ScVal::try_from_val(&v.env, &v.obj.to_val()) } } #[cfg(not(target_family = "wasm"))] impl TryFrom for ScVal { - type Error = ConversionError; - fn try_from(v: String) -> Result { + type Error = super::env::Error; + fn try_from(v: String) -> Result { (&v).try_into() } } #[cfg(not(target_family = "wasm"))] impl TryFromVal for String { - type Error = ConversionError; + type Error = super::env::Error; fn try_from_val(env: &Env, val: &ScVal) -> Result { Ok( StringObject::try_from_val(env, &Val::try_from_val(env, val)?)? diff --git a/soroban-sdk/src/symbol.rs b/soroban-sdk/src/symbol.rs index d96c3785c..300245178 100644 --- a/soroban-sdk/src/symbol.rs +++ b/soroban-sdk/src/symbol.rs @@ -137,10 +137,10 @@ impl TryFromVal for Symbol { #[cfg(not(target_family = "wasm"))] impl TryFrom<&Symbol> for ScVal { - type Error = ConversionError; - fn try_from(v: &Symbol) -> Result { + type Error = super::env::Error; + fn try_from(v: &Symbol) -> Result { if let Ok(ss) = SymbolSmall::try_from(v.val) { - Ok(ScVal::try_from(ss)?) + ScVal::try_from(ss) } else { let e: Env = v.env.clone().try_into()?; ScVal::try_from_val(&e, &v.to_val()) @@ -150,23 +150,23 @@ impl TryFrom<&Symbol> for ScVal { #[cfg(not(target_family = "wasm"))] impl TryFrom for ScVal { - type Error = ConversionError; - fn try_from(v: Symbol) -> Result { + type Error = super::env::Error; + fn try_from(v: Symbol) -> Result { (&v).try_into() } } #[cfg(not(target_family = "wasm"))] impl TryFromVal for ScVal { - type Error = ConversionError; - fn try_from_val(_e: &Env, v: &Symbol) -> Result { + type Error = super::env::Error; + fn try_from_val(_e: &Env, v: &Symbol) -> Result { v.try_into() } } #[cfg(not(target_family = "wasm"))] impl TryFromVal for Symbol { - type Error = ConversionError; + type Error = super::env::Error; fn try_from_val(env: &Env, val: &ScVal) -> Result { Ok(SymbolVal::try_from_val(env, &Val::try_from_val(env, val)?)? .try_into_val(env) @@ -176,7 +176,7 @@ impl TryFromVal for Symbol { #[cfg(not(target_family = "wasm"))] impl TryFromVal for Symbol { - type Error = ConversionError; + type Error = super::env::Error; fn try_from_val(env: &Env, val: &ScSymbol) -> Result { Ok(SymbolVal::try_from_val(env, val)? .try_into_val(env) diff --git a/soroban-sdk/src/tests/env.rs b/soroban-sdk/src/tests/env.rs index aca473d16..c570d4b67 100644 --- a/soroban-sdk/src/tests/env.rs +++ b/soroban-sdk/src/tests/env.rs @@ -72,8 +72,8 @@ fn default_and_from_snapshot_same_settings() { let logs1 = env1.logs().all(); let logs2 = env2.logs().all(); - assert_eq!(logs1, &["[Diagnostic Event] contract:0000000000000000000000000000000000000000000000000000000000000001, topics:[log], data:\"test\""]); - assert_eq!(logs2, &["[Diagnostic Event] contract:0000000000000000000000000000000000000000000000000000000000000001, topics:[log], data:\"test\""]); + assert_eq!(logs1, &["[Diagnostic Event] contract:CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM, topics:[log], data:\"test\""]); + assert_eq!(logs2, &["[Diagnostic Event] contract:CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM, topics:[log], data:\"test\""]); } #[test] diff --git a/soroban-sdk/src/vec.rs b/soroban-sdk/src/vec.rs index c436da7ba..e50e0acfd 100644 --- a/soroban-sdk/src/vec.rs +++ b/soroban-sdk/src/vec.rs @@ -259,44 +259,44 @@ use super::xdr::{ScVal, ScVec, VecM}; #[cfg(not(target_family = "wasm"))] impl TryFrom<&Vec> for ScVal { - type Error = ConversionError; - fn try_from(v: &Vec) -> Result { - ScVal::try_from_val(&v.env, &v.obj.to_val()) + type Error = super::env::Error; + fn try_from(v: &Vec) -> Result { + Ok(ScVal::try_from_val(&v.env, &v.obj.to_val())?) } } #[cfg(not(target_family = "wasm"))] impl TryFrom<&Vec> for ScVec { - type Error = ConversionError; - fn try_from(v: &Vec) -> Result { + type Error = super::env::Error; + fn try_from(v: &Vec) -> Result { if let ScVal::Vec(Some(vec)) = ScVal::try_from(v)? { Ok(vec) } else { - Err(ConversionError) + Err(ConversionError.into()) } } } #[cfg(not(target_family = "wasm"))] impl TryFrom> for VecM { - type Error = ConversionError; - fn try_from(v: Vec) -> Result { + type Error = super::env::Error; + fn try_from(v: Vec) -> Result { Ok(ScVec::try_from(v)?.0) } } #[cfg(not(target_family = "wasm"))] impl TryFrom> for ScVal { - type Error = ConversionError; - fn try_from(v: Vec) -> Result { + type Error = super::env::Error; + fn try_from(v: Vec) -> Result { (&v).try_into() } } #[cfg(not(target_family = "wasm"))] impl TryFrom> for ScVec { - type Error = ConversionError; - fn try_from(v: Vec) -> Result { + type Error = super::env::Error; + fn try_from(v: Vec) -> Result { (&v).try_into() } } diff --git a/soroban-sdk/test_snapshots/tests/token_client/test_mock_all_auth.1.json b/soroban-sdk/test_snapshots/tests/token_client/test_mock_all_auth.1.json index 337585bc9..5cdbf608f 100644 --- a/soroban-sdk/test_snapshots/tests/token_client/test_mock_all_auth.1.json +++ b/soroban-sdk/test_snapshots/tests/token_client/test_mock_all_auth.1.json @@ -382,7 +382,7 @@ "symbol": "symbol" }, "val": { - "string": "aaa\\0" + "string": "aaa" } } ] diff --git a/soroban-sdk/test_snapshots/tests/token_client/test_mock_auth.1.json b/soroban-sdk/test_snapshots/tests/token_client/test_mock_auth.1.json index 0ba812438..230c005b0 100644 --- a/soroban-sdk/test_snapshots/tests/token_client/test_mock_auth.1.json +++ b/soroban-sdk/test_snapshots/tests/token_client/test_mock_auth.1.json @@ -413,7 +413,7 @@ "symbol": "symbol" }, "val": { - "string": "aaa\\0" + "string": "aaa" } } ]