fix(antelope): ABI safety, table evidence, indexed lookups, arbitrary layouts, viz#667
Open
j76823284-hash wants to merge 3 commits into
Open
fix(antelope): ABI safety, table evidence, indexed lookups, arbitrary layouts, viz#667j76823284-hash wants to merge 3 commits into
j76823284-hash wants to merge 3 commits into
Conversation
added 3 commits
July 19, 2026 03:58
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Correctness + scalability pass on the Antelope contract support ahead of merge.
.abifiles are now routed to a dedicatedantelope_abiparser that validates the top-level is a JSON object before any.get(). A JSON array (the Solidity/Ethereum ABI shape) previously reached.get()and crashed parsing; it is now skipped safely. Non-stringversion, plain JSON objects, and malformed JSON are all skipped without producing nodes.table_schemais now tagged only on a realTABLEmacro declaration in the same file (tree-sitter parsesTABLE account {...}as a function namedTABLE). Ordinary helper methods (primary_key/by_*) on plain C++ objects no longer become phantom tables._antelope_is_runtime_symbol(store, node)reads theantelope_kindtag already stored in the DB — O(1) per node, scales to large repos./contracts/path requirement; contracts are detected by positive runtime signals (ACTION/TABLE/multi_index/on_notify) anywhere in the tree.CALLS_ACTION(color, dashed style, arrow marker, legend) and dedicatedAction/Table/Contractnode kinds to both D3 templates.extrafield.node_to_dict/edge_to_dictnow emit only a curated subset (antelope_kind,antelope_runtime,antelope_version,abi_action,abi_table,notebook_format,message_typefor nodes;antelope,runtimefor edges), preventing large internal payloads from leaking into the exported graph.Test plan
mypyandbanditrun in CI (not installed in the local venv, so not executed here).Notes
894ef8c) rebased onto currentorigin/main(resolved conflicts inparser.py,graph.py, and the test files).CALLS_ACTIONhandling now selects thekindcolumn for all edge kinds.