drupflare/worker - v1.0.4
    Preparing search index...

    Variable SODIUM_APIConst

    SODIUM_API: {
        classes: readonly ["SodiumException"];
        constants: {
            SODIUM_BASE64_VARIANT_ORIGINAL: 1;
            SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING: 3;
            SODIUM_BASE64_VARIANT_URLSAFE: 5;
            SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING: 7;
            SODIUM_CRYPTO_AEAD_AEGIS128L_ABYTES: 32;
            SODIUM_CRYPTO_AEAD_AEGIS128L_KEYBYTES: 16;
            SODIUM_CRYPTO_AEAD_AEGIS128L_NPUBBYTES: 16;
            SODIUM_CRYPTO_AEAD_AEGIS128L_NSECBYTES: 0;
            SODIUM_CRYPTO_AEAD_AEGIS256_ABYTES: 32;
            SODIUM_CRYPTO_AEAD_AEGIS256_KEYBYTES: 32;
            SODIUM_CRYPTO_AEAD_AEGIS256_NPUBBYTES: 32;
            SODIUM_CRYPTO_AEAD_AEGIS256_NSECBYTES: 0;
            SODIUM_CRYPTO_AEAD_AES256GCM_ABYTES: 16;
            SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES: 32;
            SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES: 12;
            SODIUM_CRYPTO_AEAD_AES256GCM_NSECBYTES: 0;
            SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_ABYTES: 16;
            SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_ABYTES: 16;
            SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_KEYBYTES: 32;
            SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES: 12;
            SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NSECBYTES: 0;
            SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_KEYBYTES: 32;
            SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NPUBBYTES: 8;
            SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NSECBYTES: 0;
            SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_ABYTES: 16;
            SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_KEYBYTES: 32;
            SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES: 24;
            SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NSECBYTES: 0;
            SODIUM_CRYPTO_AUTH_BYTES: 32;
            SODIUM_CRYPTO_AUTH_KEYBYTES: 32;
            SODIUM_CRYPTO_BOX_KEYPAIRBYTES: 64;
            SODIUM_CRYPTO_BOX_MACBYTES: 16;
            SODIUM_CRYPTO_BOX_NONCEBYTES: 24;
            SODIUM_CRYPTO_BOX_PUBLICKEYBYTES: 32;
            SODIUM_CRYPTO_BOX_SEALBYTES: 48;
            SODIUM_CRYPTO_BOX_SECRETKEYBYTES: 32;
            SODIUM_CRYPTO_BOX_SEEDBYTES: 32;
            SODIUM_CRYPTO_CORE_RISTRETTO255_BYTES: 32;
            SODIUM_CRYPTO_CORE_RISTRETTO255_HASHBYTES: 64;
            SODIUM_CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES: 64;
            SODIUM_CRYPTO_CORE_RISTRETTO255_SCALARBYTES: 32;
            SODIUM_CRYPTO_GENERICHASH_BYTES: 32;
            SODIUM_CRYPTO_GENERICHASH_BYTES_MAX: 64;
            SODIUM_CRYPTO_GENERICHASH_BYTES_MIN: 16;
            SODIUM_CRYPTO_GENERICHASH_KEYBYTES: 32;
            SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MAX: 64;
            SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MIN: 16;
            SODIUM_CRYPTO_KDF_BYTES_MAX: 64;
            SODIUM_CRYPTO_KDF_BYTES_MIN: 16;
            SODIUM_CRYPTO_KDF_CONTEXTBYTES: 8;
            SODIUM_CRYPTO_KDF_KEYBYTES: 32;
            SODIUM_CRYPTO_KX_KEYPAIRBYTES: 64;
            SODIUM_CRYPTO_KX_PUBLICKEYBYTES: 32;
            SODIUM_CRYPTO_KX_SECRETKEYBYTES: 32;
            SODIUM_CRYPTO_KX_SEEDBYTES: 32;
            SODIUM_CRYPTO_KX_SESSIONKEYBYTES: 32;
            SODIUM_CRYPTO_PWHASH_ALG_ARGON2I13: 1;
            SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13: 2;
            SODIUM_CRYPTO_PWHASH_ALG_DEFAULT: 2;
            SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE: 67108864;
            SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE: 268435456;
            SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE: 1073741824;
            SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE: 2;
            SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE: 3;
            SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE: 4;
            SODIUM_CRYPTO_PWHASH_SALTBYTES: 16;
            SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE: 16777216;
            SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE: 1073741824;
            SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE: 524288;
            SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE: 33554432;
            SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES: 32;
            SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_STRPREFIX: "$7$";
            SODIUM_CRYPTO_PWHASH_STRPREFIX: "$argon2id$";
            SODIUM_CRYPTO_SCALARMULT_BYTES: 32;
            SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_BYTES: 32;
            SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES: 32;
            SODIUM_CRYPTO_SCALARMULT_SCALARBYTES: 32;
            SODIUM_CRYPTO_SECRETBOX_KEYBYTES: 32;
            SODIUM_CRYPTO_SECRETBOX_MACBYTES: 16;
            SODIUM_CRYPTO_SECRETBOX_NONCEBYTES: 24;
            SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_ABYTES: 17;
            SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_HEADERBYTES: 24;
            SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_KEYBYTES: 32;
            SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_MESSAGEBYTES_MAX: 274877906816;
            SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL: 3;
            SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE: 0;
            SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH: 1;
            SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY: 2;
            SODIUM_CRYPTO_SHORTHASH_BYTES: 8;
            SODIUM_CRYPTO_SHORTHASH_KEYBYTES: 16;
            SODIUM_CRYPTO_SIGN_BYTES: 64;
            SODIUM_CRYPTO_SIGN_KEYPAIRBYTES: 96;
            SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES: 32;
            SODIUM_CRYPTO_SIGN_SECRETKEYBYTES: 64;
            SODIUM_CRYPTO_SIGN_SEEDBYTES: 32;
            SODIUM_CRYPTO_STREAM_KEYBYTES: 32;
            SODIUM_CRYPTO_STREAM_NONCEBYTES: 24;
            SODIUM_CRYPTO_STREAM_XCHACHA20_KEYBYTES: 32;
            SODIUM_CRYPTO_STREAM_XCHACHA20_NONCEBYTES: 24;
            SODIUM_LIBRARY_MAJOR_VERSION: 26;
            SODIUM_LIBRARY_MINOR_VERSION: 4;
            SODIUM_LIBRARY_VERSION: "1.0.22";
        };
        functions: readonly [
            {
                name: "sodium_crypto_aead_aes256gcm_is_available";
                params: readonly [];
                returns: "bool";
            },
            {
                name: "sodium_crypto_aead_aes256gcm_decrypt";
                params: readonly [
                    { name: "ciphertext"; type: "string" },
                    { name: "additional_data"; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string|false";
            },
            {
                name: "sodium_crypto_aead_aes256gcm_encrypt";
                params: readonly [
                    { name: "message"; sensitive: true; type: "string" },
                    { name: "additional_data"; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_aead_aes256gcm_keygen";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_aead_aegis128l_decrypt";
                params: readonly [
                    { name: "ciphertext"; type: "string" },
                    { name: "additional_data"; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string|false";
            },
            {
                name: "sodium_crypto_aead_aegis128l_encrypt";
                params: readonly [
                    { name: "message"; sensitive: true; type: "string" },
                    { name: "additional_data"; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_aead_aegis128l_keygen";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_aead_aegis256_decrypt";
                params: readonly [
                    { name: "ciphertext"; type: "string" },
                    { name: "additional_data"; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string|false";
            },
            {
                name: "sodium_crypto_aead_aegis256_encrypt";
                params: readonly [
                    { name: "message"; sensitive: true; type: "string" },
                    { name: "additional_data"; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_aead_aegis256_keygen";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_aead_chacha20poly1305_decrypt";
                params: readonly [
                    { name: "ciphertext"; type: "string" },
                    { name: "additional_data"; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string|false";
            },
            {
                name: "sodium_crypto_aead_chacha20poly1305_encrypt";
                params: readonly [
                    { name: "message"; sensitive: true; type: "string" },
                    { name: "additional_data"; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_aead_chacha20poly1305_keygen";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_aead_chacha20poly1305_ietf_decrypt";
                params: readonly [
                    { name: "ciphertext"; type: "string" },
                    { name: "additional_data"; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string|false";
            },
            {
                name: "sodium_crypto_aead_chacha20poly1305_ietf_encrypt";
                params: readonly [
                    { name: "message"; sensitive: true; type: "string" },
                    { name: "additional_data"; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_aead_chacha20poly1305_ietf_keygen";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_aead_xchacha20poly1305_ietf_decrypt";
                params: readonly [
                    { name: "ciphertext"; type: "string" },
                    { name: "additional_data"; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string|false";
            },
            {
                name: "sodium_crypto_aead_xchacha20poly1305_ietf_keygen";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_aead_xchacha20poly1305_ietf_encrypt";
                params: readonly [
                    { name: "message"; sensitive: true; type: "string" },
                    { name: "additional_data"; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_auth";
                params: readonly [
                    { name: "message"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_auth_keygen";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_auth_verify";
                params: readonly [
                    { name: "mac"; type: "string" },
                    { name: "message"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "bool";
            },
            {
                name: "sodium_crypto_box";
                params: readonly [
                    { name: "message"; sensitive: true; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key_pair"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_box_keypair";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_box_seed_keypair";
                params: readonly [{ name: "seed"; sensitive: true; type: "string" }];
                returns: "string";
            },
            {
                name: "sodium_crypto_box_keypair_from_secretkey_and_publickey";
                params: readonly [
                    { name: "secret_key"; sensitive: true; type: "string" },
                    { name: "public_key"; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_box_open";
                params: readonly [
                    { name: "ciphertext"; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key_pair"; sensitive: true; type: "string" },
                ];
                returns: "string|false";
            },
            {
                name: "sodium_crypto_box_publickey";
                params: readonly [{ name: "key_pair"; sensitive: true; type: "string" }];
                returns: "string";
            },
            {
                name: "sodium_crypto_box_publickey_from_secretkey";
                params: readonly [
                    { name: "secret_key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_box_seal";
                params: readonly [
                    { name: "message"; sensitive: true; type: "string" },
                    { name: "public_key"; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_box_seal_open";
                params: readonly [
                    { name: "ciphertext"; type: "string" },
                    { name: "key_pair"; sensitive: true; type: "string" },
                ];
                returns: "string|false";
            },
            {
                name: "sodium_crypto_box_secretkey";
                params: readonly [{ name: "key_pair"; sensitive: true; type: "string" }];
                returns: "string";
            },
            {
                name: "sodium_crypto_core_ristretto255_add";
                params: readonly [
                    { name: "p"; type: "string" },
                    { name: "q"; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_core_ristretto255_from_hash";
                params: readonly [{ name: "s"; type: "string" }];
                returns: "string";
            },
            {
                name: "sodium_crypto_core_ristretto255_is_valid_point";
                params: readonly [{ name: "s"; type: "string" }];
                returns: "bool";
            },
            {
                name: "sodium_crypto_core_ristretto255_random";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_core_ristretto255_scalar_add";
                params: readonly [
                    { name: "x"; type: "string" },
                    { name: "y"; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_core_ristretto255_scalar_complement";
                params: readonly [{ name: "s"; type: "string" }];
                returns: "string";
            },
            {
                name: "sodium_crypto_core_ristretto255_scalar_invert";
                params: readonly [{ name: "s"; type: "string" }];
                returns: "string";
            },
            {
                name: "sodium_crypto_core_ristretto255_scalar_mul";
                params: readonly [
                    { name: "x"; type: "string" },
                    { name: "y"; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_core_ristretto255_scalar_negate";
                params: readonly [{ name: "s"; type: "string" }];
                returns: "string";
            },
            {
                name: "sodium_crypto_core_ristretto255_scalar_random";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_core_ristretto255_scalar_reduce";
                params: readonly [{ name: "s"; type: "string" }];
                returns: "string";
            },
            {
                name: "sodium_crypto_core_ristretto255_scalar_sub";
                params: readonly [
                    { name: "x"; type: "string" },
                    { name: "y"; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_core_ristretto255_sub";
                params: readonly [
                    { name: "p"; type: "string" },
                    { name: "q"; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_kx_keypair";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_kx_publickey";
                params: readonly [{ name: "key_pair"; sensitive: true; type: "string" }];
                returns: "string";
            },
            {
                name: "sodium_crypto_kx_secretkey";
                params: readonly [{ name: "key_pair"; sensitive: true; type: "string" }];
                returns: "string";
            },
            {
                name: "sodium_crypto_kx_seed_keypair";
                params: readonly [{ name: "seed"; sensitive: true; type: "string" }];
                returns: "string";
            },
            {
                name: "sodium_crypto_kx_client_session_keys";
                params: readonly [
                    { name: "client_key_pair"; sensitive: true; type: "string" },
                    { name: "server_key"; type: "string" },
                ];
                returns: "array";
            },
            {
                name: "sodium_crypto_kx_server_session_keys";
                params: readonly [
                    { name: "server_key_pair"; sensitive: true; type: "string" },
                    { name: "client_key"; type: "string" },
                ];
                returns: "array";
            },
            {
                name: "sodium_crypto_generichash";
                params: readonly [
                    { name: "message"; type: "string" },
                    { def: ""; name: "key"; sensitive: true; type: "string" },
                    { def: 32; name: "length"; type: "int" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_generichash_keygen";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_generichash_init";
                params: readonly [
                    { def: ""; name: "key"; sensitive: true; type: "string" },
                    { def: 32; name: "length"; type: "int" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_generichash_update";
                params: readonly [
                    { name: "state"; ref: true; type: "string" },
                    { name: "message"; type: "string" },
                ];
                returns: "true";
            },
            {
                name: "sodium_crypto_generichash_final";
                params: readonly [
                    { name: "state"; ref: true; type: "string" },
                    { def: 32; name: "length"; type: "int" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_kdf_derive_from_key";
                params: readonly [
                    { name: "subkey_length"; type: "int" },
                    { name: "subkey_id"; type: "int" },
                    { name: "context"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_kdf_keygen";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_pwhash";
                params: readonly [
                    { name: "length"; type: "int" },
                    { name: "password"; sensitive: true; type: "string" },
                    { name: "salt"; type: "string" },
                    { name: "opslimit"; type: "int" },
                    { name: "memlimit"; type: "int" },
                    { def: 2; name: "algo"; type: "int" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_pwhash_str";
                params: readonly [
                    { name: "password"; sensitive: true; type: "string" },
                    { name: "opslimit"; type: "int" },
                    { name: "memlimit"; type: "int" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_pwhash_str_verify";
                params: readonly [
                    { name: "hash"; type: "string" },
                    { name: "password"; sensitive: true; type: "string" },
                ];
                returns: "bool";
            },
            {
                name: "sodium_crypto_pwhash_str_needs_rehash";
                params: readonly [
                    { name: "password"; type: "string" },
                    { name: "opslimit"; type: "int" },
                    { name: "memlimit"; type: "int" },
                ];
                returns: "bool";
            },
            {
                name: "sodium_crypto_pwhash_scryptsalsa208sha256";
                params: readonly [
                    { name: "length"; type: "int" },
                    { name: "password"; sensitive: true; type: "string" },
                    { name: "salt"; type: "string" },
                    { name: "opslimit"; type: "int" },
                    { name: "memlimit"; type: "int" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_pwhash_scryptsalsa208sha256_str";
                params: readonly [
                    { name: "password"; sensitive: true; type: "string" },
                    { name: "opslimit"; type: "int" },
                    { name: "memlimit"; type: "int" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_pwhash_scryptsalsa208sha256_str_verify";
                params: readonly [
                    { name: "hash"; type: "string" },
                    { name: "password"; sensitive: true; type: "string" },
                ];
                returns: "bool";
            },
            {
                name: "sodium_crypto_scalarmult";
                params: readonly [
                    { name: "n"; type: "string" },
                    { name: "p"; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_scalarmult_ristretto255";
                params: readonly [
                    { name: "n"; type: "string" },
                    { name: "p"; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_scalarmult_ristretto255_base";
                params: readonly [{ name: "n"; type: "string" }];
                returns: "string";
            },
            {
                name: "sodium_crypto_secretbox";
                params: readonly [
                    { name: "message"; sensitive: true; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_secretbox_keygen";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_secretbox_open";
                params: readonly [
                    { name: "ciphertext"; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string|false";
            },
            {
                name: "sodium_crypto_secretstream_xchacha20poly1305_keygen";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_secretstream_xchacha20poly1305_init_push";
                params: readonly [{ name: "key"; sensitive: true; type: "string" }];
                returns: "array";
            },
            {
                name: "sodium_crypto_secretstream_xchacha20poly1305_push";
                params: readonly [
                    { name: "state"; ref: true; type: "string" },
                    { name: "message"; sensitive: true; type: "string" },
                    { def: ""; name: "additional_data"; type: "string" },
                    { def: 0; name: "tag"; type: "int" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_secretstream_xchacha20poly1305_init_pull";
                params: readonly [
                    { name: "header"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_secretstream_xchacha20poly1305_pull";
                params: readonly [
                    { name: "state"; ref: true; type: "string" },
                    { name: "ciphertext"; type: "string" },
                    { def: ""; name: "additional_data"; type: "string" },
                ];
                returns: "array|false";
            },
            {
                name: "sodium_crypto_secretstream_xchacha20poly1305_rekey";
                params: readonly [{ name: "state"; ref: true; type: "string" }];
                returns: "void";
            },
            {
                name: "sodium_crypto_shorthash";
                params: readonly [
                    { name: "message"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_shorthash_keygen";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_sign";
                params: readonly [
                    { name: "message"; type: "string" },
                    { name: "secret_key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_sign_detached";
                params: readonly [
                    { name: "message"; type: "string" },
                    { name: "secret_key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_sign_ed25519_pk_to_curve25519";
                params: readonly [{ name: "public_key"; type: "string" }];
                returns: "string";
            },
            {
                name: "sodium_crypto_sign_ed25519_sk_to_curve25519";
                params: readonly [
                    { name: "secret_key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_sign_keypair";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_sign_keypair_from_secretkey_and_publickey";
                params: readonly [
                    { name: "secret_key"; sensitive: true; type: "string" },
                    { name: "public_key"; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_sign_open";
                params: readonly [
                    { name: "signed_message"; type: "string" },
                    { name: "public_key"; type: "string" },
                ];
                returns: "string|false";
            },
            {
                name: "sodium_crypto_sign_publickey";
                params: readonly [{ name: "key_pair"; sensitive: true; type: "string" }];
                returns: "string";
            },
            {
                name: "sodium_crypto_sign_secretkey";
                params: readonly [{ name: "key_pair"; sensitive: true; type: "string" }];
                returns: "string";
            },
            {
                name: "sodium_crypto_sign_publickey_from_secretkey";
                params: readonly [
                    { name: "secret_key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_sign_seed_keypair";
                params: readonly [{ name: "seed"; sensitive: true; type: "string" }];
                returns: "string";
            },
            {
                name: "sodium_crypto_sign_verify_detached";
                params: readonly [
                    { name: "signature"; type: "string" },
                    { name: "message"; type: "string" },
                    { name: "public_key"; type: "string" },
                ];
                returns: "bool";
            },
            {
                name: "sodium_crypto_stream";
                params: readonly [
                    { name: "length"; type: "int" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_stream_keygen";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_stream_xor";
                params: readonly [
                    { name: "message"; sensitive: true; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_stream_xchacha20";
                params: readonly [
                    { name: "length"; type: "int" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_stream_xchacha20_keygen";
                params: readonly [];
                returns: "string";
            },
            {
                name: "sodium_crypto_stream_xchacha20_xor";
                params: readonly [
                    { name: "message"; sensitive: true; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_stream_xchacha20_xor_ic";
                params: readonly [
                    { name: "message"; sensitive: true; type: "string" },
                    { name: "nonce"; type: "string" },
                    { name: "counter"; type: "int" },
                    { name: "key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_add";
                params: readonly [
                    { name: "string1"; ref: true; type: "string" },
                    { name: "string2"; type: "string" },
                ];
                returns: "void";
            },
            {
                name: "sodium_compare";
                params: readonly [
                    { name: "string1"; sensitive: true; type: "string" },
                    { name: "string2"; sensitive: true; type: "string" },
                ];
                returns: "int";
            },
            {
                name: "sodium_increment";
                params: readonly [{ name: "string"; ref: true; type: "string" }];
                returns: "void";
            },
            {
                name: "sodium_memcmp";
                params: readonly [
                    { name: "string1"; sensitive: true; type: "string" },
                    { name: "string2"; sensitive: true; type: "string" },
                ];
                returns: "int";
            },
            {
                name: "sodium_memzero";
                params: readonly [
                    { name: "string"; ref: true; sensitive: true; type: "string" },
                ];
                returns: "void";
            },
            {
                name: "sodium_pad";
                params: readonly [
                    { name: "string"; sensitive: true; type: "string" },
                    { name: "block_size"; type: "int" },
                ];
                returns: "string";
            },
            {
                name: "sodium_unpad";
                params: readonly [
                    { name: "string"; sensitive: true; type: "string" },
                    { name: "block_size"; type: "int" },
                ];
                returns: "string";
            },
            {
                name: "sodium_bin2hex";
                params: readonly [{ name: "string"; sensitive: true; type: "string" }];
                returns: "string";
            },
            {
                name: "sodium_hex2bin";
                params: readonly [
                    { name: "string"; sensitive: true; type: "string" },
                    { def: ""; name: "ignore"; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_bin2base64";
                params: readonly [
                    { name: "string"; sensitive: true; type: "string" },
                    { name: "id"; type: "int" },
                ];
                returns: "string";
            },
            {
                name: "sodium_base642bin";
                params: readonly [
                    { name: "string"; sensitive: true; type: "string" },
                    { name: "id"; type: "int" },
                    { def: ""; name: "ignore"; type: "string" },
                ];
                returns: "string";
            },
            {
                name: "sodium_crypto_scalarmult_base";
                params: readonly [
                    { name: "secret_key"; sensitive: true; type: "string" },
                ];
                returns: "string";
            },
        ];
        version: "8.5.7";
    } = ...

    the ext-sodium API as PHP 8.5.7 reports it; bun run gen:sodium-api writes it

    Type Declaration

    • Readonlyclasses: readonly ["SodiumException"]
    • Readonlyconstants: {
          SODIUM_BASE64_VARIANT_ORIGINAL: 1;
          SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING: 3;
          SODIUM_BASE64_VARIANT_URLSAFE: 5;
          SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING: 7;
          SODIUM_CRYPTO_AEAD_AEGIS128L_ABYTES: 32;
          SODIUM_CRYPTO_AEAD_AEGIS128L_KEYBYTES: 16;
          SODIUM_CRYPTO_AEAD_AEGIS128L_NPUBBYTES: 16;
          SODIUM_CRYPTO_AEAD_AEGIS128L_NSECBYTES: 0;
          SODIUM_CRYPTO_AEAD_AEGIS256_ABYTES: 32;
          SODIUM_CRYPTO_AEAD_AEGIS256_KEYBYTES: 32;
          SODIUM_CRYPTO_AEAD_AEGIS256_NPUBBYTES: 32;
          SODIUM_CRYPTO_AEAD_AEGIS256_NSECBYTES: 0;
          SODIUM_CRYPTO_AEAD_AES256GCM_ABYTES: 16;
          SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES: 32;
          SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES: 12;
          SODIUM_CRYPTO_AEAD_AES256GCM_NSECBYTES: 0;
          SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_ABYTES: 16;
          SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_ABYTES: 16;
          SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_KEYBYTES: 32;
          SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES: 12;
          SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NSECBYTES: 0;
          SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_KEYBYTES: 32;
          SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NPUBBYTES: 8;
          SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NSECBYTES: 0;
          SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_ABYTES: 16;
          SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_KEYBYTES: 32;
          SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES: 24;
          SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NSECBYTES: 0;
          SODIUM_CRYPTO_AUTH_BYTES: 32;
          SODIUM_CRYPTO_AUTH_KEYBYTES: 32;
          SODIUM_CRYPTO_BOX_KEYPAIRBYTES: 64;
          SODIUM_CRYPTO_BOX_MACBYTES: 16;
          SODIUM_CRYPTO_BOX_NONCEBYTES: 24;
          SODIUM_CRYPTO_BOX_PUBLICKEYBYTES: 32;
          SODIUM_CRYPTO_BOX_SEALBYTES: 48;
          SODIUM_CRYPTO_BOX_SECRETKEYBYTES: 32;
          SODIUM_CRYPTO_BOX_SEEDBYTES: 32;
          SODIUM_CRYPTO_CORE_RISTRETTO255_BYTES: 32;
          SODIUM_CRYPTO_CORE_RISTRETTO255_HASHBYTES: 64;
          SODIUM_CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES: 64;
          SODIUM_CRYPTO_CORE_RISTRETTO255_SCALARBYTES: 32;
          SODIUM_CRYPTO_GENERICHASH_BYTES: 32;
          SODIUM_CRYPTO_GENERICHASH_BYTES_MAX: 64;
          SODIUM_CRYPTO_GENERICHASH_BYTES_MIN: 16;
          SODIUM_CRYPTO_GENERICHASH_KEYBYTES: 32;
          SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MAX: 64;
          SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MIN: 16;
          SODIUM_CRYPTO_KDF_BYTES_MAX: 64;
          SODIUM_CRYPTO_KDF_BYTES_MIN: 16;
          SODIUM_CRYPTO_KDF_CONTEXTBYTES: 8;
          SODIUM_CRYPTO_KDF_KEYBYTES: 32;
          SODIUM_CRYPTO_KX_KEYPAIRBYTES: 64;
          SODIUM_CRYPTO_KX_PUBLICKEYBYTES: 32;
          SODIUM_CRYPTO_KX_SECRETKEYBYTES: 32;
          SODIUM_CRYPTO_KX_SEEDBYTES: 32;
          SODIUM_CRYPTO_KX_SESSIONKEYBYTES: 32;
          SODIUM_CRYPTO_PWHASH_ALG_ARGON2I13: 1;
          SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13: 2;
          SODIUM_CRYPTO_PWHASH_ALG_DEFAULT: 2;
          SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE: 67108864;
          SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE: 268435456;
          SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE: 1073741824;
          SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE: 2;
          SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE: 3;
          SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE: 4;
          SODIUM_CRYPTO_PWHASH_SALTBYTES: 16;
          SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE: 16777216;
          SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE: 1073741824;
          SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE: 524288;
          SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE: 33554432;
          SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES: 32;
          SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_STRPREFIX: "$7$";
          SODIUM_CRYPTO_PWHASH_STRPREFIX: "$argon2id$";
          SODIUM_CRYPTO_SCALARMULT_BYTES: 32;
          SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_BYTES: 32;
          SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES: 32;
          SODIUM_CRYPTO_SCALARMULT_SCALARBYTES: 32;
          SODIUM_CRYPTO_SECRETBOX_KEYBYTES: 32;
          SODIUM_CRYPTO_SECRETBOX_MACBYTES: 16;
          SODIUM_CRYPTO_SECRETBOX_NONCEBYTES: 24;
          SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_ABYTES: 17;
          SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_HEADERBYTES: 24;
          SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_KEYBYTES: 32;
          SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_MESSAGEBYTES_MAX: 274877906816;
          SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL: 3;
          SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE: 0;
          SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH: 1;
          SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY: 2;
          SODIUM_CRYPTO_SHORTHASH_BYTES: 8;
          SODIUM_CRYPTO_SHORTHASH_KEYBYTES: 16;
          SODIUM_CRYPTO_SIGN_BYTES: 64;
          SODIUM_CRYPTO_SIGN_KEYPAIRBYTES: 96;
          SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES: 32;
          SODIUM_CRYPTO_SIGN_SECRETKEYBYTES: 64;
          SODIUM_CRYPTO_SIGN_SEEDBYTES: 32;
          SODIUM_CRYPTO_STREAM_KEYBYTES: 32;
          SODIUM_CRYPTO_STREAM_NONCEBYTES: 24;
          SODIUM_CRYPTO_STREAM_XCHACHA20_KEYBYTES: 32;
          SODIUM_CRYPTO_STREAM_XCHACHA20_NONCEBYTES: 24;
          SODIUM_LIBRARY_MAJOR_VERSION: 26;
          SODIUM_LIBRARY_MINOR_VERSION: 4;
          SODIUM_LIBRARY_VERSION: "1.0.22";
      }
    • Readonlyfunctions: readonly [
          {
              name: "sodium_crypto_aead_aes256gcm_is_available";
              params: readonly [];
              returns: "bool";
          },
          {
              name: "sodium_crypto_aead_aes256gcm_decrypt";
              params: readonly [
                  { name: "ciphertext"; type: "string" },
                  { name: "additional_data"; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string|false";
          },
          {
              name: "sodium_crypto_aead_aes256gcm_encrypt";
              params: readonly [
                  { name: "message"; sensitive: true; type: "string" },
                  { name: "additional_data"; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_aead_aes256gcm_keygen";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_aead_aegis128l_decrypt";
              params: readonly [
                  { name: "ciphertext"; type: "string" },
                  { name: "additional_data"; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string|false";
          },
          {
              name: "sodium_crypto_aead_aegis128l_encrypt";
              params: readonly [
                  { name: "message"; sensitive: true; type: "string" },
                  { name: "additional_data"; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_aead_aegis128l_keygen";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_aead_aegis256_decrypt";
              params: readonly [
                  { name: "ciphertext"; type: "string" },
                  { name: "additional_data"; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string|false";
          },
          {
              name: "sodium_crypto_aead_aegis256_encrypt";
              params: readonly [
                  { name: "message"; sensitive: true; type: "string" },
                  { name: "additional_data"; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_aead_aegis256_keygen";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_aead_chacha20poly1305_decrypt";
              params: readonly [
                  { name: "ciphertext"; type: "string" },
                  { name: "additional_data"; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string|false";
          },
          {
              name: "sodium_crypto_aead_chacha20poly1305_encrypt";
              params: readonly [
                  { name: "message"; sensitive: true; type: "string" },
                  { name: "additional_data"; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_aead_chacha20poly1305_keygen";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_aead_chacha20poly1305_ietf_decrypt";
              params: readonly [
                  { name: "ciphertext"; type: "string" },
                  { name: "additional_data"; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string|false";
          },
          {
              name: "sodium_crypto_aead_chacha20poly1305_ietf_encrypt";
              params: readonly [
                  { name: "message"; sensitive: true; type: "string" },
                  { name: "additional_data"; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_aead_chacha20poly1305_ietf_keygen";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_aead_xchacha20poly1305_ietf_decrypt";
              params: readonly [
                  { name: "ciphertext"; type: "string" },
                  { name: "additional_data"; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string|false";
          },
          {
              name: "sodium_crypto_aead_xchacha20poly1305_ietf_keygen";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_aead_xchacha20poly1305_ietf_encrypt";
              params: readonly [
                  { name: "message"; sensitive: true; type: "string" },
                  { name: "additional_data"; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_auth";
              params: readonly [
                  { name: "message"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_auth_keygen";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_auth_verify";
              params: readonly [
                  { name: "mac"; type: "string" },
                  { name: "message"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "bool";
          },
          {
              name: "sodium_crypto_box";
              params: readonly [
                  { name: "message"; sensitive: true; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key_pair"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_box_keypair";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_box_seed_keypair";
              params: readonly [{ name: "seed"; sensitive: true; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_box_keypair_from_secretkey_and_publickey";
              params: readonly [
                  { name: "secret_key"; sensitive: true; type: "string" },
                  { name: "public_key"; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_box_open";
              params: readonly [
                  { name: "ciphertext"; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key_pair"; sensitive: true; type: "string" },
              ];
              returns: "string|false";
          },
          {
              name: "sodium_crypto_box_publickey";
              params: readonly [{ name: "key_pair"; sensitive: true; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_box_publickey_from_secretkey";
              params: readonly [{ name: "secret_key"; sensitive: true; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_box_seal";
              params: readonly [
                  { name: "message"; sensitive: true; type: "string" },
                  { name: "public_key"; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_box_seal_open";
              params: readonly [
                  { name: "ciphertext"; type: "string" },
                  { name: "key_pair"; sensitive: true; type: "string" },
              ];
              returns: "string|false";
          },
          {
              name: "sodium_crypto_box_secretkey";
              params: readonly [{ name: "key_pair"; sensitive: true; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_core_ristretto255_add";
              params: readonly [
                  { name: "p"; type: "string" },
                  { name: "q"; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_core_ristretto255_from_hash";
              params: readonly [{ name: "s"; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_core_ristretto255_is_valid_point";
              params: readonly [{ name: "s"; type: "string" }];
              returns: "bool";
          },
          {
              name: "sodium_crypto_core_ristretto255_random";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_core_ristretto255_scalar_add";
              params: readonly [
                  { name: "x"; type: "string" },
                  { name: "y"; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_core_ristretto255_scalar_complement";
              params: readonly [{ name: "s"; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_core_ristretto255_scalar_invert";
              params: readonly [{ name: "s"; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_core_ristretto255_scalar_mul";
              params: readonly [
                  { name: "x"; type: "string" },
                  { name: "y"; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_core_ristretto255_scalar_negate";
              params: readonly [{ name: "s"; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_core_ristretto255_scalar_random";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_core_ristretto255_scalar_reduce";
              params: readonly [{ name: "s"; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_core_ristretto255_scalar_sub";
              params: readonly [
                  { name: "x"; type: "string" },
                  { name: "y"; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_core_ristretto255_sub";
              params: readonly [
                  { name: "p"; type: "string" },
                  { name: "q"; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_kx_keypair";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_kx_publickey";
              params: readonly [{ name: "key_pair"; sensitive: true; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_kx_secretkey";
              params: readonly [{ name: "key_pair"; sensitive: true; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_kx_seed_keypair";
              params: readonly [{ name: "seed"; sensitive: true; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_kx_client_session_keys";
              params: readonly [
                  { name: "client_key_pair"; sensitive: true; type: "string" },
                  { name: "server_key"; type: "string" },
              ];
              returns: "array";
          },
          {
              name: "sodium_crypto_kx_server_session_keys";
              params: readonly [
                  { name: "server_key_pair"; sensitive: true; type: "string" },
                  { name: "client_key"; type: "string" },
              ];
              returns: "array";
          },
          {
              name: "sodium_crypto_generichash";
              params: readonly [
                  { name: "message"; type: "string" },
                  { def: ""; name: "key"; sensitive: true; type: "string" },
                  { def: 32; name: "length"; type: "int" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_generichash_keygen";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_generichash_init";
              params: readonly [
                  { def: ""; name: "key"; sensitive: true; type: "string" },
                  { def: 32; name: "length"; type: "int" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_generichash_update";
              params: readonly [
                  { name: "state"; ref: true; type: "string" },
                  { name: "message"; type: "string" },
              ];
              returns: "true";
          },
          {
              name: "sodium_crypto_generichash_final";
              params: readonly [
                  { name: "state"; ref: true; type: "string" },
                  { def: 32; name: "length"; type: "int" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_kdf_derive_from_key";
              params: readonly [
                  { name: "subkey_length"; type: "int" },
                  { name: "subkey_id"; type: "int" },
                  { name: "context"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_kdf_keygen";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_pwhash";
              params: readonly [
                  { name: "length"; type: "int" },
                  { name: "password"; sensitive: true; type: "string" },
                  { name: "salt"; type: "string" },
                  { name: "opslimit"; type: "int" },
                  { name: "memlimit"; type: "int" },
                  { def: 2; name: "algo"; type: "int" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_pwhash_str";
              params: readonly [
                  { name: "password"; sensitive: true; type: "string" },
                  { name: "opslimit"; type: "int" },
                  { name: "memlimit"; type: "int" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_pwhash_str_verify";
              params: readonly [
                  { name: "hash"; type: "string" },
                  { name: "password"; sensitive: true; type: "string" },
              ];
              returns: "bool";
          },
          {
              name: "sodium_crypto_pwhash_str_needs_rehash";
              params: readonly [
                  { name: "password"; type: "string" },
                  { name: "opslimit"; type: "int" },
                  { name: "memlimit"; type: "int" },
              ];
              returns: "bool";
          },
          {
              name: "sodium_crypto_pwhash_scryptsalsa208sha256";
              params: readonly [
                  { name: "length"; type: "int" },
                  { name: "password"; sensitive: true; type: "string" },
                  { name: "salt"; type: "string" },
                  { name: "opslimit"; type: "int" },
                  { name: "memlimit"; type: "int" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_pwhash_scryptsalsa208sha256_str";
              params: readonly [
                  { name: "password"; sensitive: true; type: "string" },
                  { name: "opslimit"; type: "int" },
                  { name: "memlimit"; type: "int" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_pwhash_scryptsalsa208sha256_str_verify";
              params: readonly [
                  { name: "hash"; type: "string" },
                  { name: "password"; sensitive: true; type: "string" },
              ];
              returns: "bool";
          },
          {
              name: "sodium_crypto_scalarmult";
              params: readonly [
                  { name: "n"; type: "string" },
                  { name: "p"; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_scalarmult_ristretto255";
              params: readonly [
                  { name: "n"; type: "string" },
                  { name: "p"; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_scalarmult_ristretto255_base";
              params: readonly [{ name: "n"; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_secretbox";
              params: readonly [
                  { name: "message"; sensitive: true; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_secretbox_keygen";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_secretbox_open";
              params: readonly [
                  { name: "ciphertext"; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string|false";
          },
          {
              name: "sodium_crypto_secretstream_xchacha20poly1305_keygen";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_secretstream_xchacha20poly1305_init_push";
              params: readonly [{ name: "key"; sensitive: true; type: "string" }];
              returns: "array";
          },
          {
              name: "sodium_crypto_secretstream_xchacha20poly1305_push";
              params: readonly [
                  { name: "state"; ref: true; type: "string" },
                  { name: "message"; sensitive: true; type: "string" },
                  { def: ""; name: "additional_data"; type: "string" },
                  { def: 0; name: "tag"; type: "int" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_secretstream_xchacha20poly1305_init_pull";
              params: readonly [
                  { name: "header"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_secretstream_xchacha20poly1305_pull";
              params: readonly [
                  { name: "state"; ref: true; type: "string" },
                  { name: "ciphertext"; type: "string" },
                  { def: ""; name: "additional_data"; type: "string" },
              ];
              returns: "array|false";
          },
          {
              name: "sodium_crypto_secretstream_xchacha20poly1305_rekey";
              params: readonly [{ name: "state"; ref: true; type: "string" }];
              returns: "void";
          },
          {
              name: "sodium_crypto_shorthash";
              params: readonly [
                  { name: "message"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_shorthash_keygen";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_sign";
              params: readonly [
                  { name: "message"; type: "string" },
                  { name: "secret_key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_sign_detached";
              params: readonly [
                  { name: "message"; type: "string" },
                  { name: "secret_key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_sign_ed25519_pk_to_curve25519";
              params: readonly [{ name: "public_key"; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_sign_ed25519_sk_to_curve25519";
              params: readonly [{ name: "secret_key"; sensitive: true; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_sign_keypair";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_sign_keypair_from_secretkey_and_publickey";
              params: readonly [
                  { name: "secret_key"; sensitive: true; type: "string" },
                  { name: "public_key"; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_sign_open";
              params: readonly [
                  { name: "signed_message"; type: "string" },
                  { name: "public_key"; type: "string" },
              ];
              returns: "string|false";
          },
          {
              name: "sodium_crypto_sign_publickey";
              params: readonly [{ name: "key_pair"; sensitive: true; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_sign_secretkey";
              params: readonly [{ name: "key_pair"; sensitive: true; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_sign_publickey_from_secretkey";
              params: readonly [{ name: "secret_key"; sensitive: true; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_sign_seed_keypair";
              params: readonly [{ name: "seed"; sensitive: true; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_crypto_sign_verify_detached";
              params: readonly [
                  { name: "signature"; type: "string" },
                  { name: "message"; type: "string" },
                  { name: "public_key"; type: "string" },
              ];
              returns: "bool";
          },
          {
              name: "sodium_crypto_stream";
              params: readonly [
                  { name: "length"; type: "int" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_stream_keygen";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_stream_xor";
              params: readonly [
                  { name: "message"; sensitive: true; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_stream_xchacha20";
              params: readonly [
                  { name: "length"; type: "int" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_stream_xchacha20_keygen";
              params: readonly [];
              returns: "string";
          },
          {
              name: "sodium_crypto_stream_xchacha20_xor";
              params: readonly [
                  { name: "message"; sensitive: true; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_stream_xchacha20_xor_ic";
              params: readonly [
                  { name: "message"; sensitive: true; type: "string" },
                  { name: "nonce"; type: "string" },
                  { name: "counter"; type: "int" },
                  { name: "key"; sensitive: true; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_add";
              params: readonly [
                  { name: "string1"; ref: true; type: "string" },
                  { name: "string2"; type: "string" },
              ];
              returns: "void";
          },
          {
              name: "sodium_compare";
              params: readonly [
                  { name: "string1"; sensitive: true; type: "string" },
                  { name: "string2"; sensitive: true; type: "string" },
              ];
              returns: "int";
          },
          {
              name: "sodium_increment";
              params: readonly [{ name: "string"; ref: true; type: "string" }];
              returns: "void";
          },
          {
              name: "sodium_memcmp";
              params: readonly [
                  { name: "string1"; sensitive: true; type: "string" },
                  { name: "string2"; sensitive: true; type: "string" },
              ];
              returns: "int";
          },
          {
              name: "sodium_memzero";
              params: readonly [
                  { name: "string"; ref: true; sensitive: true; type: "string" },
              ];
              returns: "void";
          },
          {
              name: "sodium_pad";
              params: readonly [
                  { name: "string"; sensitive: true; type: "string" },
                  { name: "block_size"; type: "int" },
              ];
              returns: "string";
          },
          {
              name: "sodium_unpad";
              params: readonly [
                  { name: "string"; sensitive: true; type: "string" },
                  { name: "block_size"; type: "int" },
              ];
              returns: "string";
          },
          {
              name: "sodium_bin2hex";
              params: readonly [{ name: "string"; sensitive: true; type: "string" }];
              returns: "string";
          },
          {
              name: "sodium_hex2bin";
              params: readonly [
                  { name: "string"; sensitive: true; type: "string" },
                  { def: ""; name: "ignore"; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_bin2base64";
              params: readonly [
                  { name: "string"; sensitive: true; type: "string" },
                  { name: "id"; type: "int" },
              ];
              returns: "string";
          },
          {
              name: "sodium_base642bin";
              params: readonly [
                  { name: "string"; sensitive: true; type: "string" },
                  { name: "id"; type: "int" },
                  { def: ""; name: "ignore"; type: "string" },
              ];
              returns: "string";
          },
          {
              name: "sodium_crypto_scalarmult_base";
              params: readonly [{ name: "secret_key"; sensitive: true; type: "string" }];
              returns: "string";
          },
      ]
    • Readonlyversion: "8.5.7"