Skip to content

Commit 1c4e2ba

Browse files
committed
fix(node): stop forcing --rpc-methods Unsafe; ISMP queries work under Safe and the forced setting exposed the key, pool and peering methods on public nodes
1 parent e4eecca commit 1c4e2ba

2 files changed

Lines changed: 9 additions & 12 deletions

File tree

‎scripts/hyperbridge/relayer.paseo.toml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@
5858
# Both subcommands are one-shot. Omit the subcommand to run the relayer as a daemon.
5959
#
6060
# ── Requirement ───────────────────────────────────────────────────────────────
61-
# Substrate RPCs must expose unsafe methods (`--rpc-methods Unsafe`). Tesseract
62-
# calls methods that are off by default; without them it fails at runtime, not at
63-
# startup.
61+
# The Orbinum RPC must serve the ISMP queries (`ismp_*`) and `grandpa_proveFinality`.
62+
# Both work under `--rpc-methods Safe`: the testnet relayer reads rpc-1 through an
63+
# endpoint with `methods=safe`.
6464

6565
# ── Hyperbridge on Paseo ──────────────────────────────────────────────────────
6666
[hyperbridge]

‎template/node/src/command.rs‎

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -68,18 +68,15 @@ pub fn run() -> sc_cli::Result<()> {
6868
cli.run.offchain_worker_params.indexing_enabled = true;
6969

7070
// GRANDPA consensus proofs are large; the defaults (15 MiB) truncate them.
71+
// Applies to `--rpc-port`; an `--experimental-rpc-endpoint` sets its own
72+
// `max-request-size` / `max-response-size`.
73+
//
74+
// RPC methods are left to the operator: the ISMP queries carry no unsafe check,
75+
// so a relayer reaches them under `Safe`, and forcing `Unsafe` exposed the key,
76+
// pool and peering methods on every public node.
7177
cli.run.rpc_params.rpc_max_request_size = 150;
7278
cli.run.rpc_params.rpc_max_response_size = 150;
7379

74-
// The ISMP query methods are not in Substrate's Safe set, so under the default a
75-
// remote relayer cannot call `ismp_queryStateProof` — proof fetching fails while
76-
// local calls keep working, a confusing way to find out. Hyperbridge's own node
77-
// does the same.
78-
//
79-
// This exposes the rest of the unsafe namespace, so a public endpoint belongs
80-
// behind a method-allowlisting proxy. A deployment concern, not the binary's.
81-
cli.run.rpc_params.rpc_methods = sc_cli::RpcMethods::Unsafe;
82-
8380
match &cli.subcommand {
8481
Some(Subcommand::Key(cmd)) => cmd.run(&cli),
8582
Some(Subcommand::BuildSpec(cmd)) => {

0 commit comments

Comments
 (0)