Browse Source

RPCError is not a global variable

master
Neil Booth 8 years ago
parent
commit
4c7f72fe68
  1. 35
      server/protocol.py

35
server/protocol.py

@ -260,8 +260,8 @@ class Session(JSONRPC):
return param
except ValueError:
pass
raise RPCError('parameter should be a transaction hash: {}'
.format(param))
raise self.RPCError('parameter should be a transaction hash: {}'
.format(param))
def hash168_from_param(self, param):
if isinstance(param, str):
@ -269,7 +269,8 @@ class Session(JSONRPC):
return self.coin.address_to_hash168(param)
except:
pass
raise RPCError('parameter should be a valid address: {}'.format(param))
raise self.RPCError('parameter should be a valid address: {}'
.format(param))
def non_negative_integer_from_param(self, param):
try:
@ -280,24 +281,24 @@ class Session(JSONRPC):
if param >= 0:
return param
raise RPCError('param should be a non-negative integer: {}'
.format(param))
raise self.RPCError('param should be a non-negative integer: {}'
.format(param))
def extract_hash168(self, params):
if len(params) == 1:
return self.hash168_from_param(params[0])
raise RPCError('params should contain a single address: {}'
.format(params))
raise self.RPCError('params should contain a single address: {}'
.format(params))
def extract_non_negative_integer(self, params):
if len(params) == 1:
return self.non_negative_integer_from_param(params[0])
raise RPCError('params should contain a non-negative integer: {}'
.format(params))
raise self.RPCError('params should contain a non-negative integer: {}'
.format(params))
def require_empty_params(self, params):
if params:
raise RPCError('params should be empty: {}'.format(params))
raise self.RPCError('params should be empty: {}'.format(params))
class ElectrumX(Session):
@ -370,7 +371,7 @@ class ElectrumX(Session):
def electrum_header(self, height):
'''Return the binary header at the given height.'''
if not 0 <= height <= self.height():
raise RPCError('height {:,d} out of range'.format(height))
raise self.RPCError('height {:,d} out of range'.format(height))
header = self.bp.read_headers(height, 1)
return self.coin.electrum_header(header, height)
@ -472,11 +473,11 @@ class ElectrumX(Session):
async def address_get_mempool(self, params):
hash168 = self.extract_hash168(params)
raise RPCError('get_mempool is not yet implemented')
raise self.RPCError('get_mempool is not yet implemented')
async def address_get_proof(self, params):
hash168 = self.extract_hash168(params)
raise RPCError('get_proof is not yet implemented')
raise self.RPCError('get_proof is not yet implemented')
async def address_listunspent(self, params):
hash168 = self.extract_hash168(params)
@ -550,7 +551,7 @@ class ElectrumX(Session):
tx_hash = self.tx_hash_from_param(params[0])
return await self.daemon.getrawtransaction(tx_hash)
raise RPCError('params wrong length: {}'.format(params))
raise self.RPCError('params wrong length: {}'.format(params))
async def transaction_get_merkle(self, params):
if len(params) == 2:
@ -558,7 +559,8 @@ class ElectrumX(Session):
height = self.non_negative_integer_from_param(params[1])
return await self.tx_merkle(tx_hash, height)
raise RPCError('params should contain a transaction hash and height')
raise self.RPCError('params should contain a transaction hash '
'and height')
async def utxo_get_address(self, params):
if len(params) == 2:
@ -570,7 +572,8 @@ class ElectrumX(Session):
return self.coin.hash168_to_address(hash168)
return None
raise RPCError('params should contain a transaction hash and index')
raise self.RPCError('params should contain a transaction hash '
'and index')
# --- server commands

Loading…
Cancel
Save