class Katapaty::Party

Public Class Methods

address_token_balance(address:, token:, proxy: false) click to toggle source
# File lib/katapaty/party.rb, line 12
def address_token_balance(address:, token:, proxy: false)
  filters_params = {
    "filters": [
      { "field": 'address', "op": '==', "value": address },
      { "field": 'asset', "op": '==', "value": token }
    ]
  }
  if proxy
    response = Katapaty::Block.proxy_to_cp(method: :get_balances, params: filters_params)
  else
    response = request('get_balances', filters_params)
  end
  return 0 if response.blank?
  response.first['quantity'].to_i
end
btc_unconfirm_balance(address) click to toggle source
# File lib/katapaty/party.rb, line 48
def btc_unconfirm_balance(address)
  (unspent_txouts(address).map { |a| a['amount'] }.sum.to_d * 1e8).to_i
end
create_order(payload) click to toggle source
# File lib/katapaty/party.rb, line 44
def create_order(payload)
  request('create_order', payload)
end
create_send(payload) click to toggle source
# File lib/katapaty/party.rb, line 40
def create_send(payload)
  request('create_send', payload)
end
get_asset_info(assets) click to toggle source
# File lib/katapaty/party.rb, line 28
def get_asset_info(assets)
  request('get_asset_info', { assets: assets })
end
get_blocks(block_indexes) click to toggle source
# File lib/katapaty/party.rb, line 32
def get_blocks(block_indexes)
  request('get_blocks', { block_indexes: block_indexes })
end
get_running_info() click to toggle source
# File lib/katapaty/party.rb, line 8
def get_running_info
  request('get_running_info')
end
getrawtransaction(tx_hash) click to toggle source
# File lib/katapaty/party.rb, line 36
def getrawtransaction(tx_hash)
  request('getrawtransaction', { tx_hash: tx_hash })
end
method_missing(name, *args) click to toggle source
# File lib/katapaty/party.rb, line 67
def method_missing(name, *args)
  args = args.nil? ? {} : args.first
  request(name, args)
end
request(method_name, payload={}) click to toggle source
# File lib/katapaty/party.rb, line 56
def request(method_name, payload={})
  client = RestClient::Resource.new(Katapaty.configuration.counterparty_url, timeout: Katapaty.configuration.timeout)
  request = { method: method_name.to_s, params: payload, jsonrpc: '2.0', id: '0' }.to_json
  response = JSON.parse client.post(request,
                                    accept: 'json',
                                    content_type: 'json' )
  raise Katapaty::JsonResponseError.new response if response.has_key? 'code'
  raise Katapaty::ResponseError.new response['error'] if response.has_key? 'error'
  response['result']
end
unspent_txouts(address) click to toggle source
# File lib/katapaty/party.rb, line 52
def unspent_txouts(address)
  request(:get_unspent_txouts, { address: address, unconfirmed: true })
end