mirror of
https://github.com/basicswap/basicswap.git
synced 2025-11-06 02:38:11 +01:00
Started stutdown and explorer pages.
Bid state can be manually edited.
This commit is contained in:
@@ -9,33 +9,72 @@ import json
|
||||
|
||||
|
||||
class Explorer():
|
||||
def __init__(self, swapclient, base_url):
|
||||
def __init__(self, swapclient, coin_type, base_url):
|
||||
self.swapclient = swapclient
|
||||
self.coin_type = coin_type
|
||||
self.base_url = base_url
|
||||
self.log = self.swapclient.log
|
||||
self.coin_settings = self.swapclient.coin_clients[self.coin_type]
|
||||
|
||||
def readURL(self, url):
|
||||
self.log.debug('Explorer url: {}'.format(url))
|
||||
headers = {'User-Agent': 'Mozilla/5.0'}
|
||||
req = urllib.request.Request(url, headers=headers)
|
||||
return urllib.request.urlopen(req).read()
|
||||
|
||||
|
||||
class ExplorerInsight(Explorer):
|
||||
def getChainHeight(self):
|
||||
return json.loads(urllib.request.urlopen(self.base_url + '/sync').read())['blockChainHeight']
|
||||
return json.loads(self.readURL(self.base_url + '/sync'))['blockChainHeight']
|
||||
|
||||
def getBlock(self, block_hash):
|
||||
data = json.loads(self.readURL(self.base_url + '/block/{}'.format(block_hash)))
|
||||
return data
|
||||
|
||||
def getTransaction(self, txid):
|
||||
data = json.loads(self.readURL(self.base_url + '/tx/{}'.format(txid)))
|
||||
return data
|
||||
|
||||
def getBalance(self, address):
|
||||
data = json.loads(self.readURL(self.base_url + '/addr/{}/balance'.format(address)))
|
||||
return data
|
||||
|
||||
def lookupUnspentByAddress(self, address):
|
||||
chain_height = self.getChainHeight()
|
||||
self.log.debug('[rm] chain_height %d', chain_height)
|
||||
data = json.loads(self.readURL(self.base_url + '/addr/{}/utxo'.format(address)))
|
||||
rv = []
|
||||
for utxo in data:
|
||||
rv.append({
|
||||
'txid': utxo['txid'],
|
||||
'index': utxo['vout'],
|
||||
'height': utxo['height'],
|
||||
'n_conf': utxo['confirmations'],
|
||||
})
|
||||
return rv
|
||||
|
||||
|
||||
class ExplorerBitAps(Explorer):
|
||||
def getChainHeight(self):
|
||||
return json.loads(urllib.request.urlopen(self.base_url + '/block/last').read())['data']['block']['height']
|
||||
return json.loads(self.readURL(self.base_url + '/block/last'))['data']['block']['height']
|
||||
|
||||
def getBlock(self, block_hash):
|
||||
data = json.loads(self.readURL(self.base_url + '/block/{}'.format(block_hash)))
|
||||
return data
|
||||
|
||||
def getTransaction(self, txid):
|
||||
data = json.loads(self.readURL(self.base_url + '/transaction/{}'.format(txid)))
|
||||
return data
|
||||
|
||||
def getBalance(self, address):
|
||||
data = json.loads(self.readURL(self.base_url + '/address/state/' + address))
|
||||
return data
|
||||
|
||||
def lookupUnspentByAddress(self, address):
|
||||
chain_height = self.getChainHeight()
|
||||
self.log.debug('[rm] chain_height %d', chain_height)
|
||||
return json.loads(self.readURL(self.base_url + '/address/transactions/' + address))
|
||||
|
||||
|
||||
class ExplorerChainz(Explorer):
|
||||
def getChainHeight(self):
|
||||
return int(urllib.request.urlopen(self.base_url + '?q=getblockcount').read())
|
||||
return int(self.readURL(self.base_url + '?q=getblockcount'))
|
||||
|
||||
def lookupUnspentByAddress(self, address):
|
||||
chain_height = self.getChainHeight()
|
||||
|
||||
Reference in New Issue
Block a user