Sorry for the dumb q: In what context would you need to use this raw encoding? I made a demo with subxt that I discuss here where the extrinsics are statically typed.
Yes, Default::default() of args would work, if you impled them, as they are not for example in this subxt example accessible.
Dumb question: is it possible to specify a type that is inclusive of only the call without values? Perhaps its somewhere in the macro logic to generate the RuntimeCall enum or maybe a way to cheaply impl a type that does this from the fully generated RuntimeCall enum…?
Perhaps yes: rust - Compare enums only by variant, not value - Stack Overflow
Will look into this
If this is possible and cheap, it’s another option. Perhaps even something to make accessible within FRAME, if we think other pallets would want a type safe way to check what calls exist (but not their values) within pallets. ![]()