I opened this discussion thread because I have a few comments and questions about KCC-01:
-
The spec says that “An
intinvocation argument usesPushMinimalover its minimal ScriptNum representation”. This is incompatible with script builder’sbuilder.add_i64method. What’s the rationale for that? -
The spec says “
bool- Exactly00for false or01for true”" - This is also incompatible with the script builder that by default representsfalsewith[](the empty vector). -
"An array of records is permitted only when every recursively lowered leaf field has a positive fixed payload width.
When decoding an array of records, every grouped field payload MUST decode to the same element count. For a fixed-length record array, that count MUST equal its declared length.
This restriction applies only to arrays of records. A record outside an array MAY contain otherwise supported variable-width fields; recursive lowering gives each leaf field its own push." - I think it’s unclear what “This restriction” refers to. If I understand correctly it refers to the first paragraph, but we might want to clarify it.
Also, a general comment about PushMinimal: I don’t think PushMinimal should be part of the standard. Instead, we should focus on the places where PushMinimal is forbidden (invocations, states, etc).