code wiki / _hdl_build / nx_email_invite_gate.nx

nx_email_invite_gate.nx

buildroot/runtime/_hdl_build/nx_email_invite_gate.nx

5145 B106 linesdepth 6pulls 9 transitivereach 0 importersview sourcekind gate/prooftopic email
docsdependenciesstructsconstsfunctions

about

nx_email_invite_gate.nx -- MEASURED gate for the invite-mint provisioning seam (nx_email_invite's core = inv_issue composed against the SAME inv_check/inv_consume the live portal registration runs). Proves the full lifecycle offline against a scratch store: T1 mint -> NX_INV_OK + 64 lowercase-hex token T2 accept -> inv_check(same realm, fresh) returns the minted level T3 realm-bind -> inv_check(WRONG realm) = 0 (an andelinwest invite can never register on another domain's portal -- the per-domain delegation boundary) T4 single-use -> inv_consume then inv_check = 0 (no replay) T5 expiry -> ttl=1 token checked at now+5 = 0 (fail-closed) GREEN iff 5/5. Appends knowledge/status/email_invite_gate.log. license_tier: ORIGINAL

dependencies 3 imports · 0 importers

nx_invite_token.nx nx_g_puts_lib.nx nx_syscalls.nx nx_email_invite_gate.nx

imports: nx_invite_token.nxnx_g_puts_lib.nxnx_syscalls.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main g_puts sys_write sys_openat_wr sys_close sys_now_realtime_sec sys_mmap sys_clock_gettime_real sys_mmap ↻ inv_issue sys_mmap ↻ nx_csprng_fill sys_mmap ↻ nx_csprng_urandom_path sys_openat_rd sys_read sys_close ↻ _inv_hex_enc sha256_digest sys_mmap ↻ sha256_init sys_mmap ↻ sha256_k sha256_update sha256_compress_ni_blocks blk_set_byte sha256_compress sha256_compress_ni blk_word blk_byte sha256_final blk_set_byte ↻ sha256_compress ↻ _inv_cat _inv_catn _inv_i64_dec sys_mmap ↻ _inv_i64_hex16 sys_openat_append sys_write ↻

structs

none

consts

none

functions

15func g_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 1: main
16func g_w(fd: i64, s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(fd, s, n); return 0 }
called by 1: main calls 1: sys_write
17func g_putn(v: i64) -> i64
called by 1: main calls 2: sys_writesys_mmap
28func main() -> i64