diff --git a/phoenix-android/src/main/res/values-b+es+419/strings.xml b/phoenix-android/src/main/res/values-b+es+419/strings.xml index 8346f886d..69a8e8ed8 100644 --- a/phoenix-android/src/main/res/values-b+es+419/strings.xml +++ b/phoenix-android/src/main/res/values-b+es+419/strings.xml @@ -553,7 +553,6 @@ El proxy de Tor está apagado. \nEspera y comprueba tu conexión a Internet. Iniciando proxy de Tor… Tor está en línea - Ten en cuenta que la red Tor es un proyecto abierto que funciona con donaciones. En ocasiones, puede ser muy lento, lo que afectará al rendimiento de la aplicación. diff --git a/phoenix-android/src/main/res/values-cs/strings.xml b/phoenix-android/src/main/res/values-cs/strings.xml index d6f71797a..b4c65e886 100644 --- a/phoenix-android/src/main/res/values-cs/strings.xml +++ b/phoenix-android/src/main/res/values-cs/strings.xml @@ -520,7 +520,6 @@ Tor proxy server je vypnutý.\nPočkejte prosím a zkontrolujte své internetové připojení. Zapínání Tor proxy serveru… Tor je připojen - Pamatujte, že síť Tor je otevřený projekt fungující z darů. Někdy může být velmi pomalý, což ovlivní výkon aplikace. diff --git a/phoenix-android/src/main/res/values-de/strings.xml b/phoenix-android/src/main/res/values-de/strings.xml index 01a05b821..d50079803 100644 --- a/phoenix-android/src/main/res/values-de/strings.xml +++ b/phoenix-android/src/main/res/values-de/strings.xml @@ -567,7 +567,6 @@ Der Tor-Proxy wird abgeschaltet.\nBitte warten Sie und überprüfen Sie Ihre Internetverbindung. Starte Tor-Proxy… Tor ist online - Beachten Sie, dass das Tor-Netzwerk ein Open-Source-Projekt ist, das auf Spendenbasis läuft. Es kann manchmal sehr langsam sein, was die Leistung der App beeinträchtigen kann. diff --git a/phoenix-android/src/main/res/values-sk/strings.xml b/phoenix-android/src/main/res/values-sk/strings.xml index b03cae05c..0afc9663c 100644 --- a/phoenix-android/src/main/res/values-sk/strings.xml +++ b/phoenix-android/src/main/res/values-sk/strings.xml @@ -565,7 +565,6 @@ Tor proxy server je vypnutý.\nPočkajte prosím a skontrolujte svoje internetové pripojenie. Zapínanie Tor proxy servera… Tor je pripojený - Pamätajte, že sieť Tor je otvorený projekt fungujúci z darov. Niekedy môže byť veľmi pomalý, čo ovplyvní výkon aplikácie. diff --git a/phoenix-android/src/main/res/values-vi/strings.xml b/phoenix-android/src/main/res/values-vi/strings.xml index 7d09aa859..8eb002faa 100644 --- a/phoenix-android/src/main/res/values-vi/strings.xml +++ b/phoenix-android/src/main/res/values-vi/strings.xml @@ -568,7 +568,6 @@ Proxy của Tor đang bị đóng.\nVui lòng chờ đợi và kiểm tra kết nối mạng Internet của bạn. Đang khởi động Proxy của Tor… Tor đang kết nối trực tuyến - Lưu ý rằng mạng Tor là một mạng mở và chạy bằng tiền quyên góp. Vì vậy, mạng đôi khi có thể rất chậm và ảnh hưởng đến chất lượng vận hành của ứng dụng. diff --git a/phoenix-android/src/test/kotlin/fr/acinq/phoenix/utils/LegacyMigrationHelperTest.kt b/phoenix-android/src/test/kotlin/fr/acinq/phoenix/utils/LegacyMigrationHelperTest.kt index 5d12dccdf..b9824914c 100644 --- a/phoenix-android/src/test/kotlin/fr/acinq/phoenix/utils/LegacyMigrationHelperTest.kt +++ b/phoenix-android/src/test/kotlin/fr/acinq/phoenix/utils/LegacyMigrationHelperTest.kt @@ -18,16 +18,17 @@ package fr.acinq.phoenix.utils import app.cash.sqldelight.EnumColumnAdapter import app.cash.sqldelight.db.SqlDriver -import app.cash.sqldelight.sqlite.driver.JdbcSqliteDriver +import app.cash.sqldelight.driver.jdbc.sqlite.JdbcSqliteDriver import fr.acinq.bitcoin.ByteVector32 import fr.acinq.bitcoin.Chain import fr.acinq.bitcoin.PublicKey +import fr.acinq.bitcoin.TxId import fr.acinq.bitcoin.byteVector32 import fr.acinq.eclair.db.sqlite.SqlitePaymentsDb import fr.acinq.lightning.ShortChannelId import fr.acinq.lightning.db.* +import fr.acinq.lightning.payment.Bolt11Invoice import fr.acinq.lightning.payment.FinalFailure -import fr.acinq.lightning.payment.PaymentRequest import fr.acinq.lightning.utils.UUID import fr.acinq.lightning.utils.msat import fr.acinq.lightning.utils.sat @@ -106,7 +107,7 @@ class LegacyMigrationHelperTest { id = UUID.fromString("5a7d44be-725b-430b-8ce3-92c5ed296074"), recipientAmount = 1000.msat, recipient = PublicKey.fromHex("020ec0c6a0c4fe5d8a79928ead294c36234a76f6e0dca896c35413612a3fd8dbf8"), - details = LightningOutgoingPayment.Details.Normal(PaymentRequest.read("lntb10n1p3tnfjkpp5rrmp00akdvl35nnhh4gqfp5rhuaa0kryhkz0ky5z78u82c2p2tlqdqqcqzpgxqyz5vqsp5xmvvr6sfrxs5vjpqgxq5p7aznd2eusxmgcj9hag8d06lxmdwxe8s9qyyssqttpwlngy7qaj7jg0xa2uae2gcm9zp9g5ly3yp6gxyh0zlrw2pun4tlsw2mfjwt0vsjwhtmvvn6tl0u9fg5jfle0jvxtd59h82kfff4qqefnasg")), + details = LightningOutgoingPayment.Details.Normal(Bolt11Invoice.read("lntb10n1p3tnfjkpp5rrmp00akdvl35nnhh4gqfp5rhuaa0kryhkz0ky5z78u82c2p2tlqdqqcqzpgxqyz5vqsp5xmvvr6sfrxs5vjpqgxq5p7aznd2eusxmgcj9hag8d06lxmdwxe8s9qyyssqttpwlngy7qaj7jg0xa2uae2gcm9zp9g5ly3yp6gxyh0zlrw2pun4tlsw2mfjwt0vsjwhtmvvn6tl0u9fg5jfle0jvxtd59h82kfff4qqefnasg").get()), parts = listOf( LightningOutgoingPayment.Part( id = UUID.fromString("91018192-5eeb-4e23-a494-8579009a6117"), @@ -145,7 +146,7 @@ class LegacyMigrationHelperTest { Assert.assertEquals( LightningOutgoingPayment.Details.SwapOut( address = "2N1sjnTPsAaG3oGMHTHonANbHEERuiqN6k6", - paymentRequest = PaymentRequest.read("lntb128400n1p3tndjapp5hhluw7tvph7e7mr5qm6zyerstxmwwc6ydg3jwj2t5dyjzuvjzcdqdrhxycrqvpsypekzarnyp6x7gpjfcchx6nw23g8xstpguek736dfp2ysmmwg98xyjz9g4f826t3fcmxkd3qwa5hg6pqvejk2unpw3jn6v3sypekzap0vfuhgegsp5s55kw5r85788n2aahjqpmzanvx83a2q5ftas7h76c4ymm7cw2uvsxqzjccqzpu9q2sqqqqqysgqcd3f6mn22c5hd7c3dd96z79duczy40rgfcpfetg4ckdkghjwylcqqlesa9adhvqvvkkkz4n2tq6lvx23ju4y2wl9mluf5mheq83mecsp68xkxx"), + paymentRequest = Bolt11Invoice.read("lntb128400n1p3tndjapp5hhluw7tvph7e7mr5qm6zyerstxmwwc6ydg3jwj2t5dyjzuvjzcdqdrhxycrqvpsypekzarnyp6x7gpjfcchx6nw23g8xstpguek736dfp2ysmmwg98xyjz9g4f826t3fcmxkd3qwa5hg6pqvejk2unpw3jn6v3sypekzap0vfuhgegsp5s55kw5r85788n2aahjqpmzanvx83a2q5ftas7h76c4ymm7cw2uvsxqzjccqzpu9q2sqqqqqysgqcd3f6mn22c5hd7c3dd96z79duczy40rgfcpfetg4ckdkghjwylcqqlesa9adhvqvvkkkz4n2tq6lvx23ju4y2wl9mluf5mheq83mecsp68xkxx").get(), swapOutFee = 2_840.sat ), payment2.details @@ -161,7 +162,7 @@ class LegacyMigrationHelperTest { val payment3 = newOutgoingPayments[2] as LightningOutgoingPayment Assert.assertEquals( LightningOutgoingPayment.Status.Completed.Failed( - reason = FinalFailure.NoRouteToRecipient, + reason = FinalFailure.RecipientUnreachable, completedAt = 1656338125658 ), payment3.status @@ -188,7 +189,7 @@ class LegacyMigrationHelperTest { address = "2NBPdqEiX2Wb9VNTqNBXBjgCAnHvhBD8sc3", isSentToDefaultAddress = false, miningFees = 0.sat, - txId = ByteVector32.fromValidHex("24893dcd47403242e86e86344acfe69042bb5c1466df11cf43696fad7d29dfe3"), + txId = TxId("24893dcd47403242e86e86344acfe69042bb5c1466df11cf43696fad7d29dfe3"), createdAt = 1656403710302, confirmedAt = 1656403710302, channelId = ByteVector32.fromValidHex("3749642f6caa1a13a9026f966eb13bd5a970ee237fb173d78602b2b31b7bc804"), @@ -245,7 +246,7 @@ class LegacyMigrationHelperTest { serviceFee = 0.msat, miningFee = 0.sat, channelId = ByteVector32.Zeroes, - txId = ByteVector32.Zeroes, + txId = TxId(ByteVector32.Zeroes), confirmedAt = 1656333657766, lockedAt = 1656333657766, ) @@ -262,7 +263,7 @@ class LegacyMigrationHelperTest { IncomingPayment( preimage = ByteVector32.fromValidHex("9f700505f700dc346a6690672b086c2baeeda1b7a914fb4bfabd3730fd840ed3"), origin = IncomingPayment.Origin.Invoice( - paymentRequest = PaymentRequest.read("lntb1p3tndtzpp50z03lfnmhacfhmmslwdcdkhrxcnrta7nt3vsv6nvv0n2gneqhvwqdqqxqyjw5q9qtzqqqqqq9qsqsp5x3e73hu5lz6jt8jt26hvnhdczymzmphkj9lqst6g5w626rel7uyqrzjqwfn3p9278ttzzpe0e00uhyxhned3j5d9acqak5emwfpflp8z2cnflc47j47yxdcyvqqqqlgqqqqqeqqjqhj5w494f0taflevylkhhzk0wjt7gep60zvkm7cg00vc7ql66z9xjmklquzq78ca3yfvk09vt90eqss9anvmg5ppk3nualqcex64qc3cpzz6cy8") + paymentRequest = Bolt11Invoice.read("lntb1p3tndtzpp50z03lfnmhacfhmmslwdcdkhrxcnrta7nt3vsv6nvv0n2gneqhvwqdqqxqyjw5q9qtzqqqqqq9qsqsp5x3e73hu5lz6jt8jt26hvnhdczymzmphkj9lqst6g5w626rel7uyqrzjqwfn3p9278ttzzpe0e00uhyxhned3j5d9acqak5emwfpflp8z2cnflc47j47yxdcyvqqqqlgqqqqqeqqjqhj5w494f0taflevylkhhzk0wjt7gep60zvkm7cg00vc7ql66z9xjmklquzq78ca3yfvk09vt90eqss9anvmg5ppk3nualqcex64qc3cpzz6cy8").get() ), received = IncomingPayment.Received( receivedWith = listOf( @@ -284,7 +285,7 @@ class LegacyMigrationHelperTest { IncomingPayment( preimage = ByteVector32.fromValidHex("5dbb9d8be5fd2887128a878b38312e71419c884083ec8b4d080881e75f2cd529"), origin = IncomingPayment.Origin.Invoice( - paymentRequest = PaymentRequest.read("lntb2580n1p3tnd5cpp5vyrhevjunf4mgnc3l3lv3lvatfclju78sawspahq43dg78szr55sdz4v3jhxcmjd9c8g6t0dcsxgefqd3sjqun9w96u82n5v5sxgefqwpskjetdv4h8ggrpdfhh2axr49jjqctkv9h8gxqyjw5q9qtzqqqqqq9qsqsp5fyg2nucw7ylnxhq0tweqmayg40fpzyaam4yllgjurcp0um06l6sqrzjqwfn3p9278ttzzpe0e00uhyxhned3j5d9acqak5emwfpflp8z2cnflc47j47yxdcyvqqqqlgqqqqqeqqjqw87qyltfk38twf0duded5tcla7gyl9tftqhd50wekt2yflcq9gdsmdakwx5y8hlhzjmc8t55xcwdlc4f0qe0f2nlgkytx7u7xew9fzspse82tn") + paymentRequest = Bolt11Invoice.read("lntb2580n1p3tnd5cpp5vyrhevjunf4mgnc3l3lv3lvatfclju78sawspahq43dg78szr55sdz4v3jhxcmjd9c8g6t0dcsxgefqd3sjqun9w96u82n5v5sxgefqwpskjetdv4h8ggrpdfhh2axr49jjqctkv9h8gxqyjw5q9qtzqqqqqq9qsqsp5fyg2nucw7ylnxhq0tweqmayg40fpzyaam4yllgjurcp0um06l6sqrzjqwfn3p9278ttzzpe0e00uhyxhned3j5d9acqak5emwfpflp8z2cnflc47j47yxdcyvqqqqlgqqqqqeqqjqw87qyltfk38twf0duded5tcla7gyl9tftqhd50wekt2yflcq9gdsmdakwx5y8hlhzjmc8t55xcwdlc4f0qe0f2nlgkytx7u7xew9fzspse82tn").get() ), received = IncomingPayment.Received( receivedWith = listOf( @@ -308,7 +309,7 @@ class LegacyMigrationHelperTest { IncomingPayment( preimage = ByteVector32.fromValidHex("0aad090727a9b936703f139f8ebf6a00089ded54eb767d2701b47c4fe0f9c99b"), origin = IncomingPayment.Origin.Invoice( - paymentRequest = PaymentRequest.read("lntb1p3tn3vvpp59ynarkswknrea32cqm9h643rfpm0qlkn3x3aywv9lmfusg3442yqdq6wpshjgr5dusx7ur9dcs0p8u3jqxqyjw5q9qtzqqqqqq9qsqsp5twl37zl60tkgdtuyztrrsn6wtku4asr5dvqavz40rynswcl4tppsrzjqwfn3p9278ttzzpe0e00uhyxhned3j5d9acqak5emwfpflp8z2cnflc47j47yxdcyvqqqqlgqqqqqeqqjq9x2drlj03tjjt3m64whev6dukrzrqr5l09edhj55g30yruqz6fw3z5zc927nwy0wld686ua2mfzgz63vlwgmcamdld8wpjzrms8m4ygphfrpe0") + paymentRequest = Bolt11Invoice.read("lntb1p3tn3vvpp59ynarkswknrea32cqm9h643rfpm0qlkn3x3aywv9lmfusg3442yqdq6wpshjgr5dusx7ur9dcs0p8u3jqxqyjw5q9qtzqqqqqq9qsqsp5twl37zl60tkgdtuyztrrsn6wtku4asr5dvqavz40rynswcl4tppsrzjqwfn3p9278ttzzpe0e00uhyxhned3j5d9acqak5emwfpflp8z2cnflc47j47yxdcyvqqqqlgqqqqqeqqjq9x2drlj03tjjt3m64whev6dukrzrqr5l09edhj55g30yruqz6fw3z5zc927nwy0wld686ua2mfzgz63vlwgmcamdld8wpjzrms8m4ygphfrpe0").get() ), received = IncomingPayment.Received( receivedWith = listOf( @@ -317,7 +318,7 @@ class LegacyMigrationHelperTest { channelId = ByteVector32.Zeroes, serviceFee = 3_000_000.msat, miningFee = 0.sat, - txId = ByteVector32.Zeroes, + txId = TxId(ByteVector32.Zeroes), confirmedAt = 1656341949234, lockedAt = 1656341949234, ) @@ -335,14 +336,15 @@ class LegacyMigrationHelperTest { IncomingPayment( preimage = ByteVector32.fromValidHex("7812c06a3f2d73fd8e30c65fb4c41744a7d60856e011396aff566782904502ee"), origin = IncomingPayment.Origin.Invoice( - paymentRequest = PaymentRequest.read("lntb1p3t4dcdpp58whdhw5lq62q4plz7w9z9awwwgcze27qaa052l7663w935xray5qdqqxqyjw5q9qtzqqqqqq9qsqsp5p5krwc4thmcy8ahsyrx2dfyhp7d2dxsxxsmlqxvmwstznzzmv8kqrzjqwfn3p9278ttzzpe0e00uhyxhned3j5d9acqak5emwfpflp8z2cnflc47j47yxdcyvqqqqlgqqqqqeqqjqaednnnjuxh0kvpa8l4mtt2wsum0jxhywsu5ak4m436shxpg0cjc46y7973npskzqk4kl4lhqxr3zmqn3euzx6dy4q474awm26j9amgcpef0uwk") + paymentRequest = Bolt11Invoice.read("lntb1p3t4dcdpp58whdhw5lq62q4plz7w9z9awwwgcze27qaa052l7663w935xray5qdqqxqyjw5q9qtzqqqqqq9qsqsp5p5krwc4thmcy8ahsyrx2dfyhp7d2dxsxxsmlqxvmwstznzzmv8kqrzjqwfn3p9278ttzzpe0e00uhyxhned3j5d9acqak5emwfpflp8z2cnflc47j47yxdcyvqqqqlgqqqqqeqqjqaednnnjuxh0kvpa8l4mtt2wsum0jxhywsu5ak4m436shxpg0cjc46y7973npskzqk4kl4lhqxr3zmqn3euzx6dy4q474awm26j9amgcpef0uwk").get() ), received = IncomingPayment.Received( receivedWith = listOf( IncomingPayment.ReceivedWith.NewChannel( amount = 562_212_000.msat, channelId = ByteVector32.Zeroes, - txId = ByteVector32.Zeroes, + txId = TxId( + ByteVector32.Zeroes), serviceFee = 5_678_000.msat, miningFee = 0.sat, confirmedAt = 1656403752448,