From 0a15ae431e3ae5608e8cc54fda1fc3c24617b47d Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Tue, 12 Sep 2023 16:39:59 -0700 Subject: [PATCH] Add "next" feature to crates using xdr directly or indirectly --- soroban-bench-utils/Cargo.toml | 3 + soroban-env-common/Cargo.toml | 1 + soroban-env-common/src/convert.rs | 10 +- soroban-env-common/src/error.rs | 22 ++-- soroban-env-common/src/lib.rs | 7 +- soroban-env-common/src/meta.rs | 16 +++ soroban-env-common/src/num.rs | 2 +- soroban-env-common/src/object.rs | 2 +- soroban-env-common/src/symbol.rs | 4 +- soroban-env-common/src/val.rs | 8 +- soroban-env-common/src/vmcaller_env.rs | 2 +- soroban-env-guest/Cargo.toml | 1 + soroban-env-host/Cargo.toml | 1 + soroban-env-macros/Cargo.toml | 3 + soroban-env-macros/src/lib.rs | 10 +- soroban-synth-wasm/Cargo.toml | 3 + soroban-test-wasms/Cargo.toml | 3 + soroban-test-wasms/src/lib.rs | 109 +++++++++++++----- soroban-test-wasms/wasm-workspace/Cargo.lock | 51 +++++--- soroban-test-wasms/wasm-workspace/Cargo.toml | 4 +- soroban-test-wasms/wasm-workspace/Makefile | 15 ++- .../wasm-workspace/add_f32/Cargo.toml | 4 + .../wasm-workspace/add_i32/Cargo.toml | 4 + .../wasm-workspace/alloc/Cargo.toml | 4 + .../wasm-workspace/auth/Cargo.toml | 4 + .../wasm-workspace/complex/Cargo.toml | 4 + .../wasm-workspace/contract_data/Cargo.toml | 2 + .../wasm-workspace/create_contract/Cargo.toml | 4 + .../delegated_account/Cargo.toml | 4 + .../wasm-workspace/err/Cargo.toml | 6 +- .../wasm-workspace/fannkuch/Cargo.toml | 6 +- .../wasm-workspace/fib/Cargo.toml | 6 +- .../wasm-workspace/hostile/Cargo.toml | 5 +- .../wasm-workspace/invoke_contract/Cargo.toml | 4 + .../wasm-workspace/linear_memory/Cargo.toml | 6 +- .../opt/auth_test_contract.wasm | Bin 5708 -> 0 bytes .../wasm-workspace/opt/{ => curr}/alloc.wasm | Bin .../opt/curr/auth_test_contract.wasm | Bin 0 -> 5753 bytes .../opt/{ => curr}/example_add_f32.wasm | Bin 1062 -> 1066 bytes .../opt/{ => curr}/example_add_i32.wasm | Bin 1009 -> 1013 bytes .../opt/{ => curr}/example_alloc.wasm | Bin 2432 -> 2436 bytes .../opt/curr/example_complex.wasm | Bin 0 -> 1779 bytes .../opt/curr/example_contract_data.wasm | Bin 0 -> 4835 bytes .../{ => curr}/example_create_contract.wasm | Bin 708 -> 712 bytes .../opt/{ => curr}/example_err.wasm | Bin 1051 -> 1106 bytes .../opt/{ => curr}/example_fannkuch.wasm | Bin 1040 -> 1044 bytes .../opt/{ => curr}/example_fib.wasm | Bin 356 -> 360 bytes .../opt/{ => curr}/example_hostile.wasm | Bin 2115 -> 2119 bytes .../{ => curr}/example_invoke_contract.wasm | Bin 1952 -> 1961 bytes .../opt/{ => curr}/example_linear_memory.wasm | Bin 869 -> 873 bytes .../{ => curr}/example_simple_account.wasm | Bin 1986 -> 1994 bytes .../example_updateable_contract.wasm | Bin 597 -> 601 bytes .../opt/{ => curr}/example_vec.wasm | Bin 592 -> 596 bytes .../soroban_write_upgrade_bytes_contract.wasm | Bin 663 -> 667 bytes .../opt/curr/test_delegated_account.wasm | Bin 0 -> 1987 bytes .../wasm-workspace/opt/example_complex.wasm | Bin 1799 -> 0 bytes .../opt/example_contract_data.wasm | Bin 4047 -> 0 bytes .../opt/next/auth_test_contract.wasm | Bin 0 -> 5753 bytes .../opt/next/example_add_f32.wasm | Bin 0 -> 1066 bytes .../opt/next/example_add_i32.wasm | Bin 0 -> 1013 bytes .../opt/next/example_alloc.wasm | Bin 0 -> 2436 bytes .../opt/next/example_complex.wasm | Bin 0 -> 1779 bytes .../opt/next/example_contract_data.wasm | Bin 0 -> 4835 bytes .../opt/next/example_create_contract.wasm | Bin 0 -> 712 bytes .../wasm-workspace/opt/next/example_err.wasm | Bin 0 -> 1106 bytes .../opt/next/example_fannkuch.wasm | Bin 0 -> 1044 bytes .../wasm-workspace/opt/next/example_fib.wasm | Bin 0 -> 360 bytes .../opt/next/example_hostile.wasm | Bin 0 -> 2119 bytes .../opt/next/example_invoke_contract.wasm | Bin 0 -> 1961 bytes .../opt/next/example_linear_memory.wasm | Bin 0 -> 873 bytes .../opt/next/example_simple_account.wasm | Bin 0 -> 1994 bytes .../opt/next/example_updateable_contract.wasm | Bin 0 -> 601 bytes .../wasm-workspace/opt/next/example_vec.wasm | Bin 0 -> 596 bytes .../soroban_write_upgrade_bytes_contract.wasm | Bin 0 -> 667 bytes .../opt/next/test_delegated_account.wasm | Bin 0 -> 1987 bytes .../opt/test_delegated_account.wasm | Bin 1979 -> 0 bytes .../wasm-workspace/simple_account/Cargo.toml | 4 + .../wasm-workspace/update/Cargo.toml | 4 + .../wasm-workspace/vec/Cargo.toml | 6 +- .../write_upgrade_bytes/Cargo.toml | 6 +- 80 files changed, 275 insertions(+), 85 deletions(-) delete mode 100644 soroban-test-wasms/wasm-workspace/opt/auth_test_contract.wasm rename soroban-test-wasms/wasm-workspace/opt/{ => curr}/alloc.wasm (100%) create mode 100644 soroban-test-wasms/wasm-workspace/opt/curr/auth_test_contract.wasm rename soroban-test-wasms/wasm-workspace/opt/{ => curr}/example_add_f32.wasm (83%) rename soroban-test-wasms/wasm-workspace/opt/{ => curr}/example_add_i32.wasm (82%) rename soroban-test-wasms/wasm-workspace/opt/{ => curr}/example_alloc.wasm (93%) create mode 100644 soroban-test-wasms/wasm-workspace/opt/curr/example_complex.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/curr/example_contract_data.wasm rename soroban-test-wasms/wasm-workspace/opt/{ => curr}/example_create_contract.wasm (75%) rename soroban-test-wasms/wasm-workspace/opt/{ => curr}/example_err.wasm (62%) rename soroban-test-wasms/wasm-workspace/opt/{ => curr}/example_fannkuch.wasm (87%) rename soroban-test-wasms/wasm-workspace/opt/{ => curr}/example_fib.wasm (64%) rename soroban-test-wasms/wasm-workspace/opt/{ => curr}/example_hostile.wasm (91%) rename soroban-test-wasms/wasm-workspace/opt/{ => curr}/example_invoke_contract.wasm (77%) rename soroban-test-wasms/wasm-workspace/opt/{ => curr}/example_linear_memory.wasm (84%) rename soroban-test-wasms/wasm-workspace/opt/{ => curr}/example_simple_account.wasm (76%) rename soroban-test-wasms/wasm-workspace/opt/{ => curr}/example_updateable_contract.wasm (73%) rename soroban-test-wasms/wasm-workspace/opt/{ => curr}/example_vec.wasm (76%) rename soroban-test-wasms/wasm-workspace/opt/{ => curr}/soroban_write_upgrade_bytes_contract.wasm (81%) create mode 100644 soroban-test-wasms/wasm-workspace/opt/curr/test_delegated_account.wasm delete mode 100644 soroban-test-wasms/wasm-workspace/opt/example_complex.wasm delete mode 100644 soroban-test-wasms/wasm-workspace/opt/example_contract_data.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/auth_test_contract.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/example_add_f32.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/example_add_i32.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/example_alloc.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/example_complex.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/example_contract_data.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/example_create_contract.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/example_err.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/example_fannkuch.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/example_fib.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/example_hostile.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/example_invoke_contract.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/example_linear_memory.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/example_simple_account.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/example_updateable_contract.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/example_vec.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/soroban_write_upgrade_bytes_contract.wasm create mode 100644 soroban-test-wasms/wasm-workspace/opt/next/test_delegated_account.wasm delete mode 100644 soroban-test-wasms/wasm-workspace/opt/test_delegated_account.wasm diff --git a/soroban-bench-utils/Cargo.toml b/soroban-bench-utils/Cargo.toml index e374fad80..a8b41dad3 100644 --- a/soroban-bench-utils/Cargo.toml +++ b/soroban-bench-utils/Cargo.toml @@ -14,5 +14,8 @@ publish = false soroban-env-common = { workspace = true } tracking-allocator = "0.4.0" +[features] +next = ["soroban-env-common/next"] + [target.'cfg(target_os = "linux")'.dependencies] perf-event = "0.4.7" diff --git a/soroban-env-common/Cargo.toml b/soroban-env-common/Cargo.toml index 9574ac023..054652575 100644 --- a/soroban-env-common/Cargo.toml +++ b/soroban-env-common/Cargo.toml @@ -33,6 +33,7 @@ std = ["stellar-xdr/std", "stellar-xdr/base64"] serde = ["dep:serde", "stellar-xdr/serde"] wasmi = ["dep:wasmi"] testutils = ["dep:arbitrary", "stellar-xdr/arbitrary"] +next = ["stellar-xdr/next"] [package.metadata.docs.rs] all-features = true diff --git a/soroban-env-common/src/convert.rs b/soroban-env-common/src/convert.rs index 588b8a9dd..8dff97024 100644 --- a/soroban-env-common/src/convert.rs +++ b/soroban-env-common/src/convert.rs @@ -1,3 +1,4 @@ +use crate::xdr::int128_helpers; use crate::{ num::{i256_from_pieces, i256_into_pieces, u256_from_pieces, u256_into_pieces}, DurationSmall, DurationVal, Env, I128Small, I128Val, I256Small, I256Val, I64Small, @@ -5,17 +6,16 @@ use crate::{ I256, U256, }; use core::fmt::Debug; -use stellar_xdr::int128_helpers; +#[cfg(feature = "std")] +use crate::xdr::{ + Duration, Int128Parts, Int256Parts, ScVal, TimePoint, UInt128Parts, UInt256Parts, +}; #[cfg(feature = "std")] use crate::{ num, object::ScValObjRef, val::ValConvert, ConversionError, Error, Object, ScValObject, SymbolSmall, Tag, }; -#[cfg(feature = "std")] -use stellar_xdr::{ - Duration, Int128Parts, Int256Parts, ScVal, TimePoint, UInt128Parts, UInt256Parts, -}; /// General trait representing a the ability of some object to perform a /// (possibly unsuccessful) conversion between two other types. diff --git a/soroban-env-common/src/error.rs b/soroban-env-common/src/error.rs index 19b25bfc7..de709488e 100644 --- a/soroban-env-common/src/error.rs +++ b/soroban-env-common/src/error.rs @@ -1,3 +1,4 @@ +use crate::xdr::{ScError, ScErrorCode, ScErrorType, ScVal}; use crate::{ impl_wrapper_as_and_to_rawval, impl_wrapper_tag_based_constructors, impl_wrapper_tag_based_rawvalconvertible, impl_wrapper_wasmi_conversions, Compare, @@ -9,7 +10,6 @@ use core::{ fmt::Debug, hash::{Hash, Hasher}, }; -use stellar_xdr::{ScError, ScErrorCode, ScErrorType, ScVal}; /// Wrapper for a [Val] that is tagged with [Tag::Error], interpreting the /// [Val]'s body as a pair of a 28-bit status-type code and a 32-bit status @@ -95,7 +95,7 @@ impl<'a> From<&'a Error> for Error { } impl TryFrom for ScError { - type Error = stellar_xdr::Error; + type Error = crate::xdr::Error; fn try_from(er: Error) -> Result { let type_: ScErrorType = (er.as_val().get_minor() as i32).try_into()?; let u: u32 = er.as_val().get_major(); @@ -115,15 +115,15 @@ impl TryFrom for ScError { } impl TryFrom for ScVal { - type Error = stellar_xdr::Error; - fn try_from(st: Error) -> Result { + type Error = crate::xdr::Error; + fn try_from(st: Error) -> Result { Ok(ScVal::Error(<_ as TryInto>::try_into(st)?)) } } impl TryFrom<&Error> for ScVal { - type Error = stellar_xdr::Error; - fn try_from(value: &Error) -> Result { + type Error = crate::xdr::Error; + fn try_from(value: &Error) -> Result { (*value).try_into() } } @@ -152,10 +152,10 @@ impl From for Error { } } -impl From for Error { - fn from(e: stellar_xdr::Error) -> Self { +impl From for Error { + fn from(e: crate::xdr::Error) -> Self { match e { - stellar_xdr::Error::DepthLimitExceeded => { + crate::xdr::Error::DepthLimitExceeded => { Error::from_type_and_code(ScErrorType::Context, ScErrorCode::ExceededLimit) } _ => Error::from_type_and_code(ScErrorType::Value, ScErrorCode::InvalidInput), @@ -165,9 +165,9 @@ impl From for Error { // This never happens, but it's needed for some impls of TryFromVal downstream // in the SDK that use the xdr::Error type. -impl From for stellar_xdr::Error { +impl From for crate::xdr::Error { fn from(_value: Error) -> Self { - stellar_xdr::Error::Unsupported + crate::xdr::Error::Unsupported } } diff --git a/soroban-env-common/src/lib.rs b/soroban-env-common/src/lib.rs index 23a42e7f4..2e2d0c316 100644 --- a/soroban-env-common/src/lib.rs +++ b/soroban-env-common/src/lib.rs @@ -71,8 +71,11 @@ pub use num::{I256, U256}; pub use storage_type::StorageType; -// Re-export the XDR definitions -pub use stellar_xdr as xdr; +// Re-export the XDR definitions of a specific version -- curr or next -- of the xdr crate. +#[cfg(not(feature = "next"))] +pub use stellar_xdr::curr as xdr; +#[cfg(feature = "next")] +pub use stellar_xdr::next as xdr; // Val is the 64-bit transparent type. #[cfg(feature = "wasmi")] diff --git a/soroban-env-common/src/meta.rs b/soroban-env-common/src/meta.rs index f5add5769..cb78c3c8a 100644 --- a/soroban-env-common/src/meta.rs +++ b/soroban-env-common/src/meta.rs @@ -40,6 +40,22 @@ pub const ENV_META_V0_SECTION_NAME: &str = "contractenvmetav0"; +// If the "next" feature is enabled, we're building from the "next" xdr +// definitions branch and rust module, which contains experimental, unstable, +// in-development definitions we aren't even close to ready to release to the +// network. This is typically associated with a one-higher-than-released +// protocol number for testing purposes. +#[cfg(feature = "next")] +soroban_env_macros::generate_env_meta_consts!( + ledger_protocol_version: 21, + pre_release_version: 1, +); + +// If the "next" feature is _not_ enabled, it means we're building for a +// nearly-current release to the network and are using the "curr" xdr branch and +// module. This will therefore be associated with a current or nearly-current +// network protocol number. +#[cfg(not(feature = "next"))] soroban_env_macros::generate_env_meta_consts!( ledger_protocol_version: 20, pre_release_version: 57, diff --git a/soroban-env-common/src/num.rs b/soroban-env-common/src/num.rs index 230590efb..48e0307c8 100644 --- a/soroban-env-common/src/num.rs +++ b/soroban-env-common/src/num.rs @@ -1,5 +1,6 @@ use core::cmp::Ordering; +use crate::xdr::{Int256Parts, ScVal, UInt256Parts}; use crate::{ declare_tag_based_signed_small_and_object_wrappers, declare_tag_based_small_and_object_wrappers, @@ -7,7 +8,6 @@ use crate::{ Compare, ConversionError, Env, Tag, Val, }; pub use ethnum::{AsI256, AsU256, I256, U256}; -use stellar_xdr::{Int256Parts, ScVal, UInt256Parts}; declare_tag_based_wrapper!(U32Val); declare_tag_based_wrapper!(I32Val); diff --git a/soroban-env-common/src/object.rs b/soroban-env-common/src/object.rs index e3aea3d30..4a4af6eb3 100644 --- a/soroban-env-common/src/object.rs +++ b/soroban-env-common/src/object.rs @@ -1,9 +1,9 @@ +use crate::xdr::{Duration, ScVal, TimePoint}; use crate::{ impl_rawval_wrapper_base, num, val::ValConvert, Compare, ConversionError, Convert, Env, Tag, TryFromVal, Val, }; use core::{cmp::Ordering, fmt::Debug}; -use stellar_xdr::{Duration, ScVal, TimePoint}; /// Wrapper for a [Val] that is tagged with one of the object types, /// interpreting the [Val]'s body as containing a 32-bit object-code handle diff --git a/soroban-env-common/src/symbol.rs b/soroban-env-common/src/symbol.rs index 6102ce53c..07ab6d418 100644 --- a/soroban-env-common/src/symbol.rs +++ b/soroban-env-common/src/symbol.rs @@ -169,8 +169,8 @@ impl TryFrom<&[u8]> for SymbolSmall { } #[cfg(feature = "std")] -use stellar_xdr::StringM; -use stellar_xdr::SCSYMBOL_LIMIT; +use crate::xdr::StringM; +use crate::xdr::SCSYMBOL_LIMIT; #[cfg(feature = "std")] impl TryFrom> for SymbolSmall { type Error = SymbolError; diff --git a/soroban-env-common/src/val.rs b/soroban-env-common/src/val.rs index 5ed701c40..6c5f6e51c 100644 --- a/soroban-env-common/src/val.rs +++ b/soroban-env-common/src/val.rs @@ -1,12 +1,12 @@ // This permits globals prouced by derive(num_enum::TryFromPrimitive) below. #![cfg_attr(test, allow(non_upper_case_globals))] +use crate::xdr::{ScError, ScValType}; use crate::{ declare_tag_based_object_wrapper, declare_tag_based_wrapper, impl_rawval_wrapper_base, impl_tryfroms_and_tryfromvals_delegating_to_rawvalconvertible, Compare, I32Val, SymbolSmall, SymbolStr, U32Val, }; -use stellar_xdr::{ScError, ScValType}; use super::{Env, Error, TryFromVal}; use core::{cmp::Ordering, convert::Infallible, fmt::Debug}; @@ -97,7 +97,7 @@ pub enum Tag { SymbolSmall = 14, /// Tag for a [Val] that corresponds to - /// [stellar_xdr::ScVal::LedgerKeyContractInstance] + /// [crate::xdr::ScVal::LedgerKeyContractInstance] LedgerKeyContractInstance = 15, /// Code delimiting the upper boundary of "small" types. @@ -338,8 +338,8 @@ impl From for ConversionError { } } -impl From for ConversionError { - fn from(_: stellar_xdr::Error) -> Self { +impl From for ConversionError { + fn from(_: crate::xdr::Error) -> Self { ConversionError } } diff --git a/soroban-env-common/src/vmcaller_env.rs b/soroban-env-common/src/vmcaller_env.rs index 0c5e33098..dd4105aec 100644 --- a/soroban-env-common/src/vmcaller_env.rs +++ b/soroban-env-common/src/vmcaller_env.rs @@ -1,5 +1,5 @@ #[cfg(feature = "wasmi")] -use stellar_xdr::{ScErrorCode, ScErrorType}; +use crate::xdr::{ScErrorCode, ScErrorType}; use super::{ AddressObject, Bool, BytesObject, DurationObject, Error, I128Object, I256Object, I256Val, diff --git a/soroban-env-guest/Cargo.toml b/soroban-env-guest/Cargo.toml index 32aa10834..135296798 100644 --- a/soroban-env-guest/Cargo.toml +++ b/soroban-env-guest/Cargo.toml @@ -19,3 +19,4 @@ all-features = true [features] testutils = ["soroban-env-common/testutils"] +next = ["soroban-env-common/next"] diff --git a/soroban-env-host/Cargo.toml b/soroban-env-host/Cargo.toml index 72d6bafa2..aaeaae73c 100644 --- a/soroban-env-host/Cargo.toml +++ b/soroban-env-host/Cargo.toml @@ -53,6 +53,7 @@ linregress = "0.5.1" [features] testutils = ["soroban-env-common/testutils"] +next = ["soroban-env-common/next", "soroban-test-wasms/next"] tracy = ["dep:tracy-client"] [[bench]] diff --git a/soroban-env-macros/Cargo.toml b/soroban-env-macros/Cargo.toml index 76cc2d21c..ebc29c5d3 100644 --- a/soroban-env-macros/Cargo.toml +++ b/soroban-env-macros/Cargo.toml @@ -21,5 +21,8 @@ itertools = "0.10.3" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" +[features] +next = ["stellar-xdr/next"] + [package.metadata.docs.rs] all-features = true diff --git a/soroban-env-macros/src/lib.rs b/soroban-env-macros/src/lib.rs index 2b47d81e0..42d13bc47 100644 --- a/soroban-env-macros/src/lib.rs +++ b/soroban-env-macros/src/lib.rs @@ -7,7 +7,13 @@ use proc_macro::TokenStream; use quote::{quote, ToTokens}; use syn::{parse::Parse, parse_macro_input, Ident, LitInt, LitStr, Token}; -use stellar_xdr::{ScEnvMetaEntry, WriteXdr}; +// Import the XDR definitions of a specific version -- curr or next -- of the xdr crate. +#[cfg(not(feature = "next"))] +use stellar_xdr::curr as xdr; +#[cfg(feature = "next")] +use stellar_xdr::next as xdr; + +use crate::xdr::{ScEnvMetaEntry, WriteXdr}; struct MetaInput { pub interface_version: u64, @@ -55,7 +61,7 @@ impl ToTokens for MetaConstsOutput { .to_meta_entries() .into_iter() .map(|entry| entry.to_xdr()) - .collect::>, stellar_xdr::Error>>() + .collect::>, crate::xdr::Error>>() .unwrap() .concat(); let meta_xdr_len = meta_xdr.len(); diff --git a/soroban-synth-wasm/Cargo.toml b/soroban-synth-wasm/Cargo.toml index 411f61ed5..c025b2d01 100644 --- a/soroban-synth-wasm/Cargo.toml +++ b/soroban-synth-wasm/Cargo.toml @@ -15,6 +15,9 @@ wasm-encoder = "0.18.0" wasmparser = "0.106.0" soroban-env-common = { workspace = true } +[features] +next = ["soroban-env-common/next"] + [dev-dependencies] expect-test = "1.4.0" wasmprinter = "0.2.41" diff --git a/soroban-test-wasms/Cargo.toml b/soroban-test-wasms/Cargo.toml index 20a839a05..d581a24b3 100644 --- a/soroban-test-wasms/Cargo.toml +++ b/soroban-test-wasms/Cargo.toml @@ -5,3 +5,6 @@ description = "crate full of precompiled test WASM binaries for soroban -- for u edition = "2021" publish = false rust-version = "1.71" + +[features] +next = [] \ No newline at end of file diff --git a/soroban-test-wasms/src/lib.rs b/soroban-test-wasms/src/lib.rs index 5c2a5c3e7..56fb423e4 100644 --- a/soroban-test-wasms/src/lib.rs +++ b/soroban-test-wasms/src/lib.rs @@ -42,31 +42,84 @@ //! documentation purpopses without having to worry about breaking tests in //! the host here. -pub const ADD_I32: &[u8] = include_bytes!("../wasm-workspace/opt/example_add_i32.wasm").as_slice(); -pub const ADD_F32: &[u8] = include_bytes!("../wasm-workspace/opt/example_add_f32.wasm").as_slice(); -pub const ALLOC: &[u8] = include_bytes!("../wasm-workspace/opt/example_alloc.wasm").as_slice(); -pub const CREATE_CONTRACT: &[u8] = - include_bytes!("../wasm-workspace/opt/example_create_contract.wasm").as_slice(); -pub const CONTRACT_STORAGE: &[u8] = - include_bytes!("../wasm-workspace/opt/example_contract_data.wasm").as_slice(); -pub const LINEAR_MEMORY: &[u8] = - include_bytes!("../wasm-workspace/opt/example_linear_memory.wasm").as_slice(); -pub const VEC: &[u8] = include_bytes!("../wasm-workspace/opt/example_vec.wasm").as_slice(); -pub const INVOKE_CONTRACT: &[u8] = - include_bytes!("../wasm-workspace/opt/example_invoke_contract.wasm").as_slice(); -pub const HOSTILE: &[u8] = include_bytes!("../wasm-workspace/opt/example_hostile.wasm").as_slice(); -pub const FIB: &[u8] = include_bytes!("../wasm-workspace/opt/example_fib.wasm").as_slice(); -pub const FANNKUCH: &[u8] = - include_bytes!("../wasm-workspace/opt/example_fannkuch.wasm").as_slice(); -pub const COMPLEX: &[u8] = include_bytes!("../wasm-workspace/opt/example_complex.wasm").as_slice(); -pub const SIMPLE_ACCOUNT_CONTRACT: &[u8] = - include_bytes!("../wasm-workspace/opt/example_simple_account.wasm").as_slice(); -pub const AUTH_TEST_CONTRACT: &[u8] = - include_bytes!("../wasm-workspace/opt/auth_test_contract.wasm").as_slice(); -pub const UPDATEABLE_CONTRACT: &[u8] = - include_bytes!("../wasm-workspace/opt/example_updateable_contract.wasm").as_slice(); -pub const DELEGATED_ACCOUNT_TEST_CONTRACT: &[u8] = - include_bytes!("../wasm-workspace/opt/test_delegated_account.wasm").as_slice(); -pub const ERR: &[u8] = include_bytes!("../wasm-workspace/opt/example_err.wasm").as_slice(); -pub const WRITE_BYTES: &[u8] = - include_bytes!("../wasm-workspace/opt/soroban_write_upgrade_bytes_contract.wasm").as_slice(); +#[cfg(not(feature = "next"))] +pub use curr::*; + +#[cfg(not(feature = "next"))] +mod curr { + pub const ADD_I32: &[u8] = + include_bytes!("../wasm-workspace/opt/curr/example_add_i32.wasm").as_slice(); + pub const ADD_F32: &[u8] = + include_bytes!("../wasm-workspace/opt/curr/example_add_f32.wasm").as_slice(); + pub const ALLOC: &[u8] = + include_bytes!("../wasm-workspace/opt/curr/example_alloc.wasm").as_slice(); + pub const CREATE_CONTRACT: &[u8] = + include_bytes!("../wasm-workspace/opt/curr/example_create_contract.wasm").as_slice(); + pub const CONTRACT_STORAGE: &[u8] = + include_bytes!("../wasm-workspace/opt/curr/example_contract_data.wasm").as_slice(); + pub const LINEAR_MEMORY: &[u8] = + include_bytes!("../wasm-workspace/opt/curr/example_linear_memory.wasm").as_slice(); + pub const VEC: &[u8] = include_bytes!("../wasm-workspace/opt/curr/example_vec.wasm").as_slice(); + pub const INVOKE_CONTRACT: &[u8] = + include_bytes!("../wasm-workspace/opt/curr/example_invoke_contract.wasm").as_slice(); + pub const HOSTILE: &[u8] = + include_bytes!("../wasm-workspace/opt/curr/example_hostile.wasm").as_slice(); + pub const FIB: &[u8] = include_bytes!("../wasm-workspace/opt/curr/example_fib.wasm").as_slice(); + pub const FANNKUCH: &[u8] = + include_bytes!("../wasm-workspace/opt/curr/example_fannkuch.wasm").as_slice(); + pub const COMPLEX: &[u8] = + include_bytes!("../wasm-workspace/opt/curr/example_complex.wasm").as_slice(); + pub const SIMPLE_ACCOUNT_CONTRACT: &[u8] = + include_bytes!("../wasm-workspace/opt/curr/example_simple_account.wasm").as_slice(); + pub const AUTH_TEST_CONTRACT: &[u8] = + include_bytes!("../wasm-workspace/opt/curr/auth_test_contract.wasm").as_slice(); + pub const UPDATEABLE_CONTRACT: &[u8] = + include_bytes!("../wasm-workspace/opt/curr/example_updateable_contract.wasm").as_slice(); + pub const DELEGATED_ACCOUNT_TEST_CONTRACT: &[u8] = + include_bytes!("../wasm-workspace/opt/curr/test_delegated_account.wasm").as_slice(); + pub const ERR: &[u8] = include_bytes!("../wasm-workspace/opt/curr/example_err.wasm").as_slice(); + pub const WRITE_BYTES: &[u8] = + include_bytes!("../wasm-workspace/opt/curr/soroban_write_upgrade_bytes_contract.wasm") + .as_slice(); +} + +#[cfg(feature = "next")] +pub use next::*; + +#[cfg(feature = "next")] +mod next { + pub const ADD_I32: &[u8] = + include_bytes!("../wasm-workspace/opt/next/example_add_i32.wasm").as_slice(); + pub const ADD_F32: &[u8] = + include_bytes!("../wasm-workspace/opt/next/example_add_f32.wasm").as_slice(); + pub const ALLOC: &[u8] = + include_bytes!("../wasm-workspace/opt/next/example_alloc.wasm").as_slice(); + pub const CREATE_CONTRACT: &[u8] = + include_bytes!("../wasm-workspace/opt/next/example_create_contract.wasm").as_slice(); + pub const CONTRACT_STORAGE: &[u8] = + include_bytes!("../wasm-workspace/opt/next/example_contract_data.wasm").as_slice(); + pub const LINEAR_MEMORY: &[u8] = + include_bytes!("../wasm-workspace/opt/next/example_linear_memory.wasm").as_slice(); + pub const VEC: &[u8] = include_bytes!("../wasm-workspace/opt/next/example_vec.wasm").as_slice(); + pub const INVOKE_CONTRACT: &[u8] = + include_bytes!("../wasm-workspace/opt/next/example_invoke_contract.wasm").as_slice(); + pub const HOSTILE: &[u8] = + include_bytes!("../wasm-workspace/opt/next/example_hostile.wasm").as_slice(); + pub const FIB: &[u8] = include_bytes!("../wasm-workspace/opt/next/example_fib.wasm").as_slice(); + pub const FANNKUCH: &[u8] = + include_bytes!("../wasm-workspace/opt/next/example_fannkuch.wasm").as_slice(); + pub const COMPLEX: &[u8] = + include_bytes!("../wasm-workspace/opt/next/example_complex.wasm").as_slice(); + pub const SIMPLE_ACCOUNT_CONTRACT: &[u8] = + include_bytes!("../wasm-workspace/opt/next/example_simple_account.wasm").as_slice(); + pub const AUTH_TEST_CONTRACT: &[u8] = + include_bytes!("../wasm-workspace/opt/next/auth_test_contract.wasm").as_slice(); + pub const UPDATEABLE_CONTRACT: &[u8] = + include_bytes!("../wasm-workspace/opt/next/example_updateable_contract.wasm").as_slice(); + pub const DELEGATED_ACCOUNT_TEST_CONTRACT: &[u8] = + include_bytes!("../wasm-workspace/opt/next/test_delegated_account.wasm").as_slice(); + pub const ERR: &[u8] = include_bytes!("../wasm-workspace/opt/next/example_err.wasm").as_slice(); + pub const WRITE_BYTES: &[u8] = + include_bytes!("../wasm-workspace/opt/next/soroban_write_upgrade_bytes_contract.wasm") + .as_slice(); +} diff --git a/soroban-test-wasms/wasm-workspace/Cargo.lock b/soroban-test-wasms/wasm-workspace/Cargo.lock index a17ac0964..bb92c50ab 100644 --- a/soroban-test-wasms/wasm-workspace/Cargo.lock +++ b/soroban-test-wasms/wasm-workspace/Cargo.lock @@ -45,6 +45,7 @@ dependencies = [ name = "auth_test_contract" version = "0.0.0" dependencies = [ + "soroban-env-common", "soroban-sdk", ] @@ -408,6 +409,7 @@ checksum = "0198b9d0078e0f30dedc7acbb21c974e838fc8fae3ee170128658a98cb2c1c04" name = "example_add_f32" version = "0.0.0" dependencies = [ + "soroban-env-common", "soroban-sdk", ] @@ -415,6 +417,7 @@ dependencies = [ name = "example_add_i32" version = "0.0.0" dependencies = [ + "soroban-env-common", "soroban-sdk", ] @@ -422,6 +425,7 @@ dependencies = [ name = "example_alloc" version = "0.0.0" dependencies = [ + "soroban-env-common", "soroban-sdk", ] @@ -429,6 +433,7 @@ dependencies = [ name = "example_complex" version = "0.0.0" dependencies = [ + "soroban-env-common", "soroban-sdk", ] @@ -436,6 +441,7 @@ dependencies = [ name = "example_contract_data" version = "0.0.0" dependencies = [ + "soroban-env-common", "soroban-sdk", ] @@ -443,6 +449,7 @@ dependencies = [ name = "example_create_contract" version = "0.0.0" dependencies = [ + "soroban-env-common", "soroban-sdk", ] @@ -450,6 +457,7 @@ dependencies = [ name = "example_err" version = "0.0.0" dependencies = [ + "soroban-env-common", "soroban-sdk", ] @@ -457,6 +465,7 @@ dependencies = [ name = "example_fannkuch" version = "0.0.0" dependencies = [ + "soroban-env-common", "soroban-sdk", ] @@ -464,6 +473,7 @@ dependencies = [ name = "example_fib" version = "0.0.0" dependencies = [ + "soroban-env-common", "soroban-sdk", ] @@ -479,6 +489,7 @@ dependencies = [ name = "example_invoke_contract" version = "0.0.0" dependencies = [ + "soroban-env-common", "soroban-sdk", ] @@ -486,6 +497,7 @@ dependencies = [ name = "example_linear_memory" version = "0.0.0" dependencies = [ + "soroban-env-common", "soroban-sdk", ] @@ -493,6 +505,7 @@ dependencies = [ name = "example_simple_account" version = "0.0.0" dependencies = [ + "soroban-env-common", "soroban-sdk", ] @@ -500,6 +513,7 @@ dependencies = [ name = "example_updateable_contract" version = "0.0.0" dependencies = [ + "soroban-env-common", "soroban-sdk", ] @@ -507,6 +521,7 @@ dependencies = [ name = "example_vec" version = "0.0.0" dependencies = [ + "soroban-env-common", "soroban-sdk", ] @@ -1032,7 +1047,7 @@ checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "soroban-env-common" -version = "0.0.17" +version = "20.0.0-rc1" dependencies = [ "arbitrary", "crate-git-revision", @@ -1048,7 +1063,7 @@ dependencies = [ [[package]] name = "soroban-env-guest" -version = "0.0.17" +version = "20.0.0-rc1" dependencies = [ "soroban-env-common", "static_assertions", @@ -1056,7 +1071,7 @@ dependencies = [ [[package]] name = "soroban-env-host" -version = "0.0.17" +version = "20.0.0-rc1" dependencies = [ "backtrace", "ed25519-dalek", @@ -1078,7 +1093,7 @@ dependencies = [ [[package]] name = "soroban-env-macros" -version = "0.0.17" +version = "20.0.0-rc1" dependencies = [ "itertools", "proc-macro2", @@ -1091,7 +1106,7 @@ dependencies = [ [[package]] name = "soroban-ledger-snapshot" -version = "0.9.2" +version = "20.0.0-rc1" dependencies = [ "serde", "serde_json", @@ -1102,7 +1117,7 @@ dependencies = [ [[package]] name = "soroban-native-sdk-macros" -version = "0.0.17" +version = "20.0.0-rc1" dependencies = [ "itertools", "proc-macro2", @@ -1112,7 +1127,7 @@ dependencies = [ [[package]] name = "soroban-sdk" -version = "0.9.2" +version = "20.0.0-rc1" dependencies = [ "arbitrary", "bytes-lit", @@ -1128,7 +1143,7 @@ dependencies = [ [[package]] name = "soroban-sdk-macros" -version = "0.9.2" +version = "20.0.0-rc1" dependencies = [ "crate-git-revision", "darling", @@ -1146,7 +1161,7 @@ dependencies = [ [[package]] name = "soroban-spec" -version = "0.9.2" +version = "20.0.0-rc1" dependencies = [ "base64 0.13.1", "stellar-xdr", @@ -1156,7 +1171,7 @@ dependencies = [ [[package]] name = "soroban-spec-rust" -version = "0.9.2" +version = "20.0.0-rc1" dependencies = [ "prettyplease", "proc-macro2", @@ -1170,8 +1185,8 @@ dependencies = [ [[package]] name = "soroban-wasmi" -version = "0.30.0-soroban" -source = "git+https://github.com/stellar/wasmi?rev=284c963ba080703061797e2a3cba0853edee0dd4#284c963ba080703061797e2a3cba0853edee0dd4" +version = "0.31.0-soroban1" +source = "git+https://github.com/stellar/wasmi?rev=7e63b4c9e08c4163f417d118d81f7ea34789d0be#7e63b4c9e08c4163f417d118d81f7ea34789d0be" dependencies = [ "smallvec", "spin", @@ -1184,6 +1199,7 @@ dependencies = [ name = "soroban-write-upgrade-bytes-contract" version = "0.0.0" dependencies = [ + "soroban-env-common", "soroban-sdk", ] @@ -1220,8 +1236,8 @@ dependencies = [ [[package]] name = "stellar-xdr" -version = "0.0.17" -source = "git+https://github.com/stellar/rs-stellar-xdr?rev=39904e09941046dab61e6e35fc89e31bf2dea1cd#39904e09941046dab61e6e35fc89e31bf2dea1cd" +version = "20.0.0-rc1" +source = "git+https://github.com/stellar/rs-stellar-xdr?rev=d5ce0c9e7aa83461773a6e81662067f35d39e4c1#d5ce0c9e7aa83461773a6e81662067f35d39e4c1" dependencies = [ "arbitrary", "base64 0.13.1", @@ -1258,6 +1274,7 @@ dependencies = [ name = "test_delegated_account" version = "0.0.0" dependencies = [ + "soroban-env-common", "soroban-sdk", ] @@ -1390,12 +1407,12 @@ checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "wasmi_arena" version = "0.4.0" -source = "git+https://github.com/stellar/wasmi?rev=284c963ba080703061797e2a3cba0853edee0dd4#284c963ba080703061797e2a3cba0853edee0dd4" +source = "git+https://github.com/stellar/wasmi?rev=7e63b4c9e08c4163f417d118d81f7ea34789d0be#7e63b4c9e08c4163f417d118d81f7ea34789d0be" [[package]] name = "wasmi_core" -version = "0.12.0" -source = "git+https://github.com/stellar/wasmi?rev=284c963ba080703061797e2a3cba0853edee0dd4#284c963ba080703061797e2a3cba0853edee0dd4" +version = "0.13.0" +source = "git+https://github.com/stellar/wasmi?rev=7e63b4c9e08c4163f417d118d81f7ea34789d0be#7e63b4c9e08c4163f417d118d81f7ea34789d0be" dependencies = [ "downcast-rs", "libm", diff --git a/soroban-test-wasms/wasm-workspace/Cargo.toml b/soroban-test-wasms/wasm-workspace/Cargo.toml index f6c8b7e42..af3559a49 100644 --- a/soroban-test-wasms/wasm-workspace/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/Cargo.toml @@ -47,11 +47,11 @@ codegen-units = 1 lto = true [workspace.dependencies.soroban-sdk] -version = "0.9.2" +version = "20.0.0-rc1" git = "https://github.com/stellar/rs-soroban-sdk" [workspace.dependencies.soroban-env-common] -version = "0.0.17" +version = "20.0.0-rc1" git = "https://github.com/stellar/rs-soroban-env" # Always build from the local instance of env as we need to rebuild test WASMs diff --git a/soroban-test-wasms/wasm-workspace/Makefile b/soroban-test-wasms/wasm-workspace/Makefile index 0c7ed461f..9a0a62781 100644 --- a/soroban-test-wasms/wasm-workspace/Makefile +++ b/soroban-test-wasms/wasm-workspace/Makefile @@ -9,6 +9,17 @@ regenerate-test-wasms: -Z build-std=std,panic_abort \ -Z build-std-features=panic_immediate_abort for i in target/wasm32-unknown-unknown/release/*.wasm ; do \ - wasm-opt -Oz "$$i" -o "opt/$$(basename $$i)"; \ - ls -l "opt/$$(basename $$i)"; \ + wasm-opt -Oz "$$i" -o "opt/curr/$$(basename $$i)"; \ + ls -l "opt/curr/$$(basename $$i)"; \ + done + cargo clean + cargo +nightly build \ + --target wasm32-unknown-unknown \ + --release \ + --features next \ + -Z build-std=std,panic_abort \ + -Z build-std-features=panic_immediate_abort + for i in target/wasm32-unknown-unknown/release/*.wasm ; do \ + wasm-opt -Oz "$$i" -o "opt/next/$$(basename $$i)"; \ + ls -l "opt/next/$$(basename $$i)"; \ done diff --git a/soroban-test-wasms/wasm-workspace/add_f32/Cargo.toml b/soroban-test-wasms/wasm-workspace/add_f32/Cargo.toml index d81f20c8e..fa036f4a8 100644 --- a/soroban-test-wasms/wasm-workspace/add_f32/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/add_f32/Cargo.toml @@ -13,3 +13,7 @@ doctest = false [dependencies] soroban-sdk = { workspace = true } +soroban-env-common = { workspace = true } + +[features] +next = ["soroban-env-common/next"] \ No newline at end of file diff --git a/soroban-test-wasms/wasm-workspace/add_i32/Cargo.toml b/soroban-test-wasms/wasm-workspace/add_i32/Cargo.toml index 2e9637079..7693180a1 100644 --- a/soroban-test-wasms/wasm-workspace/add_i32/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/add_i32/Cargo.toml @@ -13,3 +13,7 @@ doctest = false [dependencies] soroban-sdk = { workspace = true } +soroban-env-common = { workspace = true } + +[features] +next = ["soroban-env-common/next"] \ No newline at end of file diff --git a/soroban-test-wasms/wasm-workspace/alloc/Cargo.toml b/soroban-test-wasms/wasm-workspace/alloc/Cargo.toml index 1b50386fe..937ae290b 100644 --- a/soroban-test-wasms/wasm-workspace/alloc/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/alloc/Cargo.toml @@ -13,3 +13,7 @@ doctest = false [dependencies] soroban-sdk = { workspace = true, features = ["alloc"] } +soroban-env-common = { workspace = true } + +[features] +next = ["soroban-env-common/next"] \ No newline at end of file diff --git a/soroban-test-wasms/wasm-workspace/auth/Cargo.toml b/soroban-test-wasms/wasm-workspace/auth/Cargo.toml index cd24e3b42..196fc529b 100644 --- a/soroban-test-wasms/wasm-workspace/auth/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/auth/Cargo.toml @@ -13,3 +13,7 @@ doctest = false [dependencies] soroban-sdk = { workspace = true } +soroban-env-common = { workspace = true } + +[features] +next = ["soroban-env-common/next"] \ No newline at end of file diff --git a/soroban-test-wasms/wasm-workspace/complex/Cargo.toml b/soroban-test-wasms/wasm-workspace/complex/Cargo.toml index 9d16774c7..e6a33907d 100644 --- a/soroban-test-wasms/wasm-workspace/complex/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/complex/Cargo.toml @@ -12,3 +12,7 @@ doctest = false [dependencies] soroban-sdk = { workspace = true } +soroban-env-common = { workspace = true } + +[features] +next = ["soroban-env-common/next"] \ No newline at end of file diff --git a/soroban-test-wasms/wasm-workspace/contract_data/Cargo.toml b/soroban-test-wasms/wasm-workspace/contract_data/Cargo.toml index 48eb045b2..06f5bc65e 100644 --- a/soroban-test-wasms/wasm-workspace/contract_data/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/contract_data/Cargo.toml @@ -12,6 +12,8 @@ doctest = false [dependencies] soroban-sdk = { workspace = true } +soroban-env-common = { workspace = true } [features] +next = ["soroban-env-common/next"] testutils = ["soroban-sdk/testutils"] diff --git a/soroban-test-wasms/wasm-workspace/create_contract/Cargo.toml b/soroban-test-wasms/wasm-workspace/create_contract/Cargo.toml index 1766eec1b..b1d2182c7 100644 --- a/soroban-test-wasms/wasm-workspace/create_contract/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/create_contract/Cargo.toml @@ -13,3 +13,7 @@ doctest = false [dependencies] soroban-sdk = { workspace = true } +soroban-env-common = { workspace = true } + +[features] +next = ["soroban-env-common/next"] \ No newline at end of file diff --git a/soroban-test-wasms/wasm-workspace/delegated_account/Cargo.toml b/soroban-test-wasms/wasm-workspace/delegated_account/Cargo.toml index befef45ae..bb0288ab9 100644 --- a/soroban-test-wasms/wasm-workspace/delegated_account/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/delegated_account/Cargo.toml @@ -12,3 +12,7 @@ doctest = false [dependencies] soroban-sdk = { workspace = true } +soroban-env-common = { workspace = true } + +[features] +next = ["soroban-env-common/next"] \ No newline at end of file diff --git a/soroban-test-wasms/wasm-workspace/err/Cargo.toml b/soroban-test-wasms/wasm-workspace/err/Cargo.toml index 4a0f7d972..46f88089e 100644 --- a/soroban-test-wasms/wasm-workspace/err/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/err/Cargo.toml @@ -12,4 +12,8 @@ crate-type = ["cdylib", "rlib"] doctest = false [dependencies] -soroban-sdk = { workspace = true } \ No newline at end of file +soroban-sdk = { workspace = true } +soroban-env-common = { workspace = true } + +[features] +next = ["soroban-env-common/next"] \ No newline at end of file diff --git a/soroban-test-wasms/wasm-workspace/fannkuch/Cargo.toml b/soroban-test-wasms/wasm-workspace/fannkuch/Cargo.toml index e21acfed6..798c5d9dc 100644 --- a/soroban-test-wasms/wasm-workspace/fannkuch/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/fannkuch/Cargo.toml @@ -12,4 +12,8 @@ crate-type = ["cdylib", "rlib"] doctest = false [dependencies] -soroban-sdk = { workspace = true } \ No newline at end of file +soroban-sdk = { workspace = true } +soroban-env-common = { workspace = true } + +[features] +next = ["soroban-env-common/next"] \ No newline at end of file diff --git a/soroban-test-wasms/wasm-workspace/fib/Cargo.toml b/soroban-test-wasms/wasm-workspace/fib/Cargo.toml index 4bb349e1a..0a5984804 100644 --- a/soroban-test-wasms/wasm-workspace/fib/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/fib/Cargo.toml @@ -12,4 +12,8 @@ crate-type = ["cdylib", "rlib"] doctest = false [dependencies] -soroban-sdk = { workspace = true } \ No newline at end of file +soroban-sdk = { workspace = true } +soroban-env-common = { workspace = true } + +[features] +next = ["soroban-env-common/next"] \ No newline at end of file diff --git a/soroban-test-wasms/wasm-workspace/hostile/Cargo.toml b/soroban-test-wasms/wasm-workspace/hostile/Cargo.toml index 412f25a38..e9fd77375 100644 --- a/soroban-test-wasms/wasm-workspace/hostile/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/hostile/Cargo.toml @@ -13,4 +13,7 @@ doctest = false [dependencies] soroban-sdk = { workspace = true } -soroban-env-common = { workspace = true } \ No newline at end of file +soroban-env-common = { workspace = true } + +[features] +next = ["soroban-env-common/next"] diff --git a/soroban-test-wasms/wasm-workspace/invoke_contract/Cargo.toml b/soroban-test-wasms/wasm-workspace/invoke_contract/Cargo.toml index 4e39942b0..d52ee2120 100644 --- a/soroban-test-wasms/wasm-workspace/invoke_contract/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/invoke_contract/Cargo.toml @@ -13,3 +13,7 @@ doctest = false [dependencies] soroban-sdk = { workspace = true } +soroban-env-common = { workspace = true } + +[features] +next = ["soroban-env-common/next"] \ No newline at end of file diff --git a/soroban-test-wasms/wasm-workspace/linear_memory/Cargo.toml b/soroban-test-wasms/wasm-workspace/linear_memory/Cargo.toml index 6aaf08c7f..0bedabadd 100644 --- a/soroban-test-wasms/wasm-workspace/linear_memory/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/linear_memory/Cargo.toml @@ -11,4 +11,8 @@ crate-type = ["cdylib", "rlib"] doctest = false [dependencies] -soroban-sdk = { workspace = true } \ No newline at end of file +soroban-sdk = { workspace = true } +soroban-env-common = { workspace = true } + +[features] +next = ["soroban-env-common/next"] \ No newline at end of file diff --git a/soroban-test-wasms/wasm-workspace/opt/auth_test_contract.wasm b/soroban-test-wasms/wasm-workspace/opt/auth_test_contract.wasm deleted file mode 100644 index fa084050b239f0b25f850807643a71b824c21c31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5708 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 W_o1^Z`Q?YtHCF3qo0k_Cl=?q3Nr$Nb diff --git a/soroban-test-wasms/wasm-workspace/opt/alloc.wasm b/soroban-test-wasms/wasm-workspace/opt/curr/alloc.wasm similarity index 100% rename from soroban-test-wasms/wasm-workspace/opt/alloc.wasm rename to soroban-test-wasms/wasm-workspace/opt/curr/alloc.wasm diff --git a/soroban-test-wasms/wasm-workspace/opt/curr/auth_test_contract.wasm b/soroban-test-wasms/wasm-workspace/opt/curr/auth_test_contract.wasm new file mode 100644 index 0000000000000000000000000000000000000000..35caa20b53f10c11dd99136d7cb15da0978b6eab GIT binary patch literal 5753 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 literal 0 HcmV?d00001 diff --git a/soroban-test-wasms/wasm-workspace/opt/example_add_f32.wasm b/soroban-test-wasms/wasm-workspace/opt/curr/example_add_f32.wasm similarity index 83% rename from soroban-test-wasms/wasm-workspace/opt/example_add_f32.wasm rename to soroban-test-wasms/wasm-workspace/opt/curr/example_add_f32.wasm index 4dd82484f5f43cd0b737d351f0d064e00695ad8d..c4bb4abd78764aea62d336415a5af3741c59c58c 100644 GIT binary patch delta 67 zcmZ3+v5I5EI%dY|$?KWjOpT2U^ng&eDA`as&D_K|#VpM-)x#Ei97E3{uR~3@ywV06bCZV=wU!O2)YnUmAaP|rZmQqM>^HPyr<)x^jk$ucQ1B{j*=EIBdB!rUM=#mF=% SHO<)4JlVk1BF)T%fdK##3J`h# diff --git a/soroban-test-wasms/wasm-workspace/opt/curr/example_complex.wasm b/soroban-test-wasms/wasm-workspace/opt/curr/example_complex.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a404bd5968baab8b03a7acc8cf45f9349c4a2514 GIT binary patch literal 1779 zcmZWpJ8v6D5T4yV9*;a(UO5UN$w9DpCSa|W$5E7V~-FfWHH#0|_@jwufsFe;# zOb_IA3M!bWsg)ftdpBeCY(@t}Y%r7G-WP|WMh@r>2{8~YQsP1!Lw+u{E!{!n=VI5= zJxiOQr=m>~Gy=VVOrUkxKZC49m$k|*6v!=l1tn<3T~{*^&*#_V&nUirpBJ|Z?jRkU zjb2ES$7iJB{Gi-!_d1hKJ013v@Z0T^v~%7*?2J<-%m0)LbtzEGBZ_rD6csYU(59k> z@{CBpaDn5Mvrj%txQ%sIA^+!+^kxqG%|$o<5>PB|BS^{KPZ!dl|J4!nexgm1`LdoXK% zP1eDteq-+G^1?cK`O|zp7dQz&C>xdgDpTh2kS6M}wcS>!1FqBFO9O-|MjEFs4Opq6 zG#FlAGcx({_g{ZOlxnVMg2}jzvayz zm%uV!%1ka9$Ebd+EF>Et0BTwWhHd_p@L3*@i0)viPa=m ztY!hwsmhOx$ZX*Xh2veD9vQ`jvOR_jx6E$JCL9*1S{$`jT#(E=fYQ1D78U>m6d6H8 zh47b!(%FFcr@h-q2%{n6Di8u_`N}|eOAGiA4B1N_?ZN^$W#5rgi6O4a=pL%wR8558 z$ukAOs#jQJa!nNz%BvB$`KqW2 ze;g!X7XpIEi&N4ipPh<%^^VOB`DUV2gJ+(CVPU?qu+J~&T=Rba{a##?mN#39UKI&v$eguQ){-OMzFVDE%h= literal 0 HcmV?d00001 diff --git a/soroban-test-wasms/wasm-workspace/opt/curr/example_contract_data.wasm b/soroban-test-wasms/wasm-workspace/opt/curr/example_contract_data.wasm new file mode 100644 index 0000000000000000000000000000000000000000..9337f3fdc4d4a2af35dea9992021ec86d04aa271 GIT binary patch literal 4835 zcmd5=Pj4Gl5PyHx&L(TSue205h4if(AVIWp(hw&-Wfzr-143{pM|Tr%8{3JKthXr< zD2~*ss>CJY%7t4_{Q{hN=E6tlfe%uC^LD*<3~5!h0UYW5otZap=C|`^!h-H5XN>Wi zg*$wo@81#o)XII+S?J7SugC829ySO-;v{lB@&Y5=Jv^7v}@Fk2_`2x$MU1CgLp0cdmm_1I4iLBw$n#eg^@LW!Ert%kM zk9!9P&zRF=$NRD0#QFSYxVaVW30B&^AJ@0TsN3wuVJBv1OO0@2c;TJWde9wSI9IwC z9%DIwX7&E&_Atr2MUonao7-Da5bd!GMG`ugzgHxggL%0~A_wz}B_naLFj*jh%}zHC zI%^@jR3LfT^!);f%cdU`NLn_XDjH$g{PLwJ+};S*!uo?|yk1}3i^Fa`=rrm?#x$H! znW)zrK^)Y>PD661USAJ`?fPoa4W*cPeqrioE(E-Ng?YMN5z`C<)vm~Crlsbyl2t6< ze(dKT)ufFT%YTvn*zKn^$+Yn7R)vdwEkS#9(^{c{UEq$k6nBV;`-}*sr&@49#;0ve0CEfAO==GZ^`k3j_u7CTyAMKZEUZ3k?~Ou29ad03#+!Wmix>>#xCjVug&3 ztEeI{&(*XAPy_H>eMoRktyw1f6U2{zLG;Rn!*f1!Tq|*-jm}B{PkQ1@0G!}3^Km3Y z+ql!XgOjVO&=;=a=^8 zBC(eJkQ`A=1{uYEbB2o#kf%nR;e0QnWG?a7_WxVBnuUala7 z=f8w7%VRef0=maru7zjD@od+kZBKt~(OZ`H4s1Q%u8ey>?tmoW{0h%jUQa9vhJ6xP zV0fT%dIEgqomfvqE)98{$kgLF`c((3ahE~5QTouN%PvjZ3^GE^tQodn3j~1H5_;1?zcwPJYSUz3|53qNVeUDel|4ct>+vDZ*$vne$ z9jUpEKl=DN4ZOazrpM|1?_ks}rOy4$db_!?mHZ#T=-H=zdwNct?FY25v%49_K^D`_ zuFqGm;qPj+Hh1N2 rZQ*)j@$PcCu)G!o)urY6h3j)m%hlRiqx#v>(&}QhQM)_0RAYYu&zT*r literal 0 HcmV?d00001 diff --git a/soroban-test-wasms/wasm-workspace/opt/example_create_contract.wasm b/soroban-test-wasms/wasm-workspace/opt/curr/example_create_contract.wasm similarity index 75% rename from soroban-test-wasms/wasm-workspace/opt/example_create_contract.wasm rename to soroban-test-wasms/wasm-workspace/opt/curr/example_create_contract.wasm index 4af2b4c32f6b30dfbbe73b9f28e308a96e3c7c84..6d99c36315e41a548bb17afca742df7d3c864b0f 100644 GIT binary patch delta 67 zcmX@YdV+O>4-;ecWM3vXQ)43oJs{LAN;XtZGdD3#F-x;dHL*-iOf;~tG%_(Zw6HWV VPfjr~wXjGsGe|K{Gqf;g004Ba5s?4@ delta 63 zcmX@XdW3a@4-;egWM3vXLp=jMOFbjy)Kn9bR1+hEB+I14l++|cv*g4i3v+|i6eH85 S)HGvD^JD{4i!?J61_l5|&k zAjP1-pvf$u$O57Smb273HBV@0Xkb)iabje3V&GO}RbWtH0jXwCUVVUc8JkYb)@XkpF(06XC*{Qv*} delta 134 zcmcb_F`Hw;JjN9h=ig_Wz{td0&p5e-(UMVM@;*i}9R(&wjx0@P26JW(1qLS|#h}2T z!NkDJsKB7f%)#o^+|bZ4p`C|Yfx%H=voX_RM#l2V*O}c6^$heZ^^BBLQ%y`#O^ghZ lERzybQj-kLk`t3G%nedgj7*bK(~K?6lMPHQ(#%X47yzc)Aj|*& diff --git a/soroban-test-wasms/wasm-workspace/opt/example_fannkuch.wasm b/soroban-test-wasms/wasm-workspace/opt/curr/example_fannkuch.wasm similarity index 87% rename from soroban-test-wasms/wasm-workspace/opt/example_fannkuch.wasm rename to soroban-test-wasms/wasm-workspace/opt/curr/example_fannkuch.wasm index e0486487be5459d8af9b337d00cf6a0ebed93a60..9d4a2181206d2dda3f2092fac5247934d3f3ae2e 100644 GIT binary patch delta 67 zcmbQhF@!khsByf+f% delta 61 zcmaFC^n_``8^-d9Z`};_4D>AZjFeMTO-xcvj0}=2lM+)>lMKz06O$~=4N_B#Op{X6 Qj4jQR4NNW4%uE;<0Er6{v;Y7A diff --git a/soroban-test-wasms/wasm-workspace/opt/example_hostile.wasm b/soroban-test-wasms/wasm-workspace/opt/curr/example_hostile.wasm similarity index 91% rename from soroban-test-wasms/wasm-workspace/opt/example_hostile.wasm rename to soroban-test-wasms/wasm-workspace/opt/curr/example_hostile.wasm index 277e05af8e1140048fe6aae458e83665d297b3ea..a05462bafaddfaef84c7425df91ff678b89e406b 100644 GIT binary patch delta 67 zcmX>sa9m)+X?Diy$!FNzOpT2U^ng&eDA`as&D_K|#VpM-)xua9Ci&X?Di)$!FNz4D}53EcJ|(Q&UY$Qca8uk}Q)FQ&N)*&5{$7EX)m3Q;bZL SQqznr&65pGEz-;}o+r%TyD~F;6qJFlPV&;~5~h delta 138 zcmX@be~5p=6PCA}9P2i|*v~k5C6k$@BBv7r4k=vnF+DW|5In53E*86;UI kC8ne%8JZ<0CRvypq^1~|CZ(nsTbd^um|CQnnJ_Q_0At@Cng9R* diff --git a/soroban-test-wasms/wasm-workspace/opt/example_updateable_contract.wasm b/soroban-test-wasms/wasm-workspace/opt/curr/example_updateable_contract.wasm similarity index 73% rename from soroban-test-wasms/wasm-workspace/opt/example_updateable_contract.wasm rename to soroban-test-wasms/wasm-workspace/opt/curr/example_updateable_contract.wasm index 1c1fb9fabe4832ead64898b6715eb91f779aa8eb..6591320e7a62821fe79911b00337bed500bb22e2 100644 GIT binary patch delta 67 zcmcc0a+77lT}H<0$@duDOpT2U^ng&eDA`as&D_K|#VpM-)xa)o8X4MxW5$u}9@OpT2U^ng&eDA`as&D_K|#VpM-)xNE@h(wK}4eJ z@5sqSOm@`7E`nv^i+1F6N;_gICh`Mc?1~)fN8%pt_eGlo?sY4#$3IgzCG)&of8^Ew$ny?*2ZzH)lAQg){+NPFyWQFAb^7h>;dqbc z05?D1Zg;bB*6t0uN`&q9UN3vl-pximCFftvdp|icn99jjGWC8UssthGC+seYO|C)z88h}gY$Qz}5Lr2s$z02uKh6^E{cl`Sn+RCLOy zg2knVs=)iWUGW)<*_vyW47)FglSoAR zpLmkKplzpxYy=mqUtQ_Qt z&!eVHCD(&fkZ^w31{f!h}Li9g=W0$U6oF&~G93Aw=na!Im7IAIScju(Mb?6R9N0vJ%U07dh zY^>E+2mAN-#`i5hY)`>(H0t&Xwd>dFYxu7YJL^~PHa4zzH}7usHnuuhR&Q=y+qk~o W+^RP^-TIAYb9b}eZQNaNHt2uI4LMK% literal 0 HcmV?d00001 diff --git a/soroban-test-wasms/wasm-workspace/opt/example_complex.wasm b/soroban-test-wasms/wasm-workspace/opt/example_complex.wasm deleted file mode 100644 index 7f2042d5beae979e328063eefcb176901437887c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1799 zcmY*aJ8v6D5T4yVl1H9ouN(!C&SWTvNbHo4Nz9Jr zYz8WrsF{^LFncy<^?XjpL~JmZKin5xu|po{9tklNhor=%IDz~^>{_~q$S=gcr3aR_ zK+i;*BxnqJ37J3}uzvIV2reP)AximnfYNSyOX~4=&rNQ93VPyKt zpTGZxU^S;`fytzmM~s@j*HkfH|DxPsCzC(!#G}FTkQw}vm>W+$LvK>^D)p`+KfPMu z@igjR%2JE4Y@`ktpwmQzLLC_aKx|nTToxkzOS!(USF8=X5Q9(vrGT|f^@K~@Rx$kV z%0I>+;z48wfdFqgfP;o_7V2WSC|S=Vkx)Zwz84J%h}_(OjAvy(kGzHimdQ$PoMe>o z28p_iV1%*rt08+J`0bmA4Y{6R2sK%Y5UwVxks3rC&indd=oyu$sZ*@yp<;tijL2={ z9vWBnMslqlH_G<7SU6?&zHP$G5><<-)`}aFZUShX=Wk&FKtPcZMAH!du~2$j5dXGk zTPcNQ{21pNPy%pR6|YJV-qI361VqV_uXJGvo?9O|leoM!8Ly(_ZPh{;!YwleK&#hS zW1OZI;#R{yEV>oJF1kz#l`7c#c1;zUPIp7(^xPjY1K2Zy@-* zFcn=6*s0_YPOThbyo6l+N{-Aj6ir>H;CDf>G zPn_GG`*0<8{T2-QzXAi`K!gK5v7=dBEf|xd!H4s@AuU7ywt%wRTwY)V1Cl_VC+Kl1 zkH1ZjptW74q*r--3jvc<2Ai-q;y{wyGVX&c3V|XK_|T^2^>q+@Dey5{;IsOGSjPpncY#WIs;NhS_B{o}8VJe9}~b$pdf&{xP@*z6oBU$M<^Yqv^QQn@%pW-ev4! zS;`;fyXVuj_lDW%a+pm!x3=prI;7{ff&Ql~j3=nWg}Jv=Z|>LQ&qik_r_*OIZ)5x8 z$)rDUX7#v!Sl@k=W&8Wt{%+ho>~{KDcc;+c?Pv!{E9&0c)adfLF>(|=q< BChq_M diff --git a/soroban-test-wasms/wasm-workspace/opt/example_contract_data.wasm b/soroban-test-wasms/wasm-workspace/opt/example_contract_data.wasm deleted file mode 100644 index b8fca7887ca20fdc629bb811a11e0fa4f8c59aad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4047 zcmcgv&2Jk;6rYb>XPvd3EiI6y5N4fF5?UfRq;b+yc2QgPfDjzu=&qA(6MrSKw+WGu z9f_){#HDvG+;Zwaz^UhQ;KYHyru^RQhaHy$RTO-feKYgseZSv~SF6YXooUrl|N4dxbW|))GW`aopgH6eqle;Vj+&eyg z!R!G${hjz#T*|e>_HOq`u+rY6sJ0h&dpo@->_qHBX)A1vF1%CP4tk>t7fTPrQ%5dM z)gQI@Mp@o1lGG?{@9lPj?h$*hNJ5A6_lqQRIG-+($l?5QNlP3q%oIrAPNx?Ioz0M4 zDUiHu`ayxjWz!D}BrTiH7PYW!{?V0gxYr6c!`k6av|XzoMPaWNbhc{5#uO4#o~+fj zf+(nkoh`}jT5UTF_G?x+0Q&8M-Ao}WzUBH}FV>V@9Og1rDP|{g&CT8rHT*!e)6p48TjY?~bRZFOb zY2=UTTTlGlV=_T1(|?ux*tgHMIiA%hGx#pauG_{25f-^g?qHSrvoljHZT1s5E zBQ6H9mx*&#>A)kh%W-4#A>4szLJe?E~HW#TzB21KH9C7Vj>;)2uO4DIS zAY#(O0ik_FeSufOR@Fe|aj!zPc<}ZE?Nfe-p`JP?)FKVFNJA|UYF!t?xo-QM56~KM za)>HE7#YUl~*sIq%p~`DQuq{jd*~_~e&Gu5xN}RWR(6zyd?IO*M&g)BBN{ z?7BqqD3+=6Q2kGeoxIB+T^s$(QWlJ}Jl=$druWREE?4HFd}cY5Ns!5_=e~O48;||R z$MoY4a{-bjP5@gBz?wel6wu*UXW+7}3g|Wy5u$Rl5%^)lt#IB~2rCo~k+^gRwfU0W z>6SVAL8O%qw%Y_^HZD*5`s=`p%a(T;kCcO@jmFZf}CdR}& z`zKt`R5u%qa*RN{Dl3GtRS8%|Q({;E79m~e$LW)z?n~w36Sr+;*tUAhaXG{R4q{A# zI46cC3t2;>6CS~wA_$G1(%WdJ!1P_#q(dx8p~D@+*%bOR+=O<0*?cks)9C(5@W2=L z7MDqH{0q7Bu8|2=#w|7r`LhjYE>UCuISQPao@s2uYeDd)T}Xfv=#>Fy=E4YYB6@;) zMBfC3vWa98Y#JzH9>Zo5O%0m{0Wul~Ur6;i6%(#2oko2_(sdOFJO}Bqx(1 zo!Vg#h23`0ZGzX(Cm6fDz4LJUET$2@gq@8&R`v3m#(C_4t7W9I8TTR6d-@T4=9%$0 zk3E*pJvSQX@kccs{6FJ-`VIf)wS4-~Kdim8;(PjE!Qb zKmSF&p8Nj=+S5K5k4vfZs9kIBw07hFJlf8b_wCs^dm#n1uyfE3qaeeyOVGH^4l}?z zwP|*H2Vqy+#7Z}osw+#C&pPPisHJgEZ&=-4Z>t%zEmfA*mzL+kaAhT2S+3OA>%mr7 fzp=U*)Yqz&aBKNyJ$&%_dUdmMbM3+E3S)l(t&p@B diff --git a/soroban-test-wasms/wasm-workspace/opt/next/auth_test_contract.wasm b/soroban-test-wasms/wasm-workspace/opt/next/auth_test_contract.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d9c0eea4d4b1d855d060612cbeba843b1e67600c GIT binary patch literal 5753 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 v@_V<_T$bja|Hrnj literal 0 HcmV?d00001 diff --git a/soroban-test-wasms/wasm-workspace/opt/next/example_add_i32.wasm b/soroban-test-wasms/wasm-workspace/opt/next/example_add_i32.wasm new file mode 100644 index 0000000000000000000000000000000000000000..71a3915487ccc29af7147c7e291f37f403504f0c GIT binary patch literal 1013 zcmY*Y&2G~`5T2dgO`N!ZD_Ydj3QgP|Qi&F)P3`0sM?wO6;{{STc3T{hR!J05AtjZl zP)~@rs5tNnh-ctoxWcTR6cJ0FZ+5=<=Eoa|MtuPQVpSdEbSkFDIGe#SfU#nV4^T|R z8OJ|}eE_MI0F+t^ST3x~nFz11e}X-O@OEy$8e4p!3;m>jF}y;MQ5=I59Z=;?CyvHZ zCmF<2*qzRK5?yvqqERBT{9CDYARuvw(5BCAeG^EFpbdcp`-c*x*%pME^Y$@ zr{_vemK>sVM{;e8WYz*ncJEXRY=f){lQ^5XNTx%=Y!CAk3|CTDhTx;aTIeIIFvCe* z?W4-DmAVBVjmlC=IU-GkUMMGqw8kWM39|!fyrT^tS3<5-#j4A4Ror$9Jy)C9>y3(} zLMX@Va$qH`aB3AdNv9PpTO@fs1=3l2rl#m+e9Q23$VM*-+om!%X{DiXv>Cjd500T{ z=2WD1E=lkb}M#z|`_pH_Kh2MKp1RYa!5l~ihuNCdLVhGUMAV8rwgO`!%$ zW7t@%TP>=#dZsGx+7VBw6v8XA_$j3>z8RU%t-_3f+&S1j&syZ(`L$^(7P$~(;?5s& zSc0&h@V)tNZkDI(Ph$|c>K3m{IXlj4$comlmor+ zPyYFWp@wJ63$bJ{=_ljpUT>A-0zTds`!A@6qe(K%#U9r7g8H7fJ9u|?K7N0dAM)E8 zjz)1WrycBjd;IJUyS1&;pneehr_H3^>_(B-Xzte!YK^8BbYt(Z(KzwFI5@2}0{9Cc C@}npK literal 0 HcmV?d00001 diff --git a/soroban-test-wasms/wasm-workspace/opt/next/example_alloc.wasm b/soroban-test-wasms/wasm-workspace/opt/next/example_alloc.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2a2b0c861bf767bef65a8ed08a2b0aefa88f942b GIT binary patch literal 2436 zcmZuz+in|G6g@XzXPitfy^tcIqco$!KBq!yy8LgELKsXb|8J9a!X2~4_NalYbyX$#$aD(r0NR1A z_QO>wSBz*AH zu&-$tR;XcL{r&O2Re4wg5Bbn^$XL-*H+|{h$>50$(4pN@AL0?{xL)PU)qW@oigi#l zpcpNvDU+faa4L=hVwWI#s+<2iPjeC6dZ$-Wh zzJgEzNDZu>M2r0pxev95kgEH9M|wku&x9b29EX|{*bfz;J*tvVi-YL8eKCn{KnPBf z7WeUNw`*S}BWZ~mY`4UYgnc!e&AtVFbZO9MIt_xp&rz)w zimOf$_XNr=V%Nw4P%%u-{tFP74|%ExV&DEW?@Hv1fEcyB7zqlSmcQi9@Whh)d?KTdMkAwP_i(dZ4h! ze%Ldw+Zx@xC)yf)aF?Hp8Z5iR+m#Y);Bp>Ol+Q&Z?Ax~*Y@C#^DD#MCp%_no@)kkq z7bz=lp$$UpMDPV|XUX$Do4uG|Whon6pp69HO`pVmSaq4Ga?~ARr;p}NF8yOU06svC zP`j&DqN&`E3~5f5q0$72L-x$25jN?3bzlWz^qHI%(pzA+e~1ks3|6~0k=R$tbkHD9 zxTdD;=$#k0u;7Nbj6qQ)))iLB`<`%vp$HVZy~sx4(ba(42djxY8Md6IKczHCE=eRL z;Mv7!K^5r`B-{!s@sffR-60VlRPbfM`wRKRY(v?zSh##`3A_LXMpPOA@x=rhh2aw< zMpMCs_mXyts^q>6ZccJCX~q?A?sjvl$%{vB6A!dtV%h8abdlBt&2AlM)kg0{OYvwsZ%PpNm~f z_bhFKo{1Jo&bA%2Ryyb^;kR0+Y5Sse)E=cumj5Xg>QbPV#}w;cC@N%xp-n{% zCGJWn~Pp3E2O=kqzn3kz|k&f0UEQ2sEZA?21hRo zRDMl(2rp)#i|e%vFN7XH=^8J2CtfD**KhE&oN_Mu>Qm={g|)X3Ez;h_F&fj znyiCO{l?tW<%M_%Khd{=$vX_Ob zE`epdl$l&Ij#0f>O+px91o&vkUI;#Y`KT^eV>F>Et0BTwWhHcap@L3*@hDKniPbn) ztY!hwsmc$H$ZX*Xh2veD9vQ`jvOR_jx6E$JCL9*1S{$`jT#(E=fYQ1D78U>m6d6H8 zh47b!(%FFcr@h-q2%{n6Di8u_`N}|eOAGiA4B1N_?ZN^$W#5rgi6O4a=pL%wR8558 z$ukAOs#jQJa!nNz%BvB$`KqW2 ze;g!X7XpIEi&N4ipPh<%^^VOB`DUV2gJ+(CVPU?qu+J~&T=PNi{a##?mN#39(Iy zem6err;~IzIy)bDq^S&(2jB|)A-Ds+4ql{>mpkW!@vz+)k1o>AB+6r1${*jm-$yGq zhUs9^Psih^N8o$Y7~ v|0lyv?eTGAcc)uF-cNV;JMDJV+~3~asWtbbMyDI?HJeBEsM|QMH5>FV4eut# literal 0 HcmV?d00001 diff --git a/soroban-test-wasms/wasm-workspace/opt/next/example_contract_data.wasm b/soroban-test-wasms/wasm-workspace/opt/next/example_contract_data.wasm new file mode 100644 index 0000000000000000000000000000000000000000..103431a2b618a12f056547f7bb505da84621290d GIT binary patch literal 4835 zcmd5=&2JM|5Pu(QXOp$fqkPnaHoP@yn^XlkA&mp4>{ft!sH*lrk7g4u#CGB&>m@X5 z6-NRgq+X(4d+9AF{(+u2_tHOsL;n!^o44z=<2E1!Y3oSub7tPWncvQv2@AR#oH534 z7Vh#rzIRvbQ7iXMXQ4BTy&k*Ed)Q#K+3W2wYO!eb_NZgbF!sb34qxH(O!6kLLu!*( z(XL}G&{i2oJ7?N?)7C(_&X+J=;R`H}c8M{0Y09#4WA->HCbEW0Ya-`x!E-sunaW>~ zJ?`!AKW9#l9qq?{6KC@q;l^gPD_CjkL0sPoqi(Yshn<+6E;YjS;f41~Ye9E-;Y{g% zc!cHbsg(yCTf-#hiX=4-H?}sTAlhZ;izIX~f4@jF2lH}~L=NT`N=D*fVX{C1o1JbP zbXG%lu|V>&=?4W8mrXw`khE+%RW!n~`K60dxV0XvhV_Tdc&)y&8;9L`&}r0(jA=Nd zGEuKLf;gy$ordI2y}lL(TlJNo8%ihUP|P=hGoJvI|p1 zvW;@gRdM*olj-f80(N~4!9pqLOhQVN87<_ z3y!zwB=x|nHSu{0P-tV+mqXsac#BSyj(^I z&wmMFmd9=|1ayzLTno>P~*<1T}Aqx6BTZ764Zyp0>?yaSt3Je`}B2ez6> zjZC+C=IbZE_1J%md<_|!VlLjw95|3qTF9^rtI05sURm1F1-w={Scnot2ZpEUl{jaC z^F0l-;-E^FES7HJ5&fOriYgos6#d`_vYV8+I+Ahcv!To`O(EtOJewu0!)c%ckZ7)u z5Paj<$vEdsm;o|8*vrj1)n~@sOOpETS2$m0ra+tmofKDlkf7#&1-|^7`h( zdiecTGYaD7W~crzh{I?jh}xjF3{jO#TmG^z75VJ3XgP_XAqk+1Uu=Ad6|| za3W_vWC8EUW-jXPgptvSmFBM27OqyWbnqR=>n6^b4Lj;~8|{Sb+I;mY{;ou;bC>Vc r7OpiG?_CcUuCE3`b?N&2!nL`j>($z7qx$*M(#m4BQM)&{RAYYuw2K{g literal 0 HcmV?d00001 diff --git a/soroban-test-wasms/wasm-workspace/opt/next/example_create_contract.wasm b/soroban-test-wasms/wasm-workspace/opt/next/example_create_contract.wasm new file mode 100644 index 0000000000000000000000000000000000000000..15d51427ffae37e77db15096ef994f50d35fc506 GIT binary patch literal 712 zcmY*W%Wl&^6ul2Sgc@2SgcMl7*zKZOG;$u)&MwY|J=-oE$94#LwX&^1g=AM^!=H4; ziXULfk}u&G;5si+TbeU-&$;Iwdmzk~2mtt|HUcb0Toi=>Rts&mRF*ITpy!OAu`kL6 zb^&pW9uRBHnyxc~S$oMP`geCf!6@M&KI-VTWwN|ZZwYEqnuK`*i~;CJK@f*|7$mEh z(FlTR65a&kFiV(@eh~jg(n>5&!5_?QIs-)tU3LV(<#R=TV9uM27rzdF!Fz2m zM2nuFA?{SUlSxDM?cP`KzFVX;`4Ec@B{3>eysNz1aRvh#aCIDAuktjE^6Vyw){fll z{@MTe>P)-h<4yef%)Z7q`1n0QEG>;`vtA?KmxYFVd)eI&pj5_;S)udi^L29k1W% Wb=zLwaiiFI>v`i#Cw3=o&xL5S`hzv4zuw93s(6WeA7l05XBb&_h*Q&9$nO4{#iNX#xQv8zDuN04axF z^B4VuUMuwndhZwX(0}Nx?WKUyMXTMJo%d$uF@`W5BLJYut^gNT0NgalriD63sFYsv zC3>sXcd(YQeHuZzG#2A&^1#3lNfHP#g5s7WfTiguAUCiwUFP9kW^hh7(7AljFo04y z2;y)S24WI(w1VJ9g!jR9m@Cthc)u736Z$1|MBcJf|E!5}fITGKXZX;kS%!r`(1E!Si~s0c=q)y|Ymf z$t>v0FdI*~xrde_ux!jKRE7RPrY)K5&KcE-jh@Y69aMN;ZcZfms+5BmD=xP)kex}w zD79A|)>+YX+G*cST)kY*0PMYo(Xiq;05(W z9q6hcDUnSIQ%fWldX7}PyspbF;;L~D#PE&nN7KnH38PthFQT~v^oP<`i(klj zqCqSihVQ-qaB+D_rqeHc^7uDukLLo-;c9Sm^wK&P5xh SH;SFtz25b?6T5?U&xOAhL%pE@ literal 0 HcmV?d00001 diff --git a/soroban-test-wasms/wasm-workspace/opt/next/example_fannkuch.wasm b/soroban-test-wasms/wasm-workspace/opt/next/example_fannkuch.wasm new file mode 100644 index 0000000000000000000000000000000000000000..27e761d2d4029c21edd620f8b5e3b3d58deba6cc GIT binary patch literal 1044 zcmY*Y%WB(D5S{ywd}B!=T@?C&GExFn7cp|;M)uCv;It4*KfzIKrHNcSiEIp^5NAYQnQ3~R7M60iS!%FjQ)8S z{#b^F_nLTN<_q2yZ3L}$Wt+Dt_Z2d~s+G?vT}7_>H1mOCt{G7@6d#~*@nI9fLaqYY zE$UY^JEI6Ky6r5m-gwMianQO(`}!jAI{5j@Q|Mjkn;UWFTMpV-G0)ypzoMBLN+P&c zuNI?jHJTBjFKHGaCy4Y`c0Csb3N5ohgdBD_P?nKampM+MJ1|y;S%%VpOn-w6Aqyn2 z1L%5Hl%`@B6tL`i3`ufug+eR2VB!7Cr+yWGC9D!1lPSoZ>`iTe+7TJKpAA1r-VR zT~t`^E6}}L8x>jMD>G~8b7RcV7ljb8ipjJ)y+h-{(l4qoevw?uSi9&(g%lTU78v0c zd0lvH4EHHEdlpuM)8P*ND2}27cp>141J76cC*x_J^rw^4v_FgB?z;U$ZWGTQl*DvA z8>Q1^$$dx+1|ODp(nhPFBvG@q)!42#TT$E}L@%4ogPmv)AJ&^O`~$BBso($r literal 0 HcmV?d00001 diff --git a/soroban-test-wasms/wasm-workspace/opt/next/example_fib.wasm b/soroban-test-wasms/wasm-workspace/opt/next/example_fib.wasm new file mode 100644 index 0000000000000000000000000000000000000000..7d093ca0a6555f842657c7051462c88aa191b10e GIT binary patch literal 360 zcmY+8L2rUU5QX3Ds%<40J@nFpA@qt!vKRjD}*1O7-= z-3v3CCk#A{;(cBfDz3_dj*p`GwyXAd=cbbm)cG;fmAbIE4MO<31pQm~i}I+8He_Tk zJa-}H`SyKNeV)2xTo+}T>{`rOibd1&BDU{S&vlYj8fZ6&l@flibRF9dgcm2`$@kYQ Kk$9=?d-w&(ZAiNS literal 0 HcmV?d00001 diff --git a/soroban-test-wasms/wasm-workspace/opt/next/example_hostile.wasm b/soroban-test-wasms/wasm-workspace/opt/next/example_hostile.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6e367901eab9ba069cc6e8150e97090715acb280 GIT binary patch literal 2119 zcmaJ?OK;mo5T2Q(WZLwDPV1n}p&%I-NP))H!?xsJDiZLahoG%by~&hB*_Ld}dO(2D zz%&}8^`(H11$t>uKIPJ1&|`r9lm3F<(wSXKRuZR6fIFPWH?#9tLOeV{0KhNi_W>{V z>EeRls9&jkrzxiU0Q)MPNK#<}eVWGxmH}~$Mg1-VF}=-nBYRhY)Pq%JF+MLOqMXXl z**S%J8ndwz!0r+wt+3`2e=m~5Mhp;Q*PU~G7BS_+A~4@( zdrdeHTA}UEJ&MTr9O)t=AE>4n_FDmyC&KIJ0e&xD*cu%+XXWzD8DJfB#-9*`3*YEq z+1EDN?9%SIAMmE5ZWGrgJ2%^K0t#6ISS@_wKBU?NC!lctnLe1^@hGHGN5J`zw1jdl z3=5nG4v*e-^Bq#k*f(}JU@z=^r4wG-?!)l+U-CZk*^q&S`!e!=ima>X>QWZE@JMIN z$3@Js!i_Ddmc#yrs05PhMS`d+WbJvF5d*0KQOXSO`qsCMs#@n%va)v_7>mDQZwWl* zS>o7(s{o|p;F7zx%L0fj7c*5$YwEOVgj-HLIC54pDJ3miVdk%Q!LdiymiA#+QU?yi zoAy{mxgPQfUC!bbS#tPSaAml}ZD!gJ8DD>hGP!vPl2P3p2Wd*nVOs8*PYmTr5fsPt z8v7EQGQlZR?>{86{|$)S(_{Q;Tvo9aQ67M z;eQD%;<+)C8`?gIIP}bYqu~pwkebaP&)EIcLbH`agb5A(ff}hoLvv)cg#Ldz0ENPAlaJRC%`HnF|P44R% z)|8xF;Zw#8VQzK9K;E*Shh~_o{(UmJ|KDAAKLh~E#B|)#)C8LjkEY*m`<(nbimV|r zSvc04`iD2cc%MxvlZp1M&9X3N*5scgtowWz)lXI@g-A}vC&?(D)?!WD{V*-m8^YXR zI8FuzV!60c+1w~RJv}-&937t_R_N_E2N$VfleoJMC$A+$012Uf0eja0l`*;b%J zvMsejJypGNLE?Z!#GxOcH;%njsyK4u!i6tUe)HB&C?ZyN=FQB`pWn>9rF?uWh)8_s zcI9*`rd>5PM9yZ^RWp9tcrqpGLMo zcv=}#t#CZITI4h5g|=2%P{L4X8=iEP`r;LlZIqCBWh6lY@LC3L2CKTPv#c&RBQ=aH zEw%O8jZngwn&1euUmTGBfwUCWvT$7fW7#e$z?JUFytySUsTpyU+BslCi9S)>7Z z9R%P9sfwA)>SZRms;0JaYO-%G(XRR;v(^xOBCs=u31NMFG;O8QT&&OP; zGN@S^@Y zp!|yNJ?BAj;QyR$Z>w4;0n%J7C$7TQN@U{#bvuzU4)D~h$N&Tu1qgIqOy|=-Ui|RW z%U@mr6fR9O!f%M5t>LmS^;CTY!E3r~31_^alE1Ed$t z!03f82Q=`wW_~#mHks`autGI-%_f_8Jo4dUhj?c#P7jw+HUHTY+>h{M(gh7K{%?!SlgbG~-1$673yfPBxG1-Q4a32Xq0@mD2P ze``mjq@TrF@4?Arl=mj%(|+$PUMQKEPXOrh1(8=uyCNhGF3$q&QqI!L4+s2IX80;q z%+gLgeEaM#GwB=^tXao@<@bZDOI82m?6^P4FY>%*Y`(iF;w_~;8lUw??22e@dn;{h z#dl7Q?hhtkFCs(kjmG0*Sefna#9R2?8TGbr9j1-lB01daH}-mY9yj-P8oS%gy*TX^ Q@!e+gAc>3gaJ!k(KicRs_W%F@ literal 0 HcmV?d00001 diff --git a/soroban-test-wasms/wasm-workspace/opt/next/example_linear_memory.wasm b/soroban-test-wasms/wasm-workspace/opt/next/example_linear_memory.wasm new file mode 100644 index 0000000000000000000000000000000000000000..aeecbf9e9cb1d8e5ccf5d7d9fe1d4fb28890ac65 GIT binary patch literal 873 zcmZ8f&2G~`5T4n!6RW0`5g-MG(8leBLn5aMal!$`KES;%;5xQL<1|iVTR{<05{U}& zCO!4Q8*t=dcm~R>ogbC4G&4K<&CECJ0Y94}0N`u&5?8po#5E~pMM9Pp8h}0HIK&n( z(ru7_4}e!x%2ZJ02u9^4U!$|x`~rOqk8Slsr814CvvkQo8;%q2%Pb8+sY-X81fZe^ zl_Sp!{oMDWB;=@j-c{t^ctbynI6L~u)h?5~PQfuICZ2&n0dG0jTodS$p#UB4lmY0{ zqo`xVXQ0oKuMbJ!KHxW3xsb3j%BU0*;EEr2CU6M3~ons%u+ zbM)A#)+wo|FKHCb4ZiF62T_$Rt%5wU~ICC2{I2`TT~9ds&1L?{Wh2 zj5-{6@47h9Wf~i>fdGR^&W`fwxE$S8h=3N~yW+d6+`6|L`6mo`#RtS*`FPBVYr$hv zZ2&kJn~L**b3p}As6u%UKtPP^{0ZptEAYjr5%$CB^M0rlq~;J?18 zLv|9(l05Z;JiCd4g#`yW>;QmVJt<1D6J*Jku@f2G%6?Jkyu+)*WgcZEKw`_BH&1s> zqhv9Sa)00VMS=OcC-vx3O|wOmZi}^=cBg4IlJV!O{CZgiNo#4Ag_9E2KDV0mHPWDU nI8U9UInTA@8^^=$YDNaUbf literal 0 HcmV?d00001 diff --git a/soroban-test-wasms/wasm-workspace/opt/next/example_simple_account.wasm b/soroban-test-wasms/wasm-workspace/opt/next/example_simple_account.wasm new file mode 100644 index 0000000000000000000000000000000000000000..64ef1a445ec155b20cbfb81df1f02c5726f505b4 GIT binary patch literal 1994 zcmZuyv2Ghj5S`gQl1CjWuZjeUieO2r5DN*EC5se-0KALi1aRTRsZyO!H-&d$7f`(}1Y$?$-Qh*$iF zYCPugLzaggJDcSDgdVC19z?P>QH>(+a2F{j{20%tyiJ<-IVOc?9iDw&$8(39#N38Q zae^o7qOUz>mCF}$nrR{biJowHcJ`Wr35Bn&zYF&Y`GfS}aB!-~+w1R*C@2ooQGEEM zpAM*0isSZf+U~{4@o1OID1BotjyuUHiPL^Za}dY7X>t_rB*Rpzxxb43PoDB8YJ8Kz zdaugM1jF>IxtT%B6utz36-AXo_~X>dXHjaIR7qq{JX#TvR z{gMu>7Z&f9*(x=`|2SfV7rLuNRUQ6DcgwV7HL8bm_W_~9U#J%@W#;cQQ-!>xJgY*# zYc)!QT=D{|FQd<%m6S7XKP#~_)}93@8&V)l6nK9LR4?Ri1^G4YgIoT^dBsO~0H&&@ zyau2Fi3Gu*h#MN4kXm{80+cn~WwJRnwjzW85|AXga2eSbk#}zMQ^Syyx4DQi5SPgS zr~&{E;Yzorfnp)H?N!kU(B;r(-YXOqRtR(e2yrzG zLea?XlvH$nc6MeA_O%H2q9A~L#Fb+7{1ukiab{c0I9u5*nD`anvTV4_0c7B?E(?C} zx#9_rO);AS3=QZC1=$;CdqXx|crD2S4pK#jh>czf?l4b~nT?xd3M&@18Pv?Y%b4bh zZ6E=bY}d@;B@`kReD_}v11zbNA84$P`e<>?>4fAiMJnReH-chfru`O*O zSradCtYb7SrVk9vJesC!+Fq0qQ`0LIhTn86axTy+oF1FQhN>RiO;Nk*w84}`|M2tZ z4L!Jo(g2Z(z*f--H+ng77zsw7Ox~FAHGOqiag(!HDFile3nFq}2uTgsDZQeMRSx-A zdN2@9!U}WLim0M8PF{9aO|dF%@FM=!8{-_xmzq&3etUp{l6g*0LI&y(dtP93Ucb-k!$A-fP9au!3_qk zA4gU?N7Za!P|T^McV`klhH~_?nr|QWM}wq28Xl$X6WrINWO4c_+`%n+FFlp7Jagimdk=Hv&2HxR zadStxR<5tKM`rKqBG;#HSQd<8pVG4WO}`e|9^8oy!H{4LDIr-?{PmF9S_p@ zC^_9fOge7i1B~KT%=@+0G{5YAM`F<>eLBk4{~#*7g<1IGnwLIZn2DG6PY%*i;`Eb@ zkMPg*!Q=)NePNJ6rWm{dj9w-qT^JI( zzfs(xV9xbEL~2&Y21t|;kdzpCQ=ek+fm7bBE*c<)jLK<~pl-!~@mu^0K3c;Ved{^8 zQb;QxM_L}n^7~CB-~aF}DVpT?;7Y1U9d=v;QZRR=)Fki58giPW*IOZKJSsBjrcXpp zCF{Z4Z7=<&i2gud9PpztI+z{_h~;%`UsYNdbL&Qg<4CcfOMotX*h^0rWvID@;1DCxg|4;)!dZ&f$!C(=Ievllcb#&E0c2t z+g`gB^jhk0@%huFJUPDy`E>H4$Y%Ft-HvMUI?U7d{y6A$v;KHsdV^GJ6%IPRZaW;P RAkEZK7>@cX3&!m*fPY1GZk7N5 literal 0 HcmV?d00001 diff --git a/soroban-test-wasms/wasm-workspace/opt/next/example_vec.wasm b/soroban-test-wasms/wasm-workspace/opt/next/example_vec.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2e14d16923a38c9d548d8cb8823515122e38bc28 GIT binary patch literal 596 zcmY*WO>fgc5S`g|TB{b7k>J1uEiIQG5;;v;I~PQJ;2dY}?is;3I+9gIti(6`VR;&4?ImvT^X5H zcB9fdppA9*;nT9PBH!w?DoQOr7ps-HRazNYDIv8ex7D!Bhl_HnGeLVOjUbuSJ5lJ( zwz6U)tyLLSeZRxLsO)~FGhWM87ah8U@jv_g_4EG&DP6BsB@Z*b-0Qv^27W>gjIEU+ z1=;C%6i!FMP#3q$YPIV@@~*KqyYFR_%V0!jXwva{9!@9Obv{$mSt?}^%`T^taWo6U RGz+exXmK56VLpyR_y-3%fIR>J literal 0 HcmV?d00001 diff --git a/soroban-test-wasms/wasm-workspace/opt/next/soroban_write_upgrade_bytes_contract.wasm b/soroban-test-wasms/wasm-workspace/opt/next/soroban_write_upgrade_bytes_contract.wasm new file mode 100644 index 0000000000000000000000000000000000000000..97ca15ed450fc926e2131fa0125df50f72cbc78b GIT binary patch literal 667 zcmY*W&2G~`5T4nwL#U-{IUuz;pvCE>hemc2vd)e8%8eIr9eYFTG-+j9DG^c<39h^Y zH%`0*M{c|c55NUxlVH?YX}Z~I*Oeb;!j(aFTbfVBz79RF{J1yaZWsmi4^Z{uc%4!ma1S<90&G7 z1n9w=OM5X9wptfTAK1e820p_7hEiE-d)$Xt9_7lyR52wwlC{n20cC(Wfpd)deF~@ g(~%jBvNR2%(dD2YMx#JydGIQVCc_}t(=gKT7XieCwEzGB literal 0 HcmV?d00001 diff --git a/soroban-test-wasms/wasm-workspace/opt/next/test_delegated_account.wasm b/soroban-test-wasms/wasm-workspace/opt/next/test_delegated_account.wasm new file mode 100644 index 0000000000000000000000000000000000000000..af7aae19d04f0ef273e89c968447a494e784963d GIT binary patch literal 1987 zcmY*a&u<%55T5tm{z}##uOLF!Gdt(YJ?RICk*Xg&jN8??Z z1Kj+4yWP#kS-UsrDiOBZyS?mTdnX(9l$?J#@BQS+U@9k9$<+Ias1k&zpSUxDs$`zS zSxr*xn;%NaE3{;lWJ|VGOFP=T<+L;z+K{A42WjvuJ$KwtK}ChyF>|*TgqCuOYmy46 z`}qn{qRbz3Yk`)uf_F222N25qLVdGTh=0vQX~c$fv@}7k6B4YR2O{oB}mI43?0AR$2R2;e%R<^WQR?!Kg z3Kka|s>YJ3<;w~v8f5E!f=VD1G}I!bMK(gbsfg#& zr_Ya$j)VXtjte40=EBtZAPBz{VtUpihz@Zr;uI7KfJe}T?TOQ3 z828ep+ib!MES7R{3dTay;FU9g=v zSYBB#Y~hqus>zy`*6FXbH7rc(soY`-xu1oK8re`~EAkVGlvOJ3Iuk_44-OONFkwzX z7{_;lslXb==s9#u7|S=|N-m6pa#y)FVFY;`6y-q(5HP|D zbyGO{^DH57%9x6q#a0RuD8k6uCdCXCF8O5x9m|2am}5#Y)e*p)4ar0@hY2Rbv2u_n zK98C*m0TB+_O#zO>X4Ndp@c{6*bT)`w=ZwViw4Po*#vMkSxx+Y;_=xRmt&=UqsDl| z!Noj=X-$5hy*&0*ODjx?uRR+c`xJevkNmOAGYWvi!f%)+rbYFJQLHX-|(aN>K!tR|FMr=}VG| z-<@v;y&=SaB68_pajtVP7!R|~c=WK>ImD}ee_JA;{RU@czu zZ}i-Q(iP4wyrswDyI%x+UCQ(GqrLlsZ2V~0Yd_2$KRC#`_CWoEMVC5rXFBCZxh&Yv zOPllQeLJ?B>Tjg*3ZnnXTf21S{4D9-;Bdb;&TQUnaS4~8@6Jeh=g=LF4lQ?3I=8mk zSYNHL4EFBtjvrWl*q(ynXw>Z&YS*vTSMgsNcGj-mYph@IZrt1Kt#5X+tlr$bwtjuB Wxmj;?y7e2)=FUdF+qk#ZY|#I#|2Y`| literal 0 HcmV?d00001 diff --git a/soroban-test-wasms/wasm-workspace/opt/test_delegated_account.wasm b/soroban-test-wasms/wasm-workspace/opt/test_delegated_account.wasm deleted file mode 100644 index 725df682a74028dfca4cbeb4fd5593930160431b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1979 zcmY*a&u`pR5T5tLKN4?>s|G2gsCssD*a$V+hBTXq18V~XRHV|JxNW=}H;FgdRJ+@h z9=aQesN%?hLyvIEDgOgV94aBC9=QQm4yY1;0DSZ8O zXvcMwpv&$%Y9f-8lbo&~*>MUH1c5{AXB+4braBlgaczxDw+yKa4Z*l z0m6pG5*bI14HLnD1SB^0&QtR=)u+a-gpfGAaZ)Nltfv4#3;;N>l1imxVP(sRWfh(= zs$g-Usp>2x^=kfBZ**blxCVsddl;DekNpaVSu&|ztOrd#aBjv;am zy=khc2<2i0mCE3mBV0y%N%oW($AIlGu>kcm<0KnJq*98ibEx@*VfQ(439(536W^rI zX-l_K5eaU9W`Cp_I;r{gEHR&+M>t=|K0-Q*QGG17qk76W`mk{}XZz8DwF9POjpc=n z!XCQnP+iuIv_XHRtwHJ1NaYqwsQn^U^v9+uTcH%1(^OxT#BC!Dzli*@JxBop##f=63aURZ z3IeB$skp_qQ;bjgyP#le#7 zMJnF{$%=5Cgup!6Nr=$|3|ZCw-)QR`3K^q+gRDCmKFGVr`0UfvlI^{Z@qxaRKW16*qq>|a%ya{5`JsPh=Nwg` zpu6 gA=N4e)2F^p}VGyZvnRaFDkjWRDMyvK^~X|6nnd&CG>OwNWi|_Se$pdh)MF zc2oV05?(;`K6-7Ju3erMo%fFq^HFB&W{-K?oAl^{lsA;lV0dh~gVCj%E6uf)#*O~| z?%wFY^27e*4~D~?UTL<{SlL`zy`JZ5Yx&x0qqEt`cJj{6^={VLXg2bl)mxqX{`;HF NZsXR*{q;4X{{d9NH!uJI diff --git a/soroban-test-wasms/wasm-workspace/simple_account/Cargo.toml b/soroban-test-wasms/wasm-workspace/simple_account/Cargo.toml index cad58e727..1639123dc 100644 --- a/soroban-test-wasms/wasm-workspace/simple_account/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/simple_account/Cargo.toml @@ -12,3 +12,7 @@ doctest = false [dependencies] soroban-sdk = { workspace = true } +soroban-env-common = { workspace = true } + +[features] +next = ["soroban-env-common/next"] \ No newline at end of file diff --git a/soroban-test-wasms/wasm-workspace/update/Cargo.toml b/soroban-test-wasms/wasm-workspace/update/Cargo.toml index f42d011df..8e3ef6d3e 100644 --- a/soroban-test-wasms/wasm-workspace/update/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/update/Cargo.toml @@ -13,3 +13,7 @@ doctest = false [dependencies] soroban-sdk = { workspace = true } +soroban-env-common = { workspace = true } + +[features] +next = ["soroban-env-common/next"] \ No newline at end of file diff --git a/soroban-test-wasms/wasm-workspace/vec/Cargo.toml b/soroban-test-wasms/wasm-workspace/vec/Cargo.toml index d4e6f25e4..b5623d12f 100644 --- a/soroban-test-wasms/wasm-workspace/vec/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/vec/Cargo.toml @@ -11,4 +11,8 @@ crate-type = ["cdylib", "rlib"] doctest = false [dependencies] -soroban-sdk = { workspace = true } \ No newline at end of file +soroban-sdk = { workspace = true } +soroban-env-common = { workspace = true } + +[features] +next = ["soroban-env-common/next"] \ No newline at end of file diff --git a/soroban-test-wasms/wasm-workspace/write_upgrade_bytes/Cargo.toml b/soroban-test-wasms/wasm-workspace/write_upgrade_bytes/Cargo.toml index fbf1f56c5..2701251c1 100644 --- a/soroban-test-wasms/wasm-workspace/write_upgrade_bytes/Cargo.toml +++ b/soroban-test-wasms/wasm-workspace/write_upgrade_bytes/Cargo.toml @@ -12,4 +12,8 @@ crate-type = ["cdylib", "rlib"] doctest = false [dependencies] -soroban-sdk = { workspace = true } \ No newline at end of file +soroban-sdk = { workspace = true } +soroban-env-common = { workspace = true } + +[features] +next = ["soroban-env-common/next"] \ No newline at end of file