Siwa.EvmPersonalSign (siwa v0.1.1)

Copy Markdown

EVM personal-sign recovery and verification helpers.

Summary

Types

address()

@type address() :: String.t()

error()

@type error() ::
  :invalid_message
  | :invalid_address
  | :invalid_signature
  | :invalid_signature_encoding
  | :invalid_recovery_id
  | :invalid_public_key

Functions

compact_signature(signature)

@spec compact_signature(binary()) :: {:ok, {binary(), 0 | 1}} | {:error, error()}

personal_hash(message)

@spec personal_hash(binary()) :: binary()
@spec personal_hash(term()) :: {:error, :invalid_message}

public_key_to_address(arg)

@spec public_key_to_address(binary()) :: address()

recover_address(digest, signature)

@spec recover_address(binary(), binary()) :: {:ok, address()} | {:error, error()}

recover_personal_address(message, signature)

@spec recover_personal_address(binary(), binary()) ::
  {:ok, address()} | {:error, error()}

sign_personal_signature(private_key, message)

@spec sign_personal_signature(binary(), binary()) ::
  {:ok, binary()} | {:error, error()}

signature_bytes(arg1)

@spec signature_bytes(binary()) :: {:ok, binary()} | {:error, error()}

verify_personal_signature(message, signature, expected_address)

@spec verify_personal_signature(binary(), binary(), address()) ::
  :ok | {:error, error()}