diff --git a/tezt/lib_tezos/node.ml b/tezt/lib_tezos/node.ml index 0f7ba0178b23ce952a467b820c40a4ee1e84ec87..75b1447b708778daf15ea5f9ed5a6d2f0e722f69 100644 --- a/tezt/lib_tezos/node.ml +++ b/tezt/lib_tezos/node.ml @@ -462,6 +462,22 @@ module Config_file = struct ("sandboxed_chain_name", `String "SANDBOXED_TEZOS"); ] + let seoulnet_network_config : JSON.u = + `O + [ + ( "genesis", + mk_genesis + ~timestamp:"2025-07-11T08:00:00Z" + ~block:"BLQGRyv3v92oE9iM4BGWwWpy6NxcDFPb7NLsNeuRVr3TYidU7MC" + ~protocol:"Ps9mPmXaRzmzk35gbAYNCAw6UXdE2qoABTHbN2oEEc1qM7CwT9P" ); + ( "genesis_parameters", + mk_genesis_parameters + ~genesis_pubkey: + "edpktosVHk2f3Yrz9Jb6rMrk6uVy4sTxVhP2iyF39AdgzvsTWgbaLy" ); + ("chain_name", `String "TEZOS_SEOULNET_2025-07-11T08:00:00Z"); + ("sandboxed_chain_name", `String "SANDBOXED_TEZOS"); + ] + (* Copied from Octez_node_config.Config_file *) let mainnet_network_config : JSON.u = `O @@ -583,6 +599,11 @@ module Config_file = struct set_network ?user_activated_upgrades ("set_rionet_network", rionet_network_config) + + let set_seoulnet_network ?user_activated_upgrades () = + set_network + ?user_activated_upgrades + ("set_seoulnet_network", seoulnet_network_config) end type snapshot_history_mode = Rolling_history | Full_history diff --git a/tezt/lib_tezos/node.mli b/tezt/lib_tezos/node.mli index 4a35b0e6f4dde0f48a6f0860a91c1dd2cd884585..d018fc21c3685407de366fbdb111cffe3b1c04bb 100644 --- a/tezt/lib_tezos/node.mli +++ b/tezt/lib_tezos/node.mli @@ -453,6 +453,12 @@ module Config_file : sig [user_activated_upgrades] can be given to add user-activated upgrades. *) val set_rionet_network : ?user_activated_upgrades:(int * Protocol.t) list -> unit -> JSON.t -> JSON.t + + (** Set the network config to a Seoulnet network. + + [user_activated_upgrades] can be given to add user-activated upgrades. *) + val set_seoulnet_network : + ?user_activated_upgrades:(int * Protocol.t) list -> unit -> JSON.t -> JSON.t end (** Same as [config_init], but do not wait for the process to exit. *) diff --git a/tezt/tests/cloud/dal.ml b/tezt/tests/cloud/dal.ml index 9d1bac2d25a4ae150487b88777debd8f128dccd8..f83d193f3116de450c13b201a29183e920d1d6de 100644 --- a/tezt/tests/cloud/dal.ml +++ b/tezt/tests/cloud/dal.ml @@ -193,6 +193,7 @@ module Node = struct (match JSON.(json |-> "snapshot_header" |-> "chain_name" |> as_string) with | "TEZOS_ITHACANET_2022-01-25T15:00:00Z" -> "ghostnet" | "TEZOS_RIONET_2025-02-19T12:45:00Z" -> "rionet" + | "TEZOS_SEOULNET_2025-07-11T08:00:00Z" -> "seoulnet" | "TEZOS_MAINNET" -> "mainnet" | "TEZOS" | _ -> "sandbox") |> Lwt.return @@ -374,6 +375,7 @@ module Node = struct | Some "mainnet" -> Node.Config_file.set_mainnet_network () | Some "ghostnet" -> Node.Config_file.set_ghostnet_network () | Some "rionet" -> Node.Config_file.set_rionet_network () + | Some "seoulnet" -> Node.Config_file.set_seoulnet_network () | _ -> Node.Config_file.set_sandbox_network) in let* () = @@ -1335,7 +1337,7 @@ module Monitoring_app = struct "https://gitlab.com/tezos/tezos/-/raw/master/tezt/lib_cloud/assets/mainnet.png" | `Ghostnet -> "https://gitlab.com/tezos/tezos/-/raw/master/tezt/lib_cloud/assets/ghostnet.png" - | `Nextnet _ -> + | `Nextnet _ | `Seoulnet -> "https://gitlab.com/tezos/tezos/-/raw/master/tezt/lib_cloud/assets/seoulnet.png" | `Sandbox | `Weeklynet _ -> "no_image_yet" @@ -4762,7 +4764,7 @@ let parse_stake_arg ~stake_arg ~simulation_arg = | Mimic {network; max_nb_bakers} -> let network_string = match network with - | `Mainnet | `Ghostnet | `Rionet -> to_string network + | `Mainnet | `Ghostnet | `Rionet | `Seoulnet -> to_string network | _ -> failwith (Format.sprintf diff --git a/tezt/tests/cloud/network.ml b/tezt/tests/cloud/network.ml index c603b29f248305938f8ee9439d7ea9a413d64974..d9e6c7c2ab2ad67325ae4b08951668f8a54f2ac4 100644 --- a/tezt/tests/cloud/network.ml +++ b/tezt/tests/cloud/network.ml @@ -6,7 +6,12 @@ (*****************************************************************************) type public = - [`Mainnet | `Ghostnet | `Nextnet of string | `Weeklynet of string | `Rionet] + [ `Mainnet + | `Ghostnet + | `Nextnet of string + | `Weeklynet of string + | `Rionet + | `Seoulnet ] type t = [public | `Sandbox] @@ -25,6 +30,7 @@ let to_string = function | `Weeklynet date -> sf "weeklynet-%s" date | `Sandbox -> "sandbox" | `Rionet -> "rionet" + | `Seoulnet -> "seoulnet" let default_protocol : t -> Protocol.t = function | `Mainnet -> R022 @@ -33,6 +39,7 @@ let default_protocol : t -> Protocol.t = function | `Sandbox -> Alpha | `Nextnet _ -> S023 | `Rionet -> R022 + | `Seoulnet -> S023 let public_rpc_endpoint testnet = Endpoint.make @@ -43,7 +50,8 @@ let public_rpc_endpoint testnet = | `Ghostnet -> "rpc.ghostnet.teztnets.com" | `Nextnet date -> sf "rpc.nextnet-%s.teztnets.com" date | `Weeklynet date -> sf "rpc.weeklynet-%s.teztnets.com" date - | `Rionet -> "rpc.rionet.teztnets.com") + | `Rionet -> "rpc.rionet.teztnets.com" + | `Seoulnet -> "rpc.seoulnet.teztnets.com") ~port:443 () @@ -53,6 +61,7 @@ let snapshot_service = function | `Nextnet _ -> "https://snapshots.eu.tzinit.org/nextnet" | `Weeklynet _ -> "https://snapshots.eu.tzinit.org/weeklynet" | `Rionet -> "https://snapshots.eu.tzinit.org/rionet" + | `Seoulnet -> "https://snapshots.eu.tzinit.org/seoulnet" (* Argument to give to the --network option of `octez-node config init`. *) let to_octez_network_options = function @@ -61,6 +70,7 @@ let to_octez_network_options = function | `Nextnet date -> sf "https://teztnets.com/nextnet-%s" date | `Weeklynet date -> sf "https://teztnets.com/weeklynet-%s" date | `Rionet -> "https://teztnets.com/rionet" + | `Seoulnet -> "https://teztnets.com/seoulnet" let default_bootstrap = function | `Mainnet -> "boot.tzinit.org" @@ -68,6 +78,7 @@ let default_bootstrap = function | `Nextnet date -> sf "nextnet-%s.teztnets.com" date | `Weeklynet date -> sf "weeklynet-%s.teztnets.com" date | `Rionet -> "rionet.teztnets.com" + | `Seoulnet -> "seoulnet.teztnets.com" let default_dal_bootstrap = function | `Mainnet -> "dalboot.mainnet.tzboot.net" @@ -76,6 +87,7 @@ let default_dal_bootstrap = function | `Nextnet date -> sf "dal.nextnet-%s.teztnets.com" date | `Weeklynet date -> sf "dal.weeklynet-%s.teztnets.com" date | `Rionet -> "dal.rionet.teztnets.com" + | `Seoulnet -> "dal.seoulnet.teztnets.com" let get_level endpoint = let* json = RPC_core.call endpoint (RPC.get_chain_block_header_shell ()) in @@ -122,7 +134,7 @@ let versions network = response.code (Printexc.to_string exn) ; Lwt.return_none) - | `Weeklynet _ | `Rionet -> + | `Weeklynet _ | `Rionet | `Seoulnet -> (* No easy way to get this information. *) Lwt.return_some (Hashtbl.create 0) | `Sandbox -> @@ -132,7 +144,7 @@ let versions network = let delegates ?(accounts = []) network = match network with - | (`Mainnet | `Ghostnet | `Rionet) as network -> ( + | (`Mainnet | `Ghostnet | `Rionet | `Seoulnet) as network -> ( let decoder json = json |> JSON.as_list |> List.map (fun json_account -> diff --git a/tezt/tests/cloud/network.mli b/tezt/tests/cloud/network.mli index bf3d87f3712606088dd6e782818c4a3ed49d9092..de8eee41c36b949e401281e2b515928b15895898 100644 --- a/tezt/tests/cloud/network.mli +++ b/tezt/tests/cloud/network.mli @@ -17,7 +17,8 @@ type public = (* date of the genesis block of the current weeklynet; typically it is last wednesday. format is YYYY-MM-DD *) - | `Rionet ] + | `Rionet + | `Seoulnet ] type t = [public | `Sandbox] @@ -27,7 +28,7 @@ type stake_repartition = val to_public : t -> public -(** ["mainnet" | "ghostnet" | "rionet" | "nextnet-%s" | "weeklynet-%s" | "sandbox"] *) +(** ["mainnet" | "ghostnet" | "rionet" | "seoulnet" | "nextnet-%s" | "weeklynet-%s" | "sandbox"] *) val to_string : [< t] -> string (** Known protocol used by the network *) diff --git a/tezt/tests/cloud/scenarios_cli.ml b/tezt/tests/cloud/scenarios_cli.ml index 140e9603c145cb05641c2d71bbcf8585d21f7551..ba62df7c4273beb70ca180fd445f1596f60ab26f 100644 --- a/tezt/tests/cloud/scenarios_cli.ml +++ b/tezt/tests/cloud/scenarios_cli.ml @@ -227,6 +227,7 @@ module Dal () : Dal = struct | "mainnet" -> Some `Mainnet | "ghostnet" -> Some `Ghostnet | "rionet" -> Some `Rionet + | "seoulnet" -> Some `Seoulnet | s when String.length s = 20 && String.sub s 0 10 = "weeklynet-" -> (* format: weeklynet-2025-01-29 (with dashes) *) let date = String.sub s 10 10 in