Class: Katapaty::Party
- Inherits:
-
Object
- Object
- Katapaty::Party
- Defined in:
- lib/katapaty/party.rb
Class Method Summary collapse
- .address_token_balance(address:, token:, proxy: false) ⇒ Object
- .btc_unconfirm_balance(address) ⇒ Object
- .create_order(payload) ⇒ Object
- .create_send(payload) ⇒ Object
- .get_asset_info(assets) ⇒ Object
- .get_blocks(block_indexes) ⇒ Object
- .get_running_info ⇒ Object
- .getrawtransaction(tx_hash) ⇒ Object
- .method_missing(name, *args) ⇒ Object
- .request(method_name, payload = {}) ⇒ Object
- .unspent_txouts(address) ⇒ Object
Class Method Details
.address_token_balance(address:, token:, proxy: false) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# 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) ⇒ Object
48 49 50 |
# 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) ⇒ Object
44 45 46 |
# File 'lib/katapaty/party.rb', line 44 def create_order(payload) request('create_order', payload) end |
.create_send(payload) ⇒ Object
40 41 42 |
# File 'lib/katapaty/party.rb', line 40 def create_send(payload) request('create_send', payload) end |
.get_asset_info(assets) ⇒ Object
28 29 30 |
# File 'lib/katapaty/party.rb', line 28 def get_asset_info(assets) request('get_asset_info', { assets: assets }) end |
.get_blocks(block_indexes) ⇒ Object
32 33 34 |
# File 'lib/katapaty/party.rb', line 32 def get_blocks(block_indexes) request('get_blocks', { block_indexes: block_indexes }) end |
.get_running_info ⇒ Object
8 9 10 |
# File 'lib/katapaty/party.rb', line 8 def get_running_info request('get_running_info') end |
.getrawtransaction(tx_hash) ⇒ Object
36 37 38 |
# File 'lib/katapaty/party.rb', line 36 def getrawtransaction(tx_hash) request('getrawtransaction', { tx_hash: tx_hash }) end |
.method_missing(name, *args) ⇒ Object
67 68 69 70 |
# 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 = {}) ⇒ Object
56 57 58 59 60 61 62 63 64 65 |
# 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) ⇒ Object
52 53 54 |
# File 'lib/katapaty/party.rb', line 52 def unspent_txouts(address) request(:get_unspent_txouts, { address: address, unconfirmed: true }) end |