aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2019-03-25 23:24:30 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2019-04-11 11:08:20 +0000
commit04a20cb24208eb2ab2d90727b524d31bab5f9ddb (patch)
treea7f025367660657b1e291544fe2716daa7239785
parentfunctional_tests: add double spend detection tests (diff)
downloadmonero-04a20cb24208eb2ab2d90727b524d31bab5f9ddb.tar.xz
functional_tests: cold signing key images/outputs import/export
-rwxr-xr-xtests/functional_tests/cold_signing.py6
-rw-r--r--utils/python-rpc/framework/wallet.py44
2 files changed, 50 insertions, 0 deletions
diff --git a/tests/functional_tests/cold_signing.py b/tests/functional_tests/cold_signing.py
index 07edae854..e5430f87c 100755
--- a/tests/functional_tests/cold_signing.py
+++ b/tests/functional_tests/cold_signing.py
@@ -89,6 +89,12 @@ class ColdSigningTest():
dst = {'address': '42ey1afDFnn4886T7196doS9GPMzexD9gXpsZJDwVjeRVdFCSoHnv7KPbBeGpzJBzHRCAs9UxqeoyFQMYbqSWYTfJJQAWDm', 'amount': 1000000000000}
payment_id = '1234500000012345abcde00000abcdeff1234500000012345abcde00000abcde'
+ self.hot_wallet.refresh()
+ res = self.hot_wallet.export_outputs()
+ self.cold_wallet.import_outputs(res.outputs_data_hex)
+ res = self.cold_wallet.export_key_images(True)
+ self.hot_wallet.import_key_images(res.signed_key_images, offset = res.offset)
+
res = self.hot_wallet.transfer([dst], ring_size = 11, payment_id = payment_id, get_tx_key = False)
assert len(res.tx_hash) == 32*2
txid = res.tx_hash
diff --git a/utils/python-rpc/framework/wallet.py b/utils/python-rpc/framework/wallet.py
index 068c87493..fd104da5f 100644
--- a/utils/python-rpc/framework/wallet.py
+++ b/utils/python-rpc/framework/wallet.py
@@ -645,6 +645,50 @@ class Wallet(object):
}
return self.rpc.send_json_rpc_request(get_languages)
+ def export_outputs(self):
+ export_outputs = {
+ 'method': 'export_outputs',
+ 'params': {
+ },
+ 'jsonrpc': '2.0',
+ 'id': '0'
+ }
+ return self.rpc.send_json_rpc_request(export_outputs)
+
+ def import_outputs(self, outputs_data_hex):
+ import_outputs = {
+ 'method': 'import_outputs',
+ 'params': {
+ 'outputs_data_hex': outputs_data_hex
+ },
+ 'jsonrpc': '2.0',
+ 'id': '0'
+ }
+ return self.rpc.send_json_rpc_request(import_outputs)
+
+ def export_key_images(self, all_ = False):
+ export_key_images = {
+ 'method': 'export_key_images',
+ 'params': {
+ 'all': all_
+ },
+ 'jsonrpc': '2.0',
+ 'id': '0'
+ }
+ return self.rpc.send_json_rpc_request(export_key_images)
+
+ def import_key_images(self, signed_key_images, offset = 0):
+ import_key_images = {
+ 'method': 'import_key_images',
+ 'params': {
+ 'offset': offset,
+ 'signed_key_images': signed_key_images,
+ },
+ 'jsonrpc': '2.0',
+ 'id': '0'
+ }
+ return self.rpc.send_json_rpc_request(import_key_images)
+
def get_version(self):
get_version = {
'method': 'get_version',