Sha256: e747efc2b5c8c57536431b4187ce47106db7e11022577b84f2641cc7facd0eab

Contents?: true

Size: 1.36 KB

Versions: 8

Compression:

Stored size: 1.36 KB

Contents

# frozen_string_literal: true

require_relative 'request_helper'

module Stytch
  class CryptoWallets
    include Stytch::RequestHelper

    PATH = '/v1/crypto_wallets'

    def initialize(connection)
      @connection = connection
    end

    def authenticate_start(
      crypto_wallet_address:,
      crypto_wallet_type:,
      user_id: nil
    )
      request = {
        crypto_wallet_address: crypto_wallet_address,
        crypto_wallet_type: crypto_wallet_type
      }

      request[:user_id] = user_id unless user_id.nil?

      post_request("#{PATH}/authenticate/start", request)
    end

    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
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
stytch-3.12.0 lib/stytch/crypto_wallets.rb
stytch-3.11.0 lib/stytch/crypto_wallets.rb
stytch-3.10.0 lib/stytch/crypto_wallets.rb
stytch-3.9.0 lib/stytch/crypto_wallets.rb
stytch-3.8.0 lib/stytch/crypto_wallets.rb
stytch-3.7.0 lib/stytch/crypto_wallets.rb
stytch-3.6.0 lib/stytch/crypto_wallets.rb
stytch-3.5.0 lib/stytch/crypto_wallets.rb