Skip to content

Commit b9b0b62

Browse files
authored
Merge pull request #84 from amanita-labs/cut-init-release
init v0.2.0 and add changelog
2 parents 7be466e + 9ed428b commit b9b0b62

3 files changed

Lines changed: 47 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Changelog
2+
3+
All notable changes to TX-Studio are documented here. The format is based on
4+
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
5+
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6+
7+
## [0.2.0] - 2026-06-10
8+
9+
First tagged release. Cardano transaction inspector that parses raw CBOR hex and
10+
renders an interactive multi-tab view, with optional on-chain enrichment via
11+
Blockfrost.
12+
13+
### Added
14+
15+
- **Transaction inspector** — paste raw CBOR hex (or deep-link a tx hash) and
16+
parse it off the main thread via a CSL web worker into a normalized domain
17+
model.
18+
- **Inspector tabs** — overview/summary, inputs & outputs with value breakdowns,
19+
scripts, metadata, validation, raw CBOR, and transaction comparison.
20+
- **Conway governance** — render and validate governance actions, including
21+
anchor metadata resolution/validation and guardrails script hash display.
22+
- **Plutus support** — datum and redeemer decoding, UPLC links, and script
23+
analysis.
24+
- **Blockfrost integration** — server-side proxy routes fetch transactions and
25+
protocol params, with caching and multi-network search.
26+
- **Known-label registry** — annotate recognized addresses and script hashes.
27+
- Shareable links and Cquisitor inspection hand-off.
28+
- Builder page scaffolding (work in progress).
29+
30+
### Notes
31+
32+
- Production deploys continuously to Render on pushes to `main`.
33+
- Static export (`STATIC_EXPORT=true`) disables API routes, so Blockfrost
34+
features are unavailable in that mode.
35+
36+
[0.2.0]: https://github.com/amanita-labs/tx-studio/releases/tag/v0.2.0

CLAUDE.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,18 @@ No test suite exists yet (`npm test` is a no-op).
2020
**Data flow:** hex input → CSL web worker → `TxParseResult` → Zustand store → inspector tabs
2121

2222
1. User pastes hex or fetches a tx hash via Blockfrost
23-
2. `use-csl-worker` hook posts hex to `/src/workers/csl-worker.ts` (runs `@emurgo/cardano-serialization-lib-asmjs` off the main thread)
23+
2. `use-csl-worker` hook posts hex to `/src/workers/csl-worker.ts` (runs `@emurgo/cardano-serialization-lib-browser` — the wasm build — off the main thread; the build is forced through webpack because Turbopack can't resolve the wasm worker import)
2424
3. Worker returns a `DomainTx` (or error) wrapped in `TxParseResult`
2525
4. Result is stored in `useAppStore` (Zustand, `/src/lib/store.ts`)
2626
5. Inspector tabs read from the store and render
2727

28-
**Server-side:** Next.js API routes under `src/app/api/blockfrost/` proxy Blockfrost calls, keeping API keys server-only. When `STATIC_EXPORT=true`, these routes are unavailable (GitHub Pages deployment).
28+
**Server-side:** Next.js API routes under `src/app/api/blockfrost/` proxy Blockfrost calls, keeping API keys server-only. When `STATIC_EXPORT=true`, the app builds as a fully static export (`output: 'export'`) and these routes are unavailable.
29+
30+
## Deployment & Releases
31+
32+
- **Production** deploys continuously to **Render**`.github/workflows/deploy.yml` triggers a Render deploy hook on every push to `main`. (CI in `ci.yml` runs lint + type-check + build on push/PR.)
33+
- **Static export** (`STATIC_EXPORT=true`) is a separate, server-less build mode that disables all API routes — Blockfrost features require the Render server.
34+
- **Versioning:** `next.config.ts` bakes the `package.json` version and short git commit into `NEXT_PUBLIC_APP_VERSION` / `NEXT_PUBLIC_GIT_COMMIT`, surfaced in the app. To cut a release: bump `package.json`, add a `CHANGELOG.md` entry, then tag `vX.Y.Z` on `main`.
2935

3036
## Directory Structure
3137

@@ -58,7 +64,7 @@ src/
5864
├── data/
5965
│ └── known-labels.json Static label data
6066
└── workers/
61-
└── csl-worker.ts Web worker — CSL parsing (~2300 lines)
67+
└── csl-worker.ts Web worker — CSL parsing (~2400 lines)
6268
```
6369

6470
## Key Types (`src/domain/tx.ts`)
@@ -99,4 +105,4 @@ API response types in `src/lib/types/` follow the same discriminated-union patte
99105
- No test suite
100106
- Builder page is a non-functional stub
101107
- Static export (`STATIC_EXPORT=true`) disables all API routes — Blockfrost features require a server
102-
- CSL worker is a single large file (~2300 lines) that could benefit from splitting
108+
- CSL worker is a single large file (~2400 lines) that could benefit from splitting

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "tx-studio",
3-
"version": "0.1.0",
3+
"version": "0.2.0",
44
"private": true,
55
"scripts": {
66
"dev": "next dev --webpack",

0 commit comments

Comments
 (0)