@worldcoin/idkit-core
Version:
Core IDKit SDK for World ID - Pure TypeScript, no dependencies
1,308 lines (1,304 loc) • 105 kB
JavaScript
export { signRequest } from '@worldcoin/idkit-server';
import { keccak_256 } from '@noble/hashes/sha3';
import { hexToBytes, bytesToHex } from '@noble/hashes/utils';
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) {
const v = getObject(arg0);
const ret = typeof v === "boolean" ? v : void 0;