Skip to content

feat: release Transaction Kit 0.1.0 RC - #1

Merged
MuncleUscles merged 2 commits into
v0.1-devfrom
codex/prepare-v0.1-rc
Sep 3, 2026
Merged

MuncleUscles merged 2 commits into
v0.1-devfrom
codex/prepare-v0.1-rc

Conversation

@MuncleUscles

Copy link
Copy Markdown
Member

Delivery context

This PR targets v0.1-dev and contains the complete first Transaction Kit RC cut: the existing fee lifecycle and verification-gate commit plus a dedicated release-preparation layer.

The runtime dependency is the already-published immutable genlayer-js@2.0.0-rc.1 artifact from release SHA 672631bfff0a21a25d95591a523497f7c46fd01d. There is no open cross-repository PR dependency.

Problem and outcome

The three Transaction Kit workspaces were only consumable from generated Git branches and still depended on the moving genlayer-js#v2-dev ref. This makes a coordinated, reproducible prerelease impossible.

This change prepares and guards the first public RCs:

  • @genlayer/transaction-kit@0.1.0-rc.1
  • @genlayer/transaction-kit-react@0.1.0-rc.1
  • @genlayer/transaction-kit-vue@0.1.0-rc.1

The core package pins genlayer-js@2.0.0-rc.1 exactly, while stable npm tags remain untouched.

Implementation and validation

  • Added explicit RC/stable branch and npm dist-tag policy with direct unit coverage.
  • Added ESM, CommonJS, declaration, stylesheet, and tarball-surface validation for all workspaces.
  • Added a tag-only release script that requires an exact green branch head plus a successful repository-owned npm credential preflight.
  • Added a resumable tag workflow that validates provenance before publishing under rc, then verifies all registry artifacts and creates a GitHub prerelease.
  • Refreshed compatible locked production dependencies; npm audit --omit=dev reports zero vulnerabilities.
  • Clean npm registry install completed against genlayer-js@2.0.0-rc.1.
  • Typecheck passed for all workspaces.
  • All builds passed.
  • 44 product tests and 5 release-policy tests passed.
  • All package import and tarball checks passed.
  • ShellCheck, Actionlint, and diff checks passed.

Full E2E is not requested because this repository is not in the protocol deployment closure and the release additions are covered by native package gates.

Release procedure

After merge, both CI and the repository-owned npm credential preflight must be green on the exact v0.1-dev head. Only then:

scripts/release.sh --dry-run 0.1.0-rc.1
scripts/release.sh 0.1.0-rc.1

The script pushes v0.1.0-rc.1; GitHub Actions performs every npm publication. No local npm credential is used.

- core: cancel()/topUp() wrapping genlayer-js cancelTransaction/topUpFees;
  PolicyQuote.verification {verified|mismatch|unavailable} comparing the quote's
  fee-config hash against the live fee policy (reconstruction pins the SDK's
  12_000bps cap headroom; mismatch fails closed)
- react/vue: blocked state gates approve on mismatch unless allowUnverified;
  canCancel/canTopUp + cancel()/topUp() during manageable pending states;
  generation guard so late track polls cannot overwrite a cancel outcome
  (regression-tested in both adapters; also fixes stale-preset closure in approve)
- tests: core 17, react 15, vue 12 (vue gains its first flow tests)
- README: API table updated

Implemented by Codex (GPT); race fix + headroom pinning notes from review.
Pin the public core package to genlayer-js 2.0.0-rc.1, validate the coordinated workspace version and tarball surface, and add a tag-owned npm publication path. The release script refuses to tag until native CI and the repository-owned npm credential preflight are green.
@MuncleUscles MuncleUscles self-assigned this Sep 3, 2026
@coderabbitai

coderabbitai Bot commented Sep 3, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: ed8b8d0c-f55e-4bd1-9de7-ca34966bfea6

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@MuncleUscles
MuncleUscles merged commit 6080896 into v0.1-dev Sep 3, 2026
2 checks passed
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.

1 participant