Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 19 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 2 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,9 @@ wasmparser = "=0.116.1"
# NB: When updating, also update the version in rs-soroban-env dev-dependencies
[workspace.dependencies.stellar-xdr]
version = "=26.0.0"
#git = "https://github.com/stellar/rs-stellar-xdr"
#rev = "99c73b18ccd68bc3439be30801da6261b193d2da"
git = "https://github.com/stellar/rs-stellar-xdr"
rev = "f0ed902950d517ec3cc31d5af7c268e2f025d093"
default-features = false
# env should be pinned to next while the next protocol is in development. Switch to curr when it is updated.
features = ["curr"]
#features = ["next"]

[workspace.dependencies.wasmi]
package = "soroban-wasmi"
Expand Down
2 changes: 2 additions & 0 deletions soroban-env-common/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ testutils = ["dep:arbitrary", "stellar-xdr/arbitrary"]
next = ["soroban-env-macros/next"]
tracy = ["dep:tracy-client"]
shallow-val-hash = []
cap_0071 = ["stellar-xdr/cap_0071"]
test_feature = ["stellar-xdr/test_feature"]

[package.metadata.docs.rs]
all-features = true
5 changes: 1 addition & 4 deletions soroban-env-common/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -102,10 +102,7 @@ pub use num::{I256, U256};

pub use storage_type::{ContractTtlExtension, StorageType};

// Re-export the XDR definitions of a specific version -- curr or next -- of the xdr crate.
// next should be used while the protocol is in development.
pub use stellar_xdr::curr as xdr;
//pub use stellar_xdr::next as xdr;
pub use stellar_xdr as xdr;

// Val is the 64-bit transparent type.
pub use val::{ConversionError, Tag, Val};
Expand Down
4 changes: 2 additions & 2 deletions soroban-env-common/src/meta.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ pub const ENV_META_V0_SECTION_NAME: &str = "contractenvmetav0";
// protocol number for testing purposes.
#[cfg(feature = "next")]
soroban_env_macros::generate_env_meta_consts!(
ledger_protocol_version: 27,
ledger_protocol_version: 28,
pre_release_version: 1,
);

