@qorechain/chain-bridge 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +13 -7
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -102,7 +102,7 @@ So the same mnemonic yields the **same** PQC key in every tool — recover it wi
102
102
  > and falls back to it automatically when a canonical signature is rejected.
103
103
  > Recover a legacy key with `recover-key … --derivation bridge`.
104
104
 
105
- ## Hybrid sign-bytes form (v1 / v2, chain v3.1.98)
105
+ ## Hybrid sign-bytes form (v1 / v2, chain v3.2.0 / testnet v3.1.98)
106
106
 
107
107
  The ML-DSA-87 signature covers one of two byte forms, and a network accepts
108
108
  exactly one at any height:
@@ -113,14 +113,20 @@ v2: "qorechain-pqc-hybrid-v2" ‖ BE64(len chainId) ‖ chainId ‖ BE3
113
113
  ```
114
114
 
115
115
  `qorechain-vladi` (mainnet) and `qorechain-diana` (testnet) verify v1 until the
116
- `v3.1.98` upgrade is applied on them and v2 afterwards; they upgrade at different
117
- heights (testnet is on v2; **mainnet stays on v1 until its own upgrade**). Any
118
- other chain verifies v2 from its first block.
116
+ upgrade that carries the switch is applied on them and v2 afterwards; they upgrade
117
+ at different heights (testnet is on v2; **mainnet stays on v1 until its own
118
+ upgrade**). Any other chain verifies v2 from its first block.
119
+
120
+ **Two plan names carry the same switch:** the release is `v3.2.0`, which is the
121
+ name mainnet applies, while the testnet already applied it as `v3.1.98` and keeps
122
+ that record. Either one applied means the network verifies v2, so the resolver
123
+ asks for both.
119
124
 
120
125
  - `signBytesVersion: 'auto'` (default) asks `cosmosRest`
121
- (`/cosmos/upgrade/v1beta1/applied_plan/v3.1.98`, v2 iff height > 0) and caches
122
- the answer for 60 s. On those two networks **`cosmosRest` is required** without
123
- it, or if the query fails, hybrid calls throw instead of guessing.
126
+ (`/cosmos/upgrade/v1beta1/applied_plan/v3.2.0`, then `/applied_plan/v3.1.98`;
127
+ v2 iff the numeric height of either is > 0, stopping at the first positive one)
128
+ and caches the answer for 60 s. On those two networks **`cosmosRest` is
129
+ required** — without it, or if a query fails, hybrid calls throw instead of guessing.
124
130
  - `signBytesVersion: 'v1' | 'v2'` pins the form (no query, no retry).
125
131
  - With `'auto'`, a refusal with `pqc` code 21 ("hybrid PQC signature verification
126
132
  failed") re-resolves once and, if the network's answer changed, re-signs and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qorechain/chain-bridge",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Server-side, autonomous bridge between Web2 backends (dashboards, exchanges) and the QoreChain on-chain modules. Grants licenses on-chain (PQC-signed), deploys contracts on the 3 VMs, registers light nodes, and moves QOR — all from a backend, no CLI.",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -24,7 +24,7 @@
24
24
  "@cosmjs/proto-signing": "^0.32.0",
25
25
  "@cosmjs/stargate": "^0.32.0",
26
26
  "@qorechain/pqc": "^0.1.1",
27
- "@qorechain/wallet-adapter": "^0.2.0",
27
+ "@qorechain/wallet-adapter": "^0.2.1",
28
28
  "cosmjs-types": "^0.9.0",
29
29
  "ethers": "^6.13.0"
30
30
  },