Browse Source

MoneroWalletRPCClient: simplify instantiation

The MMGen Project 3 years ago
parent
commit
641c6bdf97
4 changed files with 17 additions and 24 deletions
  1. 13 0
      mmgen/rpc.py
  2. 2 12
      mmgen/xmrwallet.py
  3. 1 7
      test/test_py_d/ts_xmrwallet.py
  4. 1 5
      test/unit_tests_d/ut_rpc.py

+ 13 - 0
mmgen/rpc.py

@@ -706,6 +706,19 @@ class MoneroRPCClientRaw(MoneroRPCClient):
 class MoneroWalletRPCClient(MoneroRPCClient):
 class MoneroWalletRPCClient(MoneroRPCClient):
 
 
 	auth_type = 'digest'
 	auth_type = 'digest'
+
+	def __init__(self,daemon,test_connection=True):
+
+		RPCClient.__init__(
+			self,
+			daemon.host,
+			daemon.rpc_port,
+			test_connection = test_connection )
+
+		self.daemon = daemon
+		self.auth = auth_data(daemon.user,daemon.passwd)
+		self.set_backend('requests')
+
 	rpcmethods = (
 	rpcmethods = (
 		'get_version',
 		'get_version',
 		'get_height',    # sync height of the open wallet
 		'get_height',    # sync height of the open wallet

+ 2 - 12
mmgen/xmrwallet.py

@@ -341,12 +341,7 @@ class MoneroWalletOps:
 			if not uopt.no_start_wallet_daemon:
 			if not uopt.no_start_wallet_daemon:
 				self.wd.restart()
 				self.wd.restart()
 
 
-			self.c = MoneroWalletRPCClient(
-				host   = self.wd.host,
-				port   = self.wd.rpc_port,
-				user   = self.wd.user,
-				passwd = self.wd.passwd
-			)
+			self.c = MoneroWalletRPCClient(daemon=self.wd)
 
 
 		def create_addr_data(self):
 		def create_addr_data(self):
 			if uarg.wallets:
 			if uarg.wallets:
@@ -742,12 +737,7 @@ class MoneroWalletOps:
 
 
 			self.wd2.start()
 			self.wd2.start()
 
 
-			self.c = MoneroWalletRPCClient(
-				host   = self.wd2.host,
-				port   = self.wd2.rpc_port,
-				user   = self.wd2.user,
-				passwd = self.wd2.passwd
-			)
+			self.c = MoneroWalletRPCClient(daemon=self.wd2)
 
 
 		async def main(self):
 		async def main(self):
 			gmsg(f'\n{self.desc}ing account #{self.account} of wallet {self.source.idx}' + (
 			gmsg(f'\n{self.desc}ing account #{self.account} of wallet {self.source.idx}' + (

+ 1 - 7
test/test_py_d/ts_xmrwallet.py

@@ -236,13 +236,7 @@ class TestSuiteXMRWallet(TestSuiteBase):
 				datadir    = os.path.join('test','daemons'),
 				datadir    = os.path.join('test','daemons'),
 				daemon_addr = f'127.0.0.1:{md.rpc_port}',
 				daemon_addr = f'127.0.0.1:{md.rpc_port}',
 			)
 			)
-			wd_rpc = MoneroWalletRPCClient(
-				host   = wd.host,
-				port   = wd.rpc_port,
-				user   = wd.user,
-				passwd = wd.passwd,
-				test_connection = False,
-			)
+			wd_rpc = MoneroWalletRPCClient( daemon=wd, test_connection=False )
 			self.users[user] = ud(
 			self.users[user] = ud(
 				sid           = sid,
 				sid           = sid,
 				mmwords       = f'test/ref/{sid}.mmwords',
 				mmwords       = f'test/ref/{sid}.mmwords',

+ 1 - 5
test/unit_tests_d/ut_rpc.py

@@ -124,11 +124,7 @@ class unit_tests:
 				if not opt.no_daemon_autostart:
 				if not opt.no_daemon_autostart:
 					md.start()
 					md.start()
 				wd.start()
 				wd.start()
-				c = MoneroWalletRPCClient(
-					host   = wd.host,
-					port   = wd.rpc_port,
-					user   = wd.user,
-					passwd = wd.passwd )
+				c = MoneroWalletRPCClient(daemon=wd)
 				await c.call('get_version')
 				await c.call('get_version')
 
 
 			for md,wd in daemons:
 			for md,wd in daemons: