Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

wallet: offline keyset-fee accessor for the precheck (upstream gonuts API) — follow-up to #525

Open
#534 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
28/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
go
Domain
api

Research direction

Start by reading tollwallet.mintKeysetFees and the loadWalletMints flow, then inspect the upstream gonuts wallet state and its wallet/storage.BoltDB.GetKeysets() accessor. The issue proposes an exported Wallet.MintKeysetFees(mintURL) API and re-pointing the precheck to it; done means the precheck can read cached keyset fees offline and no longer uses the network path.

Written by the indexing model from the issue text.

Description

Follow-up to #525 (now bounded in-repo by the precheck budget): the strictly-better long-term fix is reading the cached keyset fees from the wallet's local bolt DB instead of the network — the data is already there (kept warm by loadWalletMints; gonuts' internal feesForProofs uses exactly this in-memory state), and it would make the precheck offline-capable with no budget tuning.

What's missing: gonuts-tollgate exposes no accessor for a mint's keyset state (walletMint.activeKeyset/inactiveKeysets are unexported; wallet/storage.BoltDB.GetKeysets() exists but the wallet's live handle can't be safely re-opened read-only alongside). Needs: an exported Wallet.MintKeysetFees(mintURL) map[string]uint (or equivalent) upstream, then re-point tollwallet.mintKeysetFees at it and drop the network path from the precheck. Also worth revisiting upstream: keyset fetches probably don't want the full 5-attempt retry ladder on the hot payment path (issue #525's candidate 3).

Dominant language
Go
Stars
12
Forks
14
Avg merge
1d 5h
Merged PRs (30d)
220

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from OpenTollGate/tollgate-module-basic-go

All issues in OpenTollGate/tollgate-module-basic-go

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.