Expand All @@ -59,6 +59,6 @@ soroban_env_macros::generate_env_meta_consts!(
// network protocol number.
#[cfg(not(feature = "next"))]
soroban_env_macros::generate_env_meta_consts!(
ledger_protocol_version: 26,
ledger_protocol_version: 27,
pre_release_version: 0,
);
2 changes: 2 additions & 0 deletions soroban-env-host/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,8 @@ bench = ["testutils"]
# When bumping the major version of any crates in this repo all the code
# guarded by this feature should be enabled unconditionally.
unstable-next-api = []
cap_0071 = ["soroban-env-common/cap_0071"]
test_feature = ["soroban-env-common/test_feature"]

[[bench]]
required-features = ["bench"]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,54 +1,54 @@
{
" 0 begin": "cpu:14488, mem:0, prngs:-/9b4a753, objs:-/-, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-",
" 1 call bytes_new_from_slice(232)": "cpu:14535",
" 2 ret bytes_new_from_slice -> Ok(Bytes(obj#1))": "cpu:15556, mem:328, objs:-/1@d14dacdf",
" 2 ret bytes_new_from_slice -> Ok(Bytes(obj#1))": "cpu:15556, mem:328, objs:-/1@b20cf4c4",
" 3 call upload_wasm(Bytes(obj#1))": "",
" 4 ret upload_wasm -> Ok(Bytes(obj#3))": "cpu:1158749, mem:417237, objs:-/2@6a22e2b0, store:-/1@e59f2197, foot:1@cc5783e6",
" 5 call bytes_new_from_slice(32)": "cpu:1159191, mem:417317, objs:-/3@f93d46ae",
" 6 ret bytes_new_from_slice -> Ok(Bytes(obj#7))": "cpu:1160162, mem:417445, objs:-/4@18bb5c4f",
" 4 ret upload_wasm -> Ok(Bytes(obj#3))": "cpu:1158749, mem:417237, objs:-/2@d55cc13e, store:-/1@ff36250e, foot:1@13b4b819",
" 5 call bytes_new_from_slice(32)": "cpu:1159191, mem:417317, objs:-/3@e0d7f33f",
" 6 ret bytes_new_from_slice -> Ok(Bytes(obj#7))": "cpu:1160162, mem:417445, objs:-/4@fbde1e17",
" 7 call create_contract(Address(obj#5), Bytes(obj#3), Bytes(obj#7))": "",
" 8 call obj_cmp(Address(obj#9), Address(obj#5))": "cpu:1162785, mem:417717, objs:-/5@2654adb1, auth:1@9651d049/-",
" 8 call obj_cmp(Address(obj#9), Address(obj#5))": "cpu:1162785, mem:417717, objs:-/5@3fa67a9e, auth:1@24d0eba1/-",
" 9 ret obj_cmp -> Ok(0)": "cpu:1163079",
" 10 call get_ledger_network_id()": "cpu:1163131, auth:1@9651d049/1@9c3be76b",
" 11 ret get_ledger_network_id -> Ok(Bytes(obj#11))": "cpu:1164163, mem:417845, objs:-/6@af8fc0b1",
" 12 call symbol_new_from_slice(13)": "cpu:1399940, mem:588469, store:-/2@c415fb15, foot:2@a81a25c8",
" 13 ret symbol_new_from_slice -> Ok(Symbol(obj#13))": "cpu:1400950, mem:588578, objs:-/7@4827dc73",
" 14 push VM:9c4242ad:sym#13()": "cpu:1621497, mem:757040, objs:-/8@f572f196, vm:65536@6644521a/2@2f94d90d, stk:1@89ca0ba5, auth:2@bd57128e/1@deaa54b3",
" 10 call get_ledger_network_id()": "cpu:1163131, auth:1@24d0eba1/1@b8ac6b85",
" 11 ret get_ledger_network_id -> Ok(Bytes(obj#11))": "cpu:1164163, mem:417845, objs:-/6@78edf89b",
" 12 call symbol_new_from_slice(13)": "cpu:1399940, mem:588469, store:-/2@4e5a42cd, foot:2@e46091e7",
" 13 ret symbol_new_from_slice -> Ok(Symbol(obj#13))": "cpu:1400950, mem:588578, objs:-/7@8397e30a",
" 14 push VM:3f76f57b:sym#13()": "cpu:1621497, mem:757040, objs:-/8@e3c3cb0c, vm:65536@6644521a/2@2f94d90d, stk:1@771875ba, auth:2@ebe3b886/1@e6b78999",
" 15 call symbol_len(Symbol(obj#13))": "cpu:1623966, mem:757070",
" 16 ret symbol_len -> Ok(U32(13))": "cpu:1624088",
" 17 call symbol_copy_to_slice(Symbol(obj#13), U32(0), 13)": "",
" 18 ret symbol_copy_to_slice -> Ok(())": "cpu:1624192",
" 19 pop VM:9c4242ad:sym#13 -> Ok(Void)": "",
" 20 ret create_contract -> Ok(Address(obj#17))": "cpu:1624695, mem:757150, objs:-/9@7ac958fc, vm:-/-, stk:-, auth:-/-",
" 21 call call(Address(obj#17), Symbol(test), Vec(obj#19))": "cpu:1625658, mem:757246, objs:-/10@4a0db2a5",
" 22 push VM:9c4242ad:test()": "cpu:1847016, mem:925716, objs:-/11@486b944b, vm:65536@6644521a/2@2f94d90d, stk:1@c4e7e9c3, auth:1@b1b428e/-",
" 19 pop VM:3f76f57b:sym#13 -> Ok(Void)": "",
" 20 ret create_contract -> Ok(Address(obj#17))": "cpu:1624695, mem:757150, objs:-/9@1dbdf8c6, vm:-/-, stk:-, auth:-/-",
" 21 call call(Address(obj#17), Symbol(test), Vec(obj#19))": "cpu:1625658, mem:757246, objs:-/10@37e16dc1",
" 22 push VM:3f76f57b:test()": "cpu:1847016, mem:925716, objs:-/11@39d2af02, vm:65536@6644521a/2@2f94d90d, stk:1@aec4f3ea, auth:1@b1b428e/-",
" 23 call bytes_new_from_linear_memory(U32(0), U32(100))": "cpu:1849485, mem:925746, vm:-/-",
" 24 ret bytes_new_from_linear_memory -> Ok(Bytes(obj#23))": "cpu:1851021, mem:925942, objs:-/12@720b3e52",
" 25 pop VM:9c4242ad:test -> Ok(Bytes(obj#23))": "cpu:1851517, mem:925966, objs:1@b5962073/12@720b3e52, vm:65536@6644521a/2@2f94d90d, stk:1@17bb34ce",
" 26 ret call -> Ok(Bytes(obj#23))": "cpu:1851578, objs:-/12@720b3e52, vm:-/-, stk:-, auth:-/-",
" 24 ret bytes_new_from_linear_memory -> Ok(Bytes(obj#23))": "cpu:1851021, mem:925942, objs:-/12@1e6fe7d8",
" 25 pop VM:3f76f57b:test -> Ok(Bytes(obj#23))": "cpu:1851517, mem:925966, objs:1@b5962073/12@1e6fe7d8, vm:65536@6644521a/2@2f94d90d, stk:1@5feccebd",
" 26 ret call -> Ok(Bytes(obj#23))": "cpu:1851578, objs:-/12@1e6fe7d8, vm:-/-, stk:-, auth:-/-",
" 27 call bytes_len(Bytes(obj#23))": "",
" 28 ret bytes_len -> Ok(U32(100))": "cpu:1851700",
" 29 call bytes_new_from_slice(16000142)": "cpu:47, mem:0",
" 30 ret bytes_new_from_slice -> Ok(Bytes(obj#25))": "cpu:4001044, mem:16000238, objs:-/13@e6f3f3a8",
" 30 ret bytes_new_from_slice -> Ok(Bytes(obj#25))": "cpu:4001044, mem:16000238, objs:-/13@2f1d1ee5",
" 31 call upload_wasm(Bytes(obj#25))": "",
" 32 ret upload_wasm -> Ok(Bytes(obj#27))": "cpu:12318074779, mem:1466525236, objs:-/14@e7cee7a2, store:-/3@a7a3601, foot:3@cfc1a24e",
" 33 call bytes_new_from_slice(32)": "cpu:12318075221, mem:1466525316, objs:-/15@3825881f",
" 34 ret bytes_new_from_slice -> Ok(Bytes(obj#31))": "cpu:12318076192, mem:1466525444, objs:-/16@92a20cc8",
" 32 ret upload_wasm -> Ok(Bytes(obj#27))": "cpu:12318074779, mem:1466525236, objs:-/14@ab07d909, store:-/3@6763d008, foot:3@cb1d3b0e",
" 33 call bytes_new_from_slice(32)": "cpu:12318075221, mem:1466525316, objs:-/15@73c5d47a",
" 34 ret bytes_new_from_slice -> Ok(Bytes(obj#31))": "cpu:12318076192, mem:1466525444, objs:-/16@cd6b8751",
" 35 call create_contract(Address(obj#29), Bytes(obj#27), Bytes(obj#31))": "",
" 36 call obj_cmp(Address(obj#33), Address(obj#29))": "cpu:12318078815, mem:1466525716, objs:-/17@aaa788f9, auth:1@c9b4bb6e/-",
" 36 call obj_cmp(Address(obj#33), Address(obj#29))": "cpu:12318078815, mem:1466525716, objs:-/17@ba67e783, auth:1@5a9104a/-",
" 37 ret obj_cmp -> Ok(0)": "cpu:12318079109",
" 38 call get_ledger_network_id()": "cpu:12318079161, auth:1@c9b4bb6e/1@e7489ee9",
" 39 ret get_ledger_network_id -> Ok(Bytes(obj#35))": "cpu:12318080193, mem:1466525844, objs:-/18@cc22952d",
" 40 call symbol_new_from_slice(13)": "cpu:12329567305, mem:1546562236, store:-/4@925fbeac, foot:4@3c8176e",
" 41 ret symbol_new_from_slice -> Ok(Symbol(obj#37))": "cpu:12329568315, mem:1546562345, objs:-/19@aaab9be2",
" 42 push VM:9de18dc1:sym#37()": "cpu:12341038528, mem:1626596339, objs:-/20@75b3dedd, vm:16056320@6ae17543/2@2f94d90d, stk:1@9a6dfb50, auth:2@ec5027c0/1@6adc5d78",
" 38 call get_ledger_network_id()": "cpu:12318079161, auth:1@5a9104a/1@8573bd68",
" 39 ret get_ledger_network_id -> Ok(Bytes(obj#35))": "cpu:12318080193, mem:1466525844, objs:-/18@27d5abf2",
" 40 call symbol_new_from_slice(13)": "cpu:12329567305, mem:1546562236, store:-/4@e54d542c, foot:4@f950a5b4",
" 41 ret symbol_new_from_slice -> Ok(Symbol(obj#37))": "cpu:12329568315, mem:1546562345, objs:-/19@a686e8ac",
" 42 push VM:b0eed3ad:sym#37()": "cpu:12341038528, mem:1626596339, objs:-/20@f049c262, vm:16056320@6ae17543/2@2f94d90d, stk:1@16ab1ea, auth:2@baac493e/1@a6c88e4",
" 43 call symbol_len(Symbol(obj#37))": "cpu:12341040997, mem:1626596369",
" 44 ret symbol_len -> Ok(U32(13))": "cpu:12341041119",
" 45 call symbol_copy_to_slice(Symbol(obj#37), U32(0), 13)": "",
" 46 ret symbol_copy_to_slice -> Ok(())": "cpu:12341041223",
" 47 pop VM:9de18dc1:sym#37 -> Ok(Void)": "",
" 48 ret create_contract -> Ok(Address(obj#41))": "cpu:12341041726, mem:1626596449, objs:-/21@e6eca0af, vm:-/-, stk:-, auth:-/-",
" 49 call call(Address(obj#41), Symbol(test), Vec(obj#43))": "cpu:963, mem:96, objs:-/22@4fb5453b",
" 47 pop VM:b0eed3ad:sym#37 -> Ok(Void)": "",
" 48 ret create_contract -> Ok(Address(obj#41))": "cpu:12341041726, mem:1626596449, objs:-/21@a23fb60f, vm:-/-, stk:-, auth:-/-",
" 49 call call(Address(obj#41), Symbol(test), Vec(obj#43))": "cpu:963, mem:96, objs:-/22@c92e383c",
" 50 ret call -> Err(Error(Budget, ExceededLimit))": "cpu:7652387, mem:48152877",
" 51 end": "cpu:7652387, mem:48152877, prngs:-/9b4a753, objs:-/22@4fb5453b, vm:-/-, evt:-, store:-/4@925fbeac, foot:4@3c8176e, stk:-, auth:-/-"
" 51 end": "cpu:7652387, mem:48152877, prngs:-/9b4a753, objs:-/22@c92e383c, vm:-/-, evt:-, store:-/4@e54d542c, foot:4@f950a5b4, stk:-, auth:-/-"
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
" 15 call get_ledger_network_id()": "cpu:2965798, mem:4020276, vm:-/-",
" 16 ret get_ledger_network_id -> Ok(Bytes(obj#19))": "cpu:2971071, mem:4020404, objs:-/10@e159b064",
" 17 call get_ledger_version()": "cpu:2971567, mem:4020428, objs:1@7f18fa80/10@e159b064, stk:1@31469f88",
" 18 ret get_ledger_version -> Ok(U32(26))": "cpu:2971877",
" 18 ret get_ledger_version -> Ok(U32(27))": "cpu:2971877",
" 19 call get_ledger_sequence()": "",
" 20 ret get_ledger_sequence -> Ok(U32(1234))": "cpu:2972187",
" 21 call get_ledger_timestamp()": "",
Expand All @@ -41,10 +41,10 @@
" 39 ret symbol_new_from_slice -> Ok(Symbol(obj#33))": "cpu:2991494, mem:4021423, objs:6@e37e9bd8/17@82f590b9",
" 40 call obj_cmp(Symbol(obj#33), Symbol(seq))": "cpu:2992779, mem:4021583",
" 41 ret obj_cmp -> Ok(-1)": "cpu:2992945",
" 42 ret map_new_from_linear_memory -> Ok(Map(obj#35))": "cpu:2993387, mem:4021663, objs:6@e37e9bd8/18@6d444c70",
" 43 call put_contract_data(Symbol(data), Map(obj#35), Temporary)": "cpu:2993883, mem:4021687, objs:7@929806d2/18@6d444c70, stk:1@8b608bf2",
" 44 ret put_contract_data -> Ok(Void)": "cpu:3002458, mem:4023319, store:-/3@705c76a9, foot:3@2f0e11c9",
" 45 pop VM:2c0dcac5:go -> Ok(Void)": " vm:1114112@5da575dd/5@8d05851",
" 46 ret call -> Ok(Void)": " objs:-/18@6d444c70, vm:-/-, stk:-, auth:-/-",
" 47 end": "cpu:3002458, mem:4023319, prngs:-/9b4a753, objs:-/18@6d444c70, vm:-/-, evt:1@4403228c, store:-/3@705c76a9, foot:3@2f0e11c9, stk:-, auth:-/-"
" 42 ret map_new_from_linear_memory -> Ok(Map(obj#35))": "cpu:2993387, mem:4021663, objs:6@e37e9bd8/18@149a6d91",
" 43 call put_contract_data(Symbol(data), Map(obj#35), Temporary)": "cpu:2993883, mem:4021687, objs:7@929806d2/18@149a6d91, stk:1@8b608bf2",
" 44 ret put_contract_data -> Ok(Void)": "cpu:3002458, mem:4023319, store:-/3@665b0f68, foot:3@2f0e11c9",
" 45 pop VM:2c0dcac5:go -> Ok(Void)": " vm:1114112@82ec4bd4/5@8d05851",
" 46 ret call -> Ok(Void)": " objs:-/18@149a6d91, vm:-/-, stk:-, auth:-/-",
" 47 end": "cpu:3002458, mem:4023319, prngs:-/9b4a753, objs:-/18@149a6d91, vm:-/-, evt:1@4403228c, store:-/3@665b0f68, foot:3@2f0e11c9, stk:-, auth:-/-"
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
" 15 call get_ledger_network_id()": "cpu:2947330, mem:4020752, vm:-/-",
" 16 ret get_ledger_network_id -> Ok(Bytes(obj#19))": "cpu:2952603, mem:4020880, objs:-/10@e159b064",
" 17 call get_ledger_version()": "cpu:2953099, mem:4020904, objs:1@7f18fa80/10@e159b064, stk:1@31469f88",
" 18 ret get_ledger_version -> Ok(U32(26))": "cpu:2953409",
" 18 ret get_ledger_version -> Ok(U32(27))": "cpu:2953409",
" 19 call get_ledger_sequence()": "",
" 20 ret get_ledger_sequence -> Ok(U32(1234))": "cpu:2953719",
" 21 call get_ledger_timestamp()": "",
Expand All @@ -41,10 +41,10 @@
" 39 ret symbol_new_from_slice -> Ok(Symbol(obj#33))": "cpu:2973026, mem:4021899, objs:6@e37e9bd8/17@82f590b9",
" 40 call obj_cmp(Symbol(obj#33), Symbol(seq))": "cpu:2974311, mem:4022059",
" 41 ret obj_cmp -> Ok(-1)": "cpu:2974477",
" 42 ret map_new_from_linear_memory -> Ok(Map(obj#35))": "cpu:2974919, mem:4022139, objs:6@e37e9bd8/18@6d444c70",
" 43 call put_contract_data(Symbol(data), Map(obj#35), Temporary)": "cpu:2975415, mem:4022163, objs:7@929806d2/18@6d444c70, stk:1@8b608bf2",
" 44 ret put_contract_data -> Ok(Void)": "cpu:2980902, mem:4023393, store:-/3@705c76a9",
" 45 pop VM:2c0dcac5:go -> Ok(Void)": " vm:1114112@5da575dd/5@8d05851",
" 46 ret call -> Ok(Void)": " objs:-/18@6d444c70, vm:-/-, stk:-, auth:-/-",
" 47 end": "cpu:2980902, mem:4023393, prngs:-/-, objs:-/18@6d444c70, vm:-/-, evt:1@4403228c, store:-/3@705c76a9, foot:3@2f0e11c9, stk:-, auth:-/-"
" 42 ret map_new_from_linear_memory -> Ok(Map(obj#35))": "cpu:2974919, mem:4022139, objs:6@e37e9bd8/18@149a6d91",
" 43 call put_contract_data(Symbol(data), Map(obj#35), Temporary)": "cpu:2975415, mem:4022163, objs:7@929806d2/18@149a6d91, stk:1@8b608bf2",
" 44 ret put_contract_data -> Ok(Void)": "cpu:2980902, mem:4023393, store:-/3@665b0f68",
" 45 pop VM:2c0dcac5:go -> Ok(Void)": " vm:1114112@82ec4bd4/5@8d05851",
" 46 ret call -> Ok(Void)": " objs:-/18@149a6d91, vm:-/-, stk:-, auth:-/-",
" 47 end": "cpu:2980902, mem:4023393, prngs:-/-, objs:-/18@149a6d91, vm:-/-, evt:1@4403228c, store:-/3@665b0f68, foot:3@2f0e11c9, stk:-, auth:-/-"
}
Loading
Loading