Files
Dena/lib/peatio/upstream/opendax.rb
2026-08-13 19:50:53 +03:30

43 lines
1.1 KiB
Ruby

# frozen_string_literal: true
module Peatio
module Upstream
class Opendax < Peatio::Upstream::Base
def initialize(config)
super
@connection = Faraday.new(url: "#{config['rest']}") do |builder|
builder.response :json
builder.response :logger if config["debug"]
builder.adapter(@adapter)
builder.ssl[:verify] = config["verify_ssl"] unless config["verify_ssl"].nil?
end
@rest = "#{config['rest']}"
@ws_url = "#{config['websocket']}/public"
end
def ws_read_public_message(msg)
if msg.keys.first.split('.').second == 'trades'
detect_trade(msg)
end
end
def detect_trade(msg)
msg.values.first['trades'].each do |trade|
notify_public_trade(trade)
end
end
def subscribe_trades(market, ws)
sub = {
event: 'subscribe',
streams: ["#{market}.trades"]
}
Rails.logger.info 'Open event' + sub.to_s
EM.next_tick do
ws.send(JSON.generate(sub))
end
end
end
end
end