Skip to content

Updated for Zig 0.16.0 and 0.17.0 - #1

Open
samooth wants to merge 11 commits into
opldotdev:mainfrom
samooth:main
Open

Updated for Zig 0.16.0 and 0.17.0#1
samooth wants to merge 11 commits into
opldotdev:mainfrom
samooth:main

Conversation

@samooth

@samooth samooth commented Aug 27, 2026

Copy link
Copy Markdown

Updated for Zig 0.16.0 and 0.17.0

samooth and others added 11 commits August 23, 2026 17:19
…-string API, ArrayList empty init, graceful corpus skips, CI matrix
ScriptIterator yields one ScriptChunk at a time without allocation.
Tracks cursor position and conditional depth internally. Handles
OP_RETURN short-circuit for top-level data scripts.

parseAlloc, countChunks, isPushOnly, and hasCodeSeparator all
refactored to use ScriptIterator internally.
Beef.bytes() always writes V2. V1 serialization is a Transaction concern.
Remove bytesV1() from Beef, write BEEF_V2 directly in writeVersionAndBUMPs.
- Create src/exports.zig with 18 export fn declarations
- BIP39: mnemonic generation + seed derivation
- BIP32: HD key from seed, derive path, extract privkey bytes
- BRC-42/43: Type-42 key derivation, invoice formatting
- Key ops: privkey↔pubkey, pubkey→address, WIF encode/decode
- BSM: sign/verify (legacy compat)
- BRC-77: sign/verify for anyone and targeted recipients
- Create include/bsvz.h C header with extern "C" guards
- Add bsvz_c static library target in build.zig
- All symbols verified in libbsvz_c.a via nm
Implements KeyDeriver struct matching Go wallet.KeyDeriver with
DerivePublicKey, DerivePrivateKey, and RevealSpecificSecret methods.
Supports self, other, and anyone counterparty types.
Replace .{0} ** 32 with @as([32]u8, @Splat(0)) for Zig 0.17+ compat
Replace .{0} ** 31 ++ .{val} with @Memset for proper 32-byte arrays
Also fix variable name in one test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants