Skip to content

Embed current-actor template lengths as fixed-width constants - #68

Merged
michaelsutton merged 3 commits into
masterfrom
embed-current-template-lengths
Oct 7, 2026
Merged

michaelsutton merged 3 commits into
masterfrom
embed-current-template-lengths

Conversation

@michaelsutton

@michaelsutton michaelsutton commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

Entries that read other instances of their own actor no longer need hidden prefix/suffix length arguments. This better matches single-entity specs such as KCC20, even when the actor belongs to a multi-actor app.

The compiler embeds the lengths as fixed-width byte[4] constants, fills them in after compilation, and checks that the script layout stays unchanged. Each entry reads them into integer locals once and reuses those values.

Template authentication remains unchanged. Foreign actors, selectors, and open actor_type targets retain their planned witnesses.

Coverage includes a 30-case input/output matrix, selector-witness assertions, fixed-width checks, and runtime transfers with zero, one, or two delegates.

Replace hidden current-actor length arguments with byte[4] constants,
resolved in one fill-in pass and read once into entry-local integers.
Keep foreign template witnesses unchanged.

Add fixed-width and end-to-end ranged-transfer coverage.
Add a 30-case input/output matrix checking witness forms, ABI parameters,
and artifact recipes. Pin selector byte witnesses as a separate case.

Clarify the filters and explain how embedded lengths align entry
signatures with single-entity specs such as KCC20.
@michaelsutton
michaelsutton merged commit 9a9f4b1 into master Oct 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant