You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+18Lines changed: 18 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,21 @@
1
+
## 0.8.4 (2026-06-03)
2
+
3
+
### 🩹 Fixes
4
+
5
+
-**host-api:** payment top-up secret keys are now 64-byte sr25519 secret keys. `PaymentTopUpSource.PrivateKey` changed from a 32-byte ed25519 key to a 64-byte sr25519 secret key, and each `Coins` key is likewise 64 bytes (was 32). This corrects the wire codec for the RFC 0021 top-up sources shipped in 0.8.3 — see the [coin top-ups section](./docs/migration/v0.8.md#coin-top-ups) of the migration guide.
6
+
-**host-api:** active subscriptions are torn down when the transport is disposed. A producer that still had a batched emission queued no longer throws `Transport is disposed`, and `_stop` / destroy now stop producers instead of leaving them emitting into a dead transport.
7
+
-**host-api-wrapper:**`getLegacyAccountSigner` now sends the account's SS58 address as the wire `signer` instead of a raw hex public key, so the wallet can match the signing account — mirroring the injected-extension path.
8
+
9
+
### ⚠️ Breaking Changes
10
+
11
+
-**host-api / host-api-wrapper:** the byte layout of `PaymentTopUpSource` changed — `PrivateKey` and `Coins` keys are now 64-byte sr25519 secret keys (were 32 bytes in 0.8.3). This is a wire-level change; hosts and products that exchange `privateKey` / `coins` top-ups must upgrade together. The `host-api-wrapper``TopUpSource` TypeScript shape is unchanged (`Uint8Array` / `Uint8Array[]`) — only the expected key length differs.
4.**Verify, don't edit:** the `OptionBool` bit-fix means you should re-test signing (`withSignedTransaction`) and custom-renderer round-trips against the peers you talk to. No source change on your side.
32
-
5.JSON-RPC stub methods removed (no real callers). Payment purse selector and the new `coins` top-up source (0.8.3) are additive.
32
+
5.**Top-up secret keys** — the `coins`and `privateKey` top-up sources take 64-byte sr25519 secret keys; see [coin top-ups](#coin-top-ups).
33
33
6.**Theme subscription payload changed shape** — `host_theme_subscribe` now delivers a `{ name, variant }` struct instead of a flat `'light' | 'dark'`. Read `theme.variant` for the old light/dark value (now capitalized `'Light' | 'Dark'`).
34
+
7.**No action needed:** JSON-RPC stub methods removed (no real callers); the payment purse selector and the `coins` top-up source are additive.
34
35
35
36
---
36
37
@@ -93,12 +94,11 @@ Existing call sites that omit the selector keep working unchanged. Container han
93
94
94
95
---
95
96
96
-
## Coin top-ups (0.8.3)
97
+
## Coin top-ups
97
98
98
-
`topUp` gained a third source — `coins` (RFC 0021) — that credits a balance directly from raw sr25519 coin secret keys, with no on-chain round trip. This is **additive**: the existing `productAccount` and `privateKey` sources are unchanged.
99
+
`topUp` gained a third source — `coins` (RFC 0021) — that credits a balance directly from raw sr25519 coin secret keys, with no on-chain round trip. It sits alongside the existing `productAccount` and `privateKey` sources.
Container handlers receive the source as `{ tag: 'Coins', value: keys }`. Existing handlers that only match `ProductAccount` / `PrivateKey` are unaffected unless they need to accept coin top-ups.
118
118
119
+
> **Key format.** Both the per-coin `coins` keys and the `privateKey` source are **64-byte sr25519 secret keys**. The `host-api-wrapper``TopUpSource` shape takes `Uint8Array` / `Uint8Array[]`, but each value must be a 64-byte sr25519 secret key.
0 commit comments