delete class MoneroRPCClientRaw
This commit is contained in:
parent
add9dd7850
commit
ee8ca9f99e
6 changed files with 24 additions and 47 deletions
|
|
@ -44,8 +44,8 @@ class monero_daemon(CoinDaemon):
|
|||
|
||||
def init_subclass(self):
|
||||
|
||||
from .rpc import MoneroRPCClientRaw
|
||||
self.rpc = MoneroRPCClientRaw(
|
||||
from .rpc import MoneroRPCClient
|
||||
self.rpc = MoneroRPCClient(
|
||||
host = self.host,
|
||||
port = self.rpc_port,
|
||||
user = None,
|
||||
|
|
|
|||
|
|
@ -59,24 +59,19 @@ class MoneroRPCClient(RPCClient):
|
|||
host_path = '/json_rpc'
|
||||
))
|
||||
|
||||
rpcmethods = ( 'get_info', )
|
||||
|
||||
class MoneroRPCClientRaw(MoneroRPCClient):
|
||||
|
||||
json_rpc = False
|
||||
|
||||
async def call(self,method,*params,**kwargs):
|
||||
async def call_raw(self,method,*params,**kwargs):
|
||||
assert params == (), f'{type(self).__name__}.call() accepts keyword arguments only'
|
||||
return self.process_http_resp(await self.backend.run(
|
||||
payload = kwargs,
|
||||
timeout = self.timeout,
|
||||
host_path = f'/{method}'
|
||||
))
|
||||
),json_rpc=False)
|
||||
|
||||
async def do_stop_daemon(self,silent=False):
|
||||
return await self.call('stop_daemon')
|
||||
return await self.call_raw('stop_daemon')
|
||||
|
||||
rpcmethods = ( 'get_height', 'send_raw_transaction', 'stop_daemon' )
|
||||
rpcmethods = ( 'get_info', )
|
||||
rpcmethods_raw = ( 'get_height', 'send_raw_transaction', 'stop_daemon' )
|
||||
|
||||
class MoneroWalletRPCClient(MoneroRPCClient):
|
||||
|
||||
|
|
@ -106,6 +101,9 @@ class MoneroWalletRPCClient(MoneroRPCClient):
|
|||
'refresh', # start_height
|
||||
)
|
||||
|
||||
def call_raw(*args,**kwargs):
|
||||
raise NotImplementedError('call_raw() not implemented for class MoneroWalletRPCClient')
|
||||
|
||||
async def do_stop_daemon(self,silent=False):
|
||||
"""
|
||||
NB: the 'stop_wallet' RPC call closes the open wallet before shutting down the daemon,
|
||||
|
|
|
|||
|
|
@ -252,7 +252,6 @@ class RPCBackends:
|
|||
|
||||
class RPCClient(MMGenObject):
|
||||
|
||||
json_rpc = True
|
||||
auth_type = None
|
||||
has_auth_cookie = False
|
||||
network_proto = 'http'
|
||||
|
|
@ -375,7 +374,7 @@ class RPCClient(MMGenObject):
|
|||
return [r['result'] for r in json.loads(text,parse_float=Decimal)]
|
||||
else:
|
||||
try:
|
||||
if self.json_rpc:
|
||||
if json_rpc:
|
||||
return json.loads(text,parse_float=Decimal)['result']
|
||||
else:
|
||||
return json.loads(text,parse_float=Decimal)
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ from .proto.btc.common import b58a
|
|||
from .addr import CoinAddr,AddrIdx
|
||||
from .addrlist import KeyAddrList,AddrIdxList
|
||||
from .rpc import json_encoder
|
||||
from .proto.xmr.rpc import MoneroRPCClientRaw,MoneroWalletRPCClient
|
||||
from .proto.xmr.rpc import MoneroRPCClient,MoneroWalletRPCClient
|
||||
from .proto.xmr.daemon import MoneroWalletDaemon
|
||||
from .ui import keypress_confirm
|
||||
|
||||
|
|
@ -636,8 +636,7 @@ class MoneroWalletOps:
|
|||
self.accts_data = {}
|
||||
|
||||
async def process_wallet(self,d,fn,last):
|
||||
|
||||
chain_height = (await self.dc.call('get_height'))['height']
|
||||
chain_height = (await self.dc.call_raw('get_height'))['height']
|
||||
msg(f' Chain height: {chain_height}')
|
||||
|
||||
t_start = time.time()
|
||||
|
|
@ -936,7 +935,7 @@ class MoneroWalletOps:
|
|||
host,port = md.host,md.rpc_port
|
||||
proxy = None
|
||||
|
||||
self.dc = MoneroRPCClientRaw(
|
||||
self.dc = MoneroRPCClient(
|
||||
host = host,
|
||||
port = int(port),
|
||||
user = None,
|
||||
|
|
@ -952,7 +951,7 @@ class MoneroWalletOps:
|
|||
self.display_tx_relay_info()
|
||||
|
||||
if keypress_confirm('Relay transaction?'):
|
||||
res = await self.dc.call(
|
||||
res = await self.dc.call_raw(
|
||||
'send_raw_transaction',
|
||||
tx_as_hex = self.tx.data.blob
|
||||
)
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ class TestSuiteXMRWallet(TestSuiteBase):
|
|||
def init_users(self):
|
||||
from mmgen.daemon import CoinDaemon
|
||||
from mmgen.proto.xmr.daemon import MoneroWalletDaemon
|
||||
from mmgen.proto.xmr.rpc import MoneroRPCClient,MoneroRPCClientRaw,MoneroWalletRPCClient
|
||||
from mmgen.proto.xmr.rpc import MoneroRPCClient,MoneroWalletRPCClient
|
||||
self.users = {}
|
||||
n = self.tmpdir_nums[0]
|
||||
ud = namedtuple('user_data',[
|
||||
|
|
@ -205,7 +205,6 @@ class TestSuiteXMRWallet(TestSuiteBase):
|
|||
'addrfile_fs',
|
||||
'md',
|
||||
'md_rpc',
|
||||
'md_json_rpc',
|
||||
'wd',
|
||||
'wd_rpc',
|
||||
])
|
||||
|
|
@ -223,15 +222,7 @@ class TestSuiteXMRWallet(TestSuiteBase):
|
|||
opts = ['online'],
|
||||
datadir = datadir
|
||||
)
|
||||
md_rpc = MoneroRPCClientRaw(
|
||||
host = md.host,
|
||||
port = md.rpc_port,
|
||||
user = None,
|
||||
passwd = None,
|
||||
test_connection = False,
|
||||
daemon = md,
|
||||
)
|
||||
md_json_rpc = MoneroRPCClient(
|
||||
md_rpc = MoneroRPCClient(
|
||||
host = md.host,
|
||||
port = md.rpc_port,
|
||||
user = None,
|
||||
|
|
@ -261,7 +252,6 @@ class TestSuiteXMRWallet(TestSuiteBase):
|
|||
addrfile_fs = f'{udir}/{sid}-{{}}-MoneroWallet.address.txt',
|
||||
md = md,
|
||||
md_rpc = md_rpc,
|
||||
md_json_rpc = md_json_rpc,
|
||||
wd = wd,
|
||||
wd_rpc = wd_rpc,
|
||||
)
|
||||
|
|
@ -560,7 +550,7 @@ class TestSuiteXMRWallet(TestSuiteBase):
|
|||
addr = read_from_file(data.addrfile_fs.format(1)) # mine to wallet #1, account 0
|
||||
|
||||
for i in range(20):
|
||||
ret = await data.md_rpc.call(
|
||||
ret = await data.md_rpc.call_raw(
|
||||
'start_mining',
|
||||
do_background_mining = False, # run mining in background or foreground
|
||||
ignore_battery = True, # ignore battery state (on laptop)
|
||||
|
|
@ -578,7 +568,7 @@ class TestSuiteXMRWallet(TestSuiteBase):
|
|||
die(2,'Max retries exceeded')
|
||||
|
||||
async def stop_mining(self):
|
||||
ret = await self.users['miner'].md_rpc.call('stop_mining')
|
||||
ret = await self.users['miner'].md_rpc.call_raw('stop_mining')
|
||||
return self.get_status(ret)
|
||||
|
||||
async def mine_chk(self,user,wnum,account,test,test_desc,random_txs=None,return_amt=False):
|
||||
|
|
@ -595,7 +585,7 @@ class TestSuiteXMRWallet(TestSuiteBase):
|
|||
u = self.users['miner']
|
||||
for i in range(20):
|
||||
try:
|
||||
return (await u.md_json_rpc.call('get_last_block_header'))['block_header']['height']
|
||||
return (await u.md_rpc.call('get_last_block_header'))['block_header']['height']
|
||||
except Exception as e:
|
||||
if 'onnection refused' in str(e):
|
||||
omsg(f'{e}\nMonerod appears to have crashed. Attempting to restart...')
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ from mmgen.common import *
|
|||
from mmgen.protocol import init_proto
|
||||
from mmgen.rpc import rpc_init
|
||||
from mmgen.daemon import CoinDaemon
|
||||
from mmgen.proto.xmr.rpc import MoneroRPCClient,MoneroRPCClientRaw,MoneroWalletRPCClient
|
||||
from mmgen.proto.xmr.rpc import MoneroRPCClient,MoneroWalletRPCClient
|
||||
from mmgen.proto.xmr.daemon import MoneroWalletDaemon
|
||||
|
||||
def cfg_file_auth_test(proto,d,bad_auth=False):
|
||||
|
|
@ -160,24 +160,15 @@ class unit_tests:
|
|||
def xmrwallet(self,name,ut):
|
||||
|
||||
async def test_monerod_rpc(md):
|
||||
md_rpc = MoneroRPCClientRaw(
|
||||
md = MoneroRPCClient(
|
||||
host = md.host,
|
||||
port = md.rpc_port,
|
||||
user = None,
|
||||
passwd = None,
|
||||
test_connection = False,
|
||||
daemon = md,
|
||||
)
|
||||
md_json_rpc = MoneroRPCClient(
|
||||
host = md.host,
|
||||
port = md.rpc_port,
|
||||
user = None,
|
||||
passwd = None,
|
||||
test_connection = False,
|
||||
daemon = md,
|
||||
)
|
||||
await md_rpc.call('get_height')
|
||||
await md_json_rpc.call('get_last_block_header')
|
||||
await md.call_raw('get_height')
|
||||
await md.call('get_last_block_header')
|
||||
|
||||
async def run():
|
||||
networks = init_proto('xmr').networks
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue