Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Validate GenLayer intelligent contracts with the GenVM linter.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 165% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -57% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 193% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -35% | 0% |
Validate intelligent contracts for safety, correctness, and SDK compliance.
Requires genvm-linter (included in requirements.txt for boilerplate projects):
bashpip install genvm-linter
Always lint before testing. Run genvm-lint check after writing or modifying a contract. Fix all errors before running tests.
bashgenvm-lint check contracts/my_contract.py
check runs both lint (AST safety) and validate (SDK semantics) in one pass.
bashgenvm-lint check contracts/my_contract.py genvm-lint check contracts/my_contract.py --json # Machine-readable output
bashgenvm-lint lint contracts/my_contract.py
Catches:
os, sys, subprocess, random, etc.)float usage)bashgenvm-lint validate contracts/my_contract.py
Validates:
TreeMap, DynArray, Address, etc.)@gl.public.view, @gl.public.write)dict/list)bashgenvm-lint schema contracts/my_contract.py genvm-lint schema contracts/my_contract.py --json genvm-lint schema contracts/my_contract.py --output abi.json
bashgenvm-lint typecheck contracts/my_contract.py genvm-lint typecheck contracts/my_contract.py --json genvm-lint typecheck contracts/my_contract.py --strict
Runs Pyright with SDK paths auto-configured. Catches type mismatches, missing attributes, undefined variables.
bashgenvm-lint download # Latest genvm-lint download --version v0.2.12 # Specific genvm-lint download --list # Show cached
✓ Lint passed (3 checks)
✓ Validation passed
Contract: MyContract
Methods: 8 (5 view, 3 write)--json)json{"ok":true,"lint":{"ok":true,"passed":3},"validate":{"ok":true,"contract":"MyContract","methods":8,"view_methods":5,"write_methods":3,"ctor_params":2}}
0 — All checks passed1 — Lint or validation errors found2 — Contract file not found3 — SDK download failedWhen fixing lint errors iteratively:
genvm-lint check contract.py --json"ok": trueOther measured skills in the registry, with their headline benchmark lift.