Client: add disclaimer banners
This commit is contained in:
parent
91de539af7
commit
8ff7aac5a6
@ -9,6 +9,69 @@
|
|||||||
|
|
||||||
open Client_config
|
open Client_config
|
||||||
|
|
||||||
|
let display_warning_banner ctxt =
|
||||||
|
let default () =
|
||||||
|
Format.eprintf
|
||||||
|
"@[<v 2>@{<warning>@{<title>Warning@}@}@,@,\
|
||||||
|
\ This is @{<warning>NOT@} the Tezos Mainnet.@,\
|
||||||
|
\ The Tezos Mainnet is not yet released.@,\
|
||||||
|
@,\
|
||||||
|
\ Use your fundraiser keys @{<warning>AT YOUR OWN RISK@}.@,\
|
||||||
|
All transactions happening on the Betanet @{<warning>are expected to be valid in the Mainnet@}.@,\
|
||||||
|
\ In doubt, we recommend that you wait for the lunch of the Mainnet.@]@\n@." ;
|
||||||
|
Lwt.return () in
|
||||||
|
Shell_services.P2p.versions ctxt >>= function
|
||||||
|
| Error _ -> default ()
|
||||||
|
| Ok versions ->
|
||||||
|
match String.split_on_char '_' (List.hd versions).name with
|
||||||
|
| "TEZOS" :: "ZERONET" :: _date :: [] ->
|
||||||
|
Format.eprintf
|
||||||
|
"@[<v 2>@{<warning>@{<title>Warning@}@}@,@,\
|
||||||
|
\ This is @{<warning>NOT@} the Tezos Mainnet.@,\
|
||||||
|
\ The Tezos Mainnet is not yet released.@,\
|
||||||
|
@,\
|
||||||
|
\ The node you are connecting to claims to be running on the@,\
|
||||||
|
\ @{<warning>Tezos Zeronet DEVELOPMENT NETWORK@}.@,\
|
||||||
|
\ Do @{<warning>NOT@} use your fundraiser keys on this network.@,\
|
||||||
|
Zeronet is a testing network, with free tokens and frequent resets.@]@\n@." ;
|
||||||
|
Lwt.return ()
|
||||||
|
| "TEZOS" :: "ALPHANET" :: _date :: [] ->
|
||||||
|
Format.eprintf
|
||||||
|
"@[<v 2>@{<warning>@{<title>Warning@}@}@,@,\
|
||||||
|
\ This is @{<warning>NOT@} the Tezos Mainnet.@,\
|
||||||
|
\ The Tezos Mainnet is not yet released.@,\
|
||||||
|
@,\
|
||||||
|
\ The node you are connecting to claims to be running on the@,\
|
||||||
|
\ @{<warning>Tezos Alphanet DEVELOPMENT NETWORK.@}@,\
|
||||||
|
\ Do @{<warning>NOT@} use your fundraiser keys on this network.@,\
|
||||||
|
\ Alphanet is a testing network, with free tokens.@]@\n@." ;
|
||||||
|
Lwt.return ()
|
||||||
|
| "TEZOS" :: "BETANET" :: _date :: [] ->
|
||||||
|
Format.eprintf
|
||||||
|
"@[<v 2>@{<warning>@{<title>Warning@}@}@,@,\
|
||||||
|
\ This is @{<warning>NOT@} the Tezos Mainnet.@,\
|
||||||
|
\ The Tezos Mainnet is not yet released.@,\
|
||||||
|
@,\
|
||||||
|
\ The node you are connecting to claims to be running on the@,\
|
||||||
|
\ @{<warning>Tezos Betanet EXPERIMENTAL NETWORK@}.@,\
|
||||||
|
\ Betanet is a pre-release experimental network and comes with no warranty.@,\
|
||||||
|
\ Use your fundraiser keys on this network @{<warning>AT YOUR OWN RISK@}.@,\
|
||||||
|
\ All transactions happening on the Betanet @{<warning>are expected to be valid in the Mainnet@}.@,\
|
||||||
|
\ If in doubt, we recommend that you wait for the Mainnet lunch.@]@\n@." ;
|
||||||
|
Lwt.return ()
|
||||||
|
| "TEZOS" :: _date :: [] ->
|
||||||
|
Format.eprintf
|
||||||
|
"@[<v 2>@{<warning>@{<title>Warning@}@}@,@,\
|
||||||
|
\ This is @{<warning>NOT@} the Tezos Mainnet.@,\
|
||||||
|
\ The Tezos Mainnet is not yet released.@,\
|
||||||
|
@,\
|
||||||
|
\ The node you are connecting to claims to be running in a@,\
|
||||||
|
\ @{<warning>Tezos TEST SANDBOX@}.@,\
|
||||||
|
\ Do @{<warning>NOT@} use your fundraiser keys on this network.@,\
|
||||||
|
You should not see this message if you are not a developer.@]@\n@." ;
|
||||||
|
Lwt.return ()
|
||||||
|
| _ -> default ()
|
||||||
|
|
||||||
let get_commands_for_version ctxt block protocol =
|
let get_commands_for_version ctxt block protocol =
|
||||||
Shell_services.Blocks.protocols ctxt ~block () >>= function
|
Shell_services.Blocks.protocols ctxt ~block () >>= function
|
||||||
| Ok { next_protocol = version } -> begin
|
| Ok { next_protocol = version } -> begin
|
||||||
@ -40,6 +103,7 @@ let get_commands_for_version ctxt block protocol =
|
|||||||
end
|
end
|
||||||
|
|
||||||
let select_commands ctxt { block ; protocol } =
|
let select_commands ctxt { block ; protocol } =
|
||||||
|
display_warning_banner ctxt >>= fun () ->
|
||||||
get_commands_for_version ctxt block protocol >>|? fun (_, commands_for_version) ->
|
get_commands_for_version ctxt block protocol >>|? fun (_, commands_for_version) ->
|
||||||
Client_rpc_commands.commands @
|
Client_rpc_commands.commands @
|
||||||
List.map
|
List.map
|
||||||
|
Loading…
Reference in New Issue
Block a user