Packages

WhatsApp Web API client for Elixir. Full-featured port of Baileys with end-to-end Signal Protocol encryption, multi-device support, groups, communities, media, newsletters, and native BEAM fault tolerance.

Current section

Files

Jump to
baileys_ex lib baileys_ex native.ex
Raw

lib/baileys_ex/native.ex

defmodule BaileysEx.Native do
@moduledoc false
use Rustler, otp_app: :baileys_ex, crate: "baileys_nif"
# Noise NIFs
def noise_init(prologue), do: noise_init(prologue, nil, nil)
def noise_init(prologue, private_key), do: noise_init(prologue, private_key, nil)
def noise_init(_prologue, _private_key, _ephemeral_private_key),
do: :erlang.nif_error(:nif_not_loaded)
def noise_init_responder(prologue), do: noise_init_responder(prologue, nil, nil)
def noise_init_responder(prologue, private_key),
do: noise_init_responder(prologue, private_key, nil)
def noise_init_responder(_prologue, _private_key, _ephemeral_private_key),
do: :erlang.nif_error(:nif_not_loaded)
def noise_handshake_write(_session, _payload), do: :erlang.nif_error(:nif_not_loaded)
def noise_handshake_read(_session, _message), do: :erlang.nif_error(:nif_not_loaded)
def noise_finish(_session), do: :erlang.nif_error(:nif_not_loaded)
def noise_encrypt(_session, _plaintext), do: :erlang.nif_error(:nif_not_loaded)
def noise_decrypt(_session, _ciphertext), do: :erlang.nif_error(:nif_not_loaded)
def noise_session_count, do: :erlang.nif_error(:nif_not_loaded)
# XEdDSA NIFs
def xeddsa_sign(_private_key, _message), do: :erlang.nif_error(:nif_not_loaded)
def xeddsa_verify(_public_key, _message, _signature), do: :erlang.nif_error(:nif_not_loaded)
end