Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: zigstack/zigeth
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: fix
Choose a base ref
...
head repository: zigstack/zigeth
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 6 commits
  • 23 files changed
  • 1 contributor

Commits on Jul 7, 2026

  1. chore: migrate to Zig 0.16.0

    Bump minimum_zig_version to 0.16.0, replace the dead
    DaviRain-Su/zig-eth-secp256k1 dep with jsign/zig-eth-secp256k1, and
    adopt the 0.16 stdlib deltas across the library:
    
      * build.zig: linkLibC + linkLibrary moved off Compile onto Module.
        addRemoveDirTree dropped.
      * DebugAllocator replaces GeneralPurposeAllocator.
      * std.mem.trimEnd/trimStart replace trimRight/trimLeft.
      * std.c.nanosleep + std.c.clock_gettime cover the retired
        std.time.sleep / std.time.timestamp.
      * ObjectMap becomes unmanaged everywhere.
    
    Result: `zig build test` passes 313/314 (1 skipped, 0 failing) and the
    library module compiles + installs as libzigeth.a.
    
    Known regressions guarded by error.NotImplemented until 0.16 std.Io
    lands:
      * providers/http.zig HTTP transport
      * providers/ws.zig WebSocket transport
      * providers/ipc.zig IPC transport
      * CLI executable (gated out of build.zig)
      * errors.zig log-file sink
      * signer/keystore.zig RNG (temporarily wall-clock-seeded)
    
    CHANGELOG documents the migration + regressions. Version bumped to 0.3.0.
    ch4r10t33r committed Jul 7, 2026
    Configuration menu
    Copy the full SHA
    b91bec7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2eaba67 View commit details
    Browse the repository at this point in the history
  3. ci: build on Zig 0.16.0 + cross-platform time helpers

    CI was pinned to Zig 0.15.2 via the deprecated goto-bus-stop/setup-zig
    action, so every job failed against the 0.16-migrated source (e.g.
    ArrayHashMap.empty). Bump all workflows (ci, release, auto-release) to
    Zig 0.16.0 and switch to the maintained mlugg/setup-zig@v2 action.
    
    The 0.16 migration also inlined POSIX-only std.c.clock_gettime /
    std.c.nanosleep across five call sites, which broke the Windows CI
    matrix. Extract a cross-platform src/time_compat.zig:
    
      * nowSeconds() — clock_gettime(REALTIME) on POSIX, GetSystemTimeAsFileTime
        (self-declared kernel32 extern) on Windows.
      * sleepMs()    — nanosleep on POSIX, kernel32.Sleep on Windows.
    
    The os branch is comptime-known so only the target's path is analyzed.
    Wire the helper into errors.zig (retry backoff), middleware/{gas,nonce},
    and signer/{wallet,keystore} (RNG seeds).
    
    Local: `zig build test` 314/315 (1 skip), fmt-check + lint green.
    ch4r10t33r committed Jul 7, 2026
    Configuration menu
    Copy the full SHA
    b608323 View commit details
    Browse the repository at this point in the history
  4. ci: fix malformed YAML in update-version-pr workflow

    The "Commit changes" step embedded a multi-line git commit message
    inside a `run: |` block with un-indented continuation lines, which
    broke out of the YAML block scalar. GitHub reported this as a
    startup_failure on every push since the file was added.
    
    Collapse the message into repeated `-m` flags on one line so the
    block scalar stays well-formed. All four workflow files now parse as
    valid YAML.
    ch4r10t33r committed Jul 7, 2026
    Configuration menu
    Copy the full SHA
    829c7dd View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    5ce7e20 View commit details
    Browse the repository at this point in the history
  6. feat: implement HTTP(S) JSON-RPC transport [skip release]

    HttpTransport.send now drives std.http.Client (over a std.Io.Threaded
    loop) instead of returning error.NotImplemented, so the provider makes
    real network calls and https:// endpoints work via the client's TLS.
    
    Fix latent 0.16-migration bugs the stubbed transport hid: var-bind the
    *ToJson wrappers so their *self deinit type-checks, pass the allocator
    to ArrayList/ObjectMap deinit, and make JsonObjectWrapper.deinit
    recurse so a topics filter array doesn't leak its hex strings.
    
    Verified live vs Arbitrum Sepolia (chainId/blockNumber/getLogs, no
    leaks). Tests 315/316 (1 skip) incl. a new topics-filter leak guard.
    ch4r10t33r committed Jul 7, 2026
    Configuration menu
    Copy the full SHA
    6d3e403 View commit details
    Browse the repository at this point in the history
Loading