Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 0 additions & 14 deletions .changeset/feebearer-and-quote-fix.md

This file was deleted.

8 changes: 8 additions & 0 deletions apps/docs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @usewhisk/docs

## 0.0.4

### Patch Changes

- Updated dependencies [631b659]
- @usewhisk/core@0.1.0
- @usewhisk/react@0.1.0

## 0.0.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@usewhisk/docs",
"version": "0.0.3",
"version": "0.0.4",
"private": true,
"description": "Whisk marketing landing + fumadocs documentation. Served at usewhisk.vercel.app (marketing) and usewhisk.vercel.app/docs (docs).",
"type": "module",
Expand Down
8 changes: 8 additions & 0 deletions examples/donate-button/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @usewhisk/example-donate-button

## 0.0.4

### Patch Changes

- Updated dependencies [631b659]
- @usewhisk/core@0.1.0
- @usewhisk/react@0.1.0

## 0.0.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/donate-button/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@usewhisk/example-donate-button",
"version": "0.0.3",
"version": "0.0.4",
"private": true,
"description": "Vite + React donation page. Recipient locked, amount free — donor picks how generous they feel today.",
"type": "module",
Expand Down
8 changes: 8 additions & 0 deletions examples/ecommerce-checkout/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @usewhisk/example-ecommerce-checkout

## 0.0.4

### Patch Changes

- Updated dependencies [631b659]
- @usewhisk/core@0.1.0
- @usewhisk/react@0.1.0

## 0.0.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/ecommerce-checkout/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@usewhisk/example-ecommerce-checkout",
"version": "0.0.3",
"version": "0.0.4",
"private": true,
"description": "E-commerce checkout. Whisk locked to a fixed price + merchant address — the widget is just the confirm-and-pay surface.",
"type": "module",
Expand Down
8 changes: 8 additions & 0 deletions examples/invoice-link/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @usewhisk/example-invoice-link

## 0.0.4

### Patch Changes

- Updated dependencies [631b659]
- @usewhisk/core@0.1.0
- @usewhisk/react@0.1.0

## 0.0.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/invoice-link/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@usewhisk/example-invoice-link",
"version": "0.0.3",
"version": "0.0.4",
"private": true,
"description": "Invoice payment links. The merchant shares /pay?to=…&amount=…&chain=…; Whisk reads the params and pre-fills.",
"type": "module",
Expand Down
8 changes: 8 additions & 0 deletions examples/payroll-batch/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @usewhisk/example-payroll-batch

## 0.0.4

### Patch Changes

- Updated dependencies [631b659]
- @usewhisk/core@0.1.0
- @usewhisk/react@0.1.0

## 0.0.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/payroll-batch/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@usewhisk/example-payroll-batch",
"version": "0.0.3",
"version": "0.0.4",
"private": true,
"description": "Vite + React admin tool. A list of payees, click one, the same Whisk widget repopulates with their address + amount.",
"type": "module",
Expand Down
8 changes: 8 additions & 0 deletions examples/themed-saas/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @usewhisk/example-themed-saas

## 0.0.4

### Patch Changes

- Updated dependencies [631b659]
- @usewhisk/core@0.1.0
- @usewhisk/react@0.1.0

## 0.0.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/themed-saas/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@usewhisk/example-themed-saas",
"version": "0.0.3",
"version": "0.0.4",
"private": true,
"description": "Theme override demo. Whisk's CSS tokens replaced with a corporate teal/navy palette to match a SaaS dashboard.",
"type": "module",
Expand Down
14 changes: 14 additions & 0 deletions packages/core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# @usewhisk/core

## 0.1.0

### Minor Changes

- 631b659: Fee bearer control and a stale-quote fix.

**`feeBearer`** — new config option. Default `"receiver"` preserves current behavior (CCTP + Forwarder fees come out of the transfer). Set `feeBearer: "sender"` to size the burn up by the estimated fees so the recipient receives the full amount — useful for checkout, payroll, and invoice flows. Quotes now expose `amountBurned` (the on-chain transfer amount) alongside `amountIn` (sender debit) and `amountOut` (recipient receives). In sender mode the gross-up pads the forwarding portion by a small margin (2%); the forwarder fee is re-priced from destination gas at mint time, so the cushion keeps the recipient at or above the requested amount despite drift, with any unused margin minted to them.

