UNPKG

@worldcoin/idkit-core

Version:

Core IDKit SDK for World ID - Pure TypeScript, no dependencies

1,309 lines (1,305 loc) 106 kB
'use strict'; var idkitServer = require('@worldcoin/idkit-server'); var sha3 = require('@noble/hashes/sha3'); var utils = require('@noble/hashes/utils'); var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null; var __defProp = Object.defineProperty; var __export = (target, all2) => { for (var name in all2) __defProp(target, name, { get: all2[name], enumerable: true }); }; // src/types/result.ts var IDKitErrorCodes = /* @__PURE__ */ ((IDKitErrorCodes2) => { IDKitErrorCodes2["UserRejected"] = "user_rejected"; IDKitErrorCodes2["VerificationRejected"] = "verification_rejected"; IDKitErrorCodes2["CredentialUnavailable"] = "credential_unavailable"; IDKitErrorCodes2["WorldId4NotAvailable"] = "world_id_4_not_available"; IDKitErrorCodes2["WorldId3NotAvailable"] = "world_id_3_not_available"; IDKitErrorCodes2["MalformedRequest"] = "malformed_request"; IDKitErrorCodes2["InvalidNetwork"] = "invalid_network"; IDKitErrorCodes2["InclusionProofPending"] = "inclusion_proof_pending"; IDKitErrorCodes2["InclusionProofFailed"] = "inclusion_proof_failed"; IDKitErrorCodes2["UnexpectedResponse"] = "unexpected_response"; IDKitErrorCodes2["ConnectionFailed"] = "connection_failed"; IDKitErrorCodes2["MaxVerificationsReached"] = "max_verifications_reached"; IDKitErrorCodes2["FailedByHostApp"] = "failed_by_host_app"; IDKitErrorCodes2["InvalidRpSignature"] = "invalid_rp_signature"; IDKitErrorCodes2["NullifierReplayed"] = "nullifier_replayed"; IDKitErrorCodes2["DuplicateNonce"] = "duplicate_nonce"; IDKitErrorCodes2["UnknownRp"] = "unknown_rp"; IDKitErrorCodes2["InactiveRp"] = "inactive_rp"; IDKitErrorCodes2["TimestampTooOld"] = "timestamp_too_old"; IDKitErrorCodes2["TimestampTooFarInFuture"] = "timestamp_too_far_in_future"; IDKitErrorCodes2["InvalidTimestamp"] = "invalid_timestamp"; IDKitErrorCodes2["RpSignatureExpired"] = "rp_signature_expired"; IDKitErrorCodes2["IdentityAttributesNotMatched"] = "identity_attributes_not_matched"; IDKitErrorCodes2["GenericError"] = "generic_error"; IDKitErrorCodes2["InvalidRpIdFormat"] = "invalid_rp_id_format"; IDKitErrorCodes2["Timeout"] = "timeout"; IDKitErrorCodes2["Cancelled"] = "cancelled"; return IDKitErrorCodes2; })(IDKitErrorCodes || {}); // wasm/idkit_wasm.js var idkit_wasm_exports = {}; __export(idkit_wasm_exports, { BridgeEncryption: () => BridgeEncryption, CredentialRequestWasm: () => CredentialRequestWasm, IDKitBuilder: () => IDKitBuilder, IDKitInviteCodeRequest: () => IDKitInviteCodeRequest, IDKitProof: () => IDKitProof, IDKitRequest: () => IDKitRequest, RpContextWasm: () => RpContextWasm, RpSignature: () => RpSignature, base64Decode: () => base64Decode, base64Encode: () => base64Encode, computeRpSignatureMessage: () => computeRpSignatureMessage, createSession: () => createSession, default: () => __wbg_init, hashSignal: () => hashSignal, initSync: () => initSync, init_wasm: () => init_wasm, proofResponseToIDKitResult: () => proofResponseToIDKitResult, proveSession: () => proveSession, request: () => request, signRequest: () => signRequest }); var BridgeEncryption = class { __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; BridgeEncryptionFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_bridgeencryption_free(ptr, 0); } /** * Decrypts a base64-encoded ciphertext using AES-256-GCM * * # Errors * * Returns an error if decryption fails or the output is not valid UTF-8 * @param {string} ciphertext_base64 * @returns {string} */ decrypt(ciphertext_base64) { let deferred3_0; let deferred3_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(ciphertext_base64, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len0 = WASM_VECTOR_LEN; wasm.bridgeencryption_decrypt(retptr, this.__wbg_ptr, 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); var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true); var ptr2 = r0; var len2 = r1; if (r3) { ptr2 = 0; len2 = 0; throw takeObject(r2); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred3_0, deferred3_1, 1); } } /** * Encrypts a plaintext string using AES-256-GCM and returns base64 * * # Errors * * Returns an error if encryption fails * @param {string} plaintext * @returns {string} */ encrypt(plaintext) { let deferred3_0; let deferred3_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(plaintext, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len0 = WASM_VECTOR_LEN; wasm.bridgeencryption_encrypt(retptr, this.__wbg_ptr, 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); var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true); var ptr2 = r0; var len2 = r1; if (r3) { ptr2 = 0; len2 = 0; throw takeObject(r2); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred3_0, deferred3_1, 1); } } /** * Returns the key as a base64-encoded string * @returns {string} */ keyBase64() { let deferred1_0; let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.bridgeencryption_keyBase64(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); } } /** * Creates a new `BridgeEncryption` instance with randomly generated key and nonce * * # Errors * * Returns an error if key generation fails */ constructor() { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.bridgeencryption_new(retptr); 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 >>> 0; BridgeEncryptionFinalization.register(this, this.__wbg_ptr, this); return this; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } /** * Returns the nonce as a base64-encoded string * @returns {string} */ nonceBase64() { let deferred1_0; let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.bridgeencryption_nonceBase64(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); } } }; if (Symbol.dispose) BridgeEncryption.prototype[Symbol.dispose] = BridgeEncryption.prototype.free; var CredentialRequestWasm = class _CredentialRequestWasm { static __wrap(ptr) { ptr = ptr >>> 0; const obj = Object.create(_CredentialRequestWasm.prototype); obj.__wbg_ptr = ptr; CredentialRequestWasmFinalization.register(obj, obj.__wbg_ptr, obj); return obj; } __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; CredentialRequestWasmFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_credentialrequestwasm_free(ptr, 0); } /** * Gets the credential type * @returns {any} */ credentialType() { const ret = wasm.credentialrequestwasm_credentialType(this.__wbg_ptr); return takeObject(ret); } /** * Gets the signal bytes used by protocol proof requests * @returns {Uint8Array | undefined} */ getSignalBytes() { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.credentialrequestwasm_getSignalBytes(retptr, this.__wbg_ptr); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); let v1; if (r0 !== 0) { v1 = getArrayU8FromWasm0(r0, r1).slice(); wasm.__wbindgen_export4(r0, r1 * 1, 1); } return v1; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } /** * Creates a new request item * * # Arguments * * `credential_type` - The type of credential to request (e.g., `proof_of_human`, `face`) * * `signal` - Optional signal string * * # Errors * * Returns an error if the credential type is invalid * @param {any} credential_type * @param {string | null} [signal] */ constructor(credential_type, signal) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); var ptr0 = isLikeNone(signal) ? 0 : passStringToWasm0(signal, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len0 = WASM_VECTOR_LEN; wasm.credentialrequestwasm_new(retptr, addHeapObject(credential_type), 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 >>> 0; CredentialRequestWasmFinalization.register(this, this.__wbg_ptr, this); return this; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } /** * Converts the request item to JSON * * # Errors * * Returns an error if serialization fails * @returns {any} */ toJSON() { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.credentialrequestwasm_toJSON(retptr, this.__wbg_ptr); 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); } return takeObject(r0); } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } /** * Creates a new request item with raw bytes for the signal * * # Errors * * Returns an error if the credential type is invalid * @param {any} credential_type * @param {Uint8Array} signal_bytes * @returns {CredentialRequestWasm} */ static withBytes(credential_type, signal_bytes) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passArray8ToWasm0(signal_bytes, wasm.__wbindgen_export); const len0 = WASM_VECTOR_LEN; wasm.credentialrequestwasm_withBytes(retptr, addHeapObject(credential_type), 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); } return _CredentialRequestWasm.__wrap(r0); } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } /** * Creates a new request item with expiration minimum timestamp * * # Errors * * Returns an error if the credential type is invalid * @param {any} credential_type * @param {string | null | undefined} signal * @param {bigint} expires_at_min * @returns {CredentialRequestWasm} */ static withExpiresAtMin(credential_type, signal, expires_at_min) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); var ptr0 = isLikeNone(signal) ? 0 : passStringToWasm0(signal, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len0 = WASM_VECTOR_LEN; wasm.credentialrequestwasm_withExpiresAtMin(retptr, addHeapObject(credential_type), ptr0, len0, expires_at_min); 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); } return _CredentialRequestWasm.__wrap(r0); } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } /** * Creates a new request item with genesis minimum timestamp * * # Errors * * Returns an error if the credential type is invalid * @param {any} credential_type * @param {string | null | undefined} signal * @param {bigint} genesis_min * @returns {CredentialRequestWasm} */ static withGenesisMin(credential_type, signal, genesis_min) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); var ptr0 = isLikeNone(signal) ? 0 : passStringToWasm0(signal, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len0 = WASM_VECTOR_LEN; wasm.credentialrequestwasm_withGenesisMin(retptr, addHeapObject(credential_type), ptr0, len0, genesis_min); 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); } return _CredentialRequestWasm.__wrap(r0); } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } }; if (Symbol.dispose) CredentialRequestWasm.prototype[Symbol.dispose] = CredentialRequestWasm.prototype.free; var IDKitBuilder = class _IDKitBuilder { static __wrap(ptr) { ptr = ptr >>> 0; const obj = Object.create(_IDKitBuilder.prototype); obj.__wbg_ptr = ptr; IDKitBuilderFinalization.register(obj, obj.__wbg_ptr, obj); return obj; } __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; IDKitBuilderFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_idkitbuilder_free(ptr, 0); } /** * Creates a `BridgeConnection` with the given constraints * @param {any} constraints_json * @returns {Promise<any>} */ constraints(constraints_json) { const ptr = this.__destroy_into_raw(); const ret = wasm.idkitbuilder_constraints(ptr, addHeapObject(constraints_json)); return takeObject(ret); } /** * Creates an invite-code mode `BridgeConnection` with the given constraints (WDP-73). * @param {any} constraints_json * @returns {Promise<any>} */ constraintsWithInviteCode(constraints_json) { const ptr = this.__destroy_into_raw(); const ret = wasm.idkitbuilder_constraintsWithInviteCode(ptr, addHeapObject(constraints_json)); return takeObject(ret); } /** * Creates a new builder for creating a new session * @param {string} app_id * @param {RpContextWasm} rp_context * @param {string | null} [action_description] * @param {string | null} [bridge_url] * @param {string | null} [override_connect_base_url] * @param {string | null} [return_to] * @param {string | null} [environment] * @returns {IDKitBuilder} */ static forCreateSession(app_id, rp_context, action_description, bridge_url, override_connect_base_url, return_to, environment) { const ptr0 = passStringToWasm0(app_id, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len0 = WASM_VECTOR_LEN; _assertClass(rp_context, RpContextWasm); var ptr1 = rp_context.__destroy_into_raw(); var ptr2 = isLikeNone(action_description) ? 0 : passStringToWasm0(action_description, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len2 = WASM_VECTOR_LEN; var ptr3 = isLikeNone(bridge_url) ? 0 : passStringToWasm0(bridge_url, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len3 = WASM_VECTOR_LEN; var ptr4 = isLikeNone(override_connect_base_url) ? 0 : passStringToWasm0(override_connect_base_url, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len4 = WASM_VECTOR_LEN; var ptr5 = isLikeNone(return_to) ? 0 : passStringToWasm0(return_to, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len5 = WASM_VECTOR_LEN; var ptr6 = isLikeNone(environment) ? 0 : passStringToWasm0(environment, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len6 = WASM_VECTOR_LEN; const ret = wasm.idkitbuilder_forCreateSession(ptr0, len0, ptr1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6); return _IDKitBuilder.__wrap(ret); } /** * Creates a new builder for proving an existing session * @param {string} session_id * @param {string} app_id * @param {RpContextWasm} rp_context * @param {string | null} [action_description] * @param {string | null} [bridge_url] * @param {string | null} [override_connect_base_url] * @param {string | null} [return_to] * @param {string | null} [environment] * @returns {IDKitBuilder} */ static forProveSession(session_id, app_id, rp_context, action_description, bridge_url, override_connect_base_url, return_to, environment) { const ptr0 = passStringToWasm0(session_id, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(app_id, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len1 = WASM_VECTOR_LEN; _assertClass(rp_context, RpContextWasm); var ptr2 = rp_context.__destroy_into_raw(); var ptr3 = isLikeNone(action_description) ? 0 : passStringToWasm0(action_description, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len3 = WASM_VECTOR_LEN; var ptr4 = isLikeNone(bridge_url) ? 0 : passStringToWasm0(bridge_url, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len4 = WASM_VECTOR_LEN; var ptr5 = isLikeNone(override_connect_base_url) ? 0 : passStringToWasm0(override_connect_base_url, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len5 = WASM_VECTOR_LEN; var ptr6 = isLikeNone(return_to) ? 0 : passStringToWasm0(return_to, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len6 = WASM_VECTOR_LEN; var ptr7 = isLikeNone(environment) ? 0 : passStringToWasm0(environment, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len7 = WASM_VECTOR_LEN; const ret = wasm.idkitbuilder_forProveSession(ptr0, len0, ptr1, len1, ptr2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7); return _IDKitBuilder.__wrap(ret); } /** * Builds the native payload for constraints (synchronous, no bridge connection). * * Used by the native transport to get the same payload format as the bridge * without creating a network connection. * * # Errors * * Returns an error if constraints are invalid or payload construction fails. * @param {any} constraints_json * @returns {any} */ nativePayload(constraints_json) { try { const ptr = this.__destroy_into_raw(); const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.idkitbuilder_nativePayload(retptr, ptr, addHeapObject(constraints_json)); 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); } return takeObject(r0); } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } /** * Builds the native payload from a preset (synchronous, no bridge connection). * * Used by the native transport to get the same payload format as the bridge * without creating a network connection. * * # Errors * * Returns an error if the preset is invalid or payload construction fails. * @param {any} preset_json * @returns {any} */ nativePayloadFromPreset(preset_json) { try { const ptr = this.__destroy_into_raw(); const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.idkitbuilder_nativePayloadFromPreset(retptr, ptr, addHeapObject(preset_json)); 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); } return takeObject(r0); } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } /** * Builds a v1 (legacy) native payload from a preset (synchronous, no bridge connection). * * Used by the native transport when the World App only supports verify v1. * Only legacy presets produce valid v1 payloads (constraint-based requests * default to `Device` level and may not carry the correct action). * * # Errors * * Returns an error if the preset is invalid or v1 payload construction fails. * @param {any} preset_json * @returns {any} */ nativePayloadV1FromPreset(preset_json) { try { const ptr = this.__destroy_into_raw(); const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.idkitbuilder_nativePayloadV1FromPreset(retptr, ptr, addHeapObject(preset_json)); 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); } return takeObject(r0); } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } /** * Creates a new builder for uniqueness requests * @param {string} app_id * @param {string} action * @param {RpContextWasm} rp_context * @param {string | null | undefined} action_description * @param {string | null | undefined} bridge_url * @param {boolean} allow_legacy_proofs * @param {string | null} [override_connect_base_url] * @param {string | null} [return_to] * @param {string | null} [environment] */ constructor(app_id, action, rp_context, action_description, bridge_url, allow_legacy_proofs, override_connect_base_url, return_to, environment) { const ptr0 = passStringToWasm0(app_id, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(action, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len1 = WASM_VECTOR_LEN; _assertClass(rp_context, RpContextWasm); var ptr2 = rp_context.__destroy_into_raw(); var ptr3 = isLikeNone(action_description) ? 0 : passStringToWasm0(action_description, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len3 = WASM_VECTOR_LEN; var ptr4 = isLikeNone(bridge_url) ? 0 : passStringToWasm0(bridge_url, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len4 = WASM_VECTOR_LEN; var ptr5 = isLikeNone(override_connect_base_url) ? 0 : passStringToWasm0(override_connect_base_url, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len5 = WASM_VECTOR_LEN; var ptr6 = isLikeNone(return_to) ? 0 : passStringToWasm0(return_to, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len6 = WASM_VECTOR_LEN; var ptr7 = isLikeNone(environment) ? 0 : passStringToWasm0(environment, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len7 = WASM_VECTOR_LEN; const ret = wasm.idkitbuilder_new(ptr0, len0, ptr1, len1, ptr2, ptr3, len3, ptr4, len4, allow_legacy_proofs, ptr5, len5, ptr6, len6, ptr7, len7); this.__wbg_ptr = ret >>> 0; IDKitBuilderFinalization.register(this, this.__wbg_ptr, this); return this; } /** * Creates a `BridgeConnection` from a preset (works for all request types) * @param {any} preset_json * @returns {Promise<any>} */ preset(preset_json) { const ptr = this.__destroy_into_raw(); const ret = wasm.idkitbuilder_preset(ptr, addHeapObject(preset_json)); return takeObject(ret); } /** * Creates an invite-code mode `BridgeConnection` from a preset (WDP-73). * @param {any} preset_json * @returns {Promise<any>} */ presetWithInviteCode(preset_json) { const ptr = this.__destroy_into_raw(); const ret = wasm.idkitbuilder_presetWithInviteCode(ptr, addHeapObject(preset_json)); return takeObject(ret); } }; if (Symbol.dispose) IDKitBuilder.prototype[Symbol.dispose] = IDKitBuilder.prototype.free; var IDKitInviteCodeRequest = class _IDKitInviteCodeRequest { static __wrap(ptr) { ptr = ptr >>> 0; const obj = Object.create(_IDKitInviteCodeRequest.prototype); obj.__wbg_ptr = ptr; IDKitInviteCodeRequestFinalization.register(obj, obj.__wbg_ptr, obj); return obj; } __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; IDKitInviteCodeRequestFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_idkitinvitecoderequest_free(ptr, 0); } /** * Returns the connector URL the RP should display to the user. * * This is the same URL shape the URL/QR mode produces, with two extra * query params (`c=<canonical_code>`, `a=<app_id>`) the `world.org/verify` * landing page uses to render an invite-code-aware view. * * # Errors * * Returns an error if the request has been closed. * @returns {string} */ connectUrl() { let deferred2_0; let deferred2_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.idkitinvitecoderequest_connectUrl(retptr, this.__wbg_ptr); 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); var ptr1 = r0; var len1 = r1; if (r3) { ptr1 = 0; len1 = 0; throw takeObject(r2); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1); } } /** * Unix-seconds expiry of the unredeemed code. * * # Errors * * Returns an error if the request has been closed. * @returns {number} */ expiresAt() { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.idkitinvitecoderequest_expiresAt(retptr, this.__wbg_ptr); var r0 = getDataViewMemory0().getFloat64(retptr + 8 * 0, true); var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true); if (r3) { throw takeObject(r2); } return r0; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } /** * Polls the bridge for the current status (non-blocking). * * Mirrors `IDKitRequest::pollForStatus` exactly — same status shape, * same close semantics. Adopters use the same poll loop they wrote for * URL mode. * * # Errors * * Returns an error if the request has been closed or the poll fails. * @returns {Promise<any>} */ pollForStatus() { const ret = wasm.idkitinvitecoderequest_pollForStatus(this.__wbg_ptr); return takeObject(ret); } /** * Returns the request ID for this request. * * # Errors * * Returns an error if the request has been closed. * @returns {string} */ requestId() { let deferred2_0; let deferred2_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.idkitinvitecoderequest_requestId(retptr, this.__wbg_ptr); 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); var ptr1 = r0; var len1 = r1; if (r3) { ptr1 = 0; len1 = 0; throw takeObject(r2); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1); } } }; if (Symbol.dispose) IDKitInviteCodeRequest.prototype[Symbol.dispose] = IDKitInviteCodeRequest.prototype.free; var IDKitProof = class { __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; IDKitProofFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_idkitproof_free(ptr, 0); } /** * Creates a new legacy proof (protocol v1 / World ID v3) * * # Errors * * Returns an error if the verification level cannot be deserialized * @param {string} proof * @param {string} merkle_root * @param {string} nullifier_hash * @param {any} verification_level */ constructor(proof, merkle_root, nullifier_hash, verification_level) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(proof, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(merkle_root, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len1 = WASM_VECTOR_LEN; const ptr2 = passStringToWasm0(nullifier_hash, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len2 = WASM_VECTOR_LEN; wasm.idkitproof_new(retptr, ptr0, len0, ptr1, len1, ptr2, len2, addHeapObject(verification_level)); 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 >>> 0; IDKitProofFinalization.register(this, this.__wbg_ptr, this); return this; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } /** * Converts the proof to JSON * * # Errors * * Returns an error if serialization fails * @returns {any} */ toJSON() { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.idkitproof_toJSON(retptr, this.__wbg_ptr); 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); } return takeObject(r0); } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } }; if (Symbol.dispose) IDKitProof.prototype[Symbol.dispose] = IDKitProof.prototype.free; var IDKitRequest = class _IDKitRequest { static __wrap(ptr) { ptr = ptr >>> 0; const obj = Object.create(_IDKitRequest.prototype); obj.__wbg_ptr = ptr; IDKitRequestFinalization.register(obj, obj.__wbg_ptr, obj); return obj; } __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; IDKitRequestFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_idkitrequest_free(ptr, 0); } /** * Returns the connect URL for World App * * This URL should be displayed as a QR code for users to scan with World App. * * # Errors * * Returns an error if the request has been closed * @returns {string} */ connectUrl() { let deferred2_0; let deferred2_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.idkitrequest_connectUrl(retptr, this.__wbg_ptr); 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); var ptr1 = r0; var len1 = r1; if (r3) { ptr1 = 0; len1 = 0; throw takeObject(r2); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1); } } /** * Polls the bridge for the current status (non-blocking) * * Returns a status object with type: * - `"waiting_for_connection"` - Waiting for World App to retrieve the request * - `"awaiting_confirmation"` - World App has retrieved the request, waiting for user * - `"confirmed"` - User confirmed and provided a proof * - `"failed"` - Request has failed * * # Errors * * Returns an error if the request fails or the response is invalid * @returns {Promise<any>} */ pollForStatus() { const ret = wasm.idkitrequest_pollForStatus(this.__wbg_ptr); return takeObject(ret); } /** * Returns the request ID for this request * * # Errors * * Returns an error if the request has been closed * @returns {string} */ requestId() { let deferred2_0; let deferred2_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.idkitrequest_requestId(retptr, this.__wbg_ptr); 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); var ptr1 = r0; var len1 = r1; if (r3) { ptr1 = 0; len1 = 0; throw takeObject(r2); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1); } } }; if (Symbol.dispose) IDKitRequest.prototype[Symbol.dispose] = IDKitRequest.prototype.free; var RpContextWasm = class { __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; RpContextWasmFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_rpcontextwasm_free(ptr, 0); } /** * Creates a new RP context * * # Arguments * * `rp_id` - The registered RP ID (e.g., `"rp_123456789abcdef0"`) * * `nonce` - Unique nonce for this proof request * * `created_at` - Unix timestamp (seconds since epoch) when created * * `expires_at` - Unix timestamp (seconds since epoch) when expires * * `signature` - The RP's ECDSA signature of the `nonce` and `created_at` timestamp * * # Errors * * Returns an error if `rp_id` is not a valid RP ID (must start with `rp_`) * @param {string} rp_id * @param {string} nonce * @param {bigint} created_at * @param {bigint} expires_at * @param {string} signature */ constructor(rp_id, nonce, created_at, expires_at, signature) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(rp_id, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(nonce, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len1 = WASM_VECTOR_LEN; const ptr2 = passStringToWasm0(signature, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len2 = WASM_VECTOR_LEN; wasm.rpcontextwasm_new(retptr, ptr0, len0, ptr1, len1, created_at, expires_at, ptr2, len2); 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 >>> 0; RpContextWasmFinalization.register(this, this.__wbg_ptr, this); return this; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } }; if (Symbol.dispose) RpContextWasm.prototype[Symbol.dispose] = RpContextWasm.prototype.free; var RpSignature = class _RpSignature { static __wrap(ptr) { ptr = ptr >>> 0; const obj = Object.create(_RpSignature.prototype); obj.__wbg_ptr = ptr; RpSignatureFinalization.register(obj, obj.__wbg_ptr, obj); return obj; } __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; RpSignatureFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_rpsignature_free(ptr, 0); } /** * Gets the creation timestamp * @returns {bigint} */ get createdAt() { const ret = wasm.rpsignature_createdAt(this.__wbg_ptr); return BigInt.asUintN(64, ret); } /** * Gets the expiration timestamp * @returns {bigint} */ get expiresAt() { const ret = wasm.rpsignature_expiresAt(this.__wbg_ptr); return BigInt.asUintN(64, ret); } /** * Gets the nonce as hex string (0x-prefixed field element) * @returns {string} */ get nonce() { let deferred1_0; let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.rpsignature_nonce(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); } } /** * Gets the signature as hex string (0x-prefixed, 65 bytes) * @returns {string} */ get sig() { let deferred1_0; let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.rpsignature_sig(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); } } /** * Converts to JSON * * # Errors * * Returns an error if setting object properties fails * @returns {any} */ toJSON() { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.rpsignature_toJSON(retptr, this.__wbg_ptr); 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); } return takeObject(r0); } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } }; if (Symbol.dispose) RpSignature.prototype[Symbol.dispose] = RpSignature.prototype.free; function base64Decode(data) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(data, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len0 = WASM_VECTOR_LEN; wasm.base64Decode(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); 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); } } function base64Encode(data) { let deferred2_0; let deferred2_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export); const len0 = WASM_VECTOR_LEN; wasm.base64Encode(retptr, ptr0, len0); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); deferred2_0 = r0; deferred2_1 = r1; return getStringFromWasm0(r0, r1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1); } } function computeRpSignatureMessage(nonce, created_at, expires_at, action) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(nonce, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len0 = WASM_VECTOR_LEN; var ptr1 = isLikeNone(action) ? 0 : passStringToWasm0(action, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len1 = WASM_VECTOR_LEN; wasm.computeRpSignatureMessage(retptr, ptr0, len0, created_at, expires_at, 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); var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true); if (r3) { throw takeObject(r2); } var v3 = getArrayU8FromWasm0(r0, r1).slice(); wasm.__wbindgen_export4(r0, r1 * 1, 1); return v3; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } function createSession(app_id, rp_context, action_description, bridge_url, override_connect_base_url, return_to, environment) { const ptr0 = passStringToWasm0(app_id, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len0 = WASM_VECTOR_LEN; _assertClass(rp_context, RpContextWasm); var ptr1 = rp_context.__destroy_into_raw(); var ptr2 = isLikeNone(action_description) ? 0 : passStringToWasm0(action_description, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len2 = WASM_VECTOR_LEN; var ptr3 = isLikeNone(bridge_url) ? 0 : passStringToWasm0(bridge_url, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len3 = WASM_VECTOR_LEN; var ptr4 = isLikeNone(override_connect_base_url) ? 0 : passStringToWasm0(override_connect_base_url, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len4 = WASM_VECTOR_LEN; var ptr5 = isLikeNone(return_to) ? 0 : passStringToWasm0(return_to, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len5 = WASM_VECTOR_LEN; var ptr6 = isLikeNone(environment) ? 0 : passStringToWasm0(environment, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len6 = WASM_VECTOR_LEN; const ret = wasm.createSession(ptr0, len0, ptr1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6); return IDKitBuilder.__wrap(ret); } function hashSignal(signal) { let deferred2_0; let deferred2_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.hashSignal(retptr, addHeapObject(signal)); 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); var ptr1 = r0; var len1 = r1; if (r3) { ptr1 = 0; len1 = 0; throw takeObject(r2); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1); } } function init_wasm() { wasm.init_wasm(); } function proofResponseToIDKitResult(proof_response, options) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.proofResponseToIDKitResult(retptr, addHeapObject(proof_response), addHeapObject(options)); 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); } return takeObject(r0); } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } function proveSession(session_id, app_id, rp_context, action_description, bridge_url, override_connect_base_url, return_to, environment) { const ptr0 = passStringToWasm0(session_id, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(app_id, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len1 = WASM_VECTOR_LEN; _assertClass(rp_context, RpContextWasm); var ptr2 = rp_context.__destroy_into_raw(); var ptr3 = isLikeNone(action_description) ? 0 : passStringToWasm0(action_description, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len3 = WASM_VECTOR_LEN; var ptr4 = isLikeNone(bridge_url) ? 0 : passStringToWasm0(bridge_url, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len4 = WASM_VECTOR_LEN; var ptr5 = isLikeNone(override_connect_base_url) ? 0 : passStringToWasm0(override_connect_base_url, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len5 = WASM_VECTOR_LEN; var ptr6 = isLikeNone(return_to) ? 0 : passStringToWasm0(return_to, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len6 = WASM_VECTOR_LEN; var ptr7 = isLikeNone(environment) ? 0 : passStringToWasm0(environment, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len7 = WASM_VECTOR_LEN; const ret = wasm.proveSession(ptr0, len0, ptr1, len1, ptr2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7); return IDKitBuilder.__wrap(ret); } function request(app_id, action, rp_context, action_description, bridge_url, allow_legacy_proofs, override_connect_base_url, return_to, environment) { const ptr0 = passStringToWasm0(app_id, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(action, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len1 = WASM_VECTOR_LEN; _assertClass(rp_context, RpContextWasm); var ptr2 = rp_context.__destroy_into_raw(); var ptr3 = isLikeNone(action_description) ? 0 : passStringToWasm0(action_description, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len3 = WASM_VECTOR_LEN; var ptr4 = isLikeNone(bridge_url) ? 0 : passStringToWasm0(bridge_url, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len4 = WASM_VECTOR_LEN; var ptr5 = isLikeNone(override_connect_base_url) ? 0 : passStringToWasm0(override_connect_base_url, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len5 = WASM_VECTOR_LEN; var ptr6 = isLikeNone(return_to) ? 0 : passStringToWasm0(return_to, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len6 = WASM_VECTOR_LEN; var ptr7 = isLikeNone(environment) ? 0 : passStringToWasm0(environment, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len7 = WASM_VECTOR_LEN; const ret = wasm.request(ptr0, len0, ptr1, len1, ptr2, ptr3, len3, ptr4, len4, allow_legacy_proofs, ptr5, len5, ptr6, len6, ptr7, len7); return IDKitBuilder.__wrap(ret); } function signRequest(signing_key_hex, ttl_seconds, action) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(signing_key_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len0 = WASM_VECTOR_LEN; var ptr1 = isLikeNone(action) ? 0 : passStringToWasm0(action, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len1 = WASM_VECTOR_LEN; wasm.signRequest(retptr, ptr0, len0, !isLikeNone(ttl_seconds), isLikeNone(ttl_seconds) ? BigInt(0) : ttl_seconds, 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); } return RpSignature.__wrap(r0); } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } function __wbg_get_imports() { const import0 = { __proto__: null, __wbg_Error_83742b46f01ce22d: function(arg0, arg1) { const ret = Error(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); }, __wbg_Number_a5a435bd7bbec835: function(arg0) { const ret = Number(getObject(arg0)); return ret; }, __wbg_String_8564e559799eccda: function(arg0, arg1) { const ret = String(getObject(arg1)); const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len1 = WASM_VECTOR_LEN; getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); }, __wbg___wbindgen_bigint_get_as_i64_447a76b5c6ef7bda: function(arg0, arg1) { const v = getObject(arg1); const ret = typeof v === "bigint" ? v : void 0; getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true); getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); }, __wbg___wbindgen_boolean_get_c0f3f60bac5a78d1: function(arg0) { co