Skip to content

StackerPulse v3.1.1

Choose a tag to compare

@github-actions github-actions released this 04 Nov 14:41
· 6 commits to main since this release
v3.1.1
5bee39b

StackerPulse v3.1.1 — Support the developer

One page for donation addresses (DONATE.md)

  • New DONATE.md: a table of public donation addresses (Monero, USDC on
    Solana, USDT on Tron, Lightning) with network warnings, a check against
    clipboard malware, and what a donation is and is not (a voluntary gift, no
    service, no refund; the software stays MIT whether or not you donate).
  • It is the only place the addresses are written. The README links to it,
    GitHub's Sponsor button (.github/FUNDING.yml) points to it, and the app
    embeds it at build time. Changing an address means editing one line.
  • In the app: Settings and privacy → Support the developer, one row per
    address with a Copy button and the network warning. The card stays hidden
    while no address is set. Nothing is opened or sent; the address is only
    copied. DONATE.md and support.rs are also in the source viewer.

Every address is checked before it can ship (src-tauri/src/support.rs)

  • Monero: decoded from Monero's block base58 and checked against its
    Keccak-256 checksum; main-net standard (4…) and subaddresses (8…) only, no
    testnet, no integrated addresses. Keccak is implemented in the module (about
    60 lines) and tested against the published vectors and the Monero General
    Fund address, so no new dependency and no change to THIRD-PARTY.md.
  • Tron: Base58Check checksum, T…, 34 characters, main-net byte 0x41.
  • Solana: must decode to exactly 32 bytes (Solana addresses have no
    checksum). A 64-byte value is refused as a private key, with a message
    to delete it and never share it.
  • Lightning: name@domain, lower case; a one-time lnbc… invoice is
    refused.
  • Anything with spaces is refused as a possible seed phrase, and SeedScan
    itself must find no secret in DONATE.md.
  • the_shipped_donate_md_is_valid runs in CI on all three systems and in the
    release workflow before anything is built, so a typo stops the release
    instead of sending someone's money to a wrong address.

Also

  • A test that every file offered in the source viewer is actually embedded.
  • Release workflow: the first 3.1.1 run built every installer but attached
    none of them. The step that looked up the draft's id came back empty, and
    tauri-action, given no id, builds, skips all uploads and still finishes
    green. The id is now read with gh release view and checked to be a number,
    tauri-action also gets the tag name so it can find the draft by itself, and
    a new step fails the build if no installer actually reached the draft.

Tests: 80 library + 22 CLI (cargo test --release --features cli).


Verify your download

Every file below has a SHA-256 checksum in SHA256SUMS.txt and a
build-provenance attestation proving it was built by this workflow
from this repository:

gh attestation verify <file> --repo UBro-dev/stacker-pulse

The installers are not code-signed (that needs a real-name
certificate). Windows SmartScreen and macOS Gatekeeper will warn the
first time; see the README for how to open the app safely.