class Stytch::CryptoWallets

def authenticate(

def authenticate(
  crypto_wallet_address:,
  crypto_wallet_type:,
  signature:,
  session_token: nil,
  session_jwt: nil,
  session_duration_minutes: nil,
  session_custom_claims: nil
)
  request = {
    crypto_wallet_address: crypto_wallet_address,
    crypto_wallet_type: crypto_wallet_type,
    signature: signature
  }
  request[:session_token] = session_token unless session_token.nil?
  request[:session_jwt] = session_jwt unless session_jwt.nil?
  request[:session_duration_minutes] = session_duration_minutes unless session_duration_minutes.nil?
  request[:session_custom_claims] = session_custom_claims unless session_custom_claims.nil?
  post_request("#{PATH}/authenticate", request)
end

def authenticate_start(

def authenticate_start(
  crypto_wallet_address:,
  crypto_wallet_type:,
  user_id: nil,
  session_token: nil,
  session_jwt: nil
)
  request = {
    crypto_wallet_address: crypto_wallet_address,
    crypto_wallet_type: crypto_wallet_type
  }
  request[:user_id] = user_id unless user_id.nil?
  request[:session_token] = session_token unless session_token.nil?
  request[:session_jwt] = session_jwt unless session_jwt.nil?
  post_request("#{PATH}/authenticate/start", request)
end

def initialize(connection)

def initialize(connection)
  @connection = connection
end