Problem. ChainProvider::request forwards a raw method: String + params_json: String straight to the node, so any guest-supplied method name goes on the wire, including signing-adjacent methods such as eth_sign if an operator endpoint exposes them.
Proposed. Investigate what alloy's RPC type layer (alloy_rpc_client request/method types, RequestPacket) can replace the raw strings with on the seam, so the permitted surface is a type rather than a convention. Enforcement of a method allowlist at the WIT glue is tracked separately in #50; this issue is about making the seam's type shape close the hole structurally.
Notes. Raised in review feedback on the component-seam PR: #99 (comment)
Problem.
ChainProvider::requestforwards a rawmethod: String+params_json: Stringstraight to the node, so any guest-supplied method name goes on the wire, including signing-adjacent methods such aseth_signif an operator endpoint exposes them.Proposed. Investigate what alloy's RPC type layer (
alloy_rpc_clientrequest/method types,RequestPacket) can replace the raw strings with on the seam, so the permitted surface is a type rather than a convention. Enforcement of a method allowlist at the WIT glue is tracked separately in #50; this issue is about making the seam's type shape close the hole structurally.Notes. Raised in review feedback on the component-seam PR: #99 (comment)