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
7 changes: 3 additions & 4 deletions product-sdk/examples/chain-client-demo/e2e/fixtures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@ const PRODUCT_URL = "http://localhost:5260";
/**
* Paseo Asset Hub config with a configurable RPC endpoint.
*
* Override via `PASEO_AH_RPC` in CI/local if the default RPC has outages — but
* the override must serve **paseo v2** (genesis `0xbf0488db…`). Any mirror still
* pointing at v1 paseo will hash-mismatch the spread `PASEO_ASSET_HUB.genesisHash`
* and break the chain-handshake (manifesting as `Tracking stopped` / `BadProof`).
* Override via `PASEO_AH_RPC` if the default RPC has outages. The override must
* serve the same chain as `PASEO_ASSET_HUB.genesisHash`; a mirror on any other
* genesis fails the chain handshake (seen as `Tracking stopped` / `BadProof`).
*/
const PASEO_AH: ChainConfig = {
...PASEO_ASSET_HUB,
Expand Down
8 changes: 4 additions & 4 deletions product-sdk/examples/contracts-demo/e2e/fixtures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ const PRODUCT_URL = "http://localhost:5201";

/**
* Paseo Asset Hub config with a configurable RPC endpoint.
* Override via `PASEO_AH_RPC` if the default RPC has outages — but the override
* must serve **paseo v2** (genesis `0xbf0488db…`). Any mirror still pointing at
* v1 paseo will hash-mismatch the spread `PASEO_ASSET_HUB.genesisHash` and
* break the chain-handshake.
*
* Override via `PASEO_AH_RPC` if the default RPC has outages. The override must
* serve the same chain as `PASEO_ASSET_HUB.genesisHash`; a mirror on any other
* genesis fails the chain handshake (seen as `Tracking stopped` / `BadProof`).
*/
const PASEO_AH: ChainConfig = {
...PASEO_ASSET_HUB,
Expand Down
7 changes: 3 additions & 4 deletions product-sdk/examples/host-demo/e2e/fixtures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@ const PRODUCT_URL = "http://localhost:5240";
/**
* Paseo Asset Hub config with a configurable RPC endpoint.
*
* Override via `PASEO_AH_RPC` in CI/local if the default RPC has outages — but
* the override must serve **paseo v2** (genesis `0xbf0488db…`). Any mirror still
* pointing at v1 paseo will hash-mismatch the spread `PASEO_ASSET_HUB.genesisHash`
* and break the chain-handshake (manifesting as `Tracking stopped` / `BadProof`).
* Override via `PASEO_AH_RPC` if the default RPC has outages. The override must
* serve the same chain as `PASEO_ASSET_HUB.genesisHash`; a mirror on any other
* genesis fails the chain handshake (seen as `Tracking stopped` / `BadProof`).
*/
const PASEO_AH: ChainConfig = {
...PASEO_ASSET_HUB,
Expand Down
7 changes: 3 additions & 4 deletions product-sdk/examples/keys-demo/e2e/fixtures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@ const PRODUCT_URL = "http://localhost:5270";
/**
* Paseo Asset Hub config with a configurable RPC endpoint.
*
* Override via `PASEO_AH_RPC` in CI/local if the default RPC has outages — but
* the override must serve **paseo v2** (genesis `0xbf0488db…`). Any mirror still
* pointing at v1 paseo will hash-mismatch the spread `PASEO_ASSET_HUB.genesisHash`
* and break the chain-handshake (manifesting as `Tracking stopped` / `BadProof`).
* Override via `PASEO_AH_RPC` if the default RPC has outages. The override must
* serve the same chain as `PASEO_ASSET_HUB.genesisHash`; a mirror on any other
* genesis fails the chain handshake (seen as `Tracking stopped` / `BadProof`).
*/
const PASEO_AH: ChainConfig = {
...PASEO_ASSET_HUB,
Expand Down
9 changes: 5 additions & 4 deletions product-sdk/examples/signer-demo/e2e/fixtures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,11 @@ export const SS58_PREFIX = 0;
const PRODUCT_URL = "http://localhost:5210";

/**
* Override via `PASEO_AH_RPC` in CI/local if the default RPC has outages — but
* the override must serve **paseo v2** (genesis `0xbf0488db…`). Any mirror still
* pointing at v1 paseo will hash-mismatch the spread `PASEO_ASSET_HUB.genesisHash`
* and break the chain-handshake (manifesting as `Tracking stopped` / `BadProof`).
* Paseo Asset Hub config with a configurable RPC endpoint.
*
* Override via `PASEO_AH_RPC` if the default RPC has outages. The override must
* serve the same chain as `PASEO_ASSET_HUB.genesisHash`; a mirror on any other
* genesis fails the chain handshake (seen as `Tracking stopped` / `BadProof`).
*/
const PASEO_AH: ChainConfig = {
...PASEO_ASSET_HUB,
Expand Down
7 changes: 3 additions & 4 deletions product-sdk/examples/statement-store-demo/e2e/fixtures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@ const PRODUCT_URL = "http://localhost:5220";
/**
* Paseo Asset Hub config with a configurable RPC endpoint.
*
* Override via `PASEO_AH_RPC` in CI/local if the default RPC has outages — but
* the override must serve **paseo v2** (genesis `0xbf0488db…`). Any mirror still
* pointing at v1 paseo will hash-mismatch the spread `PASEO_ASSET_HUB.genesisHash`
* and break the chain-handshake (manifesting as `Tracking stopped` / `BadProof`).
* Override via `PASEO_AH_RPC` if the default RPC has outages. The override must
* serve the same chain as `PASEO_ASSET_HUB.genesisHash`; a mirror on any other
* genesis fails the chain handshake (seen as `Tracking stopped` / `BadProof`).
*/
const PASEO_AH: ChainConfig = {
...PASEO_ASSET_HUB,
Expand Down
7 changes: 3 additions & 4 deletions product-sdk/examples/storage-demo/e2e/fixtures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@ const PRODUCT_URL = "http://localhost:5250";
/**
* Paseo Asset Hub config with a configurable RPC endpoint.
*
* Override via `PASEO_AH_RPC` in CI/local if the default RPC has outages — but
* the override must serve **paseo v2** (genesis `0xbf0488db…`). Any mirror still
* pointing at v1 paseo will hash-mismatch the spread `PASEO_ASSET_HUB.genesisHash`
* and break the chain-handshake (manifesting as `Tracking stopped` / `BadProof`).
* Override via `PASEO_AH_RPC` if the default RPC has outages. The override must
* serve the same chain as `PASEO_ASSET_HUB.genesisHash`; a mirror on any other
* genesis fails the chain handshake (seen as `Tracking stopped` / `BadProof`).
*/
const PASEO_AH: ChainConfig = {
...PASEO_ASSET_HUB,
Expand Down
7 changes: 3 additions & 4 deletions product-sdk/examples/tx-demo/e2e/fixtures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@ const PRODUCT_URL = "http://localhost:5200";
/**
* Paseo Asset Hub config with a configurable RPC endpoint.
*
* Override via `PASEO_AH_RPC` in CI/local if the default RPC has outages — but
* the override must serve **paseo v2** (genesis `0xbf0488db…`). Any mirror still
* pointing at v1 paseo will hash-mismatch the spread `PASEO_ASSET_HUB.genesisHash`
* and break the chain-handshake (manifesting as `Tracking stopped` / `BadProof`).
* Override via `PASEO_AH_RPC` if the default RPC has outages. The override must
* serve the same chain as `PASEO_ASSET_HUB.genesisHash`; a mirror on any other
* genesis fails the chain handshake (seen as `Tracking stopped` / `BadProof`).
*/
const PASEO_AH: ChainConfig = {
...PASEO_ASSET_HUB,
Expand Down
4 changes: 2 additions & 2 deletions product-sdk/packages/chain-client/src/presets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -180,9 +180,9 @@ if (import.meta.vitest) {
const GENESIS = {
polkadot_asset_hub: "0x68d56f15f85d3136970ec16946040bc1752654e906147f7e43e9d539d7c3de2f",
kusama_asset_hub: "0x48239ef607d7928874027a43a67689209727dfb3d3dc5e5b03a39bdc2eda771a",
paseo_asset_hub: "0xbf0488dbe9daa1de1c08c5f743e26fdc2a4ecd74cf87dd1b4b1eeb99ae4ef19f",
paseo_asset_hub: "0x23e730eb1c6fecae09c917439a5038cb6122d0d48980e8b9bbf0ff56f94a2ca6",
paseo_bulletin: "0x8cfe6717dc4becfda2e13c488a1e2061ff2dfee96e7d031157f72d36716c0a22",
paseo_individuality: "0xc5af1826b31493f08b7e2a823842f98575b806a784126f28da9608c68665afa5",
paseo_individuality: "0x89a63b11fef2c0273fc72c0d864da0793a665dade5db153e0cab995348c5440f",
devnet_asset_hub: "0xd6eec26135305a8ad257a20d003357284c8aa03d0bdb2b357ab0a22371e11ef2",
devnet_bulletin: "0xe101f0fa4627d29a257645e02be86d80378fea1a2bf8fa6a918d150ebc760a59",
devnet_individuality: "0xe6c30d6e148f250b887105237bcaa5cb9f16dd203bf7b5b9d4f1da7387cb86ec",
Expand Down
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"paseo_asset_hub": {
"wsUrl": "wss://paseo-asset-hub-next-rpc.polkadot.io",
"metadata": "../../.papi/metadata/paseo_asset_hub.scale",
"genesis": "0xbf0488dbe9daa1de1c08c5f743e26fdc2a4ecd74cf87dd1b4b1eeb99ae4ef19f",
"codeHash": "0xd89ebe4efd0300ac8a75980e1007bf7df579d9778f4b3aec87a25b519030cd74"
"genesis": "0x23e730eb1c6fecae09c917439a5038cb6122d0d48980e8b9bbf0ff56f94a2ca6",
"codeHash": "0xbe7baeef2ed57543b860933d78ee5a1dc3b46a74aa42250bd3f24bfdd1ce06b8"
}
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "0.1.0-autogenerated.481490637468446631",
"version": "0.1.0-autogenerated.16534415113257585179",
"name": "@polkadot-api/descriptors",
"files": [
"dist"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"paseo_individuality": {
"wsUrl": "wss://paseo-people-next-system-rpc.polkadot.io",
"metadata": "../../.papi/metadata/paseo_individuality.scale",
"genesis": "0xc5af1826b31493f08b7e2a823842f98575b806a784126f28da9608c68665afa5",
"codeHash": "0x8f44f5f86d5d52ee943125f13a918207bae81dfbc00da0501b775d8118fda461"
"genesis": "0x89a63b11fef2c0273fc72c0d864da0793a665dade5db153e0cab995348c5440f",
"codeHash": "0x3973b0f94d593b0018753766422f4898987115b5261ba368ccda84619a8bf582"
}
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "0.1.0-autogenerated.5596200320699624403",
"version": "0.1.0-autogenerated.18429223142224932464",
"name": "@polkadot-api/descriptors",
"files": [
"dist"
Expand Down
48 changes: 48 additions & 0 deletions product-sdk/pending-changesets/descriptors-paseo-genesis-reset.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
"@parity/product-sdk-descriptors": minor
"@parity/product-sdk": minor
---

**Re-pin `paseo-individuality` and `paseo-asset-hub` after a genesis reset (#242).**

Both chains were re-genesised, not upgraded, so the bundled descriptors addressed chains that
no longer exist. Access is gated on
`featureSupported({ tag: "Chain", value: { genesisHash } })`, so a stale genesis fails at
connection with `ChainNotSupportedError` before any storage read. A stale `codeHash` only
means decoding against an old metadata snapshot; a stale genesis means addressing a chain
that is not there.

| Chain | Old genesis | New genesis |
|---|---|---|
| `paseo-individuality` | `0xc5af1826…65afa5` | `0x89a63b11…48c5440f` |
| `paseo-asset-hub` | `0xbf0488db…ae4ef19f` | `0x23e730eb…f94a2ca6` |

**Breaking for `paseo-individuality`: the regeneration removes typed API surface.** A green
`pnpm typecheck` here does not clear consumers, so check this before upgrading.

| Pallet | Removed | Replacement |
|---|---|---|
| `Resources` | storage `FriendRequestRegistrationByAlias`, `FriendRequestAliasByAccount` | `NotificationRegistrationByAlias`, `NotificationAliasByAccount` |
| `Resources` | 6 `FriendRequest*` constants | 4 `Notification*` constants |
| `Game` | storage `Nfts`, `NftCandidates` | none |
| `Coinage` | storage `RecyclersUnloaded` | `RecyclerAliasStates`, `RecyclersArchives` |

`FriendRequestAllowance`, `FriendRequestSlotsPerPeriod`, `LiteFriendRequestSlotsPerPeriod` and
`FriendRequestPeriodDuration` map onto `Notification*` equivalents.
`FriendRequestGraceWindow` and `FriendRequestRetentionDuration` have no counterpart.

Added to `paseo-individuality`: pallets `RelayRandomness` and `NftCredits`, `Game` storage
`LiteInvites`, `Game` constant `max_received_votes`.

`paseo-asset-hub` is additive only: pallets `Scarcity` and `NftClaims`, plus `DotnsGateway`
constants `MaxValiditySeconds` and `MaxFutureSkewSeconds`. Safe to upgrade.

Minor rather than patch because surface is removed, which on 0.x signals a breaking change.
This is a firmer reason than the additive-only argument used for the 0.9.0 `paseo-bulletin`
bump. A re-pin that neither adds nor removes pallets stays a patch, as in 0.8.0.

If you pinned either hash yourself, read it from the descriptor (`loadDescriptors()`) instead.
Paseo Next is re-genesised periodically, so any copy goes stale on its own schedule.

The five other chains reported in #242 have unchanged genesis and need a separate routine
regeneration. #242 stays open until those land.
28 changes: 14 additions & 14 deletions product-sdk/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion product-sdk/pnpm-workspace.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ packages:
- "scripts/bench-consumer"

catalog:
"@parity/host-api-test-sdk": ^0.12.0
"@parity/host-api-test-sdk": ^0.12.1
"@parity/truapi": ^0.7.0
"@playwright/test": ^1.60.0
"@polkadot-api/json-rpc-provider": ^0.2.0
Expand Down Expand Up @@ -32,3 +32,6 @@ onlyBuiltDependencies:
allowBuilds:
"@biomejs/biome": true
esbuild: true

minimumReleaseAgeExclude:
- '@parity/host-api-test-sdk@0.12.1'
Loading