**Fix** — changing the destination chain after the recipient resolved kept quoting against the original chain. A host-pinned recipient was resolved only once (a one-shot `useRef` latch) and the "Review" gate ignored the chain, so switching destinations reused the stale resolution and bridged to the wrong chain. Auto-resolve is now keyed on recipient + destination, and a resolved recipient whose chain no longer matches the selected destination is re-resolved before quoting.

**Fix** — host theme overrides were ignored in dark mode. The widget's dark palette lived on `[data-whisk][data-whisk-theme="dark"]` (specificity 0,2,0), which out-specified a host re-theming `--whisk-*` on `[data-whisk]` (0,1,0) — so a dark integration kept the default wine/terracotta colors. The theme discriminators are now wrapped in `:where()`, keeping every theme block at `[data-whisk]` specificity, so host overrides win in light, dark, and system (on the card and in portals).

**Fix** — wallet errors surfaced the raw viem/App Kit dump (`Request Arguments: …`, `Version: viem@…`). Declining the wallet prompt now reads "You cancelled the transaction in your wallet.", and other errors are trimmed to their human first line (App Kit's "Unknown blockchain error on \<chain\>:" wrapper and the argument dump are stripped). The full provider error is preserved on `cause` for debugging. This cleanup now covers every surface that renders an error — the transfer result screen, the connect modal (EVM and Solana), the manual-mint flow, and the ENS resolver — not just the bridge path. The message cleaner is also exported as `cleanErrorMessage` for custom surfaces.

## 0.0.4

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@usewhisk/core",
"version": "0.0.4",
"version": "0.1.0",
"description": "Whisk core — framework-agnostic engine, types, errors, and state machine for the Whisk USDC widget.",
"license": "MIT",
"author": "SignorDev (https://github.com/Signor1)",
Expand Down
19 changes: 19 additions & 0 deletions packages/react/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# @usewhisk/react

## 0.1.0

### Minor Changes

- 631b659: Fee bearer control and a stale-quote fix.

**`feeBearer`** — new config option. Default `"receiver"` preserves current behavior (CCTP + Forwarder fees come out of the transfer). Set `feeBearer: "sender"` to size the burn up by the estimated fees so the recipient receives the full amount — useful for checkout, payroll, and invoice flows. Quotes now expose `amountBurned` (the on-chain transfer amount) alongside `amountIn` (sender debit) and `amountOut` (recipient receives). In sender mode the gross-up pads the forwarding portion by a small margin (2%); the forwarder fee is re-priced from destination gas at mint time, so the cushion keeps the recipient at or above the requested amount despite drift, with any unused margin minted to them.

**Fix** — changing the destination chain after the recipient resolved kept quoting against the original chain. A host-pinned recipient was resolved only once (a one-shot `useRef` latch) and the "Review" gate ignored the chain, so switching destinations reused the stale resolution and bridged to the wrong chain. Auto-resolve is now keyed on recipient + destination, and a resolved recipient whose chain no longer matches the selected destination is re-resolved before quoting.

**Fix** — host theme overrides were ignored in dark mode. The widget's dark palette lived on `[data-whisk][data-whisk-theme="dark"]` (specificity 0,2,0), which out-specified a host re-theming `--whisk-*` on `[data-whisk]` (0,1,0) — so a dark integration kept the default wine/terracotta colors. The theme discriminators are now wrapped in `:where()`, keeping every theme block at `[data-whisk]` specificity, so host overrides win in light, dark, and system (on the card and in portals).

**Fix** — wallet errors surfaced the raw viem/App Kit dump (`Request Arguments: …`, `Version: viem@…`). Declining the wallet prompt now reads "You cancelled the transaction in your wallet.", and other errors are trimmed to their human first line (App Kit's "Unknown blockchain error on \<chain\>:" wrapper and the argument dump are stripped). The full provider error is preserved on `cause` for debugging. This cleanup now covers every surface that renders an error — the transfer result screen, the connect modal (EVM and Solana), the manual-mint flow, and the ENS resolver — not just the bridge path. The message cleaner is also exported as `cleanErrorMessage` for custom surfaces.

### Patch Changes

- Updated dependencies [631b659]
- @usewhisk/core@0.1.0

## 0.0.4

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/react/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@usewhisk/react",
"version": "0.0.4",
"version": "0.1.0",
"description": "Whisk React — embeddable USDC send & bridge widget components, hooks, and providers built on Circle App Kit.",
"license": "MIT",
"author": "SignorDev (https://github.com/Signor1)",
Expand Down