If I add a new field to a struct that is not stored in storage but used as a parameter to an extrinsic, will it break decoding if a node with the changed runtime is syncing (i.e. executing older blocks where the struct didn't have the extra field? Does it matter where/how I add the extra field? example:
struct exampleStruct {
a: u32,
b: u32
}
// Example 1 - new field added at the begining
struct exampleStruct {
newField: u32
a: u32,
b: u32
}
// Example 2 - new field added at the end
struct exampleStruct {
a: u32,
b: u32,
newField: u32
}
I saw this old discussion here: https://github.com/paritytech/substrate/issues/1221 but not sure how it works for structs.
Thanks.