stdlib-point-at-infinity
CommunityKeep infinity points canonical in circuits.
Software Engineering#serialization#canonicalization#zk circuits#point at infinity#recursive verification#cycle_group#bn254
AuthorHabibTorjmen
Version1.0.0
Installs0
System Documentation
What problem does it solve?
Prevents incorrect handling of point-at-infinity representations in stdlib circuit types, avoiding broken serialization, hashing, public inputs, and recursive verification when infinity may appear with non-canonical coordinates.
Core Features & Use Cases
- Canonically normalize infinity at circuit boundaries: Ensures grumpkin_commitment infinity is converted to the (0,0) convention via conditional_assign where it can be produced non-canonically.
- Differentiate representation models across element types: Guides correct usage for bn254 element_default (explicit infinity flag) vs goblin_element (infinity encoded as (0,0)).
- Handle recursion safely: Recommends conditional_assign instead of BB_ASSERT on values potentially influenced by a malicious prover during recursive verifier circuit construction.
- Use correct comparison/serialization touchpoints: Identifies observation boundaries (serialize_to_fields, set_public, operator==/assert_equal) where canonicalization must occur for correctness.
Quick Start
Use this guidance when implementing stdlib serialization/public-input wiring for cycle_group and bn254 commitment types so infinity is treated as (0,0) at boundaries and normalized with conditional_assign where needed.
Dependency Matrix
Required Modules
None requiredComponents
Standard package💻 Claude Code Installation
Recommended: Let Claude install automatically. Simply copy and paste the text below to Claude Code.
Please help me install this Skill: Name: stdlib-point-at-infinity Download link: https://github.com/HabibTorjmen/Blockchain/archive/main.zip#stdlib-point-at-infinity Please download this .zip file, extract it, and install it in the .claude/skills/ directory.
Agent Skills Search Helper
Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.