Skip to content

Commit

Permalink
P23 (#1511)
Browse files Browse the repository at this point in the history
This PR _strictly_ bumps the protocol to p23 (and re-observes tests) not
changing anything else.

The commit that needs the most scrutiny is
f4dc35d since it is the reobservation
run: only small changes that derive from the protocol number itself
should be visible (typically "the change of protocol number in the wasm
metadata").
  • Loading branch information
graydon authored Jan 22, 2025
1 parent 822727b commit c6c25a6
Show file tree
Hide file tree
Showing 488 changed files with 179,945 additions and 28 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ jobs:
strategy:
matrix:
rust: [msrv, latest]
test-protocol: [22]
test-protocol: [23]
sys:
- os: ubuntu-latest
target: wasm32-unknown-unknown
Expand Down
20 changes: 10 additions & 10 deletions Cargo.lock

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

12 changes: 6 additions & 6 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ exclude = ["soroban-test-wasms/wasm-workspace"]
# NB: When bumping the major version make sure to clean up the
# code guarded by `unstable-*` features to make it enabled
# unconditionally.
version = "22.1.3"
version = "23.0.0"
rust-version = "1.79.0"

[workspace.dependencies]
soroban-env-common = { version = "=22.1.3", path = "soroban-env-common", default-features = false }
soroban-env-guest = { version = "=22.1.3", path = "soroban-env-guest" }
soroban-env-host = { version = "=22.1.3", path = "soroban-env-host" }
soroban-env-macros = { version = "=22.1.3", path = "soroban-env-macros" }
soroban-builtin-sdk-macros = { version = "=22.1.3", path = "soroban-builtin-sdk-macros" }
soroban-env-common = { version = "=23.0.0", path = "soroban-env-common", default-features = false }
soroban-env-guest = { version = "=23.0.0", path = "soroban-env-guest" }
soroban-env-host = { version = "=23.0.0", path = "soroban-env-host" }
soroban-env-macros = { version = "=23.0.0", path = "soroban-env-macros" }
soroban-builtin-sdk-macros = { version = "=23.0.0", path = "soroban-builtin-sdk-macros" }
# NB: this must match the wasmparser version wasmi is using
wasmparser = "=0.116.1"

Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ test:
test-opt:
cargo hack --locked --each-feature test --profile test-opt

MIN_PROTOCOL := 22
MAX_PROTOCOL := 22
MIN_PROTOCOL := 23
MAX_PROTOCOL := 23

test-all-protocols:
for i in $$(seq $(MIN_PROTOCOL) $$(($(MAX_PROTOCOL) + 1))); do \
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: 23,
ledger_protocol_version: 24,
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: 22,
ledger_protocol_version: 23,
pre_release_version: 0,
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
" 0 begin": "cpu:0, mem:0, prngs:-/-, objs:-/-, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-",
" 1 call strkey_to_address(String(obj#1))": "cpu:440, mem:64, objs:-/1@bd4c4a65",
" 2 ret strkey_to_address -> Err(Error(Value, InvalidInput))": "cpu:562",
" 3 call strkey_to_address(String(obj#3))": "cpu:1002, mem:128, objs:-/2@9fd4b6cd",
" 4 ret strkey_to_address -> Err(Error(Value, InvalidInput))": "cpu:1124",
" 5 call strkey_to_address(String(obj#5))": "cpu:1564, mem:192, objs:-/3@689511b8",
" 6 ret strkey_to_address -> Err(Error(Value, InvalidInput))": "cpu:1686",
" 7 call strkey_to_address(String(obj#7))": "cpu:2126, mem:256, objs:-/4@ab4423e0",
" 8 ret strkey_to_address -> Err(Error(Value, InvalidInput))": "cpu:2248",
" 9 call strkey_to_address(String(obj#9))": "cpu:2688, mem:320, objs:-/5@15606c67",
" 10 ret strkey_to_address -> Err(Error(Value, InvalidInput))": "cpu:2810",
" 11 call strkey_to_address(String(obj#11))": "cpu:3250, mem:384, objs:-/6@bc588a71",
" 12 ret strkey_to_address -> Err(Error(Value, InvalidInput))": "cpu:4444, mem:542",
" 13 call strkey_to_address(String(obj#13))": "cpu:4884, mem:606, objs:-/7@56b400dc",
" 14 ret strkey_to_address -> Err(Error(Value, InvalidInput))": "cpu:5006",
" 15 call strkey_to_address(String(obj#15))": "cpu:5446, mem:670, objs:-/8@85c98c9",
" 16 ret strkey_to_address -> Err(Error(Value, InvalidInput))": "cpu:6640, mem:828",
" 17 call strkey_to_address(String(obj#17))": "cpu:7080, mem:892, objs:-/9@fd87b9bc",
" 18 ret strkey_to_address -> Err(Error(Value, InvalidInput))": "cpu:8274, mem:1050",
" 19 call strkey_to_address(String(obj#19))": "cpu:8714, mem:1114, objs:-/10@bdfbc9a4",
" 20 ret strkey_to_address -> Err(Error(Value, InvalidInput))": "cpu:9908, mem:1272",
" 21 call strkey_to_address(String(obj#21))": "cpu:10348, mem:1336, objs:-/11@cf129ba3",
" 22 ret strkey_to_address -> Err(Error(Value, InvalidInput))": "cpu:10470",
" 23 end": "cpu:10470, mem:1336, prngs:-/-, objs:-/11@cf129ba3, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
" 0 begin": "cpu:0, mem:0, prngs:-/-, objs:-/-, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-",
" 1 call address_to_strkey(Address(obj#1))": "cpu:440, mem:64, objs:-/1@e9e762b2",
" 2 ret address_to_strkey -> Ok(String(obj#3))": "cpu:1652, mem:235, objs:-/2@9bfb5401",
" 3 call strkey_to_address(String(obj#3))": "cpu:1713",
" 4 ret strkey_to_address -> Ok(Address(obj#5))": "cpu:3408, mem:457, objs:-/3@b643345f",
" 5 call obj_cmp(Address(obj#1), Address(obj#5))": "",
" 6 ret obj_cmp -> Ok(0)": "cpu:3700",
" 7 call strkey_to_address(Bytes(obj#7))": "cpu:4140, mem:521, objs:-/4@cde6f555",
" 8 ret strkey_to_address -> Ok(Address(obj#9))": "cpu:5835, mem:743, objs:-/5@a0e5108e",
" 9 call obj_cmp(Address(obj#1), Address(obj#9))": "",
" 10 ret obj_cmp -> Ok(0)": "cpu:6127",
" 11 end": "cpu:6127, mem:743, prngs:-/-, objs:-/5@a0e5108e, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
" 0 begin": "cpu:0, mem:0, prngs:-/-, objs:-/-, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-",
" 1 call address_to_strkey(Address(obj#1))": "cpu:440, mem:64, objs:-/1@a8b8cea4",
" 2 ret address_to_strkey -> Ok(String(obj#3))": "cpu:1652, mem:235, objs:-/2@6429a459",
" 3 call strkey_to_address(String(obj#3))": "cpu:1713",
" 4 ret strkey_to_address -> Ok(Address(obj#5))": "cpu:3408, mem:457, objs:-/3@94ada867",
" 5 call obj_cmp(Address(obj#1), Address(obj#5))": "",
" 6 ret obj_cmp -> Ok(0)": "cpu:3700",
" 7 call strkey_to_address(Bytes(obj#7))": "cpu:4140, mem:521, objs:-/4@245777ac",
" 8 ret strkey_to_address -> Ok(Address(obj#9))": "cpu:5835, mem:743, objs:-/5@54c60c8",
" 9 call obj_cmp(Address(obj#1), Address(obj#9))": "",
" 10 ret obj_cmp -> Ok(0)": "cpu:6127",
" 11 end": "cpu:6127, mem:743, prngs:-/-, objs:-/5@54c60c8, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
" 0 begin": "cpu:0, mem:0, prngs:-/-, objs:-/-, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-",
" 1 end": "cpu:676167, mem:155108, prngs:-/-, objs:-/-, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
" 0 begin": "cpu:0, mem:0, prngs:-/-, objs:-/-, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-",
" 1 end": "cpu:0, mem:0, prngs:-/-, objs:-/-, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
" 0 begin": "cpu:0, mem:0, prngs:-/-, objs:-/-, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-",
" 1 call obj_from_i64(9223372036854775807)": "",
" 2 ret obj_from_i64 -> Ok(I64(obj#1))": "cpu:501, mem:64, objs:-/1@505c85d5",
" 3 call obj_to_i64(I64(obj#1))": "",
" 4 ret obj_to_i64 -> Ok(9223372036854775807)": "cpu:666",
" 5 end": "cpu:666, mem:64, prngs:-/-, objs:-/1@505c85d5, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
" 0 begin": "cpu:0, mem:0, prngs:-/-, objs:-/-, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-",
" 1 call vec_new_from_slice(2)": "",
" 2 ret vec_new_from_slice -> Ok(Vec(obj#1))": "cpu:965, mem:96, objs:-/1@8af88039",
" 3 call vec_unpack_to_slice(Vec(obj#1), 2)": "",
" 4 ret vec_unpack_to_slice -> Ok(Void)": "cpu:1070",
" 5 end": "cpu:1070, mem:96, prngs:-/-, objs:-/1@8af88039, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
" 0 begin": "cpu:0, mem:0, prngs:-/-, objs:-/-, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-",
" 1 end": "cpu:0, mem:0, prngs:-/-, objs:-/-, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
" 0 begin": "cpu:0, mem:0, prngs:-/-, objs:-/-, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-",
" 1 call obj_from_u64(18446744073709551615)": "",
" 2 ret obj_from_u64 -> Ok(U64(obj#1))": "cpu:501, mem:64, objs:-/1@ecad9fd5",
" 3 call obj_to_u64(U64(obj#1))": "",
" 4 ret obj_to_u64 -> Ok(18446744073709551615)": "cpu:666",
" 5 end": "cpu:666, mem:64, prngs:-/-, objs:-/1@ecad9fd5, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
{
" 0 begin": "cpu:0, mem:0, prngs:-/-, objs:-/-, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-",
" 1 call bytes_insert(Bytes(obj#1), U32(96), U32(0))": "cpu:2307, mem:176, objs:-/1@2142c5f5",
" 2 ret bytes_insert -> Ok(Bytes(obj#3))": "cpu:3475, mem:353, objs:-/2@9a3f90d4",
" 3 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#3))": "",
" 4 ret bls12_381_check_g1_is_in_subgroup -> Err(Error(Crypto, InvalidInput))": "cpu:3597",
" 5 call bytes_del(Bytes(obj#5), U32(95))": "cpu:5904, mem:529, objs:-/3@abbe8c98",
" 6 ret bytes_del -> Ok(Bytes(obj#7))": "cpu:7114, mem:705, objs:-/4@49ff18c1",
" 7 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#7))": "",
" 8 ret bls12_381_check_g1_is_in_subgroup -> Err(Error(Crypto, InvalidInput))": "cpu:7236",
" 9 call bytes_get(Bytes(obj#9), U32(0))": "cpu:9543, mem:881, objs:-/5@6bc306d7",
" 10 ret bytes_get -> Ok(U32(9))": "cpu:9665",
" 11 call bytes_put(Bytes(obj#9), U32(0), U32(137))": "",
" 12 ret bytes_put -> Ok(Bytes(obj#11))": "cpu:10833, mem:1057, objs:-/6@d0338803",
" 13 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#11))": "",
" 14 ret bls12_381_check_g1_is_in_subgroup -> Err(Error(Crypto, InvalidInput))": "cpu:10955",
" 15 call bytes_get(Bytes(obj#13), U32(0))": "cpu:13262, mem:1233, objs:-/7@9cb6052",
" 16 ret bytes_get -> Ok(U32(25))": "cpu:13384",
" 17 call bytes_put(Bytes(obj#13), U32(0), U32(89))": "",
" 18 ret bytes_put -> Ok(Bytes(obj#15))": "cpu:14552, mem:1409, objs:-/8@b54f75b7",
" 19 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#15))": "",
" 20 ret bls12_381_check_g1_is_in_subgroup -> Err(Error(Crypto, InvalidInput))": "cpu:14674",
" 21 call bytes_get(Bytes(obj#17), U32(0))": "cpu:16981, mem:1585, objs:-/9@3d7c315e",
" 22 ret bytes_get -> Ok(U32(4))": "cpu:17103",
" 23 call bytes_put(Bytes(obj#17), U32(0), U32(36))": "",
" 24 ret bytes_put -> Ok(Bytes(obj#19))": "cpu:18271, mem:1761, objs:-/10@926d6fcb",
" 25 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#19))": "",
" 26 ret bls12_381_check_g1_is_in_subgroup -> Err(Error(Crypto, InvalidInput))": "cpu:18393",
" 27 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#23))": "cpu:23007, mem:2113, objs:-/12@85f05c1a",
" 28 ret bls12_381_check_g1_is_in_subgroup -> Err(Error(Crypto, InvalidInput))": "cpu:27033",
" 29 call bytes_copy_from_slice(Bytes(obj#27), U32(0), 98)": "cpu:31647, mem:2465, objs:-/14@38656519",
" 30 ret bytes_copy_from_slice -> Ok(Bytes(obj#29))": "cpu:33181, mem:2659, objs:-/15@a4950fe8",
" 31 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#29))": "",
" 32 ret bls12_381_check_g1_is_in_subgroup -> Err(Error(Crypto, InvalidInput))": "cpu:33303",
" 33 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#31))": "cpu:35610, mem:2835, objs:-/16@500e79a7",
" 34 ret bls12_381_check_g1_is_in_subgroup -> Ok(True)": "cpu:770146",
" 35 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#33))": "cpu:772453, mem:3011, objs:-/17@8f4ffce",
" 36 ret bls12_381_check_g1_is_in_subgroup -> Ok(True)": "cpu:1506989",
" 37 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#35))": "cpu:1509296, mem:3187, objs:-/18@2f9e8c61",
" 38 ret bls12_381_check_g1_is_in_subgroup -> Ok(True)": "cpu:2243832",
" 39 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#37))": "cpu:2246139, mem:3363, objs:-/19@69985e40",
" 40 ret bls12_381_check_g1_is_in_subgroup -> Ok(True)": "cpu:2980675",
" 41 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#39))": "cpu:2982982, mem:3539, objs:-/20@d096ebd0",
" 42 ret bls12_381_check_g1_is_in_subgroup -> Ok(True)": "cpu:3717518",
" 43 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#41))": "cpu:3719825, mem:3715, objs:-/21@68ab7bd3",
" 44 ret bls12_381_check_g1_is_in_subgroup -> Ok(True)": "cpu:4454361",
" 45 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#43))": "cpu:4456668, mem:3891, objs:-/22@7e3dc994",
" 46 ret bls12_381_check_g1_is_in_subgroup -> Ok(True)": "cpu:5191204",
" 47 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#45))": "cpu:5193511, mem:4067, objs:-/23@a6f58142",
" 48 ret bls12_381_check_g1_is_in_subgroup -> Ok(True)": "cpu:5928047",
" 49 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#47))": "cpu:5930354, mem:4243, objs:-/24@25b1a124",
" 50 ret bls12_381_check_g1_is_in_subgroup -> Ok(True)": "cpu:6664890",
" 51 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#49))": "cpu:6667197, mem:4419, objs:-/25@ad6b88e5",
" 52 ret bls12_381_check_g1_is_in_subgroup -> Ok(True)": "cpu:7401733",
" 53 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#51))": "cpu:7404040, mem:4595, objs:-/26@bde93363",
" 54 ret bls12_381_check_g1_is_in_subgroup -> Ok(True)": "cpu:8138576",
" 55 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#55))": "cpu:8143190, mem:4947, objs:-/28@200189b4",
" 56 ret bls12_381_check_g1_is_in_subgroup -> Ok(False)": "cpu:8877726",
" 57 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#59))": "cpu:8882340, mem:5299, objs:-/30@9133038c",
" 58 ret bls12_381_check_g1_is_in_subgroup -> Ok(False)": "cpu:9616876",
" 59 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#63))": "cpu:9621490, mem:5651, objs:-/32@db0fc406",
" 60 ret bls12_381_check_g1_is_in_subgroup -> Ok(False)": "cpu:10356026",
" 61 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#67))": "cpu:10360640, mem:6003, objs:-/34@352a99fb",
" 62 ret bls12_381_check_g1_is_in_subgroup -> Ok(False)": "cpu:11095176",
" 63 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#71))": "cpu:11099790, mem:6355, objs:-/36@fc80803a",
" 64 ret bls12_381_check_g1_is_in_subgroup -> Ok(False)": "cpu:11834326",
" 65 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#75))": "cpu:11838940, mem:6707, objs:-/38@6e4b656f",
" 66 ret bls12_381_check_g1_is_in_subgroup -> Ok(False)": "cpu:12573476",
" 67 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#79))": "cpu:12578090, mem:7059, objs:-/40@874192c8",
" 68 ret bls12_381_check_g1_is_in_subgroup -> Ok(False)": "cpu:13312626",
" 69 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#83))": "cpu:13317240, mem:7411, objs:-/42@c24e82e7",
" 70 ret bls12_381_check_g1_is_in_subgroup -> Ok(False)": "cpu:14051776",
" 71 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#87))": "cpu:14056390, mem:7763, objs:-/44@bf8f3db5",
" 72 ret bls12_381_check_g1_is_in_subgroup -> Ok(False)": "cpu:14790926",
" 73 call bls12_381_check_g1_is_in_subgroup(Bytes(obj#91))": "cpu:14795540, mem:8115, objs:-/46@4de2e45d",
" 74 ret bls12_381_check_g1_is_in_subgroup -> Ok(False)": "cpu:15530076",
" 75 end": "cpu:15530076, mem:8115, prngs:-/-, objs:-/46@4de2e45d, vm:-/-, evt:-, store:-/-, foot:-, stk:-, auth:-/-"
}
Loading

0 comments on commit c6c25a6

Please sign in to comment.