diff --git a/tests/data/test_outputs/test_viewtags-daemon-00-get_transactions.json b/tests/data/test_outputs/test_viewtags-daemon-00-get_transactions.json new file mode 100644 index 0000000..b769a1d --- /dev/null +++ b/tests/data/test_outputs/test_viewtags-daemon-00-get_transactions.json @@ -0,0 +1,88 @@ +{ + "credits": 0, + "status": "OK", + "top_hash": "", + "txs": [ + { + "as_hex": "", + "as_json": "{\n \"version\": 2, \n \"unlock_time\": 0, \n \"vin\": [ {\n \"key\": {\n \"amount\": 0, \n \"key_offsets\": [ 2077732, 1099874, 72970, 155729, 16665, 1688, 19088, 1844, 278, 575, 601, 237, 62, 310, 42, 110\n ], \n \"k_image\": \"a9f22cb275c3d0623b30a408fcc3f3be2c8968a9a1fe31608612e4dc86030594\"\n }\n }\n ], \n \"vout\": [ {\n \"amount\": 0, \n \"target\": {\n \"tagged_key\": {\n \"key\": \"72cc46c83882ce16fe2c49213f0865fd1a292854968cdc1502c564f3c5acb482\", \n \"view_tag\": \"98\"\n }\n }\n }, {\n \"amount\": 0, \n \"target\": {\n \"tagged_key\": {\n \"key\": \"d8112626629d09187643679ea70f566af48966c0973bcb2ba670064fdffd920e\", \n \"view_tag\": \"c3\"\n }\n }\n }\n ], \n \"extra\": [ 1, 47, 120, 89, 162, 27, 74, 248, 52, 201, 227, 37, 35, 68, 139, 92, 232, 191, 16, 171, 21, 69, 175, 81, 194, 56, 179, 44, 229, 49, 43, 191, 159, 2, 9, 1, 143, 9, 86, 254, 61, 158, 216, 141\n ], \n \"rct_signatures\": {\n \"type\": 6, \n \"txnFee\": 71680000, \n \"ecdhInfo\": [ {\n \"amount\": \"81990250e7f25791\"\n }, {\n \"amount\": \"ff4eb9def40ad4c5\"\n }], \n \"outPk\": [ \"c05c88d8e386b59b37c295833f14660667b999b31e9dc4670bd09fe3aab68acb\", \"511432f8d675ff2c389f39729477494cc7cd785d3a13dda276dec624928e0a1c\"]\n }\n}", + "block_height": 1999138, + "block_timestamp": 1654766037, + "confirmations": 10726, + "double_spend_seen": false, + "in_pool": false, + "output_indices": [ + 3447882, + 3447883 + ], + "prunable_as_hex": "", + "prunable_hash": "0f9c83c425e20519ba61d8f26ad4f5c681a95e439072c8b717baf50a21933662", + "pruned_as_hex": "020001020010a4e87ee290438aba04d1c009998201980d909501b40e9602bf04d904ed013eb6022a6ea9f22cb275c3d0623b30a408fcc3f3be2c8968a9a1fe31608612e4dc8603059402000372cc46c83882ce16fe2c49213f0865fd1a292854968cdc1502c564f3c5acb482980003d8112626629d09187643679ea70f566af48966c0973bcb2ba670064fdffd920ec32c012f7859a21b4af834c9e32523448b5ce8bf10ab1545af51c238b32ce5312bbf9f0209018f0956fe3d9ed88d068080972281990250e7f25791ff4eb9def40ad4c5c05c88d8e386b59b37c295833f14660667b999b31e9dc4670bd09fe3aab68acb511432f8d675ff2c389f39729477494cc7cd785d3a13dda276dec624928e0a1c", + "tx_hash": "e59f9d72780d4b4df0b0b776cffa39f50daf9cc9607c77ad6fa47e564c937b73" + }, + { + "as_hex": "", + "as_json": "{\n \"version\": 2, \n \"unlock_time\": 0, \n \"vin\": [ {\n \"key\": {\n \"amount\": 0, \n \"key_offsets\": [ 3126379, 148577, 63690, 25377, 42379, 29781, 884, 1047, 2816, 4972, 254, 792, 36, 326, 245, 234\n ], \n \"k_image\": \"7117b29573e5267c133ea6714eb88cd4a2c1fb81c73608c5ae873ec0a0152fbd\"\n }\n }\n ], \n \"vout\": [ {\n \"amount\": 0, \n \"target\": {\n \"tagged_key\": {\n \"key\": \"7ea504c8efc3b1aaf6ece2c4ff8324eb7fd06586db6d76f6146e0c4384bda414\", \n \"view_tag\": \"97\"\n }\n }\n }, {\n \"amount\": 0, \n \"target\": {\n \"tagged_key\": {\n \"key\": \"72f76fd4aad444c8d6e3dca7d26c7a6f5757f51fd8fc9f04eee480e0f901c1e1\", \n \"view_tag\": \"c1\"\n }\n }\n }\n ], \n \"extra\": [ 1, 165, 108, 105, 178, 240, 39, 4, 148, 16, 228, 136, 231, 199, 15, 145, 233, 253, 26, 102, 212, 28, 199, 86, 203, 70, 112, 187, 94, 172, 122, 238, 175, 2, 9, 1, 140, 245, 9, 192, 8, 22, 51, 48\n ], \n \"rct_signatures\": {\n \"type\": 6, \n \"txnFee\": 71820000, \n \"ecdhInfo\": [ {\n \"amount\": \"9d413197a1c2253c\"\n }, {\n \"amount\": \"1b7f5373d95f0187\"\n }], \n \"outPk\": [ \"0c4cb09845aba910acb3ef2fdd4259ee6e768b60f3d0ab287ce389eda58527d8\", \"ba6df0b8f74c7d3c48bcb4c7499056623468573405bbd30529831c1ec116c5ed\"]\n }\n}", + "block_height": 1999138, + "block_timestamp": 1654766037, + "confirmations": 10726, + "double_spend_seen": false, + "in_pool": false, + "output_indices": [ + 3447884, + 3447885 + ], + "prunable_as_hex": "", + "prunable_hash": "48e9cecb79ab9eaa50bd8390db82ad74a30ff75bf700cc38ec4e28ba0517dad0", + "pruned_as_hex": "020001020010ebe8be01e18809caf103a1c6018bcb02d5e801f40697088016ec26fe01980624c602f501ea017117b29573e5267c133ea6714eb88cd4a2c1fb81c73608c5ae873ec0a0152fbd0200037ea504c8efc3b1aaf6ece2c4ff8324eb7fd06586db6d76f6146e0c4384bda41497000372f76fd4aad444c8d6e3dca7d26c7a6f5757f51fd8fc9f04eee480e0f901c1e1c12c01a56c69b2f027049410e488e7c70f91e9fd1a66d41cc756cb4670bb5eac7aeeaf0209018cf509c00816333006e0c59f229d413197a1c2253c1b7f5373d95f01870c4cb09845aba910acb3ef2fdd4259ee6e768b60f3d0ab287ce389eda58527d8ba6df0b8f74c7d3c48bcb4c7499056623468573405bbd30529831c1ec116c5ed", + "tx_hash": "ac30f84fcb0b96f38cf789de04fb643fa6be45856546f57b6eb15a099b0feea1" + }, + { + "as_hex": "", + "as_json": "{\n \"version\": 2, \n \"unlock_time\": 0, \n \"vin\": [ {\n \"key\": {\n \"amount\": 0, \n \"key_offsets\": [ 3059089, 173733, 131739, 8357, 14256, 11078, 16407, 25216, 1680, 665, 3575, 1371, 978, 262, 210, 31\n ], \n \"k_image\": \"bdcaa18744702a8a27ec41a0a611bb39269761b6b489b3a8a0ff0e709ed24bd9\"\n }\n }\n ], \n \"vout\": [ {\n \"amount\": 0, \n \"target\": {\n \"tagged_key\": {\n \"key\": \"2fdc2171121c91f613c73a1a2db6744570f50881d6abc47b686b25b525d438d7\", \n \"view_tag\": \"c7\"\n }\n }\n }, {\n \"amount\": 0, \n \"target\": {\n \"tagged_key\": {\n \"key\": \"2692a21c23855a9a1a6212dc76954742d13ca41afaa6e8619b979b2f062a8c4c\", \n \"view_tag\": \"fe\"\n }\n }\n }\n ], \n \"extra\": [ 1, 170, 102, 60, 91, 146, 32, 232, 227, 12, 138, 136, 49, 119, 161, 23, 154, 75, 189, 178, 206, 24, 219, 121, 150, 83, 43, 74, 86, 37, 217, 237, 100, 2, 9, 1, 55, 181, 21, 181, 85, 145, 70, 241\n ], \n \"rct_signatures\": {\n \"type\": 6, \n \"txnFee\": 71770000, \n \"ecdhInfo\": [ {\n \"amount\": \"0dc8c766e8de0bbe\"\n }, {\n \"amount\": \"5c674dd59d15c78e\"\n }], \n \"outPk\": [ \"71948a295394caa477f47e5c0414520fd3bd924885e3342fec0a93217e1beeff\", \"3f29d04d2bedb0dcc99fb4259398f82cf6c37e2c5518e7b149dbe6ed67cb9872\"]\n }\n}", + "block_height": 1999931, + "block_timestamp": 1654872829, + "confirmations": 9933, + "double_spend_seen": false, + "in_pool": false, + "output_indices": [ + 3448713, + 3448714 + ], + "prunable_as_hex": "", + "prunable_hash": "04e6bc7b752f10a1e2254a188dcad224e8213b98b8b9fe985f97831f211366a8", + "pruned_as_hex": "02000102001091dbba01a5cd0a9b8508a541b06fc65697800180c501900d9905f71bdb0ad2078602d2011fbdcaa18744702a8a27ec41a0a611bb39269761b6b489b3a8a0ff0e709ed24bd90200032fdc2171121c91f613c73a1a2db6744570f50881d6abc47b686b25b525d438d7c700032692a21c23855a9a1a6212dc76954742d13ca41afaa6e8619b979b2f062a8c4cfe2c01aa663c5b9220e8e30c8a883177a1179a4bbdb2ce18db7996532b4a5625d9ed6402090137b515b5559146f10690bf9c220dc8c766e8de0bbe5c674dd59d15c78e71948a295394caa477f47e5c0414520fd3bd924885e3342fec0a93217e1beeff3f29d04d2bedb0dcc99fb4259398f82cf6c37e2c5518e7b149dbe6ed67cb9872", + "tx_hash": "701a1dd65581ad964b7c603025b251223c6e8e00c6fd9b63d0f4796613fc4d49" + }, + { + "as_hex": "", + "as_json": "{\n \"version\": 2, \n \"unlock_time\": 0, \n \"vin\": [ {\n \"key\": {\n \"amount\": 0, \n \"key_offsets\": [ 2504987, 830578, 93982, 1616, 4194, 1871, 3787, 1979, 3451, 4015, 206, 759, 1627, 50, 233, 730\n ], \n \"k_image\": \"2edd3e21c43ee250e1a49acac02501f1320bce58f0d4a9b426298a73e11b864a\"\n }\n }\n ], \n \"vout\": [ {\n \"amount\": 0, \n \"target\": {\n \"tagged_key\": {\n \"key\": \"34e8533536817a21bfdca72f577b3bd3a373b7c844d222be6a0703ba186dd369\", \n \"view_tag\": \"af\"\n }\n }\n }, {\n \"amount\": 0, \n \"target\": {\n \"tagged_key\": {\n \"key\": \"4ec0e1c41663845413d5c68fa646c93b904f66c932f72dcc9c7bacaeb2c14e08\", \n \"view_tag\": \"fd\"\n }\n }\n }\n ], \n \"extra\": [ 1, 86, 167, 164, 194, 213, 67, 16, 44, 42, 122, 84, 125, 196, 92, 241, 58, 203, 216, 220, 64, 9, 184, 239, 11, 119, 27, 120, 95, 163, 146, 212, 197, 2, 9, 1, 254, 10, 110, 119, 25, 74, 229, 69\n ], \n \"rct_signatures\": {\n \"type\": 6, \n \"txnFee\": 71680000, \n \"ecdhInfo\": [ {\n \"amount\": \"e6a1c12fa9a17229\"\n }, {\n \"amount\": \"62d32c123e568b3b\"\n }], \n \"outPk\": [ \"b3e1fa823cd9eac432fc935b3d7cafdd1b212af9630dd04c28c5c5c6124fcc74\", \"e5213d4c17e6a3e20436dfcb83bd117b85c405fa3b108d2ffadf5a92aa0939bd\"]\n }\n}", + "block_height": 2005748, + "block_timestamp": 1655568203, + "confirmations": 4116, + "double_spend_seen": false, + "in_pool": false, + "output_indices": [ + 3454587, + 3454588 + ], + "prunable_as_hex": "", + "prunable_hash": "9c46f1cce25275fe8aaf27d66c346897c5b40c2dc8da15f5a87edbebf6a0d54b", + "pruned_as_hex": "0200010200109bf29801f2d8329ede05d00ce220cf0ecb1dbb0ffb1aaf1fce01f705db0c32e901da052edd3e21c43ee250e1a49acac02501f1320bce58f0d4a9b426298a73e11b864a02000334e8533536817a21bfdca72f577b3bd3a373b7c844d222be6a0703ba186dd369af00034ec0e1c41663845413d5c68fa646c93b904f66c932f72dcc9c7bacaeb2c14e08fd2c0156a7a4c2d543102c2a7a547dc45cf13acbd8dc4009b8ef0b771b785fa392d4c5020901fe0a6e77194ae5450680809722e6a1c12fa9a1722962d32c123e568b3bb3e1fa823cd9eac432fc935b3d7cafdd1b212af9630dd04c28c5c5c6124fcc74e5213d4c17e6a3e20436dfcb83bd117b85c405fa3b108d2ffadf5a92aa0939bd", + "tx_hash": "27b6aa8380daaab5641e7318f9b7ba8e7a8097734e6e979fc0390056f6ec9546" + } + ], + "txs_as_hex": [ + "", + "", + "", + "" + ], + "txs_as_json": [ + "{\n \"version\": 2, \n \"unlock_time\": 0, \n \"vin\": [ {\n \"key\": {\n \"amount\": 0, \n \"key_offsets\": [ 2077732, 1099874, 72970, 155729, 16665, 1688, 19088, 1844, 278, 575, 601, 237, 62, 310, 42, 110\n ], \n \"k_image\": \"a9f22cb275c3d0623b30a408fcc3f3be2c8968a9a1fe31608612e4dc86030594\"\n }\n }\n ], \n \"vout\": [ {\n \"amount\": 0, \n \"target\": {\n \"tagged_key\": {\n \"key\": \"72cc46c83882ce16fe2c49213f0865fd1a292854968cdc1502c564f3c5acb482\", \n \"view_tag\": \"98\"\n }\n }\n }, {\n \"amount\": 0, \n \"target\": {\n \"tagged_key\": {\n \"key\": \"d8112626629d09187643679ea70f566af48966c0973bcb2ba670064fdffd920e\", \n \"view_tag\": \"c3\"\n }\n }\n }\n ], \n \"extra\": [ 1, 47, 120, 89, 162, 27, 74, 248, 52, 201, 227, 37, 35, 68, 139, 92, 232, 191, 16, 171, 21, 69, 175, 81, 194, 56, 179, 44, 229, 49, 43, 191, 159, 2, 9, 1, 143, 9, 86, 254, 61, 158, 216, 141\n ], \n \"rct_signatures\": {\n \"type\": 6, \n \"txnFee\": 71680000, \n \"ecdhInfo\": [ {\n \"amount\": \"81990250e7f25791\"\n }, {\n \"amount\": \"ff4eb9def40ad4c5\"\n }], \n \"outPk\": [ \"c05c88d8e386b59b37c295833f14660667b999b31e9dc4670bd09fe3aab68acb\", \"511432f8d675ff2c389f39729477494cc7cd785d3a13dda276dec624928e0a1c\"]\n }\n}", + "{\n \"version\": 2, \n \"unlock_time\": 0, \n \"vin\": [ {\n \"key\": {\n \"amount\": 0, \n \"key_offsets\": [ 3126379, 148577, 63690, 25377, 42379, 29781, 884, 1047, 2816, 4972, 254, 792, 36, 326, 245, 234\n ], \n \"k_image\": \"7117b29573e5267c133ea6714eb88cd4a2c1fb81c73608c5ae873ec0a0152fbd\"\n }\n }\n ], \n \"vout\": [ {\n \"amount\": 0, \n \"target\": {\n \"tagged_key\": {\n \"key\": \"7ea504c8efc3b1aaf6ece2c4ff8324eb7fd06586db6d76f6146e0c4384bda414\", \n \"view_tag\": \"97\"\n }\n }\n }, {\n \"amount\": 0, \n \"target\": {\n \"tagged_key\": {\n \"key\": \"72f76fd4aad444c8d6e3dca7d26c7a6f5757f51fd8fc9f04eee480e0f901c1e1\", \n \"view_tag\": \"c1\"\n }\n }\n }\n ], \n \"extra\": [ 1, 165, 108, 105, 178, 240, 39, 4, 148, 16, 228, 136, 231, 199, 15, 145, 233, 253, 26, 102, 212, 28, 199, 86, 203, 70, 112, 187, 94, 172, 122, 238, 175, 2, 9, 1, 140, 245, 9, 192, 8, 22, 51, 48\n ], \n \"rct_signatures\": {\n \"type\": 6, \n \"txnFee\": 71820000, \n \"ecdhInfo\": [ {\n \"amount\": \"9d413197a1c2253c\"\n }, {\n \"amount\": \"1b7f5373d95f0187\"\n }], \n \"outPk\": [ \"0c4cb09845aba910acb3ef2fdd4259ee6e768b60f3d0ab287ce389eda58527d8\", \"ba6df0b8f74c7d3c48bcb4c7499056623468573405bbd30529831c1ec116c5ed\"]\n }\n}", + "{\n \"version\": 2, \n \"unlock_time\": 0, \n \"vin\": [ {\n \"key\": {\n \"amount\": 0, \n \"key_offsets\": [ 3059089, 173733, 131739, 8357, 14256, 11078, 16407, 25216, 1680, 665, 3575, 1371, 978, 262, 210, 31\n ], \n \"k_image\": \"bdcaa18744702a8a27ec41a0a611bb39269761b6b489b3a8a0ff0e709ed24bd9\"\n }\n }\n ], \n \"vout\": [ {\n \"amount\": 0, \n \"target\": {\n \"tagged_key\": {\n \"key\": \"2fdc2171121c91f613c73a1a2db6744570f50881d6abc47b686b25b525d438d7\", \n \"view_tag\": \"c7\"\n }\n }\n }, {\n \"amount\": 0, \n \"target\": {\n \"tagged_key\": {\n \"key\": \"2692a21c23855a9a1a6212dc76954742d13ca41afaa6e8619b979b2f062a8c4c\", \n \"view_tag\": \"fe\"\n }\n }\n }\n ], \n \"extra\": [ 1, 170, 102, 60, 91, 146, 32, 232, 227, 12, 138, 136, 49, 119, 161, 23, 154, 75, 189, 178, 206, 24, 219, 121, 150, 83, 43, 74, 86, 37, 217, 237, 100, 2, 9, 1, 55, 181, 21, 181, 85, 145, 70, 241\n ], \n \"rct_signatures\": {\n \"type\": 6, \n \"txnFee\": 71770000, \n \"ecdhInfo\": [ {\n \"amount\": \"0dc8c766e8de0bbe\"\n }, {\n \"amount\": \"5c674dd59d15c78e\"\n }], \n \"outPk\": [ \"71948a295394caa477f47e5c0414520fd3bd924885e3342fec0a93217e1beeff\", \"3f29d04d2bedb0dcc99fb4259398f82cf6c37e2c5518e7b149dbe6ed67cb9872\"]\n }\n}", + "{\n \"version\": 2, \n \"unlock_time\": 0, \n \"vin\": [ {\n \"key\": {\n \"amount\": 0, \n \"key_offsets\": [ 2504987, 830578, 93982, 1616, 4194, 1871, 3787, 1979, 3451, 4015, 206, 759, 1627, 50, 233, 730\n ], \n \"k_image\": \"2edd3e21c43ee250e1a49acac02501f1320bce58f0d4a9b426298a73e11b864a\"\n }\n }\n ], \n \"vout\": [ {\n \"amount\": 0, \n \"target\": {\n \"tagged_key\": {\n \"key\": \"34e8533536817a21bfdca72f577b3bd3a373b7c844d222be6a0703ba186dd369\", \n \"view_tag\": \"af\"\n }\n }\n }, {\n \"amount\": 0, \n \"target\": {\n \"tagged_key\": {\n \"key\": \"4ec0e1c41663845413d5c68fa646c93b904f66c932f72dcc9c7bacaeb2c14e08\", \n \"view_tag\": \"fd\"\n }\n }\n }\n ], \n \"extra\": [ 1, 86, 167, 164, 194, 213, 67, 16, 44, 42, 122, 84, 125, 196, 92, 241, 58, 203, 216, 220, 64, 9, 184, 239, 11, 119, 27, 120, 95, 163, 146, 212, 197, 2, 9, 1, 254, 10, 110, 119, 25, 74, 229, 69\n ], \n \"rct_signatures\": {\n \"type\": 6, \n \"txnFee\": 71680000, \n \"ecdhInfo\": [ {\n \"amount\": \"e6a1c12fa9a17229\"\n }, {\n \"amount\": \"62d32c123e568b3b\"\n }], \n \"outPk\": [ \"b3e1fa823cd9eac432fc935b3d7cafdd1b212af9630dd04c28c5c5c6124fcc74\", \"e5213d4c17e6a3e20436dfcb83bd117b85c405fa3b108d2ffadf5a92aa0939bd\"]\n }\n}" + ], + "untrusted": false +} diff --git a/tests/data/test_outputs/test_viewtags-wallet-00-get_accounts.json b/tests/data/test_outputs/test_viewtags-wallet-00-get_accounts.json new file mode 100644 index 0000000..316b346 --- /dev/null +++ b/tests/data/test_outputs/test_viewtags-wallet-00-get_accounts.json @@ -0,0 +1,18 @@ +{ + "id": 0, + "jsonrpc": "2.0", + "result": { + "subaddress_accounts": [ + { + "account_index": 0, + "balance": 4000000000000, + "base_address": "9sotHmY781cAChddb8JRC9Yjuiifgq381b5nepg5FKyF3EYcQfhWLfScnSoYepu2WiCriBW7oqPkc3r9DJ8M9BE5JQeKAAp", + "label": "Primary account", + "tag": "", + "unlocked_balance": 4000000000000 + } + ], + "total_balance": 4000000000000, + "total_unlocked_balance": 4000000000000 + } +} diff --git a/tests/data/test_outputs/test_viewtags-wallet-20-query_key.json b/tests/data/test_outputs/test_viewtags-wallet-20-query_key.json new file mode 100644 index 0000000..5782eba --- /dev/null +++ b/tests/data/test_outputs/test_viewtags-wallet-20-query_key.json @@ -0,0 +1,7 @@ +{ + "id": 0, + "jsonrpc": "2.0", + "result": { + "key": "31c8c8582bffbbe823c431069cbf27e5b3d0d8c8062f8e909eafd71116840b09" + } +} diff --git a/tests/data/test_outputs/test_viewtags-wallet-40-getaddress.json b/tests/data/test_outputs/test_viewtags-wallet-40-getaddress.json new file mode 100644 index 0000000..753352a --- /dev/null +++ b/tests/data/test_outputs/test_viewtags-wallet-40-getaddress.json @@ -0,0 +1,27 @@ +{ + "id": 0, + "jsonrpc": "2.0", + "result": { + "address": "9sotHmY781cAChddb8JRC9Yjuiifgq381b5nepg5FKyF3EYcQfhWLfScnSoYepu2WiCriBW7oqPkc3r9DJ8M9BE5JQeKAAp", + "addresses": [ + { + "address": "9sotHmY781cAChddb8JRC9Yjuiifgq381b5nepg5FKyF3EYcQfhWLfScnSoYepu2WiCriBW7oqPkc3r9DJ8M9BE5JQeKAAp", + "address_index": 0, + "label": "Primary account", + "used": false + }, + { + "address": "BgnjGyQMqyz8DTRxaAat7oVWBoncUG3PmY5rwf4VBLWY6giSVbEaZec6Ae8w6GK1ZhgfFZnCL4EfXMjL1T5mkRdKKEVqSfC", + "address_index": 1, + "label": "", + "used": true + }, + { + "address": "BhS5oGvXMGqJLtQFea7ip3fJiYN9s23qr3nubeHLwGrf7RDPb5qm6m75VY29TCkjKF4ENANPXmkPt3opjV27t7eyDj5PmY1", + "address_index": 2, + "label": "", + "used": true + } + ] + } +} diff --git a/tests/test_outputs.py b/tests/test_outputs.py index 69ddacb..c093706 100644 --- a/tests/test_outputs.py +++ b/tests/test_outputs.py @@ -10,18 +10,20 @@ import responses from monero.backends.jsonrpc import JSONRPCDaemon, JSONRPCWallet from monero.backends.offline import OfflineWallet from monero.daemon import Daemon -from monero.transaction import Transaction +from monero.transaction import Transaction, Payment from monero.transaction.extra import ExtraParser from monero.wallet import Wallet from .base import JSONTestCase -class OutputTestCase(JSONTestCase): +class OutputTestBase(JSONTestCase): data_subdir = "test_outputs" daemon_transactions_url = "http://127.0.0.1:38081/get_transactions" wallet_jsonrpc_url = "http://127.0.0.1:38083/json_rpc" + +class OutputTestCase(OutputTestBase): @responses.activate def test_v2_single_output(self): responses.add( @@ -457,3 +459,87 @@ class OutputTestCase(JSONTestCase): ) with self.assertRaises(ValueError): pdata = ep.parse() + + +class ViewtagsTestCase(OutputTestBase): + @responses.activate + def test_viewtags(self): + responses.add( + responses.POST, + self.wallet_jsonrpc_url, + json=self._read("test_viewtags-wallet-00-get_accounts.json"), + status=200, + ) + for _ in range(4): + responses.add( + responses.POST, + self.wallet_jsonrpc_url, + json=self._read("test_viewtags-wallet-20-query_key.json"), + status=200, + ) + responses.add( + responses.POST, + self.wallet_jsonrpc_url, + json=self._read("test_viewtags-wallet-40-getaddress.json"), + status=200, + ) + responses.add( + responses.POST, + self.daemon_transactions_url, + json=self._read("test_viewtags-daemon-00-get_transactions.json"), + status=200, + ) + wallet = Wallet(JSONRPCWallet(host="127.0.0.1", port=38083)) + daemon = Daemon(JSONRPCDaemon(host="127.0.0.1", port=38081)) + txns = daemon.transactions( + [ + "e59f9d72780d4b4df0b0b776cffa39f50daf9cc9607c77ad6fa47e564c937b73", + "ac30f84fcb0b96f38cf789de04fb643fa6be45856546f57b6eb15a099b0feea1", + "701a1dd65581ad964b7c603025b251223c6e8e00c6fd9b63d0f4796613fc4d49", + "27b6aa8380daaab5641e7318f9b7ba8e7a8097734e6e979fc0390056f6ec9546", + ] + ) + # e59f9d72780d4b4df0b0b776cffa39f50daf9cc9607c77ad6fa47e564c937b73 + tx = txns[0] + outputs = tx.outputs(wallet) + self.assertEqual(len(outputs), 2) + self.assertIsInstance(outputs[0].payment, Payment) + self.assertIsNone(outputs[1].payment) + self.assertEqual(outputs[0].payment.amount, Decimal("1.0")) + self.assertEqual( + outputs[0].payment.local_address, + "BgnjGyQMqyz8DTRxaAat7oVWBoncUG3PmY5rwf4VBLWY6giSVbEaZec6Ae8w6GK1ZhgfFZnCL4EfXMjL1T5mkRdKKEVqSfC", + ) + # ac30f84fcb0b96f38cf789de04fb643fa6be45856546f57b6eb15a099b0feea1 + tx = txns[1] + outputs = tx.outputs(wallet) + self.assertEqual(len(outputs), 2) + self.assertIsInstance(outputs[0].payment, Payment) + self.assertIsNone(outputs[1].payment) + self.assertEqual(outputs[0].payment.amount, Decimal("1.0")) + self.assertEqual( + outputs[0].payment.local_address, + "BgnjGyQMqyz8DTRxaAat7oVWBoncUG3PmY5rwf4VBLWY6giSVbEaZec6Ae8w6GK1ZhgfFZnCL4EfXMjL1T5mkRdKKEVqSfC", + ) + # 701a1dd65581ad964b7c603025b251223c6e8e00c6fd9b63d0f4796613fc4d49 + tx = txns[2] + outputs = tx.outputs(wallet) + self.assertEqual(len(outputs), 2) + self.assertIsInstance(outputs[0].payment, Payment) + self.assertIsNone(outputs[1].payment) + self.assertEqual(outputs[0].payment.amount, Decimal("1.0")) + self.assertEqual( + outputs[0].payment.local_address, + "BhS5oGvXMGqJLtQFea7ip3fJiYN9s23qr3nubeHLwGrf7RDPb5qm6m75VY29TCkjKF4ENANPXmkPt3opjV27t7eyDj5PmY1", + ) + # 27b6aa8380daaab5641e7318f9b7ba8e7a8097734e6e979fc0390056f6ec9546 + tx = txns[3] + outputs = tx.outputs(wallet) + self.assertEqual(len(outputs), 2) + self.assertIsInstance(outputs[0].payment, Payment) + self.assertIsNone(outputs[1].payment) + self.assertEqual(outputs[0].payment.amount, Decimal("1.0")) + self.assertEqual( + outputs[0].payment.local_address, + "BgnjGyQMqyz8DTRxaAat7oVWBoncUG3PmY5rwf4VBLWY6giSVbEaZec6Ae8w6GK1ZhgfFZnCL4EfXMjL1T5mkRdKKEVqSfC", + )