Ok, by downgrading to version 0.4.2 I was getting an error message in my definition and was able to figure out that I need to add : vec nat8 to the end of the subaccount defintion. However, this leads to a weird subaccount encryption which doesn’t match what I’m expecting. Further fiddling let me find out that adding :nat8 to each individual value in my subaccount leads to a result that I’m expected, but only in quill version 0.4.3. Adding : vec nat8 to quill version 0.4.3 however again leads to an empty blob.
So, taking an example subaccount that is defined with the following bytes { 161; 104; 39; 29 }, I get these different results
With quill version 0.4.2:
Defining with : vec nat8 : to_subaccount = opt record { subaccount = vec { 161; 104; 39; 29 } : vec nat8}
results in to_subaccount = opt record { subaccount = blob "\a1h\27\1d" };
Defining with :nat8 : to_subaccount = opt record { subaccount = vec { 161: nat8; 104: nat8; 39: nat8; 29: nat8 } }
results in to_subaccount = opt record { subaccount = blob "\a1h\27\1d" };
With quill version 0.4.3:
Defining with : vec nat8 : to_subaccount = opt record { subaccount = vec { 161; 104; 39; 29 } : vec nat8}
results in to_subaccount = opt record { subaccount = blob "" };
Defining with :nat8 : to_subaccount = opt record { subaccount = vec { 161: nat8; 104: nat8; 39: nat8; 29: nat8 } }
results also in to_subaccount = opt record { subaccount = blob "\a1\68\27\1d" };
So summarising, with quill v0.4.2 it produces the wrong subaccount blob with both definitions and with quill v0.4.3 it produces only the correct result if each value is defined individually.
I would highly appreciate some feedback from someone from the team if this is only an issue on my end and how it can be fixed.