Skip to content

Fa Structure

Overview

Fa is the core state container for SHA tokens. It holds cryptographic values used in modular exponentiation operations and pairing protocols.

  • File: include/fa.sol
  • License: Sharia
  • Solidity: ^0.8.21

What This Means For Players

Plain English Summary: Fa is the internal state of your cryptographic keys. Each SHA token has a Fa structure that stores all the secret and public values used for cryptographic operations. It's like the internal circuitry of a lock.

Real-World Analogy: Think of Fa like the pins inside a door lock. Each pin (field) has a specific height (value), and when the right key is inserted, all the pins align correctly. The Fa stores all these "pin heights" that make your SHA token unique.

How It Affects Your Gameplay: - Behind the scenes - Players don't interact with Fa directly - Identity foundation - These values ultimately determine your unique cryptographic identity - Reaction fuel - Values like Charge, Chin, and Monopole are used in reaction calculations

Definition

struct Fa {
    uint64 Base;        // Base value for exponentiation
    uint64 Secret;      // Secret exponent
    uint64 Signal;      // Signal value
    uint64 Channel;     // Computed channel (Base^Signal mod MotzkinPrime)
    uint64 Contour;     // Contour from Avail operation
    uint64 Pole;        // Polarization value
    uint64 Identity;    // Identity parameter
    uint64 Foundation;  // Foundation from Conify
    uint64 Element;     // Element for reactions
    uint64 Coordinate;  // Conjugate coordinate
    uint64 Charge;      // Computed charge
    uint64 Chin;        // Chin value for reactions
    uint64 Monopole;    // Monopole state
}

Field Descriptions

Field Purpose Set By
Base Primary value for exponentiations Seed(), Form()
Secret Private exponent Seed()
Signal Public signal value Seed()
Channel Derived from Base^Signal Tune()
Contour Intermediate value Avail()
Pole Polarization result Polarize()
Identity Partner's identity Conify(), Saturate()
Foundation Base^Identity mod Prime Conify()
Element Combined charge element Saturate()
Coordinate Partner's pole value Conjugate()
Charge Computed from saturation Saturate()
Chin Used in reactions Saturate()
Monopole Final monopole state Saturate()

Lifecycle

1. Seed() - Initialize Base, Secret, Signal
2. Tune() - Compute Channel
3. Avail() - Set Contour
4. Form() - Transform Base, re-Tune
5. Polarize() - Compute Pole
6. Conjugate() - Set Coordinate from partner
7. Conify() - Set Identity, Foundation
8. Saturate() - Compute Charge, Chin, Element, Monopole

Mathematical Relationships

Channel = Base^Signal mod MotzkinPrime
Contour = Xi^Secret mod MotzkinPrime
Pole = Base^Secret mod MotzkinPrime
Foundation = Base^Identity mod MotzkinPrime

During Saturate:
Beta = Epsilon^Identity mod Prime
Rho = Theta^Identity mod Prime
Eta = Epsilon^Signal mod Prime
Charge = Rho + Eta
Chin = Beta + Eta
Element = Beta + Charge
Monopole = Chin^Identity mod Prime

Used By

  • SHA - Primary storage structure
  • VMREQ - Extended as VMFa
  • VMFa: Extended version with additional fields (Dynamo, Manifold, Ring, Barn, Tau, Eta, Kappa, Alpha, Nu)
  • Faung: Container for Rod/Cone VMFa pairs

Contract Verification

Property Value
Keccak256 Hash 0x66d1f7bcc4941ed09f9df1e7a97eeeeed584fe327a420d258dbb2e258c91cf85
Source URL https://raw.githubusercontent.com/busytoby/atropa_pulsechain/main/solidity/dysnomia/include/fa.sol
Hash Generated 2026-02-08T00:29:08Z