@dignetwork/dig-sdk 0.1.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.
- package/README.md +159 -11
- package/dist/adapters.cjs +56 -15
- package/dist/adapters.cjs.map +1 -1
- package/dist/adapters.d.cts +2 -2
- package/dist/adapters.d.ts +2 -2
- package/dist/adapters.js +56 -15
- package/dist/adapters.js.map +1 -1
- package/dist/{dev-shim-Bgw8X2E9.d.cts → dev-shim-DfKRA1ok.d.cts} +13 -3
- package/dist/{dev-shim-Bgw8X2E9.d.ts → dev-shim-DfKRA1ok.d.ts} +13 -3
- package/dist/{dig-client-entry-BIzuZ7Rs.d.cts → dig-client-entry-Bc95rd_t.d.cts} +120 -7
- package/dist/{dig-client-entry-BIzuZ7Rs.d.ts → dig-client-entry-Bc95rd_t.d.ts} +120 -7
- package/dist/dig-client.cjs +163 -43
- package/dist/dig-client.cjs.map +1 -1
- package/dist/dig-client.d.cts +1 -1
- package/dist/dig-client.d.ts +1 -1
- package/dist/dig-client.js +163 -43
- package/dist/dig-client.js.map +1 -1
- package/dist/index.cjs +495 -56
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +313 -3
- package/dist/index.d.ts +313 -3
- package/dist/index.js +489 -57
- package/dist/index.js.map +1 -1
- package/dist/next.cjs +58 -15
- package/dist/next.cjs.map +1 -1
- package/dist/next.d.cts +1 -1
- package/dist/next.d.ts +1 -1
- package/dist/next.js +58 -15
- package/dist/next.js.map +1 -1
- package/dist/vite.cjs +58 -15
- package/dist/vite.cjs.map +1 -1
- package/dist/vite.d.cts +1 -1
- package/dist/vite.d.ts +1 -1
- package/dist/vite.js +58 -15
- package/dist/vite.js.map +1 -1
- package/package.json +5 -6
- package/vendor/PROVENANCE.md +0 -102
- package/vendor/dig_client.d.ts +0 -150
- package/vendor/dig_client.mjs +0 -805
- package/vendor/dig_client_bg.wasm +0 -0
package/vendor/dig_client.d.ts
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
/* tslint:disable */
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Decrypt a SINGLE GCM-SIV chunk under an explicit 32-byte `key` (hex). Returns
|
|
6
|
-
* the plaintext bytes. A failed tag check (tamper / wrong key) is an error.
|
|
7
|
-
* Low-level escape hatch; most callers want `decryptResource`.
|
|
8
|
-
*/
|
|
9
|
-
export function decryptChunk(key_hex: string, ciphertext: Uint8Array): Uint8Array;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Full read pipeline for a resource's served ciphertext (Digstore §9.3 + §11),
|
|
13
|
-
* returning the decrypted plaintext bytes. Steps, in order (gate-then-decrypt):
|
|
14
|
-
*
|
|
15
|
-
* 1. **Integrity gate** — verify the served bytes' merkle inclusion against the
|
|
16
|
-
* chain-anchored `trusted_root_hex` (proof base64 from `X-Dig-Inclusion-Proof`).
|
|
17
|
-
* 2. **Confidentiality** — derive the URN key, split the PLAIN-concatenated
|
|
18
|
-
* chunk ciphertexts by `chunk_lens` (the per-chunk CIPHERTEXT byte lengths in
|
|
19
|
-
* order; D5/C9 — NO length framing on the wire), and AES-256-GCM-SIV-open
|
|
20
|
-
* each, concatenating plaintext in order.
|
|
21
|
-
*
|
|
22
|
-
* `chunk_lens` may be empty for the common single-chunk resource (the whole blob
|
|
23
|
-
* is one GCM-SIV ciphertext). They MUST sum to `ciphertext.len()`.
|
|
24
|
-
*/
|
|
25
|
-
export function decryptResource(store_id_hex: string, resource_key: string, ciphertext: Uint8Array, proof_b64: string, trusted_root_hex: string, salt_hex?: string | null, chunk_lens?: Uint32Array | null): Uint8Array;
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Convenience wrapper around [`decrypt_resource`] returning the plaintext as a
|
|
29
|
-
* UTF-8 string (for HTML/text resources rendered into the sandbox iframe).
|
|
30
|
-
*/
|
|
31
|
-
export function decryptResourceToText(store_id_hex: string, resource_key: string, ciphertext: Uint8Array, proof_b64: string, trusted_root_hex: string, salt_hex?: string | null, chunk_lens?: Uint32Array | null): string;
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Derive the 32-byte AES-256 content key for a resource (Digstore §11.1/§11.4),
|
|
35
|
-
* returned as lowercase hex. `salt_hex` is the 32-byte private-store secret salt
|
|
36
|
-
* (omit / pass `null` for public stores). Mixing in a wrong/missing salt yields
|
|
37
|
-
* a wrong key whose GCM-SIV tag will not verify.
|
|
38
|
-
*/
|
|
39
|
-
export function deriveKey(store_id_hex: string, resource_key: string, salt_hex?: string | null): string;
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Seal a resource's plaintext as ONE AES-256-GCM-SIV blob under its per-URN key — the inverse of
|
|
43
|
-
* the read path's chunk decrypt. The browser uses this to PRE-ENCRYPT a file before upload so the
|
|
44
|
-
* server compiles the `.dig` from ciphertext alone (it never sees plaintext or any key). The
|
|
45
|
-
* output is the resource's whole-file ciphertext; `digstore compile --pre-encrypted` stores it
|
|
46
|
-
* verbatim as the single chunk, and `decryptResource`/`decryptChunk` under the same URN reverses
|
|
47
|
-
* it. `salt_hex` is the store's secret salt for a private store (omit for a public store).
|
|
48
|
-
*/
|
|
49
|
-
export function encryptResource(store_id_hex: string, resource_key: string, plaintext: Uint8Array, salt_hex?: string | null): Uint8Array;
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* On module load, install a `globalThis.digClient` object exposing the read
|
|
53
|
-
* API, so non-bundler consumers (the standalone usercontent loader) can call
|
|
54
|
-
* `globalThis.digClient.verifyInclusion(...)` / `.decryptResourceToText(...)`
|
|
55
|
-
* after the wasm initializes. ES-module consumers can instead import the named
|
|
56
|
-
* functions directly. Idempotent and best-effort (no-op if `globalThis` lacks
|
|
57
|
-
* `Object`, e.g. in a non-browser host).
|
|
58
|
-
*/
|
|
59
|
-
export function install_global(): void;
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Reconstruct the canonical ROOT-INDEPENDENT resource URN string for a store +
|
|
63
|
-
* resource key: `urn:dig:chia:<store_id>[/<resource_key>]`. An empty resource
|
|
64
|
-
* key resolves to the §8.5 default view `index.html`. This is the form whose
|
|
65
|
-
* SHA-256 is the retrieval key and whose bytes seed the AES key.
|
|
66
|
-
*/
|
|
67
|
-
export function reconstructUrn(store_id_hex: string, resource_key: string): string;
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Reconstruct a ROOT-PINNED display URN: `urn:dig:chia:<store_id>:<root>/<key>`.
|
|
71
|
-
* Useful for sharing a URN bound to a specific generation; the retrieval/AES
|
|
72
|
-
* keys still use the rootless form (`reconstructUrn`).
|
|
73
|
-
*/
|
|
74
|
-
export function reconstructUrnWithRoot(store_id_hex: string, root_hex: string, resource_key: string): string;
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* `retrieval_key = SHA-256(canonical_rootless_urn)`, lowercase hex (Digstore
|
|
78
|
-
* §7.3; API §17). The CDN is addressed by this hash; the URN itself is never
|
|
79
|
-
* sent. An empty resource key resolves to `index.html`.
|
|
80
|
-
*/
|
|
81
|
-
export function retrievalKey(store_id_hex: string, resource_key: string): string;
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Verify that `ciphertext` is included under `trusted_root_hex` via the base64
|
|
85
|
-
* merkle `proof_b64` (Digstore §9.3; API §18). Returns `true` on success and
|
|
86
|
-
* `false` on ANY verification failure (tampered bytes, non-chaining path, or a
|
|
87
|
-
* root mismatch / decoy) — a decoy or wrong-store response returns `false`
|
|
88
|
-
* rather than throwing, so a caller can treat it as "not found in this store".
|
|
89
|
-
* Throws only on malformed inputs (bad base64 / hex / proof encoding).
|
|
90
|
-
*/
|
|
91
|
-
export function verifyInclusion(ciphertext: Uint8Array, proof_b64: string, trusted_root_hex: string): boolean;
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Library version (matches the crate version), for SRI / compatibility checks.
|
|
95
|
-
*/
|
|
96
|
-
export function version(): string;
|
|
97
|
-
|
|
98
|
-
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
|
99
|
-
|
|
100
|
-
export interface InitOutput {
|
|
101
|
-
readonly memory: WebAssembly.Memory;
|
|
102
|
-
readonly decryptChunk: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
103
|
-
readonly decryptResource: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number) => [number, number, number, number];
|
|
104
|
-
readonly decryptResourceToText: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number) => [number, number, number, number];
|
|
105
|
-
readonly deriveKey: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
106
|
-
readonly encryptResource: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
|
|
107
|
-
readonly install_global: () => void;
|
|
108
|
-
readonly reconstructUrn: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
109
|
-
readonly reconstructUrnWithRoot: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
110
|
-
readonly retrievalKey: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
111
|
-
readonly verifyInclusion: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
112
|
-
readonly version: () => [number, number];
|
|
113
|
-
readonly wasm_bindgen__convert__closures_____invoke__hc605e6b36f32dd24: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number) => [number, number, number, number];
|
|
114
|
-
readonly wasm_bindgen__convert__closures_____invoke__h58cab831a65fd6c8: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number) => [number, number, number, number];
|
|
115
|
-
readonly wasm_bindgen__convert__closures_____invoke__h68a3f7e1b7047a46: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
|
|
116
|
-
readonly wasm_bindgen__convert__closures_____invoke__h36771739d8dc18ae: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number];
|
|
117
|
-
readonly wasm_bindgen__convert__closures_____invoke__hd4233470ad4ef59f: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
118
|
-
readonly wasm_bindgen__convert__closures_____invoke__h61ffc6ac64470c43: (a: number, b: number) => [number, number];
|
|
119
|
-
readonly __wbindgen_exn_store: (a: number) => void;
|
|
120
|
-
readonly __externref_table_alloc: () => number;
|
|
121
|
-
readonly __wbindgen_externrefs: WebAssembly.Table;
|
|
122
|
-
readonly __wbindgen_destroy_closure: (a: number, b: number) => void;
|
|
123
|
-
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
|
124
|
-
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
125
|
-
readonly __externref_table_dealloc: (a: number) => void;
|
|
126
|
-
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
127
|
-
readonly __wbindgen_start: () => void;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
export type SyncInitInput = BufferSource | WebAssembly.Module;
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Instantiates the given `module`, which can either be bytes or
|
|
134
|
-
* a precompiled `WebAssembly.Module`.
|
|
135
|
-
*
|
|
136
|
-
* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
|
|
137
|
-
*
|
|
138
|
-
* @returns {InitOutput}
|
|
139
|
-
*/
|
|
140
|
-
export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
|
|
144
|
-
* for everything else, calls `WebAssembly.instantiate` directly.
|
|
145
|
-
*
|
|
146
|
-
* @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
|
|
147
|
-
*
|
|
148
|
-
* @returns {Promise<InitOutput>}
|
|
149
|
-
*/
|
|
150
|
-
export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;
|