class PeatioAPI::Auth

Public Class Methods

new(access_key, secret_key) click to toggle source
# File lib/peatio_api/auth.rb, line 4
def initialize(access_key, secret_key)
  @access_key = access_key
  @secret_key = secret_key
end

Public Instance Methods

format_params(params) click to toggle source
# File lib/peatio_api/auth.rb, line 28
def format_params(params)
  params = params.symbolize_keys
  params[:access_key] ||= @access_key
  params[:tonce]      ||= (Time.now.to_f*1000).to_i
  params
end
payload(verb, path, params) click to toggle source
# File lib/peatio_api/auth.rb, line 24
def payload(verb, path, params)
  "#{verb.upcase}|#{path}|#{params}"
end
sign(verb, path, params) click to toggle source
# File lib/peatio_api/auth.rb, line 20
def sign(verb, path, params)
  OpenSSL::HMAC.hexdigest 'SHA256', @secret_key, payload(verb, path, params)
end
signed_challenge(challenge) click to toggle source
# File lib/peatio_api/auth.rb, line 9
def signed_challenge(challenge)
  signature = OpenSSL::HMAC.hexdigest 'SHA256', @secret_key, "#{@access_key}#{challenge}"
  {auth: {access_key: @access_key, answer: signature}}
end
signed_params(verb, path, params={}) click to toggle source
# File lib/peatio_api/auth.rb, line 14
def signed_params(verb, path, params={})
  params    = format_params params
  signature = sign verb, path, URI.unescape(params.to_query)
  params.merge(signature: signature)
end