Commit eb0ad7a
committed
refactor: replace manual call_data parsers with metadata-driven decoding
Use scale_value::scale::decode_as_type() with the metadata type registry
to generically decode any call_data against the RuntimeCall type. This
eliminates ~400 lines of hardcoded per-method parsers (parse_transfer_args,
parse_bond_args, parse_proxy_args, etc.) and replaces them with ~150 lines
of generic Value-to-JSON conversion.
The no-metadata fallback now returns raw hex args since we cannot decode
without type info. In practice, metadata is always provided.
BTC-30621 parent d135d0c commit eb0ad7a
1 file changed
Lines changed: 511 additions & 506 deletions
0 commit comments