@meddleware/seal-ui 0.0.32 → 0.0.33
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.
- package/CHANGELOG.md +6 -0
- package/package.json +6 -6
- package/src/components/SealView.vue +1 -1
- package/src/manifest-guard.ts +5 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
All notable changes to `@meddleware/seal-ui` are documented here.
|
|
4
4
|
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versioning follows [Semantic Versioning](https://semver.org/).
|
|
5
5
|
|
|
6
|
+
## [0.0.33] - 2026-10-09
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
|
|
10
|
+
- Manifest check validates the policy type and params against the network's registry (seal-client 0.0.19 `parseSealedManifest(text, registry)`); depends on access-gate-client ^0.0.8, seal-client ^0.0.19, ui ^0.1.31, design-tokens ^0.1.9, eslint-config ^0.0.2
|
|
11
|
+
|
|
6
12
|
## [0.0.32] - 2026-10-08
|
|
7
13
|
|
|
8
14
|
### Changed
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meddleware/seal-ui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.33",
|
|
4
4
|
"homepage": "https://docs.meddleware.co.uk/blockchain/sui/sealed-storage/",
|
|
5
5
|
"description": "Standalone Vue 3 SPA for Sealed Storage — client-side Seal encryption + access-gated, decentralised Walrus storage on Sui.",
|
|
6
6
|
"author": "MeddleWare <dev@meddleware.co.uk>",
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
"access": "public"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@meddleware/access-gate-client": "^0.0.
|
|
48
|
-
"@meddleware/design-tokens": "^0.1.
|
|
49
|
-
"@meddleware/seal-client": "^0.0.
|
|
50
|
-
"@meddleware/ui": "^0.1.
|
|
47
|
+
"@meddleware/access-gate-client": "^0.0.8",
|
|
48
|
+
"@meddleware/design-tokens": "^0.1.9",
|
|
49
|
+
"@meddleware/seal-client": "^0.0.19",
|
|
50
|
+
"@meddleware/ui": "^0.1.31",
|
|
51
51
|
"@meddleware/walrus-client": "^0.0.26",
|
|
52
52
|
"@mysten/sui": "^2.33.2",
|
|
53
53
|
"@mysten/wallet-standard": "^0.21.0",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"@meddleware/wallet-adapter": ">=0.0.12 <0.2.0"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@meddleware/eslint-config": "^0.0.
|
|
60
|
+
"@meddleware/eslint-config": "^0.0.2",
|
|
61
61
|
"@meddleware/wallet-adapter": "^0.0.13",
|
|
62
62
|
"@types/node": "~24.12.2",
|
|
63
63
|
"@vitejs/plugin-vue": "^6.0.9",
|
|
@@ -242,7 +242,7 @@ const decValues = ref<Record<string, string | boolean>>({})
|
|
|
242
242
|
// AND enforce that it targets the network this app is built for — a manifest sealed on another
|
|
243
243
|
// network references a package + committee that don't exist here and can never decrypt. The
|
|
244
244
|
// `decManifestError` is surfaced next to the input so a rejection explains itself.
|
|
245
|
-
const decCheck = computed(() => checkManifestForNetwork(decManifestText.value, network.value))
|
|
245
|
+
const decCheck = computed(() => checkManifestForNetwork(decManifestText.value, network.value, registry.value))
|
|
246
246
|
const decManifest = computed<SealedManifest | null>(() => decCheck.value.manifest)
|
|
247
247
|
const decManifestError = computed<string | null>(() => decCheck.value.error)
|
|
248
248
|
const decProvider = computed(() =>
|
package/src/manifest-guard.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { parseSealedManifest, type SealedManifest } from '@meddleware/seal-client'
|
|
1
|
+
import { parseSealedManifest, type PolicyRegistry, type SealedManifest } from '@meddleware/seal-client'
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Result of validating a pasted/loaded manifest: either the parsed manifest, or a human-readable
|
|
@@ -12,8 +12,10 @@ export type ManifestCheck =
|
|
|
12
12
|
* Validate a manifest string for use on `network`. Rejects a malformed shape (via the shared
|
|
13
13
|
* `parseSealedManifest` schema guard) and a manifest sealed for a different network — the latter
|
|
14
14
|
* references a policy package + key-server committee that don't exist here and can never decrypt.
|
|
15
|
+
* With the network's policy `registry`, the policy type must be registered and its params must parse,
|
|
16
|
+
* so a bad manifest fails here instead of at transaction build time.
|
|
15
17
|
*/
|
|
16
|
-
export function checkManifestForNetwork(text: string, network: string): ManifestCheck {
|
|
18
|
+
export function checkManifestForNetwork(text: string, network: string, registry?: PolicyRegistry): ManifestCheck {
|
|
17
19
|
if (!text.trim()) return { manifest: null, error: null }
|
|
18
20
|
try {
|
|
19
21
|
const manifest = parseSealedManifest(text)
|
|
@@ -23,7 +25,7 @@ export function checkManifestForNetwork(text: string, network: string): Manifest
|
|
|
23
25
|
error: `This manifest is for '${manifest.network}', but this app is on '${network}'. It cannot be decrypted here.`,
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
|
-
return { manifest, error: null }
|
|
28
|
+
return { manifest: registry ? parseSealedManifest(manifest, registry) : manifest, error: null }
|
|
27
29
|
} catch (e) {
|
|
28
30
|
return { manifest: null, error: e instanceof Error ? e.message : 'Invalid manifest.' }
|
|
29
31
|
}
|