|
11 | 11 |
|
12 | 12 | void URITests::uriTests() |
13 | 13 | { |
14 | | - /* Elements doesn't use URI |
| 14 | + // liquid URI tests |
| 15 | + g_con_elementsmode = true; |
| 16 | + SendCoinsRecipient info{"lq1qq0ha4ml3dsqexnkdssskvt203kl54xj5zxt9sfwgzpy7unf49aagslltf4k7pqjtwk4j8emny0k8vppj88k0z9pa4y0mwfzyu", "label", 100000000, "message"}; |
| 17 | + QString liquid_uri = GUIUtil::formatBitcoinURI(info); |
| 18 | + QVERIFY(liquid_uri.split(":")[0] == "liquidnetwork"); |
| 19 | + |
| 20 | + SendCoinsRecipient rcv; |
| 21 | + QVERIFY(GUIUtil::parseBitcoinURI(liquid_uri, &rcv)); |
| 22 | + QVERIFY(rcv.address == QString("lq1qq0ha4ml3dsqexnkdssskvt203kl54xj5zxt9sfwgzpy7unf49aagslltf4k7pqjtwk4j8emny0k8vppj88k0z9pa4y0mwfzyu")); |
| 23 | + QVERIFY(rcv.amount == 100000000); |
| 24 | + QVERIFY(rcv.label == QString("label")); |
| 25 | + QVERIFY(rcv.message == QString("message")); |
| 26 | + |
| 27 | + // example liquidv1 URI from blockstream app |
| 28 | + QUrl url{QString("liquidnetwork:lq1qq2j9v49hgsgz9s7v7myty50hsy0a6vk6sjmc9z6m0k208njwcllg9dzwk6prxmzy0wzvejc8tdn0fls88x8ksefwdw2l5hym9?assetid=6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d&amount=1.00000000")}; |
| 29 | + QVERIFY(GUIUtil::parseBitcoinURI(url, &rcv)); |
| 30 | + QVERIFY(rcv.address == QString("lq1qq2j9v49hgsgz9s7v7myty50hsy0a6vk6sjmc9z6m0k208njwcllg9dzwk6prxmzy0wzvejc8tdn0fls88x8ksefwdw2l5hym9")); |
| 31 | + QVERIFY(rcv.amount == 100000000); |
| 32 | + QVERIFY(rcv.label.isEmpty()); |
| 33 | + QVERIFY(rcv.message.isEmpty()); |
| 34 | + |
| 35 | + // example liquid testnet URI from blockstream app |
| 36 | + url.setUrl(QString("liquidtestnet:tlq1qqggjrm7s09agm8vvgsld8sq3a0luppzwyg3fl3rtrl9xcq50n2cny8le5xdl4k7ufxz6m4249njkdvxfzhdax6fczggf8ncjz?assetid=144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49&amount=0.00100000")); |
| 37 | + QVERIFY(GUIUtil::parseBitcoinURI(url, &rcv)); |
| 38 | + QVERIFY(rcv.address == QString("tlq1qqggjrm7s09agm8vvgsld8sq3a0luppzwyg3fl3rtrl9xcq50n2cny8le5xdl4k7ufxz6m4249njkdvxfzhdax6fczggf8ncjz")); |
| 39 | + QVERIFY(rcv.amount == 100000); |
| 40 | + QVERIFY(rcv.label.isEmpty()); |
| 41 | + QVERIFY(rcv.message.isEmpty()); |
| 42 | + |
| 43 | + // check bitcoin mode |
| 44 | + g_con_elementsmode = false; |
| 45 | + info = SendCoinsRecipient{"175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W", "label", 100000000, "message"}; |
| 46 | + QString bitcoin_uri = GUIUtil::formatBitcoinURI(info); |
| 47 | + QVERIFY(bitcoin_uri.split(":")[0] == "bitcoin"); |
| 48 | + QVERIFY(GUIUtil::parseBitcoinURI(bitcoin_uri, &rcv)); |
| 49 | + QVERIFY(rcv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); |
| 50 | + QVERIFY(rcv.amount == 100000000); |
| 51 | + QVERIFY(rcv.label == QString("label")); |
| 52 | + QVERIFY(rcv.message == QString("message")); |
| 53 | + |
| 54 | + // Bitcoin URI tests from upstream |
15 | 55 | SendCoinsRecipient rv; |
16 | 56 | QUrl uri; |
17 | 57 | uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-dontexist=")); |
@@ -64,5 +104,4 @@ void URITests::uriTests() |
64 | 104 |
|
65 | 105 | uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000.0&label=Wikipedia Example")); |
66 | 106 | QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); |
67 | | - */ |
68 | 107 | } |
0 commit comments