/* @ts-self-types="./wai_web.d.ts" */ /** * A signing actor in the browser. The page supplies 32 random bytes * (crypto.getRandomValues); the key never leaves the tab — only * signed ops do. An op is the unit of play: what travels between * tabs (by any transport — transport is out of the extension's * scope) is exactly what a native sink would ingest. */ export class Actor { __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; ActorFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_actor_free(ptr, 0); } /** * @param {Uint8Array} seed */ constructor(seed) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passArray8ToWasm0(seed, wasm.__wbindgen_export); const len0 = WASM_VECTOR_LEN; wasm.actor_new(retptr, ptr0, len0); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); if (r2) { throw takeObject(r1); } this.__wbg_ptr = r0; ActorFinalization.register(this, this.__wbg_ptr, this); return this; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } /** * Lamport discipline: an actor's counter MUST exceed every * lamport it has observed. The page calls this with the lamports * of ops it receives. * @param {bigint} lamport */ observe_lamport(lamport) { wasm.actor_observe_lamport(this.__wbg_ptr, lamport); } /** * @returns {string} */ pubkey_hex() { let deferred1_0; let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.actor_pubkey_hex(retptr, this.__wbg_ptr); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); deferred1_0 = r0; deferred1_1 = r1; return getStringFromWasm0(r0, r1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1); } } /** * Sign a truss IMPULSE op (the SUM-resolved shove) targeting * `node_id` (16 bytes) at `effect_tick`. `dx/dy/dz` are authoring * floats converted to Q32.32 *here, once* — the canonical artifact * is the returned op bytes, so every sink derives identical state * from them regardless of who authored or how. * @param {bigint} effect_tick * @param {Uint8Array} node_id * @param {number} dx * @param {number} dy * @param {number} dz * @returns {Uint8Array} */ sign_truss_impulse(effect_tick, node_id, dx, dy, dz) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passArray8ToWasm0(node_id, wasm.__wbindgen_export); const len0 = WASM_VECTOR_LEN; wasm.actor_sign_truss_impulse(retptr, this.__wbg_ptr, effect_tick, ptr0, len0, dx, dy, dz); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true); if (r3) { throw takeObject(r2); } var v2 = getArrayU8FromWasm0(r0, r1).slice(); wasm.__wbindgen_export4(r0, r1 * 1, 1); return v2; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } } if (Symbol.dispose) Actor.prototype[Symbol.dispose] = Actor.prototype.free; export class AssetProvenance { __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; AssetProvenanceFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_assetprovenance_free(ptr, 0); } /** * @returns {string} */ asset_hash_hex() { let deferred1_0; let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.assetprovenance_asset_hash_hex(retptr, this.__wbg_ptr); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); deferred1_0 = r0; deferred1_1 = r1; return getStringFromWasm0(r0, r1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1); } } /** * @returns {string} */ capability() { let deferred1_0; let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.assetprovenance_capability(retptr, this.__wbg_ptr); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); deferred1_0 = r0; deferred1_1 = r1; return getStringFromWasm0(r0, r1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1); } } /** * The hash this sink actually computed over the carried bytes (shown * next to `asset_hash` so a mismatch is visible). * @returns {string} */ computed_hash_hex() { let deferred1_0; let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.assetprovenance_computed_hash_hex(retptr, this.__wbg_ptr); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); deferred1_0 = r0; deferred1_1 = r1; return getStringFromWasm0(r0, r1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1); } } /** * The carried bytes' content hash equals the receipt's `asset_hash` * — the asset is exactly what the receipt vouches for. A 1-bit change * to the envelope flips this to false. * @returns {boolean} */ content_ok() { const ret = wasm.assetprovenance_content_ok(this.__wbg_ptr); return ret !== 0; } /** * @returns {string} */ media() { let deferred1_0; let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.assetprovenance_media(retptr, this.__wbg_ptr); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); deferred1_0 = r0; deferred1_1 = r1; return getStringFromWasm0(r0, r1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1); } } /** * Open an asset envelope + its provenance receipt JSON. Constructing * with deliberately-mutated `envelope` bytes is how the page shows * tamper-evidence: `content_ok` then returns false. * @param {Uint8Array} envelope * @param {string} receipt_json */ constructor(envelope, receipt_json) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passArray8ToWasm0(envelope, wasm.__wbindgen_export); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(receipt_json, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len1 = WASM_VECTOR_LEN; wasm.assetprovenance_new(retptr, ptr0, len0, ptr1, len1); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); if (r2) { throw takeObject(r1); } this.__wbg_ptr = r0; AssetProvenanceFinalization.register(this, this.__wbg_ptr, this); return this; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } /** * The carried payload bytes — the codec-specific bytes a native * element (``, `