Skip to content
Technical Reference

Fa

Contract addressNot applicable to type definitions
Hash-verified 0x66d1f7bc…91cf85
Source details
Property Value
Keccak256 Hash 0x66d1f7bcc4941ed09f9df1e7a97eeeeed584fe327a420d258dbb2e258c91cf85
Source URL https://raw.githubusercontent.com/busytoby/atropa_pulsechain/58607494f7741b80525953e4a85bc99e66fd20fc/solidity/dysnomia/include/fa.sol
Source Revision 58607494f7741b80525953e4a85bc99e66fd20fc
Source Status Canonical source snapshot; deployed bytecode equivalence is only established where a deployment record says so.
Compiler solc 0.8.21; optimizer enabled with 200 runs
Compiler Configuration {"evmVersion":"compiler-default","optimizer":{"enabled":true,"runs":200},"version":"0.8.21+commit.d9974bed.Linux.g++"}
Compilation Closure Hash 0x1aa46e19e674b902324d832c1543fe4b4889152837b21ca21ac2815ae7b1ddc4
Compilation Closure Files 1
Hash Generated 2026-09-14T19:34:18Z

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

  • Kind: Type Definitions Module
  • License: Sharia
  • Solidity: ^0.8.21
  • Source: include/fa.sol

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
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 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()
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
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
  • 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

struct Fa {
uint64 Base;
uint64 Secret;
uint64 Signal;
uint64 Channel;
uint64 Contour;
uint64 Pole;
uint64 Identity;
uint64 Foundation;
uint64 Element;
uint64 Coordinate;
uint64 Charge;
uint64 Chin;
uint64 Monopole;
}