diff --git a/electrum/checkpoint.json b/electrum/checkpoint.json new file mode 100644 index 000000000..70077949b --- /dev/null +++ b/electrum/checkpoint.json @@ -0,0 +1,630 @@ +[ + [ + "ed3ae94c2fb3699e033965c23fcc3528fce794fda751b82437a8d39461e4d205", + 231 + ], + [ + "d899e8d924d2f6ff87a3934db9f11ae98cb09c000ae6c35b752b7d2b588ee938", + 232 + ], + [ + "6fba25ba43d55cdbad04cdd8b872d2ca7b4b3e5c4b8a6cc234d7924d87de23de", + 233 + ], + [ + "037c8ef1673b3f7b2d08b7b8c455a0f1fd14990ebb59f4d32394058fb293b204", + 234 + ], + [ + "729d80c34adb404c311b1ced1e64e8962e1d069cb884986d3bf54a936b030e9c", + 235 + ], + [ + "faaf8c9d2235897f9e4769e30f6f7f7c6f983ecb61a045b4b023a8b7b607d068", + 236 + ], + [ + "30cf3b0baa62e35736a74d92d8c95953b796fdddc9845e683356804ad6e7526a", + 237 + ], + [ + "e854d167fb00e6551c8134362f1fe66ce6fbff60f954d5653379cdd4ad29f5a1", + 238 + ], + [ + "df696c1657de0da8ee6224ca0d68c7b2c44250dcadeb62a7b468c496fc7b77e6", + 239 + ], + [ + "dc135527134a72205198554134c5659a8b657034dab8432ff41afcafc53543f3", + 240 + ], + [ + "745c29712345c8201a30c88e7b2f87f59e28c7765a52922f68b8ea3e6870c3a1", + 241 + ], + [ + "8e84a77d540c4d856440ae1be45bc4dfda872a7b0e723f2b3f63f991b04678f5", + 242 + ], + [ + "519d4d1be60091f9461f607285b42172e9af694268176e402dfbbca7272cacda", + 243 + ], + [ + "2449df5d5de9414ff84c7df9eb8bc2be1f5a49418010e1a5f5f866287eb292c9", + 244 + ], + [ + "6ff8b1625f727749cfac24d5fbef7b33b684c23e0e1159f4d5c078504a63ac41", + 245 + ], + [ + "98a412798ca0ef3c3f8bc974e4da0aed73736d4e1b237e073e6604957f74226c", + 246 + ], + [ + "036672a286e60463dab116f644540880ee22cfb7900a74f7dbc89cdcee756c7c", + 247 + ], + [ + "f68ea51468d075c64992f7cff5f5ce0433e7211bed21825cdbd046990859efc7", + 248 + ], + [ + "06fe0b0ba72e561d5a4a402a27fe221f723d1573daeffc32c5b1ba86ba5a7f7a", + 249 + ], + [ + "f95f0ea0a7112a91916e1132965e6a9672b57ea889799ba10ba24a760266e8c8", + 250 + ], + [ + "0fe62c91d12a38f92607b9ec629ebcd118bebc3b82af80174b3ed3a36cfce6cf", + 251 + ], + [ + "af7007aa0a6a3ba5f49b1c785fb65e764c29bbb604da96b071cfb171d647e50a", + 252 + ], + [ + "6a6de769b279b139da82296ccf072c3b1a919d8cb99cf5734f695b50881a5a6d", + 253 + ], + [ + "5241777c31c1683594acc1d7551961abfd660707a43aea6a7246afa62b5dbccc", + 254 + ], + [ + "fb29638aecc2599bb3917546a3e2729036134e80fbd4b9468d4d285aa2c34bb9", + 255 + ], + [ + "e94268a75a6cba127a713808ab1049c9bc9cb2b19037f78d1d423012301b0b31", + 256 + ], + [ + "cd798568453d2b3946a57f79efe4658fb5550604f6242a45e08f084d6987872c", + 257 + ], + [ + "015c58a1e638830b1b40c05a5dec0c38cddb478a41f95ae8d700afc392463dee", + 258 + ], + [ + "03a904bb9b0219fa183e8b94a1a0ac60dec32107e70ddf7cd5a0cf8a16f34b3c", + 259 + ], + [ + "3bb011ff11f1843dd1dc87c32059eae858ac0df1689848957d5e99405db2401c", + 260 + ], + [ + "c39405db31c7ade2958a6dbf91601b9d8426b12ff666d0a9cdaa890d14727b50", + 261 + ], + [ + "1d2e4488d916edcb00a660cfdf07f6377e5b03dadafdfd979e0b5514384f9202", + 262 + ], + [ + "22164fbd7a16698b5e979ebb622c0c9c8efa63eefe0bd75920ff34076f062a45", + 263 + ], + [ + "6d5f7ee40222647cf87d452937b4fd68e38030451fdf9b7ba619723df9b69dcd", + 264 + ], + [ + "5f87beb20d2836bd07a70551c377ec24e572a2a2e7f66ed9e7ce7e72284e6342", + 265 + ], + [ + "e1e509a7459f0848dd9f88cdbee615a9401e39d77f98c3a0d8c2891cfdcf45ff", + 266 + ], + [ + "8789d13ec9aa62f8a51683ae57d0851ce4ac5f02df8520eb9d0cfb22c1d97079", + 267 + ], + [ + "7ad53457053981c06bf7e36c73ec6216b4df71df94070e2d7a193999d9c4de50", + 268 + ], + [ + "e962e6f9ddd0032ea0311e95bd35efc9a1843f12654817a9f3dd542739bbb482", + 269 + ], + [ + "211913cb4f03487951814ebd8c1b08a6232595b3fec7c8a2c53a31a0b5600182", + 270 + ], + [ + "ddd284bf12c6aedadc8487788b4fe3741d841b0190f7eb9b8858e3a636718858", + 271 + ], + [ + "a5415603b3468a42d018f9d710cedcd93b556d97ad99255be2c906d09509e266", + 272 + ], + [ + "8f6e453e1ac8a69f266329fbc14fbc57ae0d609b41457446737c5773c1fc8585", + 273 + ], + [ + "864879177c70af9764c375c5b997bce9752af7f06cf0579224aecdb12a341e45", + 274 + ], + [ + "8c594fa79c1f98cd7a2025284b207881858edba562269b50d9819405a53edbca", + 275 + ], + [ + "5d29ca76819a75e0b3185728da60244475f2a5d035c0a05c6df72e2a39cfdce4", + 276 + ], + [ + "7c8645d14913ce05aa91f4465a809c48311b9c1ff39f62751f85bff51ecc2a7c", + 277 + ], + [ + "53587c823088d33fb31c7627fab3f8bd04d87e819bf1ec6418b43d7072393088", + 278 + ], + [ + "d271b531065d774374ea4a1e4e14840d4192c43ab131f3b8173fd3034a630437", + 279 + ], + [ + "2e524e919f9b3d3e3e5b5202c19fb24ec40c877a6251757fc8d3f8e95e30f5a2", + 280 + ], + [ + "746e8a18b686c2d9ce763e214417a7c50d427b84d41654ea965c265afa4fb5b2", + 281 + ], + [ + "19f73459727290f7940aa70bce3d517efef19f13ebcfebfe2415eb3175a897fc", + 282 + ], + [ + "f03dd17d754b0d0ef30e4d6d71be05646a848ea6f0e3d851ea8adc3b8cebcd12", + 283 + ], + [ + "7d2c23a9c41f863f3a140a72f40de1778d59d9bcd14bc890386d9a56e9557dee", + 284 + ], + [ + "dee685c5f6e487347df119f06dfe6b1d1efac2fe7301b13d6307dfa39fb51195", + 285 + ], + [ + "8fe42cf06723b2b23b0e57ffcce8f8ba9025e2cc57f3b26c9ac841f5689bc8e8", + 286 + ], + [ + "41d7ab7deb5bdf8f5714e3cd89ff40da38c484fd94f13e45ba2c2399bdcdb2bd", + 287 + ], + [ + "b65ae28c823310ef4e4db941875201609ebb0e38961344ff44c23a11b4de6c32", + 288 + ], + [ + "bd1637b9fa4e94785a1bc0b5b750596e588fcbcb7a796c813b05a7c8a5e40bbe", + 289 + ], + [ + "9a20f4857137a99db314e87e42c4532e555113f7269db4daf39ff3c1639be2bd", + 289 + ], + [ + "20988def0bbe3e06bd52b262d4b7208dbdd5c717346d1c4d9ea3e8d6d4a6323f", + 288 + ], + [ + "3bd6ea1ab50523c3f27f43f8df3223722e9cb0a556b4bd0f2f638464f2afedc1", + 287 + ], + [ + "052679434ef3bbe5dd215bca03bdb3624af4c8ed44801c015d824c816bc743c1", + 287 + ], + [ + "1455132b29b43746881df1ac70c8a4fca569a19798c978c9629b5fd22aeb00c7", + 287 + ], + [ + "8256794b13fdbf9e44b55baf8ab28c67d6a0539f3f0757b93e5f77875b40e3e8", + 287 + ], + [ + "a7624d75293797a889cdfc89b4a07ef6c03c7580181381ceafa6b935956a0f97", + 287 + ], + [ + "6df26f3960d5f647e440ec36b1bae32adea90a4cc71230194288bfb2a56c6263", + 288 + ], + [ + "24f98883110818d63a485bccf7d6ad17166c8bab57616d48bd642f4c65cf5787", + 289 + ], + [ + "61a6d14074e972a2ad37408e42c482e939973cc08a0bf6694047e23ad6567229", + 290 + ], + [ + "400acfb6880797a1dfb4da9e2e5b7caf394c43067270cef454b285356e6488c5", + 291 + ], + [ + "a29e46db2294730c93758a6828147b597c529a05430bddf3b9e20b2861be34ff", + 292 + ], + [ + "b600e5792b20a56ac12bb8db949db8c3b6e88c61d1c5459ea60a32bc7ba183db", + 293 + ], + [ + "3eb712c61247c0a32f616b45e5bdf0e3892358e975af12e00c68d23170f59c4d", + 294 + ], + [ + "c0e30e229e0e11d55855f4de60e1a8530c871357b2d73180834ccff531cc4f0f", + 295 + ], + [ + "d94cb088f611eddb13bbcccdcb980f75c7e1aaee818ec45dfde5aa36cded664e", + 296 + ], + [ + "0e9093815c293b6d89c085e895c39e061956500e68de1c3d3a7bdfeb380ac62d", + 297 + ], + [ + "8226c85ec89f497edaac783ad56ffa3cc1c76b8bb8b452d5b9dbf4bf8aefceec", + 298 + ], + [ + "5fc0a941e366fcbb9959f10b884656d1a99d6a6a3459e2660d699cd73b54a45d", + 299 + ], + [ + "073fa8c03a1ed67182cb700fd730fc3e4fc4133d1490d4e350f4a1cd6f00a726", + 300 + ], + [ + "0cc0024eb22f72de1cd8bf840807411f98178791399486fa20382ec1d5a34b5c", + 301 + ], + [ + "ff1f2cf830274617b6e8030a69d2b1243f24dc56221eb61abcad763d4ae673ee", + 302 + ], + [ + "a4f36b9775ee70e45185647504a641ccb78cced16f517ed8d5ec58c3a2e1393e", + 303 + ], + [ + "cd33c4faadb0986a7a96697b9aef526fed1dc5101bf57ac0e82405db66b9159f", + 304 + ], + [ + "7f686890851f8d0d5272b2561be1daee3ad2f7d07abe9dfc487a697640135236", + 305 + ], + [ + "3092ae18ee890afaa29c8ab0812939d07259186097934a3fb427901976b76739", + 306 + ], + [ + "29462daeb9d00cba24ac3ad7c6d21413d427d42bc72838b0181b8ca9473a632f", + 307 + ], + [ + "04ecde0ad1b87ca368027466fe5814072d563b017db09d92f5935dbcead3021e", + 308 + ], + [ + "e0b7ab8dd566b5b695cfb1919ce27517dd3704297414ba0d19cca7f230c5c4bf", + 309 + ], + [ + "f7e4ee4f1ccb35fb32eb6aa95ebc3321646a971109e3a64bb92e90648594336d", + 310 + ], + [ + "7ec148702d4e815aacf9f3a6ef3b02a3f1148fb6ed4ce2c81a2d8cb084ecbe08", + 311 + ], + [ + "264e5c69d4105c33e83837e27bd5151a14836dafe595809330c84a9efef467a5", + 312 + ], + [ + "0dc9a61092a58f25234428a378ee5eacbe37120fce2b770a61570899b9e3ad02", + 313 + ], + [ + "114ba32db107999ac5c87226159dbd2de93b9f8e868d8ea4661d423798d4e3a8", + 314 + ], + [ + "55daa4e794cba3a29f02a73661e53fe27f93af50a922e44ee5a86c2dc5fcb70b", + 315 + ], + [ + "f713ffc84e2b4cc654b9e96af78d48935720fb2bc1283b4fba401378537cfa9c", + 316 + ], + [ + "7b55571cccc8353753943bfe22cccf5bbed03844c76090f7f41331494da705cb", + 317 + ], + [ + "6bd557c0ced0a07baa291a6ae236bce4461a8f5d40cc95fb0d8d29e4ab96c3c4", + 318 + ], + [ + "724fdeb3fcdfef11da34ed58048fb97b5d3bf9197b70824f94d2a6871aa33cd6", + 319 + ], + [ + "c657b0ffc8028442425fa326d91543bc993191f3fc6cba4949f281d3d7e1b99a", + 320 + ], + [ + "dc0a4a6a8027f91a90ecc4521b8b2534ae5191fe2c34941a5ba58b27202155df", + 321 + ], + [ + "24b57d67a44081cd141fe6f9d54be41343bb1d56a1740dc65506ff74387f8254", + 322 + ], + [ + "9b7d8ddbdb78baaf62c26fe6eeaf27194995da97776fe6ac83175c1faa7baee5", + 323 + ], + [ + "ca3a72f3da0f9eec4eefa5a2bcd29923708c0875404d82fe907a450260f6068b", + 324 + ], + [ + "38d7c324b8cefce363628279fe53d3dec843b61ac5b8e4f5c532bb84b3ef6669", + 325 + ], + [ + "a62309d0d780512817b47ca59d7945a174e857d7375c6e7539b5a2809d0d57e8", + 326 + ], + [ + "7ba85dfe312af6d7b26a5cc90d8d0a4faefb23f4d52a90ae2b81ffc390af838e", + 327 + ], + [ + "a566ec1de4ae8ca59b4410cd28faf5701181a69e9302acf4605c31e7b326eb25", + 328 + ], + [ + "420b1309b4b0b11778f594989820f22c080950ae1fcde6b5cb30f6b0f6d38929", + 329 + ], + [ + "1042747dd8522304f191814b108b382ca89dd1aa3bd653600f5824208bab7da6", + 330 + ], + [ + "1a403f8724c4d0d8b9cefdcb8042534274ebc1b748c19c8a409ee54ae0012ac3", + 331 + ], + [ + "579b727cb122e9007134e45fc06aff1c8e6af51f413339bc3ccdf8d37f772fe1", + 332 + ], + [ + "6e992ff6509832f9eefc3438184ecf2af1e29e56b775d36263b01b037f0f1828", + 333 + ], + [ + "9b3a472bc4707af613d829b7680436db196fdaced837cda60e0ed1f85054c698", + 334 + ], + [ + "70cb30f13ecdec8b9324dcc342ec600076655193f0abdcd2ee9a41925f2899e2", + 335 + ], + [ + "741d7399d8209c04ad5a1c915c15848fda5f8ba6ac0e047e698de9f2539433fd", + 336 + ], + [ + "67c8296a7d446854a44c4b5b14562d839d265c24e2b3ef63e59f1178ed8e268d", + 337 + ], + [ + "fead0b69cedd5f66f2a7eea656b5fb77433cf19e013a8dc18e0703f05252febb", + 338 + ], + [ + "efd26c33284d877bed86cfabc883678b6757822f21f1e5d808283e02a5bdd345", + 339 + ], + [ + "3cea456bab51a974b9c6e8ca10c18600bac27c6807e6b407fff9b79f07f3ce57", + 340 + ], + [ + "0de1e16e42ef4af7e6777145a2cdf663e86a96489a00f0fbc6bf3d758db5ffbd", + 341 + ], + [ + "e4812e2868e138a58787dfc8c513e3e2f4b284d796a9573ec418df6d7e0f6b3d", + 342 + ], + [ + "01751634a4bf17ba6c15cd2a0bbbcf6c999340f22955c862ffd8a354a3eca8fa", + 343 + ], + [ + "f54f7ef53c7b4c43f4edff75daf60ed800d893177d8b395a88fa942e31e9ba23", + 344 + ], + [ + "505d39f1e082a289e14ded068f497454bc17287f31295e7df7f19eef2bff4bdb", + 345 + ], + [ + "816354687a7ebe86403d6cf31d010b4e6c9d58c199066278d9578e3a4a872a10", + 346 + ], + [ + "8bab3392b17e551bc20a1fa61268ee392c344bc99ca17c39c9da16eb9b52fddb", + 347 + ], + [ + "7771213b694764c20a284dbcab20e9febc5e56dd1c17a2fce6fe92b9b9df04e1", + 348 + ], + [ + "1f4eea38b60388a932e903cef082f0edf3c1168e39126a0c11ab2d2427e7ef06", + 349 + ], + [ + "e30182cf4b65f5c556f817512c29fc8ab336086821582399eb63d0bd926ad7c0", + 350 + ], + [ + "474a64c55f7c43d8947312d3c251ed5c0993342bc235b98cd32f00c4216de4cc", + 351 + ], + [ + "19b3b60f80bba82ad7501397ccc44ccb3d76174b9a8a2cb622ff54b9299d6ba7", + 352 + ], + [ + "f41dce163320c179f425262b4cac5d4f12df521601f0035ef232de66245e26a1", + 353 + ], + [ + "2943784885fc7f0920d1df5d1c6f73c151a95a9af99458fb697978469168f668", + 354 + ], + [ + "be0765aa190d168c53265eda0eb0562acfab4de7d02cccd731575889e344a3b8", + 355 + ], + [ + "28f6908998b1b206aa14fc83bf17c85560b9ead2de7f997839069b405b8ebd40", + 356 + ], + [ + "01e3fb47e463a267f7ba68b95cf8be930bb021dc4825f37c8786ab71a1bb485d", + 357 + ], + [ + "721973716a91266aee24af7e2cbcdb636614a1c80775c66c1eb70dc5541b249e", + 358 + ], + [ + "b963d2b96405d5d362863f7f3b89a86da7ece64d8eec335547e338a5e226e40c", + 359 + ], + [ + "7c31ef4aef8e2fe5cb4553ad8ddd77e995e4d9b9ccc68cac51668c9a9ce29f99", + 360 + ], + [ + "7ca06587d63ad95ef1a7f4acdf3451df37209940f7a111dedb6110d31576da44", + 361 + ], + [ + "dff2d72b055dde4773a2b305465c8320c1d4691b9d65922b308cfd8ad2f2ae78", + 362 + ], + [ + "49c7284e56e2977cd95aab5bb813db73800a342993e14b482dce3009b120afa7", + 363 + ], + [ + "60eac8292e96433d4a504aeb41c035ea41be2bb605622ff07b78cab125e195c5", + 364 + ], + [ + "05ee3c6d98dc04cee602b753b2e36b2b8cb705cca9b48adef1a330cb37d714f2", + 365 + ], + [ + "f6d7cf488546fd9e17c87b52feba9c2b1665725234eb00853b78570a662d953e", + 366 + ], + [ + "6fa27eba0b6c6177cc5e34628b7eb8c2e139d20dac18ee3abfa6c3d9f346024e", + 367 + ], + [ + "de6a8920a5473061ed5909e69bbfbc441ed2490cc95e0d373a2e7ba8d467b1d3", + 368 + ], + [ + "0baf7399a3f9a4563149eb11ffa26f46be9769e4671b33b797df77ae190b7007", + 369 + ], + [ + "3ba56c1dc91902e2ecc0ffd9c644cac9ddb39e2b349cfe715c656f63e745c64b", + 370 + ], + [ + "3c6e712227dbf66b4718aefad86d32c4676796a0ba9a58b204e249c0cbf1026a", + 371 + ], + [ + "a8dbad01b04de82a6bcf5f7f4d46c20e8d3df5e3f125e8a45c527c24b760a884", + 372 + ], + [ + "c598cba01d9a5f1401229222c63d4754d4002b67c1666f49e8635353faa6e596", + 373 + ], + [ + "33ba65b63e8f6e017f495b0346e782a40fc2bcb6169f5ebcc98d5c0ce846820a", + 374 + ], + [ + "7c937041e3a57b81387cc31e8bb48c64492ea73485b328c486f9a99dcb723899", + 375 + ], + [ + "c8507d45c60c23a68810148e7eb70f048ad47237f54ed61e99b0ea4b59aad32c", + 376 + ], + [ + "5e0458bdccbace2d5470a2a0bb398fbf387b53792d61e691a74ce93f2bd06f4c", + 377 + ], + [ + "93ee30f88ca80b23753ff8f4f5074aae4fce87961e8e002ebea8777cd747b16a", + 378 + ] +] diff --git a/electrum/checkpoints.json b/electrum/checkpoints.json deleted file mode 100644 index 1e3ec7217..000000000 --- a/electrum/checkpoints.json +++ /dev/null @@ -1 +0,0 @@ -[ ] diff --git a/electrum/gui/qml/components/Preferences.qml b/electrum/gui/qml/components/Preferences.qml index 8804876de..47a175ec9 100644 --- a/electrum/gui/qml/components/Preferences.qml +++ b/electrum/gui/qml/components/Preferences.qml @@ -15,7 +15,7 @@ Pane { padding: 0 - property var _baseunits: ['BTC','mBTC','bits','sat'] + property var _baseunits: ['FACT','mFACT','bits','sat'] ColumnLayout { anchors.fill: parent @@ -89,7 +89,7 @@ Pane { } Label { Layout.fillWidth: true - text: qsTr('Add thousands separators to bitcoin amounts') + text: qsTr('Add thousands separators to Fact0rn amounts') wrapMode: Text.Wrap } } @@ -253,98 +253,7 @@ Pane { } } - PrefsHeading { - Layout.columnSpan: 2 - text: qsTr('Lightning') - } - - RowLayout { - Layout.columnSpan: 2 - Layout.fillWidth: true - spacing: 0 - Switch { - id: useTrampolineRouting - onCheckedChanged: { - if (activeFocus) { - if (!checked) { - var dialog = app.messageDialog.createObject(app, { - title: qsTr('Are you sure?'), - text: qsTr('Electrum will have to download the Lightning Network graph, which is not recommended on mobile.'), - yesno: true - }) - dialog.accepted.connect(function() { - Config.useGossip = true - }) - dialog.rejected.connect(function() { - checked = true // revert - }) - dialog.open() - } else { - Config.useGossip = !checked - } - } - - } - } - Label { - Layout.fillWidth: true - text: qsTr('Trampoline routing') - wrapMode: Text.Wrap - } - } - - RowLayout { - Layout.columnSpan: 2 - Layout.fillWidth: true - spacing: 0 - Switch { - id: useRecoverableChannels - onCheckedChanged: { - if (activeFocus) { - if (!checked) { - var dialog = app.messageDialog.createObject(app, { - title: qsTr('Are you sure?'), - text: qsTr('This option allows you to recover your lightning funds if you lose your device, or if you uninstall this app while lightning channels are active. Do not disable it unless you know how to recover channels from backups.'), - yesno: true - }) - dialog.accepted.connect(function() { - Config.useRecoverableChannels = false - }) - dialog.rejected.connect(function() { - checked = true // revert - }) - dialog.open() - } else { - Config.useRecoverableChannels = checked - } - } - } - } - Label { - Layout.fillWidth: true - text: qsTr('Create recoverable channels') - wrapMode: Text.Wrap - } - } - - RowLayout { - Layout.columnSpan: 2 - Layout.fillWidth: true - spacing: 0 - Switch { - id: useFallbackAddress - onCheckedChanged: { - if (activeFocus) - Config.useFallbackAddress = checked - } - } - Label { - Layout.fillWidth: true - text: qsTr('Create lightning invoices with on-chain fallback address') - wrapMode: Text.Wrap - } - } - + PrefsHeading { Layout.columnSpan: 2 text: qsTr('Advanced') @@ -389,7 +298,6 @@ Pane { rateSources.currentIndex = rateSources.indexOfValue(Daemon.fx.rateSource) fiatEnable.checked = Daemon.fx.enabled spendUnconfirmed.checked = Config.spendUnconfirmed - useTrampolineRouting.checked = !Config.useGossip useFallbackAddress.checked = Config.useFallbackAddress enableDebugLogs.checked = Config.enableDebugLogs useRecoverableChannels.checked = Config.useRecoverableChannels diff --git a/electrum/gui/qt/main_window.py b/electrum/gui/qt/main_window.py index 1d1bdfb9a..ef810bc8e 100644 --- a/electrum/gui/qt/main_window.py +++ b/electrum/gui/qt/main_window.py @@ -174,7 +174,7 @@ def __init__(self, gui_object: 'ElectrumGui', wallet: Abstract_Wallet): assert wallet, "no wallet" self.wallet = wallet if wallet.has_lightning() and not self.config.cv.GUI_QT_SHOW_TAB_CHANNELS.is_set(): - self.config.GUI_QT_SHOW_TAB_CHANNELS = True # override default, but still allow disabling tab manually + self.config.GUI_QT_SHOW_TAB_CHANNELS = False # override default, but still allow disabling tab manually Exception_Hook.maybe_setup(config=self.config, wallet=self.wallet) @@ -211,7 +211,6 @@ def __init__(self, gui_object: 'ElectrumGui', wallet: Abstract_Wallet): self.utxo_tab = self.create_utxo_tab() self.console_tab = self.create_console_tab() self.contacts_tab = self.create_contacts_tab() - self.channels_tab = self.create_channels_tab() tabs.addTab(self.create_history_tab(), read_QIcon("tab_history.png"), _('History')) tabs.addTab(self.send_tab, read_QIcon("tab_send.png"), _('Send')) tabs.addTab(self.receive_tab, read_QIcon("tab_receive.png"), _('Receive')) @@ -224,7 +223,6 @@ def add_optional_tab(tabs, tab, icon, description): tabs.addTab(tab, icon, description.replace("&", "")) add_optional_tab(tabs, self.addresses_tab, read_QIcon("tab_addresses.png"), _("&Addresses")) - add_optional_tab(tabs, self.channels_tab, read_QIcon("lightning.png"), _("Channels")) add_optional_tab(tabs, self.utxo_tab, read_QIcon("tab_coins.png"), _("Co&ins")) add_optional_tab(tabs, self.contacts_tab, read_QIcon("tab_contacts.png"), _("Con&tacts")) add_optional_tab(tabs, self.console_tab, read_QIcon("tab_console.png"), _("Con&sole")) @@ -279,25 +277,6 @@ def add_optional_tab(tabs, tab, icon, description): gui_object.timer.timeout.connect(self.timer_actions) self.contacts.fetch_openalias(self.config) - # If the option hasn't been set yet - if not config.cv.AUTOMATIC_CENTRALIZED_UPDATE_CHECKS.is_set(): - choice = self.question(title="Electrum - " + _("Enable update check"), - msg=_("For security reasons we advise that you always use the latest version of Electrum.") + " " + - _("Would you like to be notified when there is a newer version of Electrum available?")) - config.AUTOMATIC_CENTRALIZED_UPDATE_CHECKS = bool(choice) - - self._update_check_thread = None - if config.AUTOMATIC_CENTRALIZED_UPDATE_CHECKS: - # The references to both the thread and the window need to be stored somewhere - # to prevent GC from getting in our way. - def on_version_received(v): - if UpdateCheck.is_newer(v): - self.update_check_button.setText(_("Update to Electrum {} is available").format(v)) - self.update_check_button.clicked.connect(lambda: self.show_update_check(v)) - self.update_check_button.show() - self._update_check_thread = UpdateCheckThread() - self._update_check_thread.checked.connect(on_version_received) - self._update_check_thread.start() def run_coroutine_dialog(self, coro, text, on_result, on_cancelled): """ run coroutine in a waiting dialog, with a Cancel button that cancels the coroutine """ @@ -461,12 +440,6 @@ def on_event_on_history(self, *args): def on_event_gossip_db_loaded(self, *args): self.channels_list.gossip_db_loaded.emit(*args) - @qt_event_listener - def on_event_channels_updated(self, *args): - wallet = args[0] - if wallet == self.wallet: - self.channels_list.update_rows.emit(*args) - @qt_event_listener def on_event_channel(self, *args): wallet = args[0] @@ -515,7 +488,6 @@ def load_wallet(self, wallet: Abstract_Wallet): self.update_console() self.receive_tab.do_clear() self.receive_tab.request_list.update() - self.channels_list.update() self.tabs.show() self.init_geometry() if self.config.GUI_QT_HIDE_ON_STARTUP and self.gui_object.tray.isVisible(): @@ -620,12 +592,7 @@ def backup_wallet(self): backup_dir = self.config.WALLET_BACKUP_DIRECTORY backup_dir_label = HelpLabel(_('Backup directory') + ':', backup_help) msg = _('Please select a backup directory') - if self.wallet.has_lightning() and self.wallet.lnworker.channels: - msg += '\n\n' + ' '.join([ - _("Note that lightning channels will be converted to channel backups."), - _("You cannot use channel backups to perform lightning payments."), - _("Channel backups can only be used to request your channels to be closed.") - ]) + self.backup_dir_e = QPushButton(backup_dir) self.backup_dir_e.clicked.connect(self.select_backup_dir) grid.addWidget(backup_dir_label, 1, 0) @@ -727,7 +694,6 @@ def add_toggle_action(view_menu, tab): view_menu = menubar.addMenu(_("&View")) add_toggle_action(view_menu, self.addresses_tab) add_toggle_action(view_menu, self.utxo_tab) - add_toggle_action(view_menu, self.channels_tab) add_toggle_action(view_menu, self.contacts_tab) add_toggle_action(view_menu, self.console_tab) @@ -983,8 +949,6 @@ def update_status(self): (_('Unmatured'), COLOR_UNMATURED, unmatured), (_('Unconfirmed'), COLOR_UNCONFIRMED, unconfirmed), (_('On-chain'), COLOR_CONFIRMED, confirmed), - (_('Lightning'), COLOR_LIGHTNING, lightning), - (_('Lightning frozen'), COLOR_FROZEN_LIGHTNING, f_lightning), ]) balance = confirmed + unconfirmed + unmatured + frozen + lightning + f_lightning balance_text = _("Balance") + ": %s "%(self.format_amount_and_units(balance)) @@ -1629,9 +1593,8 @@ def create_status_bar(self): sb.addPermanentWidget(StatusBarButton(read_QIcon("preferences.png"), _("Preferences"), self.settings_dialog, sb_height)) self.seed_button = StatusBarButton(read_QIcon("seed.png"), _("Seed"), self.show_seed_dialog, sb_height) sb.addPermanentWidget(self.seed_button) - self.lightning_button = StatusBarButton(read_QIcon("lightning.png"), _("Lightning Network"), self.gui_object.show_lightning_dialog, sb_height) - sb.addPermanentWidget(self.lightning_button) - self.update_lightning_icon() + + self.status_button = None if self.network: self.status_button = StatusBarButton(read_QIcon("status_disconnected.png"), _("Network"), self.gui_object.show_network_dialog, sb_height) @@ -1666,14 +1629,6 @@ def set_coincontrol_msg(self, msg: Optional[str]) -> None: self.coincontrol_label.setText(msg) self.coincontrol_sb.setVisible(True) - def update_lightning_icon(self): - if not self.wallet.has_lightning(): - self.lightning_button.setVisible(False) - return - if self.network is None or self.network.channel_db is None: - self.lightning_button.setVisible(False) - return - self.lightning_button.setVisible(True) cur, total, progress_percent = self.network.lngossip.get_sync_progress_estimate() # self.logger.debug(f"updating lngossip sync progress estimate: cur={cur}, total={total}") @@ -2486,9 +2441,7 @@ def clean_up(self): self.qr_window.close() self.close_wallet() - if self._update_check_thread: - self._update_check_thread.exit() - self._update_check_thread.wait() + if self.tray: self.tray = None self.gui_object.timer.timeout.disconnect(self.timer_actions) diff --git a/electrum/gui/qt/settings_dialog.py b/electrum/gui/qt/settings_dialog.py index f8f755467..eeb7d732a 100644 --- a/electrum/gui/qt/settings_dialog.py +++ b/electrum/gui/qt/settings_dialog.py @@ -111,50 +111,6 @@ def on_nz(): self.app.update_status_signal.emit() nz.valueChanged.connect(on_nz) - # lightning - trampoline_cb = checkbox_from_configvar(self.config.cv.LIGHTNING_USE_GOSSIP) - trampoline_cb.setChecked(not self.config.LIGHTNING_USE_GOSSIP) - def on_trampoline_checked(use_trampoline): - use_trampoline = bool(use_trampoline) - if not use_trampoline: - if not window.question('\n'.join([ - _("Are you sure you want to disable trampoline?"), - _("Without this option, Electrum will need to sync with the Lightning network on every start."), - _("This may impact the reliability of your payments."), - ])): - trampoline_cb.setCheckState(Qt.Checked) - return - self.config.LIGHTNING_USE_GOSSIP = not use_trampoline - if not use_trampoline: - self.network.start_gossip() - else: - self.network.run_from_another_thread( - self.network.stop_gossip()) - util.trigger_callback('ln_gossip_sync_progress') - # FIXME: update all wallet windows - util.trigger_callback('channels_updated', self.wallet) - trampoline_cb.stateChanged.connect(on_trampoline_checked) - - legacy_add_trampoline_cb = checkbox_from_configvar(self.config.cv.LIGHTNING_LEGACY_ADD_TRAMPOLINE) - legacy_add_trampoline_cb.setChecked(self.config.LIGHTNING_LEGACY_ADD_TRAMPOLINE) - def on_legacy_add_trampoline_checked(b): - self.config.LIGHTNING_LEGACY_ADD_TRAMPOLINE = bool(b) - legacy_add_trampoline_cb.stateChanged.connect(on_legacy_add_trampoline_checked) - - remote_wt_cb = checkbox_from_configvar(self.config.cv.WATCHTOWER_CLIENT_ENABLED) - remote_wt_cb.setChecked(self.config.WATCHTOWER_CLIENT_ENABLED) - def on_remote_wt_checked(x): - self.config.WATCHTOWER_CLIENT_ENABLED = bool(x) - self.watchtower_url_e.setEnabled(bool(x)) - remote_wt_cb.stateChanged.connect(on_remote_wt_checked) - watchtower_url = self.config.WATCHTOWER_CLIENT_URL - self.watchtower_url_e = QLineEdit(watchtower_url) - self.watchtower_url_e.setEnabled(self.config.WATCHTOWER_CLIENT_ENABLED) - def on_wt_url(): - url = self.watchtower_url_e.text() or None - self.config.WATCHTOWER_CLIENT_URL = url - self.watchtower_url_e.editingFinished.connect(on_wt_url) - alias_label = HelpLabel.from_configvar(self.config.cv.OPENALIAS_ID) alias = self.config.OPENALIAS_ID self.alias_e = QLineEdit(alias) @@ -171,10 +127,11 @@ def on_msat_checked(v): self.app.refresh_tabs_signal.emit() msat_cb.stateChanged.connect(on_msat_checked) + # units units = base_units_list msg = (_('Base unit of your wallet.') - + '\n1 BTC = 1000 mBTC. 1 mBTC = 1000 bits. 1 bit = 100 sat.\n' + + '\n1 FACT = 1000 mFACT. 1 mFACT = 1000 bits. 1 bit = 100 sat.\n' + _('This setting affects the Send tab, and all balance related fields.')) unit_label = HelpLabel(_('Base unit') + ':', msg) unit_combo = QComboBox() @@ -225,11 +182,6 @@ def on_colortheme(x): self.need_restart = True colortheme_combo.currentIndexChanged.connect(on_colortheme) - updatecheck_cb = checkbox_from_configvar(self.config.cv.AUTOMATIC_CENTRALIZED_UPDATE_CHECKS) - updatecheck_cb.setChecked(self.config.AUTOMATIC_CENTRALIZED_UPDATE_CHECKS) - def on_set_updatecheck(v): - self.config.AUTOMATIC_CENTRALIZED_UPDATE_CHECKS = (v == Qt.Checked) - updatecheck_cb.stateChanged.connect(on_set_updatecheck) filelogging_cb = checkbox_from_configvar(self.config.cv.WRITE_LOGS_TO_DISK) filelogging_cb.setChecked(self.config.WRITE_LOGS_TO_DISK) @@ -347,16 +299,11 @@ def on_history_rates(checked): units_widgets.append((nz_label, nz)) units_widgets.append((msat_cb, None)) units_widgets.append((thousandsep_cb, None)) - lightning_widgets = [] - lightning_widgets.append((trampoline_cb, None)) - lightning_widgets.append((legacy_add_trampoline_cb, None)) - lightning_widgets.append((remote_wt_cb, self.watchtower_url_e)) fiat_widgets = [] fiat_widgets.append((QLabel(_('Fiat currency')), ccy_combo)) fiat_widgets.append((QLabel(_('Source')), ex_combo)) fiat_widgets.append((self.history_rates_cb, None)) misc_widgets = [] - misc_widgets.append((updatecheck_cb, None)) misc_widgets.append((filelogging_cb, None)) misc_widgets.append((alias_label, self.alias_e)) misc_widgets.append((qr_label, qr_combo)) @@ -365,7 +312,6 @@ def on_history_rates(checked): (gui_widgets, _('Appearance')), (units_widgets, _('Units')), (fiat_widgets, _('Fiat')), - (lightning_widgets, _('Lightning')), (misc_widgets, _('Misc')), ] for widgets, name in tabs_info: diff --git a/electrum/network.py b/electrum/network.py index 54ef33432..3fef7bd9d 100644 --- a/electrum/network.py +++ b/electrum/network.py @@ -347,7 +347,7 @@ def __init__(self, config: 'SimpleConfig', *, daemon: 'Daemon' = None): self._set_status(ConnectionState.DISCONNECTED) self._has_ever_managed_to_connect_to_server = False self._was_started = False - #self.export_checkpoints("checkpoint_CHECK.json") + self.export_checkpoints("checkpoint.json") # lightning network if self.config.WATCHTOWER_SERVER_ENABLED: diff --git a/electrum/util.py b/electrum/util.py index 82aed99fb..4142a2ba2 100644 --- a/electrum/util.py +++ b/electrum/util.py @@ -889,68 +889,18 @@ def age( return _("in over {} years").format(round(distance_in_minutes / 525600)) mainnet_block_explorers = { - '3xpl.com': ('https://3xpl.com/bitcoin/', + 'fact0rn.io': ('https://explorer.fact0rn.io', {'tx': 'transaction/', 'addr': 'address/'}), - 'Bitflyer.jp': ('https://chainflyer.bitflyer.jp/', - {'tx': 'Transaction/', 'addr': 'Address/'}), - 'Blockchain.info': ('https://blockchain.com/btc/', - {'tx': 'tx/', 'addr': 'address/'}), - 'Blockstream.info': ('https://blockstream.info/', - {'tx': 'tx/', 'addr': 'address/'}), - 'Bitaps.com': ('https://btc.bitaps.com/', - {'tx': '', 'addr': ''}), - 'BTC.com': ('https://btc.com/', - {'tx': '', 'addr': ''}), - 'Chain.so': ('https://www.chain.so/', - {'tx': 'tx/BTC/', 'addr': 'address/BTC/'}), - 'Insight.is': ('https://insight.bitpay.com/', - {'tx': 'tx/', 'addr': 'address/'}), - 'BlockCypher.com': ('https://live.blockcypher.com/btc/', - {'tx': 'tx/', 'addr': 'address/'}), - 'Blockchair.com': ('https://blockchair.com/bitcoin/', - {'tx': 'transaction/', 'addr': 'address/'}), - 'blockonomics.co': ('https://www.blockonomics.co/', - {'tx': 'api/tx?txid=', 'addr': '#/search?q='}), - 'mempool.space': ('https://mempool.space/', - {'tx': 'tx/', 'addr': 'address/'}), - 'mempool.emzy.de': ('https://mempool.emzy.de/', - {'tx': 'tx/', 'addr': 'address/'}), - 'OXT.me': ('https://oxt.me/', - {'tx': 'transaction/', 'addr': 'address/'}), - 'mynode.local': ('http://mynode.local:3002/', - {'tx': 'tx/', 'addr': 'address/'}), - 'system default': ('blockchain:/', - {'tx': 'tx/', 'addr': 'address/'}), } testnet_block_explorers = { - 'Bitaps.com': ('https://tbtc.bitaps.com/', - {'tx': '', 'addr': ''}), - 'BlockCypher.com': ('https://live.blockcypher.com/btc-testnet/', - {'tx': 'tx/', 'addr': 'address/'}), - 'Blockchain.info': ('https://www.blockchain.com/btc-testnet/', - {'tx': 'tx/', 'addr': 'address/'}), - 'Blockstream.info': ('https://blockstream.info/testnet/', - {'tx': 'tx/', 'addr': 'address/'}), - 'mempool.space': ('https://mempool.space/testnet/', - {'tx': 'tx/', 'addr': 'address/'}), - 'smartbit.com.au': ('https://testnet.smartbit.com.au/', - {'tx': 'tx/', 'addr': 'address/'}), + 'system default': ('blockchain://000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943/', {'tx': 'tx/', 'addr': 'address/'}), } signet_block_explorers = { - 'bc-2.jp': ('https://explorer.bc-2.jp/', - {'tx': 'tx/', 'addr': 'address/'}), - 'mempool.space': ('https://mempool.space/signet/', - {'tx': 'tx/', 'addr': 'address/'}), - 'bitcoinexplorer.org': ('https://signet.bitcoinexplorer.org/', - {'tx': 'tx/', 'addr': 'address/'}), - 'wakiyamap.dev': ('https://signet-explorer.wakiyamap.dev/', - {'tx': 'tx/', 'addr': 'address/'}), - 'ex.signet.bublina.eu.org': ('https://ex.signet.bublina.eu.org/', - {'tx': 'tx/', 'addr': 'address/'}), + 'system default': ('blockchain:/', {'tx': 'tx/', 'addr': 'address/'}), }