{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":315448537,"defaultBranch":"master","name":"ElectrumABC","ownerLogin":"Bitcoin-ABC","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2020-11-23T21:46:08.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/28255313?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1712224366.0","currentOid":""},"activityList":{"items":[{"before":"31e8eeab479ec85193fd6b1a40273175d385f637","after":"a0d7a63dba9285419e22f91912a30b7190c712b9","ref":"refs/heads/master","pushedAt":"2024-06-07T08:01:40.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] prefer int.from_bytes over int('0x'+hex, 16)\n\nSummary:\nbackport of https://github.com/spesmilo/electrum/commit/d7c5949365cf061020e5dfb82ca26171c0692eb6\n\nDepends on D16279\n\nTest Plan: `python test_runner.py`\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D16300","shortMessageHtmlLink":"[electrum] prefer int.from_bytes over int('0x'+hex, 16)"}},{"before":"3fc6ba3b9367baa858a95bd55a4eb91fce5c34db","after":"31e8eeab479ec85193fd6b1a40273175d385f637","ref":"refs/heads/master","pushedAt":"2024-06-01T08:01:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[Automated] Update electrum checkpoints","shortMessageHtmlLink":"[Automated] Update electrum checkpoints"}},{"before":"d41159e9f46141b42ddf634405d944451e527a11","after":"3fc6ba3b9367baa858a95bd55a4eb91fce5c34db","ref":"refs/heads/master","pushedAt":"2024-05-01T08:01:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[Automated] Update electrum checkpoints","shortMessageHtmlLink":"[Automated] Update electrum checkpoints"}},{"before":"5e944b9cc3d637602a21066390a8ca91b5390201","after":"d41159e9f46141b42ddf634405d944451e527a11","ref":"refs/heads/master","pushedAt":"2024-04-17T08:01:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] fix flaky tear-down in functional tests\n\nSummary:\nWhen the `daemon stop` command in called in the `fulcrum_service`'s tear-down, it returns before all the the threads are terminated. In particular the wallet files still need to be saved before the daemon process exits. This causes a race condition when the test fixture deletes the data directory while `WalletStorage._write` creates a tmp file then deletes it. See https://github.com/python/cpython/pull/14064 for a description of how `shutil.rmtree` ends up raising a `FileNotFoundError`.\n\nThis issue will go away in Python 3.13 when `shutil.rmtree` no longer fails because it failed to delete an already deleted file. In the meantime ignore these failures.\n\nI first tried a different approach: wait for the daemon process to actually terminate before deleting the data. However detecting the correct deamon process is not trivial, and if done wrong could cause more flakiness.\n\nTest Plan: `pytest electrumabc/tests/regtest`\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nSubscribers: Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15989","shortMessageHtmlLink":"[electrum] fix flaky tear-down in functional tests"}},{"before":"65729eeb958bd83d34c7fb319578ee6d898a869c","after":"5e944b9cc3d637602a21066390a8ca91b5390201","ref":"refs/heads/master","pushedAt":"2024-04-06T08:01:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] push notification for release 5.2.12\n\nSummary: As per title.\n\nTest Plan:\n`./electrum-abc --test-release-notification`\nMenu Help > Check for updates\n\nChange a random value in the middle of the signature, redo the test, check that it fails\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15907","shortMessageHtmlLink":"[electrum] push notification for release 5.2.12"}},{"before":"4a3ba04c293be4b579cfc7affbb35c3e18359831","after":"65729eeb958bd83d34c7fb319578ee6d898a869c","ref":"refs/heads/master","pushedAt":"2024-04-04T08:18:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] build: fix incompatible dependencies\n\nSummary:\nIn D15870 we bumped the pinpointed `pyopenssl` version to 24.1.0, which introduced a dependency on `cryptography>42`. However the currently pinpointed version of `dnspython[dnssec]` had a incompatible limit on `cryptography` version (`<40`).\nNote that prior to D15870 we already had an issue because of pinpointing `cryptography==41.x`, but the builds worked anyway with just warnings. But now the MacOS build is broken.\n\nBump `dnspython[dnssec]` to the latest release, which dropped the upper limit for `cryptography` and definitely supports `==42`\n\nTest Plan: Build all the release binaries and test them.\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15885","shortMessageHtmlLink":"[electrum] build: fix incompatible dependencies"}},{"before":"874d49cdd9c49abb287a1f9e5cfdb9735eb5b04f","after":"4a3ba04c293be4b579cfc7affbb35c3e18359831","ref":"refs/heads/master","pushedAt":"2024-04-04T08:00:51.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] Bump version to 5.2.12 and add release notes\n\nSummary:\nAs per title\n\nDepends on D15872\n\nTest Plan: `python setup.py --version`\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15873","shortMessageHtmlLink":"[electrum] Bump version to 5.2.12 and add release notes"}},{"before":"17759218f07a96f871564dc31934e7771e32537c","after":"874d49cdd9c49abb287a1f9e5cfdb9735eb5b04f","ref":"refs/heads/master","pushedAt":"2024-04-03T08:01:28.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] add the option to always add new addresses to wallet when scanning beyond gap\n\nSummary:\nUsers have requested a better solution for generating more addresses without having to use console command.\nThis adds a checkbox to the \"Scan More Addresses\" tool. Users can optionnaly check it to save all the newly scanned addresses to the wallet, no matter if any tx history was found for any following address.\n\nNote that as a result of this the wallet will monitor more unused addresses than the usual 20 (default gap limit), so it is not something I recommend doing for wallets with already a large history.\n\nDepends on D15848\n\nTest Plan:\nuse the Scan More Addresses tool with the new checkbox toggled. Make sure the expected number of new addresses is added to the Address tab.\nTry scanning for only receive addresses, only change addresses, and both.\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nSubscribers: Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15849","shortMessageHtmlLink":"[electrum] add the option to always add new addresses to wallet when …"}},{"before":"1081d513fb4dc6d58f5b82ae3bf8ce3a77fedfe8","after":"17759218f07a96f871564dc31934e7771e32537c","ref":"refs/heads/master","pushedAt":"2024-04-02T08:01:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] fix historical fiat prices via CoinGecko\n\nSummary:\nCoinGecko changed the rules for using their API:\n```\n{\"error\":{\"status\":{\"timestamp\":\"2024-03-30T07:22:29.427+00:00\",\"error_code\":10012,\"error_message\":\"Your request exceeds the allowed time range. Public API users are limited to querying historical data within the past 365 days. Upgrade to a paid plan to enjoy full historical data access: https://www.coingecko.com/en/api/pricing. \"}}}\n```\n\nWe can no longer fetch the entire price history for a fiat currency. So limit the call to the maximum allowed 365 days, and don't overwrite the existing cached data, update it.\n\nConsequences:\n - For existing users who run Electrum ABC at least once a year, the previous behavior is preserved, they will keep seeing a complete fiat history for previously cached fiat currencies\n - User running Electrum ABC less often than once a year will now have gaps in the historical prices\n - New users or existing users selecting a new fiat currency will initially no longer see historical prices older than 365 days prior to activating the feature or selecting the currency.\n\nTest Plan:\nMake sure the cached data file is older than 24 hours, to trigger the API call\n```\ntouch -d \"2 days ago\" ~/.electrum-abc/cache/CoinGecko_GBP\n```\n\nStart Electrum ABC with historical fiat prices enabled on a wallet with both recent transactions and transactions older than one year, check that both the recent transactions and the old transactions show the fiat balance (iff the historical fiat prices were already enabled prior to CoinGecko changing the rules).\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15841","shortMessageHtmlLink":"[electrum] fix historical fiat prices via CoinGecko"}},{"before":"087102645e8148b9a6bb2a2da8df2f83663a861b","after":"1081d513fb4dc6d58f5b82ae3bf8ce3a77fedfe8","ref":"refs/heads/master","pushedAt":"2024-04-01T08:01:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[Automated] Update electrum checkpoints","shortMessageHtmlLink":"[Automated] Update electrum checkpoints"}},{"before":"cb780c727b10d06f07b3edcdc23815dcf12782ff","after":"087102645e8148b9a6bb2a2da8df2f83663a861b","ref":"refs/heads/master","pushedAt":"2024-03-16T08:01:44.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] fix error when cached password is forwarded to subwidget\n\nSummary:\nIn D14729 we implemented zeroing the cached password in memory when a the owner widget is destructed.\nThis causes an issue when the password is initially cached by a parent widget (`AvaDelegationWidget`) and then passed to a child widget (`AuxiliaryKeysDialog`), because python passes a reference to the password. So when the child widget is destructed, the password is zeroed in memory also for the parent widget, which then causes an error when the parent widget tries to use it to decrypt the wallet.\n\n```\n File \"/home/pierre/dev/bitcoin-abc/electrum/electrumabc/bitcoin.py\", line 296, in aes_decrypt_with_iv\n return strip_PKCS7_padding(data)\n File \"/home/pierre/dev/bitcoin-abc/electrum/electrumabc/bitcoin.py\", line 267, in strip_PKCS7_padding\n raise InvalidPadding(\"invalid padding byte (large)\")\nelectrumabc.bitcoin.InvalidPadding: invalid padding byte (large)\n```\n\nOnly zero the pwd memory in the __del__ method of the widget that initialized the bytearray, so child widgets will not clear it if they received the reference via their __init__ method.\n\nDepends on D15708\n\nTest Plan: Open the delegation editor, paste a proof or a delegation to trigger the password prompt and cache the wallet password in memory. Then click \"generate key\" next to the delegated key field so that the child widget is created. Close the auxiliary key dialog. Paste again a proof or delegation and check that there is no error related to `InvalidPassword`\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15709","shortMessageHtmlLink":"[electrum] fix error when cached password is forwarded to subwidget"}},{"before":"dc0c969911c06c866ae1db93178a8ae94e43ba2e","after":"cb780c727b10d06f07b3edcdc23815dcf12782ff","ref":"refs/heads/master","pushedAt":"2024-03-05T09:00:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] build: Update to Python 3.11.8\n\nSummary:\nBump the python version used to produce the release binaries. This is a wise move because python 3.9 security support will stop soon (2025), because python 3.11 added a significant performance improvement, and because staying in sync with Electron Cash makes the maintenance of the build toolchain easier.\n\nAdjacent required changes:\n - bump pyinstaller to a version that works with python 3.11\n - bump all python libraries to recent enough versions to support python 3.11\n - bump python libraries that are not pure-python (include C/C++ code) to versions that provide wheels (pre-compiled release binaries) for python 3.11, as the build script for Windows does not have the tools or headers to compile the libraries\n - update `xvfb` in the wine Dockerfile to the latest security patche (previous version of the lib is no longer available so the docker image creation would fail without this)\n\nThis is a backport of [[https://github.com/Electron-Cash/Electron-Cash/pull/2755 | electroncash#2755]]\n\nDepends on D15522\n\nNotable differences between this diff and the source material:\n - we do not require zxing-cpp for now. If this component is backported later, that diff will have to include the relevant changes.\n - we no longer have psutil as a dependency, as of D14131\n - we don't need to update the python version in as many places, thanks to https://github.com/Bitcoin-ABC/ElectrumABC/commit/7466ca0de67da44d88002f7269c786c5fd021714\n - some of the library bumps were already done on our side\n - we no longer package the tor binary in our release (https://github.com/Bitcoin-ABC/ElectrumABC/pull/279)\n - we fixed the hidapi/Cython issue independently (D14297) so these changes are not relevant to us\n\nTest Plan:\n```\ncontrib/build-wine/build.sh\ncontrib/build-linux/appimage/build.sh\n```\n\nBuild the MacOS release on a MacOS machine, as per `contrib/osx/README/md`\n\nTest the various release binaries.\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nSubscribers: Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15527","shortMessageHtmlLink":"[electrum] build: Update to Python 3.11.8"}},{"before":"bbe83598b4819af0117dcac3df9a9f087c5834d4","after":"dc0c969911c06c866ae1db93178a8ae94e43ba2e","ref":"refs/heads/master","pushedAt":"2024-03-02T09:01:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] bump docker to ubuntu 20.04 for AppImage building\n\nSummary:\nWe want to build the linux releases on an old linux version to produce an AppImage that works on the widest possible range of linux distros, but Ubuntu 18.04 is now too old for compatibility with various python packages.\n\nFor instance we need Ubuntu 20.04 because newer `cryptography` version (updated in a follow-up commit to bump the package python version) need a newer OpenSSL version than is available on Bionic.\n\nsee https://github.com/pyca/cryptography/pull/8449\n\nThis is a partial backport of [[https://github.com/Electron-Cash/Electron-Cash/pull/2774 | electroncash#2774]], [[https://github.com/Electron-Cash/Electron-Cash/pull/2778 | electroncash#2778]] and [[https://github.com/Electron-Cash/Electron-Cash/pull/2755 | electroncash#2755]]\n\nTest Plan:\n```\ncd electrum\ncontrib/make_clean\ncontrib/build-linux/appimage/build.sh\n```\n\nThen run the release binary: `dist/ElectrumABC-5.2.11-x86_64.AppImage`\n\nReviewers: #bitcoin_abc, bytesofman\n\nReviewed By: #bitcoin_abc, bytesofman\n\nSubscribers: bytesofman\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15522","shortMessageHtmlLink":"[electrum] bump docker to ubuntu 20.04 for AppImage building"}},{"before":"6476b955286748fa34aa34b6a5f4759bb295ae58","after":"bbe83598b4819af0117dcac3df9a9f087c5834d4","ref":"refs/heads/master","pushedAt":"2024-03-01T09:01:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[Automated] Update electrum checkpoints","shortMessageHtmlLink":"[Automated] Update electrum checkpoints"}},{"before":"5222ed52a6fd3317f7e5cede32cb0aa0a2beaa23","after":"6476b955286748fa34aa34b6a5f4759bb295ae58","ref":"refs/heads/master","pushedAt":"2024-02-27T09:01:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[cmake] don't include check-electrum in check-all target\n\nSummary:\nAll other `check-all` dependencies are more or less directly related to node development. Including `check-electrum` adds a bunch of unrelated requirements for python dependencies for node developers. This is not clearly explained in the CONTRIBUTING and build documentation, which implies that the electrum dependencies are only needed for electrum devs.\n\nLet's remove that dependency, and run the check-electrum target only on diffs that touch the electrum subtree and on master commits. There is currently no way a commit that does not touch the electrum subtree can break the electrum unit tests, they are only related to the electrum codebase.\n\nTest Plan:\nCheck that electrum unit tests are not run on `check-all`.\n```\nmkdir build\ncd build\ncmake .. -GNinja\nninja all check-all\nninja check-electrum\n```\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15544","shortMessageHtmlLink":"[cmake] don't include check-electrum in check-all target"}},{"before":"c5dee959e8383858c52bd96590818ab669d8af49","after":"5222ed52a6fd3317f7e5cede32cb0aa0a2beaa23","ref":"refs/heads/master","pushedAt":"2024-02-17T09:01:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"lint: add new python script to check file names and permissions\n\nSummary:\nReplaces existing filenames and shebang linters, as well as adding some new and increased testing.\nSummary of tests:\n- Checks every file in the repository against an allowed regexp to make sure only lowercase or uppercase alphanumerics (a-zA-Z0-9), underscores (_), hyphens (-), at (@) and dots (.) are used in repository filenames.\n- Checks only source files (*.cpp, *.h, *.py, *.sh, *.rs) against a stricter allowed regexp to make sure only lowercase alphanumerics (a-z0-9), underscores (_), hyphens (-) and dots (.) are used in source code filenames. Additionally there is an exception regexp for directories or files which are excepted from matching this regexp (replaces existing filename linter)\n- Checks all files in the repository match an allowed executable or non-executable file permission octal. Additionally checks that for executable files, the file contains a shebang line.\n- Checks that for executable .py and .sh files, the shebang line used matches an allowable list of shebangs (replacethe two existing shebang linters)\n- Checks every file that contains a shebang line to ensure it has an executable permission.\n\nThis is a backport of [[https://github.com/bitcoin/bitcoin/pull/21740 | core#21740]], [[https://github.com/bitcoin/bitcoin/pull/24762 | core#24762]], [[https://github.com/bitcoin/bitcoin/pull/21873 | core#21873]] and [[https://github.com/bitcoin/bitcoin/pull/25015 | core#25015]]\n\nBenchmark, before this diff:\n```$ time arc lint --everything\n...\nreal\t3m37,360s\nuser\t17m17,366s\nsys\t3m29,937s\n```\n\nAfter this diff:\n\n```\n$ time arc lint --everything\n...\nreal\t3m38,471s\nuser\t17m27,795s\nsys\t3m32,067s\n\n```\n\nLinter on its own:\n```\n$ time test/lint/lint-files.py\n\nreal\t0m0,132s\nuser\t0m0,164s\nsys\t0m0,099s\n```\n\nTest Plan:\n`arc lint`\n`arc lint --everything`\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nSubscribers: Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15458","shortMessageHtmlLink":"lint: add new python script to check file names and permissions"}},{"before":"ec0b2ad5997c0a6713f2f1df3e7e349875549084","after":"c5dee959e8383858c52bd96590818ab669d8af49","ref":"refs/heads/master","pushedAt":"2024-02-16T09:01:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[lint] remove executable flag and shebang on non-script python files\n\nSummary:\nPython files that are imported as modules or always executed using the interpreter explicitely (`python test.py`) should not have a shebang and should not be executable.\nFix the current inconsistencies.\n\nThis is mostly a scripted diff, except for the PythonShebangLinter.php changes:\n\n```\nfind test/functional/ -name '*py' -not -name 'test_runner.py' | xargs sed -i '1{/^#!/d;}'\nfind test/functional/ -name '*py' -not -name 'test_runner.py' | xargs chmod 644\n\nfind electrum -name '*py' -not -path 'electrum/scripts/*' -not -path 'electrum/contrib/*' -not -name 'test_runner.py' | xargs sed -i '1{/^#!/d;}'\nfind electrum -name '*py' -not -path 'electrum/scripts/*' -not -path 'electrum/contrib/*' -not -name 'test_runner.py' | xargs chmod 644\n\nfind chronik/chronik-plugin-impl -name '*py' | xargs sed -i '1{/^#!/d;}'\n\nchmod 755 contrib/testgen/base58.py\nsed -i '1{/^#!/d;}' contrib/buildbot/shieldio.py\nsed -i '1{/^#!/d;}' contrib/buildbot/test/abcbot_fixture.py\nsed -i '1{/^#!/d;}' electrum/scripts/util.py\n```\n\nAnd `arc lint` to remove a few blank lines at the beginning of files.\n\nNote that the `sed` command removes the first line of a file if it starts with #! (shebang lines).\n\nDepends on D15449\n\nTest Plan:\n`ninja check-functional-extend check-electrum`\n\n`arc lint --everything`\n\nAdd a few shebangs to non executable python files and check that it raises an error.\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nSubscribers: Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15448","shortMessageHtmlLink":"[lint] remove executable flag and shebang on non-script python files"}},{"before":"3f0ed95d0476a46d09cafa6773916c87819d2a60","after":"ec0b2ad5997c0a6713f2f1df3e7e349875549084","ref":"refs/heads/master","pushedAt":"2024-02-15T09:01:39.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] make the python interpreter explicit when running setup.py\n\nSummary:\nA `setup.py` file is not usually executed on its own (`./setup.py`), people normally call (`python setup.py`)\n\nDepends on D15446\n\nTest Plan: `electrum/test_runner.py`\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15449","shortMessageHtmlLink":"[electrum] make the python interpreter explicit when running setup.py"}},{"before":"0208fc2adc55160e0f6757aae2cd0ecadeb539d9","after":"3f0ed95d0476a46d09cafa6773916c87819d2a60","ref":"refs/heads/master","pushedAt":"2024-02-14T09:01:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] rename icons without whitespaces and capital letters\n\nSummary: We are about to add a linter that checks file names and file permissions, and it does not like capital letters and spaces in filenames.\n\nTest Plan: Run Electrum ABC from sources, check that the CashFusion icons appear as expected in the status bar (green when activated, gray otherwise)\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15432","shortMessageHtmlLink":"[electrum] rename icons without whitespaces and capital letters"}},{"before":"b392735d0cf75d9cb058134c523908d98d747fd5","after":"0208fc2adc55160e0f6757aae2cd0ecadeb539d9","ref":"refs/heads/master","pushedAt":"2024-02-08T09:01:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[Automated] Update electrum checkpoints","shortMessageHtmlLink":"[Automated] Update electrum checkpoints"}},{"before":"1318ab7dec239d8c57046017b51baae1211a63af","after":"b392735d0cf75d9cb058134c523908d98d747fd5","ref":"refs/heads/master","pushedAt":"2024-02-07T09:01:40.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] show a warning when a BIP21 URI sets a significant amount in the send tab\n\nSummary:\nThis is to prevent users from accidentaly sending large amounts after clicking on a payment URI. The warning makes them aware that they should pay attention.\n\nThe XEC threshold serves as a fallback in case the user didn't enable fiat conversions in the application. It can be adjusted in the future if the exchange rate changes significantly.\n\nTest Plan:\nDoes not trigger the warning:\n`ecash:qrh3ethkfms79tlcw7m736t38hp9kg5f7gycxeymme?amount=2999999.00`\n\nTriggers the warning if the fiat conversion is enabled:\n`ecash:qrh3ethkfms79tlcw7m736t38hp9kg5f7gycxeymme?amount=3500000.00`\n`ecash:qrh3ethkfms79tlcw7m736t38hp9kg5f7gycxeymme?amount=2000000.00&addr=qrh3ethkfms79tlcw7m736t38hp9kg5f7gycxeymme&amount=1500000.00`\n\nTriggers the warning if the fiat conversion is disabled (after restarting the application to actually make the fiat conversion unavailable):\n`ecash:qrh3ethkfms79tlcw7m736t38hp9kg5f7gycxeymme?amount=3000000.00`\n`ecash:qrh3ethkfms79tlcw7m736t38hp9kg5f7gycxeymme?amount=2000000.00&addr=qrh3ethkfms79tlcw7m736t38hp9kg5f7gycxeymme&amount=1000000.00`\n\nReviewers: #bitcoin_abc, bytesofman\n\nReviewed By: #bitcoin_abc, bytesofman\n\nSubscribers: bytesofman\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15396","shortMessageHtmlLink":"[electrum] show a warning when a BIP21 URI sets a significant amount …"}},{"before":"738d4b4aff4f66b2f1db8383195a5cb8fff0b60f","after":"1318ab7dec239d8c57046017b51baae1211a63af","ref":"refs/heads/master","pushedAt":"2024-02-06T09:01:35.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] support parsing multi-output URIs\n\nSummary:\nThis adds support for multi-outputs URIs in the send tab.\nFor now, the receive tab is still limited to generating regular single-output URIs.\n\nDepends on D15385\n\nTest Plan:\nPaste the multi-output URI examples from the added test and from the bip21-ecash-additions.md document into the payto field, and check that the transactions are created as expected.\n\nTest also other examples from the test_bip21 test suite in the GUI, especially the exotic ones such as `ecash:?op_return_raw=04deadbeef` (takes one input randomly and creates an op_return output and a change output) and `ecash:?r=http://domain.tld/page?h%3D2a8628fc2fbe` (this one will not work because the bip70 url is invalid, but it should still try to resolve it and give a meaningful error message).\n\n`python test_runner.py`\n\nReviewers: #bitcoin_abc, bytesofman\n\nReviewed By: #bitcoin_abc, bytesofman\n\nSubscribers: bytesofman\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15250","shortMessageHtmlLink":"[electrum] support parsing multi-output URIs"}},{"before":"3aeeab0753507d85e4e7b570709ceea1d51b7ef5","after":"738d4b4aff4f66b2f1db8383195a5cb8fff0b60f","ref":"refs/heads/master","pushedAt":"2024-02-05T09:01:42.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[lint] bump black to >=24\n\nSummary:\nThis is the yearly bumping for the black linter. Black guarantees that the default formatting will not change between major versions.\nNote that black currently supports python >= 3.8\n\nAlso note that previously we had black >=22.8 instead of >=23 to keep support python 3.6.\n\nI manually moved some comments to the previous line instead of same line, to avoid clumsy auto-formatting changes.\n\nDepend in D15373\n\nTest Plan:\nRun Electrum ABC and the functional tests\n\n`arc lint --everything` (check that no python file is changed)\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15374","shortMessageHtmlLink":"[lint] bump black to >=24"}},{"before":"9e19f1066221d1627646cdad5be6307759506735","after":"3aeeab0753507d85e4e7b570709ceea1d51b7ef5","ref":"refs/heads/master","pushedAt":"2024-02-02T09:01:42.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] rename scripts with .py extension, and fix misc lint errors\n\nSummary:\nWith the .py extension, these files will now be under the watch of our linters.\n\nFix two remaing linter issues: a missing `#!/usr/bin/env python3` shebang and a missing encoding when calling `open(...)`\n\nDepends on D15359\n\nTest Plan:\n`contrib/source-control-tools/patch-recipes/update-electrum-checkpoints.sh`\n\n`arc lint -- electrum/scripts/*py`\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15364","shortMessageHtmlLink":"[electrum] rename scripts with .py extension, and fix misc lint errors"}},{"before":"65e334e4ad7ca4d654e53615762b684864b32c58","after":"9e19f1066221d1627646cdad5be6307759506735","ref":"refs/heads/master","pushedAt":"2024-02-01T09:01:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] fix get_merkle_root when Electrum ABC is not installed\n\nSummary: The script cannot import `electrumabc` if it is not in the python PATH. We could install ElectrumABC as a package with `pip install .` in `update-electrum-checkpoints.sh`, but it is simpler to just hack `sys.path` to make sure the script always work with the latest version of the source code.\n\nTest Plan:\n```\npip uninstall ElectrumABC\ncd ./contrib/source-control-tools\n./patch-recipes/update-electrum-checkpoints.sh\n```\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15355","shortMessageHtmlLink":"[electrum] fix get_merkle_root when Electrum ABC is not installed"}},{"before":"e9da99f351314d89be9ba1ece16997291f915388","after":"65e334e4ad7ca4d654e53615762b684864b32c58","ref":"refs/heads/master","pushedAt":"2024-01-25T09:01:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] fix cashaddr prefix for fulcrum donation address\n\nSummary:\nWe no longer support the \"bitcoincash:\" prefix, so if a user clicks on \"Help > Donate to server\" while connected to a server that advertises the default donation address, it causes an error. Fix this by converting the address explicitely to an \"ecash:\" address.\n\nFix also two prefixes in comments.\n\nDepends on D15250\n\nTest Plan: Connect to a server that does not specify a custom donation address (`electrum.bitcoinabc.org`) and click the \"Help > Donate to server\" menu action. Check that it does not raise an error message.\n\nReviewers: #bitcoin_abc, bytesofman, Fabien\n\nReviewed By: #bitcoin_abc, bytesofman, Fabien\n\nSubscribers: bytesofman\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15251","shortMessageHtmlLink":"[electrum] fix cashaddr prefix for fulcrum donation address"}},{"before":"41f118c86da9dd51dae371d5d79a66e4b7689038","after":"e9da99f351314d89be9ba1ece16997291f915388","ref":"refs/heads/master","pushedAt":"2024-01-24T09:01:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] drop support for \"bitcoincash:...\" addresses\n\nSummary:\nAfter this diff, bch cash addresses are no longer supported in the \"Pay to\" field, in BIP21 URIs or any method of entering an address that uses `Address.from_string` without setting `support_arbitrary_prefix=True`.\n\nThe address converter in the GUI still support any prefix. This diff also makes the command line / RPC `addressconvert` command support arbitrary prefixes.\nBut now we no longer support bch addresses without an explicit prefix.\n\nThis diff also incidentally fixes support for \"ectest:...\" URIs when running in testnet mode. Previously `web.parseable_schemes` did not correctly account for the net parameter, and always returned `(\"ecash\", \"bitcoincash\")`\n\nThis is a follow-up to https://github.com/Bitcoin-ABC/ElectrumABC/pull/250 (dropping of display of BCH addresses in the UI).\n\nTest Plan:\n```\npython test_runner.py\npytest electrumabc.tests.regtest\n```\n\nTry the address converter tool in the prefix with various address formats. It should still support everything it did before, except for prefixless \"bitcoincash:...\" cash addresses.\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15245","shortMessageHtmlLink":"[electrum] drop support for \"bitcoincash:...\" addresses"}},{"before":"becf87a04cc0167d519c76329dce424e4033ddbd","after":"41f118c86da9dd51dae371d5d79a66e4b7689038","ref":"refs/heads/master","pushedAt":"2024-01-23T09:01:44.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] escape special chars in URI for op_return message\n\nSummary:\nAs per title\n\nDepends on D15236\n\nTest Plan:\n`python test_runner.py`\n\nIn the \"receive\" tab, enter weird stuff in the OP_RETURN field with the \"Raw hex script\" option unchecked. Click the \"Copy URI\", paste it in a notebook and check that special chars are escaped and URI-safe.\n\nReviewers: #bitcoin_abc, bytesofman\n\nReviewed By: #bitcoin_abc, bytesofman\n\nSubscribers: bytesofman\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15231","shortMessageHtmlLink":"[electrum] escape special chars in URI for op_return message"}},{"before":"ab255774023d60f9468ff9ef4111db1c817c1ab1","after":"becf87a04cc0167d519c76329dce424e4033ddbd","ref":"refs/heads/master","pushedAt":"2024-01-22T09:00:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] remove support for signed payment requests in URIs\n\nSummary:\nThis was added in 2015, and I'm not aware of any use case for it today. This feature makes it hard to decouple BIP21 payments URIs from BIP70 payment requests, so it makes it harder to extend BIP21 with multiple destination and amounts.\n\nBIP72 states that:\n> when Bitcoin wallet software that supports this BIP receives a bitcoin: URI with a request parameter, it should ignore the bitcoin address/amount/label/message in the URI and instead fetch a PaymentRequest message and then follow the payment protocol, as described in BIP 70.\n\nAfter this diff, the \"sig\", \"name\", \"exp\", \"memo\" and \"time\" field are still used for internal dict representation of payment requests, but they should no longer affect payment URIs.\n\nSee following commits for the introduction of the parameters that this diff removes:\nhttps://github.com/spesmilo/electrum/commit/9c30ad3dd5fb10832579e858c3cfdded06444dad\nhttps://github.com/spesmilo/electrum/commit/e77f0c9\nhttps://github.com/spesmilo/electrum/commit/0cef063ee231cc9459dff6829dc33ffc2ed499e2\nhttps://github.com/spesmilo/electrum/commit/a6c65b8997c2407502edbe5cc9d818722e1db2cd\n\nTest Plan:\n`python test_runner.py`\n\nTest that a regular BIP72 payment URI still works:\n - Generate a payment request: `curl -L -H 'Content-Type: application/json' -d '{\"outputs\":[{\"address\":\"1NLcNpAaBBMekgBZk7NxwdxwtSUTfTV8Aq\",\"amount\":560}],\"currency\":\"ecash\"}' https://pay.badger.cash/create_invoice`\n - Run `./electrum-abc`\n - In the send tab, paste `ecash:?r=https://pay.badger.cash/i/JFPTG` (replace the URL with the one returned by the above `curl` command\n - Send\n\nReviewers: #bitcoin_abc, bytesofman\n\nReviewed By: #bitcoin_abc, bytesofman\n\nSubscribers: bytesofman\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15221","shortMessageHtmlLink":"[electrum] remove support for signed payment requests in URIs"}},{"before":"ff3759009eda7741084930eb3a5bbad2971e5442","after":"ab255774023d60f9468ff9ef4111db1c817c1ab1","ref":"refs/heads/master","pushedAt":"2024-01-19T09:01:43.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"Fabcien","name":"Fabien","path":"/Fabcien","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44533924?s=80&v=4"},"commit":{"message":"[electrum] bump minimum required version of trezorlib to 0.13.8\n\nSummary:\nThis seems to be enough to support the new Trezor Safe 3 devices, according to tests done by Electron Cash and Electrum users.\nI did not test the new device myself.\n\nSee [[https://github.com/spesmilo/electrum/pull/8722 | electrum#8722]] and [[https://github.com/Electron-Cash/Electron-Cash/pull/2757 | electroncash#2757]]\n\nTest Plan:\nInstall that version of the trezor library for python and test that trezor wallets still work in the application (tested with a Trezor T).\n```\npip install trezor==0.13.8\n./electrum-abc\n```\n\nI also tested the appimage (`contrib/build-linux/appimage/build.sh`)\n\nReviewers: #bitcoin_abc, Fabien\n\nReviewed By: #bitcoin_abc, Fabien\n\nDifferential Revision: https://reviews.bitcoinabc.org/D15197","shortMessageHtmlLink":"[electrum] bump minimum required version of trezorlib to 0.13.8"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEXvimUAA","startCursor":null,"endCursor":null}},"title":"Activity · Bitcoin-ABC/ElectrumABC"}