Skip to main content

0.2.1-beta

Please report bugs using the issue tracker at GitHub:

https://github.com/flokiorg/flnd/issues

This release adds CI (build/vet/test with the full RPC-subserver tag set) and fixes a real standalone build break, 35 go vet findings, a mock-wallet balance bug, and several stale Bitcoin-network test fixtures left over from the fork.

Highlights

Fixes

  • Standalone build break: pinned flokicoin-neutrino v0.16.6-beta / walletd v0.1.8-beta predate the context-aware Start(ctx context.Context) error signature that flnd's own code already assumed. Bumped to v0.17.0-beta / v0.2.0-beta. Also updated 3 files in chainntnfs/ still referencing walletd's renamed chain.FlokicoindConn (now chain.LokidConn).
  • 35 go vet findings, surfaced by the first vet run using the RPC-subserver build tags (autopilotrpc, chainrpc, invoicesrpc, neutrinorpc, peersrpc, routerrpc, signrpc, verrpc, walletrpc, watchtowerrpc, wtclientrpc): wrong/missing format verbs, %w misused outside fmt.Errorf, non-Stringer types passed to %s, t.Fatalf called from non-test goroutines, a method value logged instead of being called, and one real arg-shift bug (a log line was missing tx.Hash(), shifting every subsequent value one position). All 35 are pre-existing upstream lnd bugs, still unfixed there.
  • Mock wallet balance bug: TestMaxChannelSizeConfig/TestWumboChannelConfig failed because two mock WalletControllers used a fixture scaled for Bitcoin's ~0.17 BTC max funding amount, not Flokicoin's 100,000 FLC. Bumped both to 200,000 FLC.
  • Stale Bitcoin-network test fixtures: regenerated aezeed cipherseed test vectors (stale after the defaultPassphrase domain-separation change and a pre-genesis timestamp), 3 addresses + 9 WIF-encoded keys in lnwallet/btcwallet's BIP32 derivation table, bech32 addresses in chanacceptor/lnwallet/chancloser, and two full BOLT11 invoices in lnrpc/routerrpc. Every value was regenerated from the actual production code and verified.

Found, not fixed — flagged for a dedicated security review

  • TestCommitmentAndHTLCTransactions and TestTaprootVectors: computed commitment/HTLC/taproot signatures don't match the unmodified-since-the-fork BOLT-3 spec vectors. Could be a legitimate consequence of Flokicoin's serialization differing from Bitcoin's, or a real bug in commitment transaction construction. Skipped with a TODO rather than swapping in the actual output as the new expected value, since doing that without knowing the root cause risks hiding a real vulnerability behind a passing test.
  • zpay32: 2 of 39 TestDecodeEncode fixtures fail decode comparison, one of them exercising real protocol validation logic (unknown witness version handling), not just a stale literal.
  • routing/chainview: TestFilteredChainView fails on 4 of 8 backend/testcase combinations against go-flokicoin's AuxpowStrictChainId check. Excluded from the CI test step rather than left to intermittently fail.

CI

  • Added .github/workflows/ci.yaml, matching the same DEV_TAGS+RPC-subserver tag combination the Makefile's own make unit target uses.

Assets

OS/Archflnd (daemon)flncli (CLI)
macOS (Apple Silicon)flnd-arm64flncli-arm64
macOS (Intel)flnd-amd64flncli-amd64
Linux x86_64flnd-amd64flncli-amd64
Linux arm64flnd-arm64flncli-arm64
Windows x86_64flnd-amd64flncli-amd64

Additional builds (ppc64, mips, and *BSD) are available on the GitHub release page.