wakamex/github
02.7k
1[{"node": {"oid": "8d4fa19551ce1b097bd011ce1e7ce64008a1d87c", "messageHeadline": "Bump to 2.4.0 and regenerate setup.py", "author": {"name": "Ava Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "ac1a323d175674f99d23388d5b0f59a4d4b016b6", "messageHeadline": "Merge bitcoin-core/HWI#615: Build for `arm64` on `amd64`", "author": {"name": "Ava Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 14, "deletions": 5}}, {"node": {"oid": "3d3c02d30949b378101446cb6f8ca57a7665ff00", "messageHeadline": "Improve", "author": {"name": "Kiminuo", "email": "kiminuo@protonmail.com", "user": {"login": "kiminuo"}}, "additions": 3, "deletions": 0}}, {"node": {"oid": "ee3cf5f4655cf2dbd270453d0b865717a3088dfa", "messageHeadline": "Add release instructions", "author": {"name": "Kiminuo", "email": "kiminuo@protonmail.com", "user": {"login": "kiminuo"}}, "additions": 4, "deletions": 0}}, {"node": {"oid": "d93c8f7ab0886e030ff8f30aaf99d86ab95cd687", "messageHeadline": "Add support for arm64", "author": {"name": "Kiminuo", "email": "kiminuo@protonmail.com", "user": {"login": "kiminuo"}}, "additions": 7, "deletions": 5}}, {"node": {"oid": "5a1beafabce43503410a1f4a485d6894ee584566", "messageHeadline": "Bump to 2.4.0-rc.1 and regenerate setup.py", "author": {"name": "Ava Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "10c47aa8e97f6647e5be7385e7d8942a12fcfc64", "messageHeadline": "Update author contact", "author": {"name": "Ava Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "975211d2b02ef0e5ca505b9cc31e0e6c2d1af7cc", "messageHeadline": "Merge bitcoin-core/HWI#719: gui: add chain in the title", "author": {"name": "Ava Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "bc6b053f507aed731aaf25e93348075ff4db8e06", "messageHeadline": "Merge bitcoin-core/HWI#721: ci: Update readthedocs config", "author": {"name": "Ava Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 0}}, {"node": {"oid": "d10dbe8b3a8b112cc4bc18c446dd03cd6bb0a8a7", "messageHeadline": "ci: Update readthedocs config", "author": {"name": "Ava Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 0}}, {"node": {"oid": "953d3dc84033909227ad6510710c77297e984730", "messageHeadline": "Merge bitcoin-core/HWI#619: Improve instructions for the testing envi\u2026", "author": {"name": "Ava Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 54, "deletions": 1}}, {"node": {"oid": "e8174155d99dadcdd0d110217ac299f459c9090b", "messageHeadline": "Merge bitcoin-core/HWI#715: add support for Python 3.12", "author": {"name": "Ava Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 37, "deletions": 29}}, {"node": {"oid": "59eeb858b1c28a75266d915546a8353328ba3369", "messageHeadline": "Merge bitcoin-core/HWI#718: Improve error handle for `Ledger` devices", "author": {"name": "Ava Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 10}}, {"node": {"oid": "73b7661aa748b4387c13dd50f974f12574291fd7", "messageHeadline": "Merge bitcoin-core/HWI#714: fix typos", "author": {"name": "Ava Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "d800783b438564d7cd3e197b9e7b74825e4b5a1a", "messageHeadline": "Merge bitcoin-core/HWI#716: fix(trezor): enable support for Trezor Sa\u2026", "author": {"name": "Ava Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 68, "deletions": 8}}, {"node": {"oid": "b1912994f365696064a002b68d498d2b2d82ee62", "messageHeadline": "add support for Python 3.12", "author": {"name": "Filip Gospodinov", "email": "f@gospodinov.ch", "user": {"login": "toxeus"}}, "additions": 37, "deletions": 29}}, {"node": {"oid": "7f4aca10ba56349ff5927cf43ddaade3147b1581", "messageHeadline": "gui: add chain in the title", "author": {"name": "Bruno Garcia", "email": "brunoely.gc@gmail.com", "user": {"login": "brunoerg"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "0d5412a7ea6a2f4043d2bccfd4e0957caffba65f", "messageHeadline": "Improve error handle for `Ledger` devices", "author": {"name": "Bruno Garcia", "email": "brunoely.gc@gmail.com", "user": {"login": "brunoerg"}}, "additions": 17, "deletions": 10}}, {"node": {"oid": "43745141ffa4ac6eeff17492775f5a696e93022b", "messageHeadline": "fix(trezor): enable support for Trezor Safe 3", "author": {"name": "matejcik", "email": "ja@matejcik.cz", "user": {"login": "matejcik"}}, "additions": 68, "deletions": 8}}, {"node": {"oid": "43c7c6417cf96bc9a78f9f9526d9c1c107f53b10", "messageHeadline": "fix typos", "author": {"name": "omahs", "email": "73983677+omahs@users.noreply.github.com", "user": {"login": "omahs"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "7fd2cead481197f88cad180757b5cf982eb0a0b1", "messageHeadline": "Merge bitcoin-core/HWI#712: fix typo in coldcard simulador doc", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "26862f8e1b84ca497f96084ab3210054fb5dc0cf", "messageHeadline": "Merge bitcoin-core/HWI#711: improve error message when parentheses ca\u2026", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 3}}, {"node": {"oid": "2b600cd99b45e4985963aee957dd3c24e34905c7", "messageHeadline": "Merge bitcoin-core/HWI#696: use warning instead of deprecated warn", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "b49c14e81494174f59712c5235228d37e0267584", "messageHeadline": "use warning instead of deprecated warn", "author": {"name": "fametrano", "email": "ferdinando@ametrano.net", "user": {"login": "fametrano"}}, "additions": 9, "deletions": 9}}, {"node": {"oid": "e77a339181a46e7303e60245827e8744ca8b4ca1", "messageHeadline": "Merge bitcoin-core/HWI#710: Update jade api", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 375, "deletions": 71}}, {"node": {"oid": "1b3ec54887481c9c74f7004b41ae66aec241ea2b", "messageHeadline": "fix typo in coldcard simulador doc", "author": {"name": "Bruno Garcia", "email": "brunoely.gc@gmail.com", "user": {"login": "brunoerg"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "dab0c11af4a788d7144e55af9bdc5af9ab607211", "messageHeadline": "improve error message when parentheses cannot be found in descriptor", "author": {"name": "Bruno Garcia", "email": "brunoely.gc@gmail.com", "user": {"login": "brunoerg"}}, "additions": 6, "deletions": 3}}, {"node": {"oid": "0f2bbdca3a444bc4b559a9a452dd66e0cc79ffa6", "messageHeadline": "jade: update Jade api to 1.0.24", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 375, "deletions": 71}}, {"node": {"oid": "70ffb2be827e5b3d304203b4ded1f79c07b04a5f", "messageHeadline": "Merge bitcoin-core/HWI#707: ci: Replace Cirrus CI with GitHub Actions", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 426, "deletions": 350}}, {"node": {"oid": "bdb79f6803147468a3a5d34e29f600eb9d633d97", "messageHeadline": "ci: Replace Cirrus CI with GitHub Actions", "author": {"name": "Hennadii Stepanov", "email": "32963518+hebasto@users.noreply.github.com", "user": {"login": "hebasto"}}, "additions": 426, "deletions": 350}}, {"node": {"oid": "c3a94b6f9d696b3a669153dcda2bfdad9c80583e", "messageHeadline": "Bump version to 2.3.1 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "0462cfcbc5201a6beb8c3d87219d21159f61d985", "messageHeadline": "Merge bitcoin-core/HWI#697: nest loggers in the proper way", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 9}}, {"node": {"oid": "5242d85c07ef99f4710f76234d638a6957c47a13", "messageHeadline": "Merge bitcoin-core/HWI#698: do not initialize Decimal from float", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "315a75b1f0fc08fc13308fe8b73846e417d3b941", "messageHeadline": "Merge bitcoin-core/HWI#701: fix base58.decode_check()", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 33, "deletions": 1}}, {"node": {"oid": "c31eed944b742f8145d985c9d11535ee41e06532", "messageHeadline": "fix base58.decode_check()", "author": {"name": "Marko Bencun", "email": "marko@shiftcrypto.ch", "user": {"login": "benma"}}, "additions": 33, "deletions": 1}}, {"node": {"oid": "2692f7fa32d9acf6df917c97ec066b7a44333af4", "messageHeadline": "do not initialize Decimal from float", "author": {"name": "Ferdinando M. Ametrano", "email": "fametrano@users.noreply.github.com", "user": {"login": "fametrano"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "75af80b0695f9b08c6df356a6548c627b3c8eb9b", "messageHeadline": "present naming preference (without trailing .log)", "author": {"name": "fametrano", "email": "ferdinando@ametrano.net", "user": {"login": "fametrano"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "324b88e099cb2ec7c0d82ceb11c4c3175695567a", "messageHeadline": "nest loggers in the proper way", "author": {"name": "fametrano", "email": "ferdinando@ametrano.net", "user": {"login": "fametrano"}}, "additions": 9, "deletions": 9}}, {"node": {"oid": "17d5643b9db240d4fbee3f1614e7e1aeade4e9ac", "messageHeadline": "Merge bitcoin-core/HWI#695: build: Use more recent Python 3.9 for *ni\u2026", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 7}}, {"node": {"oid": "e267f9ad653753172e5b4e4fe0082fcc650c062b", "messageHeadline": "build: Bump *nix release build environment to more recent 3.9", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "dd6a5948cb84a58f30311e3a7358c5b1062e118b", "messageHeadline": "build: Allow building binaries on any python 3.9", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "e9b31914f30495ddba94e3bcea530785121b1c43", "messageHeadline": "pyenv: Set python version to just 3.9", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "675e3461ac574d9e7a52e242336256bc6ceedf7e", "messageHeadline": "Merge bitcoin-core/HWI#693: build: Detect architecture and use x86_64\u2026", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 3}}, {"node": {"oid": "e9daf686ba6b6dc8073971e64e6366e0089aaae2", "messageHeadline": "Merge bitcoin-core/HWI#692: build: Use a separate container for Windo\u2026", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 35, "deletions": 17}}, {"node": {"oid": "77cf8ec99d4299e4f1bb5ee6941404b728967977", "messageHeadline": "Merge bitcoin-core/HWI#690: deps: Update libusb1 to 3.0.0", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 10}}, {"node": {"oid": "e8499636a4221169f1c6ec007eecbf8de93f330d", "messageHeadline": "build: Bump to libusb 1.0.26 for windows", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "14bc7a635bcd809c2dfe6d5931d0b8c898d85575", "messageHeadline": "deps: Update libusb1 to 3.0.0", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 7}}, {"node": {"oid": "e39a661e6c5a07b75518711cc5104487fd285fe7", "messageHeadline": "build: Detect architecture and use x86_64 naming", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 3}}, {"node": {"oid": "9b5c23b9c81d7c15197555161087bdc129b1f59d", "messageHeadline": "Merge bitcoin-core/HWI#694: qt: Fix various issues", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "14f804450fbd9ead7dd546d1085b08317f729706", "messageHeadline": "bitbox02: Detect GUI on Windows as not-external gui", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "a2fb2a2fa2bbaef24be4e9be325235d68d9c35f1", "messageHeadline": "qt: Use correct name for p2pkh radio button", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "ba8d1328f9d36c861afcd3d890f08838b693160f", "messageHeadline": "qt: Include '/*' in getkeypool path regex", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "67a515bf78a530bacfda4980de0d08e972a3510b", "messageHeadline": "build: Use a separate container for Windows builds", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 35, "deletions": 17}}, {"node": {"oid": "593acb0a13386a0724c59f2e1eb447d7fba7877d", "messageHeadline": "qt: Use correct name for xpub display field", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "8338f179b0ad25daa67b222522035287f450b508", "messageHeadline": "Bump version to 2.3.0 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 16, "deletions": 6}}, {"node": {"oid": "7fe1410d1fd708ef03396ce1c29f1d8c27fa6ccd", "messageHeadline": "Merge bitcoin-core/HWI#648: Add buttons to psbt dialog", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 88, "deletions": 21}}, {"node": {"oid": "ad28d6d87f37cc80dfa0de3b88bb320aa913e81b", "messageHeadline": "Merge bitcoin-core/HWI#689: Repair CI", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 157, "deletions": 145}}, {"node": {"oid": "9acf98c54b33b4c1b334cbe50a990c1718b78a82", "messageHeadline": "coldcard: Drop PyCoin usage entirely", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 12}}, {"node": {"oid": "e956b5c19d4a22af7736206d732c43460cf44904", "messageHeadline": "tests, ledger: specify nanos as the model", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "c55363247303d11fb171874baf71c2d8b6848cf0", "messageHeadline": "tests, jade: specify pc-bios dir to qemu", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "0dd20b43e0d8b53d5203fd30df8f74bf884a291e", "messageHeadline": "ci, speculos: install pytesseract as speculos dependency", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "099323364e6d903bd1629ba8992420483d88168f", "messageHeadline": "Merge bitcoin-core/HWI#686: jade: Remove jade BLE warning", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 8}}, {"node": {"oid": "823a85606d69c09335a76557340300b29ebcced5", "messageHeadline": "Merge bitcoin-core/HWI#674: Add vendor/device IDs for DIY Jade runnin\u2026", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "30b88cf99da97a632b598158e784ac92b1c67350", "messageHeadline": "tests: Use h as hardened marker", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 7}}, {"node": {"oid": "a1b0d6432edf15a6c2f8a20980f478138ad7cd92", "messageHeadline": "ci, trezor: Set protobuf version to 3.20", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "6818400c2506f39ae764fbc524a35e3c390aeaf6", "messageHeadline": "ci: Run dist tests on all versions", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 28, "deletions": 25}}, {"node": {"oid": "712251541d87dbaeb09775331a7a012689690b0c", "messageHeadline": "ci: Patch keepkey googletest to build", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 40, "deletions": 1}}, {"node": {"oid": "d59d45217c6c13890bb9051c4199c1533958f32b", "messageHeadline": "ci: Add slirp dep for jade emulator", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 0}}, {"node": {"oid": "494b66cf9480630d2de30bab025580626e4d4c17", "messageHeadline": "jade: Remove jade BLE warning", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 8}}, {"node": {"oid": "0713b2ccbae377d866bd0a202944ffbbac1429de", "messageHeadline": "ci: Remove global container", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 21, "deletions": 3}}, {"node": {"oid": "f8c6f1c2a91d92b63e5cac26ed9ca342e00febe1", "messageHeadline": "ci: Update speculos cmake command", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "735aba929c8f870dc9ae96fa1ff0d4f09303f71f", "messageHeadline": "ci: Use python 3.8 for main image", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "5e43ff66c69b16ceb47aabff07207ec857bb91b1", "messageHeadline": "ci: Use upstream ledger app builder images", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 83}}, {"node": {"oid": "3ff8ccced9f3aaa74b7e44cd26f629eca1be7bec", "messageHeadline": "ci: Consolidate lint tasks", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 4}}, {"node": {"oid": "e24871f78acab65dfd874c916a048d8a048f9cc2", "messageHeadline": "build: Use debian oldoldstable instead of fixed version", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "e21c8620efdd0e3c9b03ab02f564eefebba72853", "messageHeadline": "ci: Test against python 3.11", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 26, "deletions": 0}}, {"node": {"oid": "48baa1d7613c719dedbd8f591116484083446c78", "messageHeadline": "ci: Break dockerfile build caches", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 0}}, {"node": {"oid": "0f0caae73d9af12da7c6cc60c10fee03534a86e6", "messageHeadline": "common: enforce enum name is a str", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "b7b9b3c738b1ef30cdafb4cbe6a81af13b3d1c8d", "messageHeadline": "bitbox02: implement missing encode_check", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 2}}, {"node": {"oid": "7db43b90e26544919ef94d3f17c3a66aaab16a5e", "messageHeadline": "flake8: exclude bitbox02_lib", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "473f43cdebda1f850ad842e5a926e8d683b5f7fc", "messageHeadline": "Merge bitcoin-core/HWI#679: jade: update jade simulator build in line\u2026", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 22}}, {"node": {"oid": "d209333702acf67eeaccbd251dee27ddb7ecdb0f", "messageHeadline": "Merge bitcoin-core/HWI#683: Vendor bitbox02 library", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 5791, "deletions": 218}}, {"node": {"oid": "8888a85d7d9d14c27baad871643563e07fb67155", "messageHeadline": "gui: Remove default passphrase", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "b5ce5e0cfc045a76f6f6ce3724e7b717e496b12e", "messageHeadline": "bitbox02: Replace installed bitbox02 dep with vendored", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 65, "deletions": 86}}, {"node": {"oid": "753a9d0c6eec9d7446793a4ce2330fb975d58684", "messageHeadline": "bitbox02 lib: Use relative imports and our own base58", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 23, "deletions": 31}}, {"node": {"oid": "811ea1500375ac11aec5ca126c5cb60f955d84d4", "messageHeadline": "deps: Update hidapi to >= 0.14.0", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 44, "deletions": 44}}, {"node": {"oid": "056a5b5e93d9f1768b1f6172464f04c9792d74c9", "messageHeadline": "bitbox02: vendor bitbox02 library", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 5649, "deletions": 0}}, {"node": {"oid": "f57f9c3dcd66b321bae16a15eeaa6a7d8fec4593", "messageHeadline": "deps: Add semver, noiseprotocol, and protobuf as explicit deps", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 24, "deletions": 85}}, {"node": {"oid": "674cb08d6ffcecbf2502a05dd4371c1cfc8baa93", "messageHeadline": "bitbos02: Use our own base58 implementation", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 4}}, {"node": {"oid": "e2d0e63b0086e30a69246f41fed94d04abd32056", "messageHeadline": "_base58: Add checksum checking variant of decode", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 15, "deletions": 0}}, {"node": {"oid": "400abe087c33b9ce1086ba265581786decfaa7d4", "messageHeadline": "Add Vendor/Device IDs for CH340 based DIY Jade devices.", "author": {"name": "3rd Iteration", "email": "steve@cryptoguide.tips", "user": {"login": "3rdIteration"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "d53da52cf48cbbe69be6e0d79a7eda73638e0541", "messageHeadline": "jade: update jade simulator build in line with current jade master br\u2026", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 3, "deletions": 22}}, {"node": {"oid": "462f95b4ea9858c18d953455e754e98ff6893253", "messageHeadline": "Add device IDs for DIY Jade on M5StickC-Plus", "author": {"name": "3rd Iteration", "email": "steve@cryptoguide.tips", "user": {"login": "3rdIteration"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "43cc81d3af7e1de20fa8c92570d305440bb0a33b", "messageHeadline": "Bump version to 2.2.1 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 6}}, {"node": {"oid": "f5a9b29c00e483cc99a1b8f4f5ef75413a092869", "messageHeadline": "Merge bitcoin-core/HWI#666: bump typing-extensions dependency", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 694, "deletions": 309}}, {"node": {"oid": "ad29646d34b57f82d11106e23e4469b62ecbd8bc", "messageHeadline": "ci: Bump protoc version", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "08b5d939e42a9462195c5c1a210377ca8945c3e8", "messageHeadline": "trezor: Fix is_p2sh call", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "d3cee84b79cfce060b0bfb0d77bb7522cd6dd42d", "messageHeadline": "poetry lock", "author": {"name": "Kim Neunert", "email": "k9ert@gmx.de", "user": {"login": "k9ert"}}, "additions": 690, "deletions": 305}}, {"node": {"oid": "bda4e57241cd15c9fd6d7330f5bb16c9078cf7a2", "messageHeadline": "bump typing-extensions dependency", "author": {"name": "Kim Neunert", "email": "k9ert@gmx.de", "user": {"login": "k9ert"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "ea7fe4835387cd3946539e2e3435b28a1ae64a2a", "messageHeadline": "Merge bitcoin-core/HWI#665: trezor: Set multisig change as PAYTOMULTI\u2026", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "7a6fd0e8aca1b6329ff7aa4856283d75e29e1598", "messageHeadline": "trezor: Set multisig change as PAYTOMULTISIG for non-segwit only", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "092cc1ce5cbf47a6d3d2f44f4bc36ea6f769aaff", "messageHeadline": "Merge bitcoin-core/HWI#664: descriptor.py: fix PubkeyProvider.get_pub\u2026", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "a1045bcd353c1a779cb08a60f71bd2a998f59eb4", "messageHeadline": "descriptor.py: fix PubkeyProvider.get_pubkey_bytes for ranged desc", "author": {"name": "SomberNight", "email": "somber.night@protonmail.com", "user": {"login": "SomberNight"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "5f300d3dee7b317a6194680ad293eaa0962a3cc7", "messageHeadline": "Bump to 2.2.0 final and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "60226d00fb69337287e9553290376f56f69300b8", "messageHeadline": "Merge bitcoin-core/HWI#658: trezor: Add missing import and minor test\u2026", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 2}}, {"node": {"oid": "b8a379c37500dd805f22fa44215bec0f0f27b3e0", "messageHeadline": "test, trezor: Properly pass empty string passphrase", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "c3f490f2c26acf6dc22270070d4494a48fe119e9", "messageHeadline": "test, trezor: Check for warnings rather than needs_passphrase_sent", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "203c84435d34124b89d0c4a9d48043b9aa295cbc", "messageHeadline": "trezor: Add missing NoPasswordError import", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "a98ac31a4f4b67a4fcdcac33f42ccd3ed97b3a62", "messageHeadline": "Add buttons to psbt dialog", "author": {"name": "Giacomo Caironi", "email": "giacomo.caironi@gmail.com", "user": {"login": "giacomocaironi"}}, "additions": 88, "deletions": 21}}, {"node": {"oid": "14f513476088394f5c4617208977a05df1a50888", "messageHeadline": "Bump to 2.2.0-rc.1 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "4f3ca2fddb5d08ef2881f39d5e8a9aed660d01af", "messageHeadline": "Merge bitcoin-core/HWI#655: `--without-gui` for building without GUI \u2026", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 33, "deletions": 7}}, {"node": {"oid": "b194a2775d8c202f545c3ad6b0b102f0baad9a85", "messageHeadline": "Merge bitcoin-core/HWI#651: Pass '--expert' and '--chain' cmd-line ar\u2026", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 13, "deletions": 13}}, {"node": {"oid": "f6d246abdd99a575bccad32a809033d442e97d76", "messageHeadline": "Typo", "author": {"name": "Kiminuo", "email": "kiminuo@protonmail.com", "user": {"login": "kiminuo"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "56e541fde15c20238ac9b29077a592cc2bed549d", "messageHeadline": "`contrib/build_bin.sh` and `contrib/build_bin.sh` now accepts `--with\u2026", "author": {"name": "Kiminuo", "email": "kiminuo@protonmail.com", "user": {"login": "kiminuo"}}, "additions": 32, "deletions": 6}}, {"node": {"oid": "f7e612697385c97e95014f191879f1d454ecca78", "messageHeadline": "Pass '--expert' and '--chain' cmd-line arguments to enumerate() funct\u2026", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 13, "deletions": 13}}, {"node": {"oid": "36ccaf72d75160d09a3b9bd9d54b66b3ab8e3cca", "messageHeadline": "Merge bitcoin-core/HWI#649: Fix Jade CI build pollution", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "e7af45d996e8caad9f877a60003514b0aae91267", "messageHeadline": "Merge bitcoin-core/HWI#644: Use Optional for passphrase", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 44, "deletions": 30}}, {"node": {"oid": "5191d21a4742d1d08a89ccfe605f247aed792c11", "messageHeadline": "jade: clean all jade build artifacts when building jade simulator", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "9ed9dbe2a3a721f9934d8745090db64d28115a55", "messageHeadline": "trezor: Default to empty string passphrase", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 1}}, {"node": {"oid": "857e935197226ec69d9a190b367692797cee2229", "messageHeadline": "Merge bitcoin-core/HWI#634: Improve gui", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 986, "deletions": 794}}, {"node": {"oid": "0c4df0ccc7f4c8cd217e0880a316854c4b05a535", "messageHeadline": "trezor, test: Test enumerate with empty passphrase", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 0}}, {"node": {"oid": "d74fcbcff4499148680e7a59b951c99c4b6e0107", "messageHeadline": "test: Handle Optional emulator password", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "d4cf5501a50d57f742ec423246d4aad0ab5ff40d", "messageHeadline": "Change passphrase (password) to Optional", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 31, "deletions": 27}}, {"node": {"oid": "fbb34a3bcba2873ef60281a48078b81d07a720e1", "messageHeadline": "Improve gui", "author": {"name": "Giacomo Caironi", "email": "giacomo.caironi@gmail.com", "user": {"login": "giacomocaironi"}}, "additions": 986, "deletions": 794}}, {"node": {"oid": "e94864b5987c766f3a98e72886eade2bb4f2f5a2", "messageHeadline": "Merge bitcoin-core/HWI#645: jade: update jade simulator port in line \u2026", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "10f81db9bfdf427ea403b1f3a787023b19fa6ee8", "messageHeadline": "jade: update jade simulator port in line with current jade master branch", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "de6c9db7b70f33506f863db1a1a2ff9932785244", "messageHeadline": "Merge bitcoin-core/HWI#637: Improve support for the coming Ledger app\u2026", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 290, "deletions": 202}}, {"node": {"oid": "fa3c0599869d651ab8af1becdfbd83d9ca83259c", "messageHeadline": "Add comment on disabled multisig tests; multiple keys in multisig are\u2026", "author": {"name": "Salvatore Ingala", "email": "6681844+bigspider@users.noreply.github.com", "user": {"login": "bigspider"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "fbcbaee652b502c2836bcc0b5b0a5a401b8fb788", "messageHeadline": "Convert hardened character \"h\" with \"'\" in signmessage", "author": {"name": "Salvatore Ingala", "email": "6681844+bigspider@users.noreply.github.com", "user": {"login": "bigspider"}}, "additions": 6, "deletions": 20}}, {"node": {"oid": "4c293a40fbbbb0bfaee27ad01e11692245b84fe9", "messageHeadline": "Removed redundant check:", "author": {"name": "Salvatore Ingala", "email": "6681844+bigspider@users.noreply.github.com", "user": {"login": "bigspider"}}, "additions": 0, "deletions": 2}}, {"node": {"oid": "0030b633a1c3c9c17ee76af913549b2c5ff0267a", "messageHeadline": "Update docs in can_sign_taproot", "author": {"name": "Salvatore Ingala", "email": "6681844+bigspider@users.noreply.github.com", "user": {"login": "bigspider"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "fb6fb634cb4c17dd1dd2925c39477ac79f097c4b", "messageHeadline": "Remove unused imports", "author": {"name": "Salvatore Ingala", "email": "6681844+bigspider@users.noreply.github.com", "user": {"login": "bigspider"}}, "additions": 0, "deletions": 6}}, {"node": {"oid": "6f148a0c86250339571e66b849f537c4441ec071", "messageHeadline": "Make sure to run speculos with the correct app version number to use \u2026", "author": {"name": "Salvatore Ingala", "email": "6681844+bigspider@users.noreply.github.com", "user": {"login": "bigspider"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "1a0c8fac87c827c8de360969706599d4fbfdd4d6", "messageHeadline": "Add implementation of display_multisig_address to ledger.py", "author": {"name": "Salvatore Ingala", "email": "6681844+bigspider@users.noreply.github.com", "user": {"login": "bigspider"}}, "additions": 33, "deletions": 1}}, {"node": {"oid": "7e3e2e6f3ccc9c1eab2f78bbc38381bf763b8c8f", "messageHeadline": "Merge bitcoin-core/HWI#640: trezor: optimize signing speed by not ser\u2026", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 0}}, {"node": {"oid": "961f9b5d3bcb7e4480a4c35ac78776802d72b708", "messageHeadline": "Cold-who?", "author": {"name": "Salvatore Ingala", "email": "6681844+bigspider@users.noreply.github.com", "user": {"login": "bigspider"}}, "additions": 7, "deletions": 7}}, {"node": {"oid": "8627ca7bcd7f908fa80ece6171dac8ddb5148d87", "messageHeadline": "Add support for message signing with the new protocol; kept old code \u2026", "author": {"name": "Salvatore Ingala", "email": "6681844+bigspider@users.noreply.github.com", "user": {"login": "bigspider"}}, "additions": 42, "deletions": 22}}, {"node": {"oid": "486cef58ce70e5258586b6971e82a74866678ac5", "messageHeadline": "Never retry legacy protocol for versions >= 2.1.*", "author": {"name": "Salvatore Ingala", "email": "6681844+bigspider@users.noreply.github.com", "user": {"login": "bigspider"}}, "additions": 0, "deletions": 18}}, {"node": {"oid": "0cf2df1764da43c01daae847c4f94c02b1d82177", "messageHeadline": "Clarify comment about derivation path limitation", "author": {"name": "Salvatore Ingala", "email": "6681844+bigspider@users.noreply.github.com", "user": {"login": "bigspider"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "276183a4317133cd91f9f10a3372a85c27b38b64", "messageHeadline": "Remove mentions of limitations that were addressed before version 2.1\u2026", "author": {"name": "Salvatore Ingala", "email": "6681844+bigspider@users.noreply.github.com", "user": {"login": "bigspider"}}, "additions": 0, "deletions": 11}}, {"node": {"oid": "fc817d901fed71d668fc3b7a85cf269674ee8a1e", "messageHeadline": "Switch to new protocol from version 2.1.*", "author": {"name": "Salvatore Ingala", "email": "6681844+bigspider@users.noreply.github.com", "user": {"login": "bigspider"}}, "additions": 185, "deletions": 106}}, {"node": {"oid": "099252e578103c97107114786387e6d0a053b447", "messageHeadline": "Add \"Bitcoin Legacy\" and \"Bitcoin Test Legacy\" to recognized app name\u2026", "author": {"name": "Salvatore Ingala", "email": "6681844+bigspider@users.noreply.github.com", "user": {"login": "bigspider"}}, "additions": 12, "deletions": 4}}, {"node": {"oid": "44f26a89c39082a5286349c0b710d97d5b758997", "messageHeadline": "Merge bitcoin-core/HWI#642: ci: Various Fixes Nov 2022", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 36, "deletions": 22}}, {"node": {"oid": "f76798708c5ce533dd828d5a82ca30ea6ab87aa4", "messageHeadline": "Merge bitcoin-core/HWI#643: jade: fix CI cached python env issue", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 4}}, {"node": {"oid": "b6fda2636bd178999e5dfd9eb00e27bb6fe66ad9", "messageHeadline": "jade: fix CI cached python env issue", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 10, "deletions": 4}}, {"node": {"oid": "021c7de159fb3752b1a1986e116415273d2ed5be", "messageHeadline": "trezor: optimize signing speed by not serializing transaction in trezor", "author": {"name": "Pavol Rusnak", "email": "pavol@rusnak.io", "user": {"login": "prusnak"}}, "additions": 4, "deletions": 0}}, {"node": {"oid": "89cdd22e0ad819edcfc999a45602d27c49e5b9f8", "messageHeadline": "tests, ledger: Include wallet policy things in automation", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "566914f5199c1f8336b0a7eaa5807662227d7508", "messageHeadline": "ci, trezor: Make sure protobuf is upgraded for Trezor 1", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "90b7f2ef1930109ccfc35d841ae493682723e669", "messageHeadline": "ci, keepkey: Use updated protoc", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 2}}, {"node": {"oid": "bfb4af5802666342dc7a0f43f0be4e3cc3b906c4", "messageHeadline": "ci, coldcard: Update patches", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 25, "deletions": 15}}, {"node": {"oid": "c4ae4251cd8374003a6af431cda9a355c87ae825", "messageHeadline": "ci, trezor: Use nightly rust", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 2}}, {"node": {"oid": "b498a346ffed4eadd66b64fa87909dfecc182733", "messageHeadline": "Remove unnecessary \"type: ignore\"", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "eacce2796695a74f2305df6d774b7c18dacb9868", "messageHeadline": "Merge bitcoin-core/HWI#629: Update Jade api to 0.1.38, fix CI, fix #630", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1360, "deletions": 183}}, {"node": {"oid": "8d134dfbf9bdb33a6a822f05e8528aa68087b06b", "messageHeadline": "Merge bitcoin-core/HWI#638: Oct 2022 Dependency Update", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 198, "deletions": 507}}, {"node": {"oid": "56aa6b189b0fd605a4a115e7181df46596a88de8", "messageHeadline": "deps: Automatic update", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 194, "deletions": 479}}, {"node": {"oid": "edc4ee954eeb5a1adeef2858beb0204c12663299", "messageHeadline": "build: Bump pyinstaller minimum to 5.3", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "6aabe84289d70aa58e68a5cfa734c0f0f05d2ed1", "messageHeadline": "bitbox: Update minimum to 6.1.0", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "2e06d7edf9e775cd9f02b54b36602a66d1815298", "messageHeadline": "Bump minimum Python to 3.7", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "9a0f0eecee6559e9f7f5484adce98a7404018e0f", "messageHeadline": "ci: Remove python 3.6", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 25}}, {"node": {"oid": "b9a328561a0e7021bf70f84144c462f5e8cac46a", "messageHeadline": "jade: update Jade api to 0.1.38", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 1306, "deletions": 163}}, {"node": {"oid": "023092c4668dbdd05553c571d9355c81c867f1d2", "messageHeadline": "tests: correct git fetch of jade qemu and esp-idf branches", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 54, "deletions": 20}}, {"node": {"oid": "e731395bde13362950e9f13e01689c475545e4dc", "messageHeadline": "Merge bitcoin-core/HWI#625: trezor: Set p2sh multisig output script t\u2026", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "2b8d341544e4d10d7d60f895941835d9ea0840c6", "messageHeadline": "Merge bitcoin-core/HWI#627: devices/bitbox02: add taproot keypath spe\u2026", "author": {"name": "Andrew Chow", "email": "github@achow101.com", "user": {"login": "achow101"}}, "additions": 42, "deletions": 11}}, {"node": {"oid": "59379b30a54b3009b0e8bfbbddcfc0fdf46c9d1a", "messageHeadline": "devices/bitbox02: add taproot keypath spending support for bitbox02", "author": {"name": "beerosagos", "email": "luca@shiftcrypto.ch", "user": {"login": "Beerosagos"}}, "additions": 42, "deletions": 11}}, {"node": {"oid": "36aca3b0d57967e97d4d586d482546a42acd7587", "messageHeadline": "trezor: Set p2sh multisig output script type correctly", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "d6bebd21a18b561bd4fc22339f84622599e1a07f", "messageHeadline": "Merge bitcoin-core/HWI#617: ci: Remove unnecesary patches", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 4507}}, {"node": {"oid": "adf0fe2253cc38d083638d77168ad83c4d439803", "messageHeadline": "Add coldcard instructions", "author": {"name": "Giacomo Caironi", "email": "30932677+giacomocaironi@users.noreply.github.com", "user": {"login": "giacomocaironi"}}, "additions": 23, "deletions": 1}}, {"node": {"oid": "fa5f38922274f2449162c34d74f92a1ab8e79450", "messageHeadline": "Add instructions for building the ledger emulator", "author": {"name": "Giacomo Caironi", "email": "30932677+giacomocaironi@users.noreply.github.com", "user": {"login": "giacomocaironi"}}, "additions": 31, "deletions": 0}}, {"node": {"oid": "2720633ce225702658fe947f9eb3f95582e351e0", "messageHeadline": "ci: Remove bitcoind patches", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 4478}}, {"node": {"oid": "e769e49ca87ec0956bf3ae31f01f00f0e35ce9f7", "messageHeadline": "ci: Remove coldcard ffilib patch", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 29}}, {"node": {"oid": "0e6934e9fe05d5bb35528dd65dd8746c97daac38", "messageHeadline": "Merge bitcoin-core/HWI#614: Fix output of CTxOut.__repl__", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "8d43c7913addad6854a6bc10939c7b642799fb26", "messageHeadline": "Fix output of CTxOut.__repl__", "author": {"name": "Salvatore Ingala", "email": "6681844+bigspider@users.noreply.github.com", "user": {"login": "bigspider"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "2e887cf0ba7b36f0e8436849b4117acca8d88156", "messageHeadline": "Merge bitcoin-core/HWI#610: ci: Use Ledger app build rather than spec\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 95, "deletions": 0}}, {"node": {"oid": "5eb44777d189c2870775fe3c974a25b271cd2e24", "messageHeadline": "Merge bitcoin-core/HWI#611: bitbox02: add taproot support to display_\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 3}}, {"node": {"oid": "90a1c2320c210dbe1fb479f7db131942c32875aa", "messageHeadline": "bitbox02: add taproot support to display_singlesig_address", "author": {"name": "beerosagos", "email": "luca@shiftcrypto.ch", "user": {"login": "Beerosagos"}}, "additions": 9, "deletions": 3}}, {"node": {"oid": "5c58fe93be591be5936cc68af64a5a2863a2e9d3", "messageHeadline": "ci: Build ledger app", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 95, "deletions": 0}}, {"node": {"oid": "a025af3ee3fdf0bac8dbdbc51b9e82ab946660b4", "messageHeadline": "Bump to 2.1.1 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "50d3b85094061e52ed92ea48248a03bf7782f733", "messageHeadline": "Merge bitcoin-core/HWI#606: Ledger: Use ' instead of h for hardened c\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 165, "deletions": 165}}, {"node": {"oid": "a63373176add4bdc5d5adb4d648cf3519e311c27", "messageHeadline": "tests: Update bitcoind patches", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 146, "deletions": 146}}, {"node": {"oid": "b947b7e9c4795bdf583b7bebb14ad3d2862cb5e9", "messageHeadline": "ledger: Use ' as hardened char", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "680a9ea1a2c45955946e078de999264463104857", "messageHeadline": "descriptor: allow setting custom hardened char", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 16, "deletions": 16}}, {"node": {"oid": "b2e6e11669eb1d3040cea7b543bd645f75bd95c0", "messageHeadline": "Merge bitcoin-core/HWI#604: add support for ledger nano s plus", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 1}}, {"node": {"oid": "8874f3ae23db66acb62b571b2b708b4b7a839d16", "messageHeadline": "update udev rules to include ledger nano s+", "author": {"name": "Leibniz137", "email": "nate@thenateway.io", "user": {"login": "Leibniz137"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "8c91d84c239b72dd5a49d019f1369f47d38c561a", "messageHeadline": "add model id for ledger nano s plus", "author": {"name": "Leibniz137", "email": "nate@thenateway.io", "user": {"login": "Leibniz137"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "01c1f553c0c36b2c6f98eb6b1bdb756674fb3442", "messageHeadline": "Merge bitcoin-core/HWI#593: jade: Pass utxo satoshi value to Jade on \u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 2}}, {"node": {"oid": "8ab80eb4a2128c798bc5249268e6ed423eebcdf0", "messageHeadline": "Merge bitcoin-core/HWI#592: jade: pass -Wno-array-parameter to simula\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "90a12a45e498d2677ab94fbc49bc6c1dd3c9e457", "messageHeadline": "jade: Pass utxo satoshi value to Jade on signing", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 3, "deletions": 2}}, {"node": {"oid": "0bc75a44836199533ba4856e63aeafea2dd7e064", "messageHeadline": "jade: pass -Wno-array-parameter to simulator build", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "ed62dda8750319bb7d56af4d591fa799079c5ad8", "messageHeadline": "Merge bitcoin-core/HWI#602: trezor: Look for change keys based on out\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 29, "deletions": 21}}, {"node": {"oid": "1db8d0ccbbcb188a1426d7338754b641791f923a", "messageHeadline": "trezor: Search for Taproot change specifically", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 29, "deletions": 21}}, {"node": {"oid": "72f108d3cb7996c1f904bcf6034bd770ae8b34d7", "messageHeadline": "Merge bitcoin-core/HWI#603: tests: Update bitcoind and coldcard patches", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 541, "deletions": 435}}, {"node": {"oid": "7a5156bda17ab3f4ebe769de61e6c23eb2f4e528", "messageHeadline": "tests: Patch coldcard ffilib", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 29, "deletions": 0}}, {"node": {"oid": "36d356bed0273dde878bcfdc450eaf9e2bd02a7d", "messageHeadline": "ci: Install swig in docker container", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 15, "deletions": 5}}, {"node": {"oid": "a922b2a5de2ed3c66bb699a54981011b547a35df", "messageHeadline": "tests: Remove libngu patch", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 44}}, {"node": {"oid": "9573008801c4786f1df2ae21973eba1f98fba72f", "messageHeadline": "tests: Update bitcoind patches", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 497, "deletions": 386}}, {"node": {"oid": "2c757c8306be929714760ddba01d8ab6b0457d99", "messageHeadline": "Bump to 2.1.0 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 5}}, {"node": {"oid": "5af70baed98a60ad81124094dc16784a468e2dc2", "messageHeadline": "Merge bitcoin-core/HWI#594: Fix support matrix table", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 50, "deletions": 50}}, {"node": {"oid": "db5a0bb730f9b5d6f6ffa363ce789762e86a69f6", "messageHeadline": "Fix docs warning about end strings", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "a7e8ea71643038c56df4ec50c7342344f41cccfc", "messageHeadline": "Fix support matrix table", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 47, "deletions": 47}}, {"node": {"oid": "f0021502d470660b9d8a5e79fcc440ac809a610f", "messageHeadline": "Bump to 2.1.0-rc.1 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 7}}, {"node": {"oid": "aa0288cb5390e45f110ffc8aa9cbebb48e41c776", "messageHeadline": "Merge bitcoin-core/HWI#584: bitbox02: update to v6.0.0, enable sendin\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 66, "deletions": 14}}, {"node": {"oid": "63a4afd0afc1ae3e04cbefb07fd38ae8d665cec8", "messageHeadline": "Merge bitcoin-core/HWI#581: trezor: Remove support for external inputs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 90, "deletions": 68}}, {"node": {"oid": "f519d9fcb843e3940ec31c6a4ecc9d26e442df5a", "messageHeadline": "bitbox02: update to v6.0.0, enable sending to Taproot addresses", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 66, "deletions": 14}}, {"node": {"oid": "7b0eced86f2778fbf42ca638500a3ca847a80261", "messageHeadline": "trezor: Disallow external inputs for future firmware versions", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 41, "deletions": 23}}, {"node": {"oid": "1f3f1880e7e97d1e229333fb94619ed3b5abb5f0", "messageHeadline": "tests: Change test_big_tx to use our inputs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 9}}, {"node": {"oid": "a51ba9d65abfebc895092748118776845dbdeaf7", "messageHeadline": "bitbox01: Limit each signing attempt to 15 sigs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 39, "deletions": 36}}, {"node": {"oid": "3fe369d0379212fae1c72729a179d133b0adc872", "messageHeadline": "Merge bitcoin-core/HWI#550: ledger: Support Bitcoin App 2.0", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3356, "deletions": 467}}, {"node": {"oid": "daeec1dc3ce6134dbf253bdd95fb83821f4d9bd0", "messageHeadline": "ledger: Try legacy protocol when unable to sign multisigs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 30, "deletions": 2}}, {"node": {"oid": "711e6ba8dec20a3c8bd20e30d8e3ee42c30b970a", "messageHeadline": "ledger: P2WSH display is also not supported", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "6df9c1b5eb6fa7229d3da5cdd222752738c240e2", "messageHeadline": "ledger: Detect when a ledger is not in a Bitcoin app", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 30, "deletions": 17}}, {"node": {"oid": "edbb7c03e04bfb74215552016fdf87a5791ee6e4", "messageHeadline": "ledger: document multisig limitation", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "6b8381e6849b052cf405946f2e3493eb49390f72", "messageHeadline": "tests: Use external keys for some multisigs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 41, "deletions": 3}}, {"node": {"oid": "4f223a55bbcb0f54df9b303696bd009b49c8f31c", "messageHeadline": "test: Include xpubs in psbt", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 38, "deletions": 17}}, {"node": {"oid": "f3f20e0f4a66a7715b440b12d244a9dfc15194ff", "messageHeadline": "tests, ledger: Test multisigs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "ac66cbcca1d6cbbf421320a74bada1d9ae687978", "messageHeadline": "tests: additional speculos automation things", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "dffd014fedea94e420f60563af0224af7c5338b0", "messageHeadline": "ledger: Support multisigs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 91, "deletions": 27}}, {"node": {"oid": "ae2adb57bec53b877ab48f42fd2e955cba89d9fa", "messageHeadline": "key: Add from_bytes to ExtendedKey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 0}}, {"node": {"oid": "ef1cf9d5f7d63b10f91fa1274133aa694f29728d", "messageHeadline": "docs: Document Taproot signing", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 2}}, {"node": {"oid": "395300086b628f0991f5b08b4055129f15edf3e7", "messageHeadline": "tests: Don't rely on coin selection for signtx tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 19, "deletions": 9}}, {"node": {"oid": "cb6b352992b561327830b7558674b30d53c4da0a", "messageHeadline": "tests: Use --chain test more consistently", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 18, "deletions": 18}}, {"node": {"oid": "30b42e4ba8360aaffd1a8ecdf081ede2bc507358", "messageHeadline": "ci: Test ledger legacy api", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 68, "deletions": 15}}, {"node": {"oid": "3b0680db4efcfa7653ce457577dbc8843197d43f", "messageHeadline": "tests: Test Taproot on Ledger", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 1}}, {"node": {"oid": "853678698dc9e69a70c055f8eb8a8d7b21b4ce81", "messageHeadline": "ledger: Remove btchip", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 1195}}, {"node": {"oid": "c154cf7a15e791628dcbe3f403e58a8224da535b", "messageHeadline": "ledger: Use ledger_bitcoin rather than btchip", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 211, "deletions": 201}}, {"node": {"oid": "b645164bfd5f3520106cf917c66af92919e19572", "messageHeadline": "ledger_bitcoin: Change LegacyClient.sign_psbt to return pubkeys too", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 7}}, {"node": {"oid": "23baff5d9401f566c181fe31c3acb283dc9c995d", "messageHeadline": "ledger_bitcoin: Modifications to get_wallet_address for our legacy usage", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "50e2d01dfed93476070e19ad5ccb70b1582da8d7", "messageHeadline": "hwwclient: Add Chain as a parameter to constructor", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 27, "deletions": 24}}, {"node": {"oid": "5aad26876ae8a54ae80ce722d3e5209eaaa9880b", "messageHeadline": "key: Add helpers for determing addrtype and standard paths", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 36, "deletions": 0}}, {"node": {"oid": "26a1ccc5ea0a6530e0cdb13e85de0d35bef28de2", "messageHeadline": "ledger_bitcoin: Optionally allow HID path in TransportClient", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "57d5c2fb609321d5918cb3f1ee680b051641ca93", "messageHeadline": "ledgercomm: Add the option to pass in HID path", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 4}}, {"node": {"oid": "15e542754978caef8f366c26c3aa222b262d631f", "messageHeadline": "ledgercomm: Use relative imports of itself", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 8}}, {"node": {"oid": "88235d61c66208efb579ee79964b62ba78eccbb4", "messageHeadline": "Include ledgercomm library", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 614, "deletions": 1}}, {"node": {"oid": "b7090283143a58ea5270a746fbd60b4dd246df6e", "messageHeadline": "ledger_bitcoin: Fix sign_psbt for our implementation of PSBTv2", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 12}}, {"node": {"oid": "e34f6fdfc16b3b648d754bf820eea394b1978597", "messageHeadline": "Add ledger_bitcoin library", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3171, "deletions": 1}}, {"node": {"oid": "51bf12aa788dd31e906c9c1a1f40086c26091dc5", "messageHeadline": "Merge bitcoin-core/HWI#565: tests: Put device specific parameters in \u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 856, "deletions": 675}}, {"node": {"oid": "2c59ad3648863702457f43e4c340b8bcc8acc00c", "messageHeadline": "tests: Explicitly specify multisig types", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 41, "deletions": 42}}, {"node": {"oid": "44314c2b3526aba42f172b5e94bb4467f0f8b1cb", "messageHeadline": "tests: Add strict_bip48", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 2}}, {"node": {"oid": "8299b08c2db1aaefdfad68fe5611753e21591f29", "messageHeadline": "test: Refactor _make_multisigs to make just one multisig", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 47, "deletions": 42}}, {"node": {"oid": "2166793e965f4486c4b7c471854dbe038419935b", "messageHeadline": "tests: Use random port for bitcoind", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 16, "deletions": 1}}, {"node": {"oid": "1226752ab47a8c728c27986b2cc64018fb37aa3f", "messageHeadline": "tests: use Bitcoind class to manage bitcoind", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 187, "deletions": 116}}, {"node": {"oid": "57c2c20859b22edc363037b20110986a0f7b9b14", "messageHeadline": "tests: Add -Wno-array-parameter to BitBox01 build", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "63a93349dff45f867e374ee0f0e9890c628f6f1c", "messageHeadline": "tests: Reduce Jade simulator output", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 5}}, {"node": {"oid": "9e1ee3fb71fa8e49477b8346da0912fb6297300f", "messageHeadline": "test: remove full_type", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 18}}, {"node": {"oid": "0ec28f476f0b1e68f9c743b4d62c477bd83d07c3", "messageHeadline": "tests: Move device params into emulator object", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 171, "deletions": 135}}, {"node": {"oid": "12d7b59dd8a36217ed824da810fcd2c919489c28", "messageHeadline": "tests: Make signtx_cases a required argument for TestSignTx only", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 5}}, {"node": {"oid": "992638247aa54a4050f7d55efd5fd26ba1820133", "messageHeadline": "tests: Pass in detection type explicitly to TestDeviceConnect", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 13}}, {"node": {"oid": "ed16b8ea10fd36682121e97273fc5fe63638ff81", "messageHeadline": "tests: Allow DeviceTestcase.parameterize to take arbitrary parameters", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "c86222f3b159b3d72f3c00b1b91edfde1063e93e", "messageHeadline": "tests: Always run superclass start and stop functions", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 0}}, {"node": {"oid": "530ed9f87bfac3a276551cf536071d2c68dcc09d", "messageHeadline": "tests, ledger: use emulator per-test", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 18}}, {"node": {"oid": "5c2e843fa378ac499da415dfb5ded72f9fb678c4", "messageHeadline": "tests: Move device specific tests out of ledger_test_suite", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 59, "deletions": 60}}, {"node": {"oid": "649bd9af593644242ccec8e1fe923351599349ca", "messageHeadline": "test, jade: Use emulator per-test", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 16}}, {"node": {"oid": "f719fd0445ebee9892ffeb72a3edd0fc8117b64d", "messageHeadline": "tests: Move device specific tests out of jade_test_suite", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 114, "deletions": 115}}, {"node": {"oid": "c6b767a7ad30f69b740f30f16e3fecc0dc9aeb14", "messageHeadline": "tests: Use per-test BitBox01Emulator", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 156, "deletions": 135}}, {"node": {"oid": "019efbb54967f4268cab51b78fbb9cc529e0b746", "messageHeadline": "tests: Use per-test ColdcardSimulator", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 120, "deletions": 95}}, {"node": {"oid": "7284664e49b0b0298b87eee12de306a693085e77", "messageHeadline": "Merge bitcoin-core/HWI#573: Add details for building Blockstream Jade\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 118, "deletions": 5}}, {"node": {"oid": "a2d1245d01dfac7820ea5197a8e1990507948ee9", "messageHeadline": "Merge bitcoin-core/HWI#564: Update release-process for macos", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "45726202cf81eb235ed6e50e25d27ea5ba83fb38", "messageHeadline": "Merge bitcoin-core/HWI#563: Fix typos", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 15, "deletions": 15}}, {"node": {"oid": "7ff8596abe46e52f0bab5eeaefdc6ea8a514dec1", "messageHeadline": "Fix typos", "author": {"name": "Dimitris Apostolou", "email": "dimitris.apostolou@icloud.com", "user": {"login": "rex4539"}}, "additions": 15, "deletions": 15}}, {"node": {"oid": "b24d18b1a88afc02b96c93d8fff17edbf2930c80", "messageHeadline": "Add details for building Blockstream Jade emulator to test/README.md", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 118, "deletions": 5}}, {"node": {"oid": "d2214abfffff5009b8c21962263a4466634bab23", "messageHeadline": "Update release-process for macos", "author": {"name": "gruve-p", "email": "jackielove4u@hotmail.com", "user": {"login": "gruve-p"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "0d846a64967697eacd999cf7967fc6a5ba5b6282", "messageHeadline": "Merge bitcoin-core/HWI#549: psbt: Implement BIP 370 PSBTv2", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4836, "deletions": 1392}}, {"node": {"oid": "b11d0c3fde787d0042d259c33495e3d429d1d918", "messageHeadline": "jade: Do not use psbt.tx", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 7}}, {"node": {"oid": "0c4052b74eea2053e6b49751ed1bc35373030f92", "messageHeadline": "coldcard: Convert PSBT to v0 before sending to Coldcard", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "e24c9630bc901b1245a7fe8adb61f521e9ce471e", "messageHeadline": "ci: Include psbt2 in bitcoind patch", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4366, "deletions": 1324}}, {"node": {"oid": "521b30d09a7794a12e85fe6096854c400af0a3a7", "messageHeadline": "psbt: key type is a compact sized uint", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "b47bee0805c91c2dce12ead4436413f47bd335f0", "messageHeadline": "psbt: Add version conversion function", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 21, "deletions": 0}}, {"node": {"oid": "e03d3091bcff5d688c3beef20e3b2ee2c01d40b9", "messageHeadline": "tx: Change CTransaction.hash to be non-reversed bytes", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 4}}, {"node": {"oid": "f38bd7f0e611843ca2200ee295a00187424d945a", "messageHeadline": "trezor: do not use psbt.tx", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 16, "deletions": 10}}, {"node": {"oid": "5dbcb3e13ffd9ca75ecd82609600f4779aa87c82", "messageHeadline": "ledger: avoid using psbt.tx", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 4}}, {"node": {"oid": "47c8180d0320ced6629a93b2a147a7965be06836", "messageHeadline": "bitbox01: avoid using psbt.tx directly", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 6}}, {"node": {"oid": "4817d83ac6cf217135d91b78354bf91ba367ad87", "messageHeadline": "psbt: add get_unsigned_tx", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 35, "deletions": 0}}, {"node": {"oid": "82923e37698412f127813e857cf5c8dc083e9f93", "messageHeadline": "bitbox02: Use PSBTv2 fields", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 19, "deletions": 13}}, {"node": {"oid": "5d8a5de3b8b56b9a95bd0ef36dfb112ec9116188", "messageHeadline": "psbt: Add compute_lock_time() function", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 32, "deletions": 0}}, {"node": {"oid": "39d8cffb626c7fd43d6e493c42697f5cf8e903b6", "messageHeadline": "psbt: Add get_txout function to PSBTOutput", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 0}}, {"node": {"oid": "ec981a8850784b8d695f64b9fc4bbc11b7cbc2d3", "messageHeadline": "psbt: Use PSBTv2 fields with PSBTv0", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 37, "deletions": 0}}, {"node": {"oid": "ed87c3ae0008b98910aae4f04e87524a16f9f989", "messageHeadline": "psbt: Implement PSBTv2 fields", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 283, "deletions": 22}}, {"node": {"oid": "3d9ebd3c9df47144a53c20dd9ccfca3f8ae48ecb", "messageHeadline": "Merge bitcoin-core/HWI#559: Jade support sorted multi", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 182, "deletions": 105}}, {"node": {"oid": "985ec9705c84e3909a92469da625e172dfe2ae1a", "messageHeadline": "Merge bitcoin-core/HWI#544: trezor: Implement Taproot support", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1469, "deletions": 58}}, {"node": {"oid": "2669bceb60ac0843270132ba7f184578b70db75e", "messageHeadline": "tests: each device explicitly lists signtx cases", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 71, "deletions": 44}}, {"node": {"oid": "b9093d1ee85105f904b791dbfb52afcf97c45e3e", "messageHeadline": "trezor: Disallow external inputs when signing with tr", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 0}}, {"node": {"oid": "c37acd41124b3fdaaa2c2c1cc230f16ae0ad82b8", "messageHeadline": "tests: Taproot signing tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1343, "deletions": 1}}, {"node": {"oid": "ab189dbbe14840968c5a92cc36bf08bfd9ab5e2e", "messageHeadline": "tests: Add Trezor to SUPPORTS_TAPROOT", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "6ae50be627453b401776861b6bfccc59bf20f12e", "messageHeadline": "trezor: Sign Taproot inputs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 44, "deletions": 15}}, {"node": {"oid": "9fe19f450024c48b593bc7f05845207e39a68f27", "messageHeadline": "trezor: Allow taproot addresses for displayaddress", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 1}}, {"node": {"oid": "f168058ab2187c6a52187c26c80b5293cbc3e46a", "messageHeadline": "trezor: Implement can_sign_taproot", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 4}}, {"node": {"oid": "230bdd82f670d625e783385f8d784f57e2e226f8", "messageHeadline": "tests: Update jade emulator build flags to reduce jade test times", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 34, "deletions": 8}}, {"node": {"oid": "ce861eae5c47ecc3a4149a43fafd5af334c68fae", "messageHeadline": "jade: have Jade skip automatic change validation when in 'expert' mode", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 72, "deletions": 70}}, {"node": {"oid": "d104efb6e7221ebbe2c38f1c36931a8a0b8acd28", "messageHeadline": "jade: Support 'sortedmulti' with Jade, and add a firmware version check", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 71, "deletions": 27}}, {"node": {"oid": "2fbe50bfce12627d8f33d1ef4b1609e6cd22e9ba", "messageHeadline": "jade: Log when Jade may not be able to identify multisig change output", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 5, "deletions": 1}}, {"node": {"oid": "b6fbc54bc2da0f4cde345177d3fbeddfbc11ffec", "messageHeadline": "jade: Add device-ids for new Blockstream Jade serial chips", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "6871946c2176f2f9777b6ac8f0614d96d99bfa0e", "messageHeadline": "Merge bitcoin-core/HWI#554: trezor: Update trezorlib Dec 2021", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3448, "deletions": 3846}}, {"node": {"oid": "8d2ae5ee35f7aba063c619833651db9b83c0ec91", "messageHeadline": "trezor, keepkey: Passthrough model and _init_device in TrezorClientDe\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 11}}, {"node": {"oid": "25c36c906fe3587129330d11e0f69d7c7980be51", "messageHeadline": "trezorlib: add dataclasses as a dependency for python 3.6", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 94, "deletions": 115}}, {"node": {"oid": "b912fbe5a5fde95ea3fe3f8577fc5183d5e05dd7", "messageHeadline": "trezorlib: Document modifications", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "fa97e3b2a32bd0c69523d0c64d1ec1f467ec0046", "messageHeadline": "trezor, keepkey: Update to work with new trezorlib", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 21, "deletions": 9}}, {"node": {"oid": "aac439a9f43e997fdab5a08897b361d6a2cd80ca", "messageHeadline": "keepkey: Update messages to new message definition", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 58, "deletions": 60}}, {"node": {"oid": "292be0a7b4e340a497c0dc5d6af54616cb0b89c6", "messageHeadline": "trezor: trezorlib modifications", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 4}}, {"node": {"oid": "051b9c1497a0bc3c041c19fb3d6ee2c92cfd9160", "messageHeadline": "trezor: Update Trezorlib", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3261, "deletions": 3655}}, {"node": {"oid": "84842b55bbd11e3ec9c4e89e008c757863ed126d", "messageHeadline": "Merge bitcoin-core/HWI#547: Add AddressType.TAP and be able to fetch \u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 288, "deletions": 91}}, {"node": {"oid": "3f74cc75ecfc24eb773efd4ec3728a6ad5cfc8e9", "messageHeadline": "Do not show Taproot things for devices without Taproot support", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 22, "deletions": 5}}, {"node": {"oid": "7950173a142e3e3405dfb587fa71547d62d820d2", "messageHeadline": "hwwclient: Add a function to check whether the device supports Taproot", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 76, "deletions": 0}}, {"node": {"oid": "054ce4d25ef86c23ecaeb907a9233c55c9b2ce82", "messageHeadline": "displayaddress: Check against xonly pubkey too", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 15, "deletions": 2}}, {"node": {"oid": "b47b7c8091b06a9b7eebb3addf67f14e8f95dece", "messageHeadline": "tests: check tr() descriptors from getkeypool", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 24, "deletions": 30}}, {"node": {"oid": "a7528b88b0a4c4576b3ead4f9456a2d39da8371b", "messageHeadline": "Have getdescriptors fetch for all address types", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "8928c128c0431afd9eb8b2d26eef3244e51fd125", "messageHeadline": "Cleanup Ledger displayaddress address type handling", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 2}}, {"node": {"oid": "13128176426d36d777c3e0c5427652dcdb721df0", "messageHeadline": "Handle tr() descriptors in displayaddress", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 1}}, {"node": {"oid": "4c438ccb9227ad8772e8ea6083e64bd688144c75", "messageHeadline": "Handle AddressType.TAP for getkeypool and getdescriptors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 6}}, {"node": {"oid": "08ab51b895e9b806c1ffb56f634a41fa7aa7ce7a", "messageHeadline": "Add a derivation path for AddressType.TAP", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "19aedce066a2a858245bf21ce0e1245888bdab7d", "messageHeadline": "Add AddressType.TAP", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "15f691f88537d01dd72ac6576908e2fc62dbab61", "messageHeadline": "Implement bech32m", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 128, "deletions": 47}}, {"node": {"oid": "e0a6c5c8986ad81ae1d8a98babe524ae2fe80d05", "messageHeadline": "Merge bitcoin-core/HWI#545: Add tr() descriptors for Taproot output s\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 223, "deletions": 61}}, {"node": {"oid": "d2d360c4cc7db84afea41c56497cf33f0726b136", "messageHeadline": "descriptors: Add PKDescriptor and parsing", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 19, "deletions": 0}}, {"node": {"oid": "c46493188621daea300859820b68fc2b19dfdc0a", "messageHeadline": "descriptors: Add TRDescriptor, parsing, and tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 139, "deletions": 0}}, {"node": {"oid": "d13100609d743bd800592561f06e5ce4a0c452dd", "messageHeadline": "descriptor: Allow multiple subdescriptors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 52, "deletions": 52}}, {"node": {"oid": "48618bda3101b99a58dca219ffca932e1701836e", "messageHeadline": "descriptors: Explicitly list allowed contexts for functions", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 13, "deletions": 9}}, {"node": {"oid": "f1949af1d0e16fc1fc10e34880c411e0af696c88", "messageHeadline": "Merge bitcoin-core/HWI#555: ci: do git clean before setting up keepkey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "63fa38a1a79e96152386ec9148b38c25694aa6fc", "messageHeadline": "Merge bitcoin-core/HWI#553: ci: run install_script before installing \u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "7d811cb3c3d1d278bd99a6505b3f8e7053280870", "messageHeadline": "ci: do git clean before setting up keepkey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "f8c79e60f32fd75a38ee26c789485d363ca043d2", "messageHeadline": "Merge bitcoin-core/HWI#546: psbt: implement BIP 371 Taproot PSBT fields", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 259, "deletions": 55}}, {"node": {"oid": "7e283f6401ddb36ce825b8b6c293bbee1accfae4", "messageHeadline": "ci: run install_script before installing sims", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "c5fba03bd33a361d9ee488388d2e90cf73e61622", "messageHeadline": "tests: Add Taproot field test vectors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 19, "deletions": 2}}, {"node": {"oid": "19d2e0a866409a3599ceb70ab69782d8f8e57bb9", "messageHeadline": "psbt: Implement Taproot fields", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 167, "deletions": 0}}, {"node": {"oid": "fe85a315192d74cba0dcd1d6e3520f00f8139780", "messageHeadline": "psbt: Use static member field numbers for serialization", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 14, "deletions": 14}}, {"node": {"oid": "6b59c7583803950a30e05e00af63814c8bfea6a7", "messageHeadline": "psbt: Use static members for field numbers", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 33, "deletions": 14}}, {"node": {"oid": "bc7efb9047b5be28f63dd1009b20c74bd71491bb", "messageHeadline": "psbt: Make sighash Optional", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "92d64e78d9e575e1171a5342cc68b52622726453", "messageHeadline": "psbt: Remove extra newlines", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 12}}, {"node": {"oid": "76ad4dd27aaa196946e7e6967a82bd40d6384df6", "messageHeadline": "psbt: Check for duplicate keys by tracking set of read keys", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 23, "deletions": 10}}, {"node": {"oid": "fa5986a9d106383d41552ac81830bed322f770f5", "messageHeadline": "Merge bitcoin-core/HWI#475: Add support for the Blockstream Jade hww", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1795, "deletions": 54}}, {"node": {"oid": "db17fed8ff1109910ed65a36ddd20ba60bf90ee0", "messageHeadline": "Add tests for Jade hww using qemu emulator", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 404, "deletions": 31}}, {"node": {"oid": "44d556e9cdc17edf73f14bf2c773539222a93596", "messageHeadline": "Add support for the Blockstream Jade hww", "author": {"name": "Jamie C. Driver", "email": "jamie@blockstream.io", "user": {"login": "JamieDriver"}}, "additions": 1415, "deletions": 47}}, {"node": {"oid": "a109bcd53d24a52e72f26af3ecbabb64b292ff0c", "messageHeadline": "Merge bitcoin-core/HWI#494: Bump Pyenv's Python to 3.9", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 5}}, {"node": {"oid": "d1055df7ba60ff6ba2a182980dcab1799c239c7a", "messageHeadline": "Bump PyEnv version to 3.9.7", "author": {"name": "Sjors Provoost", "email": "sjors@sprovoost.nl", "user": {"login": "Sjors"}}, "additions": 4, "deletions": 5}}, {"node": {"oid": "4edf4f6454eb03fa1ed4fe967b1ce5f390e2d117", "messageHeadline": "Merge bitcoin-core/HWI#542: keepkey, trezor: Handle if ButtonRequest \u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 6}}, {"node": {"oid": "6fbb2a2a530462ab79884ab2b22ced0746750837", "messageHeadline": "tests: Test sendpin with passphrase", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "2fa0c94331242a6ff1069bb970281bd2b7311e40", "messageHeadline": "keepkey, trezor: Handle if ButtonRequest is sent during sendpin", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 3}}, {"node": {"oid": "8c1b50aaaac37714b5d61f720b4b06f8aa24c73a", "messageHeadline": "Merge bitcoin-core/HWI#538: Allow some older dependencies and regener\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 18, "deletions": 16}}, {"node": {"oid": "a8f955a3a955a7e73cca16dfe7c82d3d0629ce43", "messageHeadline": "tests: Remove extraneous debug line", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 1}}, {"node": {"oid": "8f6b7e9d12969f1986b6e2ba11befbd2b6375b13", "messageHeadline": "deps: regenerate setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "8719bfee9c7a10766622bd5bdcebd390056bde8d", "messageHeadline": "deps: regenerate poetry.lock", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 9}}, {"node": {"oid": "3fde13e1f8705424cb2e025a764073bcd00bd315", "messageHeadline": "deps: Allow older versions", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "8c6763b0e99e0a6bc18a3b9a9d050d5e70f32276", "messageHeadline": "Merge bitcoin-core/HWI#536: test: Fix label tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 103, "deletions": 6}}, {"node": {"oid": "0735b09dd06ca124a4e7625df479c22ac1ee2852", "messageHeadline": "tests: Make sure device is found when enumerating", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 70, "deletions": 3}}, {"node": {"oid": "6b043d3e4edbba2ad314f344998141391ea39376", "messageHeadline": "test: Fix label tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 33, "deletions": 3}}, {"node": {"oid": "618158a2be09a4d7632f0b53d17b2bb2691ac616", "messageHeadline": "Merge bitcoin-core/HWI#535: test setup: Always build bitcoind depends\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 7}}, {"node": {"oid": "1800e68ccdd982f7190604619a7279a4f27ac418", "messageHeadline": "test setup: Always build bitcoind depends and configure", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 7}}, {"node": {"oid": "d564b275e09584594a3e415d74d897733cf30747", "messageHeadline": "Merge bitcoin-core/HWI#438: Add label field to enumerate", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 21, "deletions": 4}}, {"node": {"oid": "8e6d167c6f8d470578f23ca05479cd245dc6d351", "messageHeadline": "Add tests for setting/getting device label", "author": {"name": "Pavol Rusnak", "email": "pavol@rusnak.io", "user": {"login": "prusnak"}}, "additions": 14, "deletions": 2}}, {"node": {"oid": "f8797b28940e46c16cc14fd51ec96e7dd3e9c96b", "messageHeadline": "Apply label on trezor.setup_device", "author": {"name": "Pavol Rusnak", "email": "pavol@rusnak.io", "user": {"login": "prusnak"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "cc5012a2c3b96ceeb6cb15023392d3a85fe182f7", "messageHeadline": "Merge bitcoin-core/HWI#534: tests: Test psbt signed status", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 11, "deletions": 2}}, {"node": {"oid": "60ac9b4214d06777ae2a1ea720bf6855a5cf2109", "messageHeadline": "Add bool to signtx return type", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 2}}, {"node": {"oid": "4f2beea60ad88f2abbf49586a334d9173bac3b7b", "messageHeadline": "tests: Test psbt signed status", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 0}}, {"node": {"oid": "4d13ef4bf94c5773504bd2e08ff830ecf7da03f1", "messageHeadline": "Merge bitcoin-core/HWI#532: ci: Run tests on all supported python ver\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 98, "deletions": 2}}, {"node": {"oid": "0674de701dd23ac1b692d7caa478b8729dd5d2a5", "messageHeadline": "tests: Use depends to build bitcoind", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 1}}, {"node": {"oid": "76abfd82b710b143741b915b01f6feda3bd7f8a7", "messageHeadline": "ci: Run tests on different versions of python", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 94, "deletions": 1}}, {"node": {"oid": "255f567bc452abe2820798b6a56ffb582180fdcc", "messageHeadline": "Add label field to enumerate", "author": {"name": "Pavol Rusnak", "email": "pavol@rusnak.io", "user": {"login": "prusnak"}}, "additions": 5, "deletions": 0}}, {"node": {"oid": "68b39d2be094b0550f9445e89062517707feeead", "messageHeadline": "Merge bitcoin-core/HWI#497: Trezor: Add multisig change address verif\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 50, "deletions": 19}}, {"node": {"oid": "8ec8e1bcaca5be088d57afc414197ad0ddb3b67c", "messageHeadline": "Merge bitcoin-core/HWI#516: Return status indicating if we signed the\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "583c4a4b08c310ae4a0ce9782304ccd1b7d3e338", "messageHeadline": "Merge bitcoin-core/HWI#533: Oct 2021 Fix CI", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 2}}, {"node": {"oid": "e168d8ff7cb90659ba7b626b5c7754f4f40ffc82", "messageHeadline": "tests: Use a different magic value for \"blank\" fingerprint", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "18b89a6341177d41703cedbf544a569e8750e84e", "messageHeadline": "Merge bitcoin-core/HWI#531: Oct 2021 Dependency Update", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 375, "deletions": 343}}, {"node": {"oid": "014896648aa23a95df3c1cc6561e07f88f501406", "messageHeadline": "tests, build: Make sure rust is up to date", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "cfdc13ec89fcf4f7aa69239effbfce469a57fe9c", "messageHeadline": "deps: Update poetry.lock", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 366, "deletions": 331}}, {"node": {"oid": "9160fb7935807479df3c483b7bf486dbdcc0fe39", "messageHeadline": "deps: Bump libusb1 to at least 2.0", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "ad0d4f1c0b9799e89fd48dd0b52e663f299b9901", "messageHeadline": "deps: Relax dev dependency restrictions, and bump to current", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 6}}, {"node": {"oid": "cb184ac088800ca3fcf40d04b181a53ca7355863", "messageHeadline": "deps: Remove python <3.10 restriction", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "da3581caf7b2f46994087ef0fcb72ca665b67b9e", "messageHeadline": "deps: Remove platform specific pyinstaller dependencies", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 3}}, {"node": {"oid": "af90d6e327cd8224eb5a3c5ad19455d724b1d3f0", "messageHeadline": "Merge bitcoin-core/HWI#518: Docs: Fix minor spelling error", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "1b2d763a304a0f95ec866407d6f33083b327fe2e", "messageHeadline": "Merge bitcoin-core/HWI#523: Repair CI and update tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 301, "deletions": 151}}, {"node": {"oid": "2b101e1415c672f36b16472620f4bed8be5ee1ee", "messageHeadline": "tests, ledger: Build copy-launcher target", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "de78933a9d93ef47845aa8a022d3d5c6f925bec9", "messageHeadline": "tests, ledger: disable REST api", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "7a539070ebad13de9fb78c64032536e44993cae0", "messageHeadline": "ci, ledger: Update speculos python dependencies", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 4}}, {"node": {"oid": "049a8f202c1fac7a567f697f8e1f1f5e95a88680", "messageHeadline": "ci, coldcard: patch libngu so it compiles on linux", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 44, "deletions": 0}}, {"node": {"oid": "fa2b02a5060b571b51f3780a41466e568930bb00", "messageHeadline": "ci, coldcard: build other things needed", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 0}}, {"node": {"oid": "5d112864ad7f8157f49f098c909712b133ca283e", "messageHeadline": "ci, coldcard: Update simulator patch", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 26, "deletions": 28}}, {"node": {"oid": "e6693ab45886b1ef58c7b9fd5320ead5bbe22610", "messageHeadline": "trezor, keepkey: Provide ids explicitly to get_path_transport", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 25, "deletions": 10}}, {"node": {"oid": "da956973256f80d04a2d8b3a79ac358e64f1ecc2", "messageHeadline": "tests, keepkey: Fix keepkey builds", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 41, "deletions": 0}}, {"node": {"oid": "be53941cc687eeaf88194a0868da62c730442307", "messageHeadline": "tests, trezor, keepkey: Sleep after shutdown", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 0}}, {"node": {"oid": "82373236d33743a361dc93123a139bec27a0f841", "messageHeadline": "ci, trezor: Install rustup and clang", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 0}}, {"node": {"oid": "4bc6c4b80388bcaf17763f3308544c4bffee2ad4", "messageHeadline": "tests: Don't redirect stderr to /dev/null", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "7007bfd127a9d72f3b10b1dac2a32991af696773", "messageHeadline": "tests: Set keypool to 1", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "a43144181ada1faadec1e3d1ef29fde14d3b1f74", "messageHeadline": "build, win: Download specific python release key", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "39090c6dad182f7a522c74bd8a24e5f3e453c26e", "messageHeadline": "ci: Use artifacts instead of cache", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 115, "deletions": 79}}, {"node": {"oid": "82f0e505f41a0cd54be7e947d0c725525eab0f89", "messageHeadline": "ci: Use \"find -exec\" for sha256sums", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "211467ebbb9ec8f320333d668070119d096d1dcd", "messageHeadline": "ci: Sort packages in cirrus.Dockerfile", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 18, "deletions": 18}}, {"node": {"oid": "1b8756965831122972b628714a52f0e75b410797", "messageHeadline": "ci: Remove unused task names", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "ee44b838e5fa8a04a4b1bad15d134f5e26f381d4", "messageHeadline": "Merge bitcoin-core/HWI#521: Fix keepkey enumeration so it does not ap\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 6}}, {"node": {"oid": "f8f4f3fc1e46923c48d4d6dca251c6f5a5bc7a46", "messageHeadline": "Fix keepkey enumeration so it does not appear as Trezor", "author": {"name": "Pavol Rusnak", "email": "pavol@rusnak.io", "user": {"login": "prusnak"}}, "additions": 8, "deletions": 6}}, {"node": {"oid": "61cacc8ffaaea6ea6afa7f462aa744541c9b7c19", "messageHeadline": "Merge bitcoin-core/HWI#519: Update keepkey port to 11044", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 17}}, {"node": {"oid": "d8f265af56a219ba6d20c6d769f69d97a33cfedd", "messageHeadline": "Update keepkey port to 11044", "author": {"name": "Pavol Rusnak", "email": "pavol@rusnak.io", "user": {"login": "prusnak"}}, "additions": 17, "deletions": 17}}, {"node": {"oid": "82e197f9e864654628a7aada9d38bd26b93a2b72", "messageHeadline": "Fix minor spelling error", "author": {"name": "Ali Sherief", "email": "alihsherief@linuxmail.org", "user": {"login": "ZenulAbidin"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "c7f70a0f160efb91200a2317c609992caad82fde", "messageHeadline": "Report back whether we were able to sign psbt, rather than having", "author": {"name": "barrystyle", "email": "barrystyle@westnet.com.au", "user": {"login": "barrystyle"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "5fc93220a542860e4fbd4a4304385e27d94c2dfe", "messageHeadline": "Bump to 2.0.2 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 6}}, {"node": {"oid": "401e403d515eeba9e88eed184cbefd991c005d28", "messageHeadline": "Merge #515: Convenience scripts for making SHA256SUMS.txt.asc", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 36, "deletions": 4}}, {"node": {"oid": "edfbfb3ce5bb4fb638ee50ed230cd3d726788915", "messageHeadline": "Update release process docs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 2}}, {"node": {"oid": "043bf820037dd9fbec5580687d9f7b29ea4db702", "messageHeadline": "Add convenience script for making SHA256SUMS.txt", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 14, "deletions": 0}}, {"node": {"oid": "9eebd35c53586f3d6915d84821e38637d8ab83ac", "messageHeadline": "Move built executables to subdirs for shasum'ing", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 18, "deletions": 2}}, {"node": {"oid": "d4320d0a2ac61ec9ee62cee39ecf400648951f8f", "messageHeadline": "Bump to 2.0.2-rc.1 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "075ce8c95bfab41d4d3c6bc5cf01aaf8a8480a3e", "messageHeadline": "Merge #514: Fix libusb path for Darwin", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "1f9f1479e2a1e5596f37227d62e9ec9ac6000ae8", "messageHeadline": "Fix libusb path for Darwin", "author": {"name": "gruve-p", "email": "jackielove4u@hotmail.com", "user": {"login": "gruve-p"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "a7d813405c0db7ae950a7f0eaae9a0baec1bcfe9", "messageHeadline": "Merge #503: set correct permissions for deployed udev files", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "560a48e77ee7ea04cac8bf6118ea105c652d43f1", "messageHeadline": "Merge #512: Fix release builds docker container", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 7}}, {"node": {"oid": "6f926e6e7854687de95987fed345454107e4cfba", "messageHeadline": "Revert bad to using Debian stretch for docker", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "efb2e02cb641c9791f49e6a59cad729d3cb3e878", "messageHeadline": "Also install qt5 in docker container", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "f8da677c5d0161b4f00e17370d25b0e689decb9d", "messageHeadline": "Merge #509: docs/devices: add checkmark to Message Signing for the Bi\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "56300059fe5f0e8e08301f753d8e4df8808d98fd", "messageHeadline": "Merge #508: Fix typo in Bitbox docs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 6}}, {"node": {"oid": "01126adbcddcbfa8ef2d24c6d834fab87daae240", "messageHeadline": "docs/devices: add checkmark to Message Signing for the BitBox02", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "885741bef35a75c610b3b4b221f84ee4d8ba704d", "messageHeadline": "Fix typo in Bitbox docs", "author": {"name": "Tim Ruffing", "email": "crypto@timruffing.de", "user": {"login": "real-or-random"}}, "additions": 6, "deletions": 6}}, {"node": {"oid": "873386f87cbc061591b8a321bb1da0f86053f46b", "messageHeadline": "Update pyenv commands for new behavior", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 4}}, {"node": {"oid": "7dcd7bd57cc311cb73c48ea2335dd6be75842067", "messageHeadline": "Merge #507: Fix Debian version in dockerfile", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "e333345c567c58631c99c3289b4b4bda014dc4a5", "messageHeadline": "Fix Debian version in dockerfile", "author": {"name": "Kiminuo", "email": "kiminuo@protonmail.com", "user": {"login": "kiminuo"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "1168d6a5304eecf2243cdfda0d0abd361395d2d4", "messageHeadline": "add multisig change verification for Trezor", "author": {"name": "Stepan Snigirev", "email": "snigirev.stepan@gmail.com", "user": {"login": "stepansnigirev"}}, "additions": 50, "deletions": 19}}, {"node": {"oid": "d6a8cdef3b904a8a7ea5e316a83cb4037046202d", "messageHeadline": "Merge #505: bitbox02: handle multiple connected bitbox02s correctly", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 13, "deletions": 11}}, {"node": {"oid": "cecf472201a2ef508b5e46776e5b75d0a7bf2a75", "messageHeadline": "Merge #498: bitbox02: implement sign_message()", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 36, "deletions": 9}}, {"node": {"oid": "ecb7b262b355f83df8bccc6a1180e82ce1ac9480", "messageHeadline": "Merge #502: support other libusb paths for Linux", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 29, "deletions": 20}}, {"node": {"oid": "9c0605973967c85b5b063f7d1c3ebda117111fc9", "messageHeadline": "Merge #504: Always use h instead of ' for hardened derivation path", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 35, "deletions": 33}}, {"node": {"oid": "8a37eb956184302a168099d454440ea8105d7e3f", "messageHeadline": "support other libusb paths for Linux", "author": {"name": "Sylvia G", "email": "q0h8xdveje@gmail.com", "user": {"login": "secinthenet"}}, "additions": 29, "deletions": 20}}, {"node": {"oid": "15d8eca6daad6f425a03cf643bd14f610d086341", "messageHeadline": "bitbox02: handle multiple connected bitbox02s correctly", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 13, "deletions": 11}}, {"node": {"oid": "c96f587c9c68ea90c2fe1b2a7bfc33d245180528", "messageHeadline": "Always use h instead of ' for hardened derivation path", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 35, "deletions": 33}}, {"node": {"oid": "5452eacbe8e8467bfdb40304051810c961ba84c7", "messageHeadline": "set correct permissions for deployed udev files", "author": {"name": "Sylvia G", "email": "q0h8xdveje@gmail.com", "user": {"login": "secinthenet"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "cd23d5b482ebb357046c9dfd0c5f5c050719609b", "messageHeadline": "Bump to 2.0.1 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "a30d672e56ee142d68a399f8ecd95af7d809e287", "messageHeadline": "bitbox02: update to v5.3.0", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 11, "deletions": 7}}, {"node": {"oid": "43c60c56ff7977aa0dda833efefb899d08a2e78f", "messageHeadline": "bitbox02: implement sign_message()", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 25, "deletions": 2}}, {"node": {"oid": "d3170678e474d87c8755f70fb7133ccdeb569ab4", "messageHeadline": "Merge #500: Use buster-slim for binary build", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "a34ba9a036e041241c37cb8e8e69f19e625dfe2f", "messageHeadline": "Use buster-slim for binary build", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "0cd94a8448dbe6cffc2a4e4e40dfb9e4fdd5d59c", "messageHeadline": "Merge #495: trezor: Return PASSPHRASE_ON_DEVICE if passphrase entry o\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 2}}, {"node": {"oid": "551d72f83f316324993042a49ea750f2035c09e0", "messageHeadline": "trezor: Return PASSPHRASE_ON_DEVICE if passphrase entry on device is \u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 2}}, {"node": {"oid": "87b3f4b4138d5445da8843acb938f68c9ce245cd", "messageHeadline": "Bump to 2.0.0 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "1ce797ac8ba7a08ca959f50854db791f014a43dc", "messageHeadline": "Merge #493: Use shutil.which to discover udevadm, groupadd and usermo\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 4}}, {"node": {"oid": "09a747a61cac52b19280c7b7963b6407c130d7f7", "messageHeadline": "Use shutil.which to discover udevadm, groupadd and usermod binaries", "author": {"name": "Pavol Rusnak", "email": "pavol@rusnak.io", "user": {"login": "prusnak"}}, "additions": 8, "deletions": 4}}, {"node": {"oid": "89c9c8bafa0a8f1f40ed1704628511f1f5e33fc6", "messageHeadline": "Bump to 2.0.0-rc.3 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "2526370fc94831103d50963f3d9d1774b1a7bf1d", "messageHeadline": "Merge #490: Add missing argument to PassphraseUI.get_passphrase", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "3313774c0a0ee60608c4ad75da10802c309f164b", "messageHeadline": "Add missing argument to PassphraseUI.get_passphrase", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "0ad25a70029b0b1f197682edacb5c4aa98e680e2", "messageHeadline": "Merge #488: Properly handle and test sortedmulti descriptors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 86, "deletions": 90}}, {"node": {"oid": "3fad6631cc300c123015defa41618951afbcfb5f", "messageHeadline": "Properly handle and test sortedmulti descriptors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 86, "deletions": 90}}, {"node": {"oid": "3190d1f36960f63d94cdc5eb45f71d53b1e683a6", "messageHeadline": "Merge #481: Handle PassphraseRequest after sending pin", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 3}}, {"node": {"oid": "663d7eb51e308cfb7e8f613c89f9ab66d9efa451", "messageHeadline": "Move some Trezor tests to end of test suite", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "c50834b85553fe40a34702315c14b75d9ad91c2e", "messageHeadline": "Handle PassphraseRequest after sending pin", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 1}}, {"node": {"oid": "d3a15b93bec1bc7bf35e255f8d11b78d67fd6eed", "messageHeadline": "Merge #479: bitbox02: fix singlesig signing regression", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 1}}, {"node": {"oid": "308763d50941a5dc88ddf54ae6c9976d21861fa0", "messageHeadline": "bitbox02: fix singlesig signing regression", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 4, "deletions": 1}}, {"node": {"oid": "f763a583cde5946da5c696cfbe648b89ddbb4a37", "messageHeadline": "Bump to 2.0.0-rc.2 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "44c0e8fcab1db5faabdd5d8811260d2dfe3d7925", "messageHeadline": "Merge #477: WIT_V0 should be WIT", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "cb155266fdb3d4b908122e59cb248c0375e8c669", "messageHeadline": "WIT_V0 should be WIT", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "db956a60ca37351d383cfe41347bdf2a9065fe31", "messageHeadline": "Bump to 2.0.0-rc.1 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 7}}, {"node": {"oid": "cb7c7c70f267235cbce0188d5830e0e89c494b85", "messageHeadline": "Merge #472: Have getmasterxpub account for BIP 44 things", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 62, "deletions": 31}}, {"node": {"oid": "645636bbd2ae4805a7ccca6261d664e35b6fe4e1", "messageHeadline": "Have getmasterxpub account for address type, chain, and account", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 26, "deletions": 19}}, {"node": {"oid": "509278885d27d34d7d7adf75bcdaf5a0dab8e832", "messageHeadline": "Add BIP 44 path helper functions", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 36, "deletions": 12}}, {"node": {"oid": "b635ec1724e5a86202d7f592de52ebe805ffbd97", "messageHeadline": "Merge #470: Rename addrtype enum values to remove misnomer", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 79, "deletions": 64}}, {"node": {"oid": "a95ccd14b4e0be964936f6f32361969c4766835c", "messageHeadline": "Change address type default to WIT", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 34, "deletions": 19}}, {"node": {"oid": "de0a19d86034c4efbc39c226389aa4d5019da689", "messageHeadline": "Rename AddrType enums", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 54, "deletions": 54}}, {"node": {"oid": "eb1ce2cdd1559ca19ea0229e62c49f83f3655ff8", "messageHeadline": "Merge #473: ledger: ensure only Bitcoin and Bitcoin Test apps are active", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 26, "deletions": 0}}, {"node": {"oid": "34003f831420065fa5ee20d4520a00871e329da5", "messageHeadline": "ledger: require the app name is Bitcoin or Bitcoin Test", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 0}}, {"node": {"oid": "7b34fc72c5b2c5af216d8b8d5cd2d2c92b6d2457", "messageHeadline": "Merge #474: Warn when device dependency is missing", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 6, "deletions": 2}}, {"node": {"oid": "6bd10bc3ee6f8ad0d9054aad4ae2c636a8694237", "messageHeadline": "Warn when device dependency is missing", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 2}}, {"node": {"oid": "d1d0574d5af412d347edce8f9566c6ee0cfe2a6f", "messageHeadline": "Expose app name of ledger devices", "author": {"name": "Jo\u00e3o Barbosa", "email": "joao.paulo.barbosa@gmail.com", "user": {"login": "promag"}}, "additions": 19, "deletions": 0}}, {"node": {"oid": "1f083457398b4d7ae8b508e458991b23da0f60a8", "messageHeadline": "Merge #471: Add walkthrough to sphinx generated docs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 5}}, {"node": {"oid": "c60313565bff31b713ae41789887629a49397182", "messageHeadline": "Move walkthrough into sphinx", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 5}}, {"node": {"oid": "1623f1c490c4d53edea8144c749dab190686ffa0", "messageHeadline": "Merge #413: step-by-step guide on how to use HWI and Bitcoin Core", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 191, "deletions": 0}}, {"node": {"oid": "1c412cd7c45b8f89a04de6edfae22b87582e20e4", "messageHeadline": "Merge #469: Specify a device support policy", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 28, "deletions": 0}}, {"node": {"oid": "7de0237c5590efde7364209c30fc3dbb77544786", "messageHeadline": "detailed walk-through of using Bitcoin Core with a hardware wallet", "author": {"name": "8go", "email": "cccc@tuta.io", "user": null}, "additions": 191, "deletions": 0}}, {"node": {"oid": "6361a18ace6f1b4d39da9620c5f68ee922c37144", "messageHeadline": "Specify a device support policy", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 28, "deletions": 0}}, {"node": {"oid": "7cf325d131d7aca98969a53518e2b58ec0c2315c", "messageHeadline": "Merge #468: Mention readthedocs.io", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 4}}, {"node": {"oid": "87b1812fb84789df87312053558618bed113c9f1", "messageHeadline": "Merge #466: Update Bitcoin Core usage doc to use descriptor wallets", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 34, "deletions": 42}}, {"node": {"oid": "ec547380b0d3f6e9b5bc71a8d6bebd3a904046fa", "messageHeadline": "Mention readthedocs.io", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 4}}, {"node": {"oid": "6e58e9990b63933e41445bad1a0f9bdcf7be645a", "messageHeadline": "Update Bitcoin Core usage doc to use descriptor wallets", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 34, "deletions": 42}}, {"node": {"oid": "8299e66155a39becbf391bcb557f73e03523c741", "messageHeadline": "Merge #464: Sphinx docs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2448, "deletions": 828}}, {"node": {"oid": "4b5792a1de0144ccac85e5115f1e5c4b0e1d1c48", "messageHeadline": "Add internal api to sphinx docs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 13, "deletions": 0}}, {"node": {"oid": "f82bc839dee28e22ac802663799fdbb4bc297225", "messageHeadline": "Docstring hwilib/_serialize.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 85, "deletions": 3}}, {"node": {"oid": "12f0319d0c10f6318d42c5594ce07fbd1c48a5b3", "messageHeadline": "Docstring hwilib/_script.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 58, "deletions": 0}}, {"node": {"oid": "0dd535db61c99d1ae1a0eaa1d7738a4b28fa0fda", "messageHeadline": "Docstring hwilib/psbt.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 72, "deletions": 0}}, {"node": {"oid": "eff54058564c52e96d5986995d007a120d44bd30", "messageHeadline": "Docstring hwilib/key.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 57, "deletions": 0}}, {"node": {"oid": "06b7ec324b19081b6e50e1781da20e266ec18acd", "messageHeadline": "Docstring hwilib/common.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 44, "deletions": 7}}, {"node": {"oid": "ea692e6187fafa256276403745a13a03e55cecbc", "messageHeadline": "Docstring hwilib/bech32.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 1}}, {"node": {"oid": "1d2c21fb36eced8f8772826f69f36d687d03b5e9", "messageHeadline": "Add docs/usage/cli-usage.rst", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 40, "deletions": 5}}, {"node": {"oid": "7e089313d79ef21cddaefeb50dba0e51ab5cebf1", "messageHeadline": "Make RTD theme wider", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 0}}, {"node": {"oid": "e47b8ed65f1963c5543bd11dc16545a91a5c9fb4", "messageHeadline": "Configure readthedocs.org", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 36, "deletions": 5}}, {"node": {"oid": "da818c58c87db8e3a1be52009be12fd147b85037", "messageHeadline": "Docstring base58.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 48, "deletions": 2}}, {"node": {"oid": "46687afcbfd91eb4d2a19d1c232713e09ca31932", "messageHeadline": "Docstring descriptor.py and include in api-usage.rst", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 142, "deletions": 1}}, {"node": {"oid": "b209f369778aae0b441cb096e4afb7a2ea3717b4", "messageHeadline": "docstring errors.py and add to api-usage.rst", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 143, "deletions": 20}}, {"node": {"oid": "9cadcc8317f81d9619f805a7deb0596685dea1d0", "messageHeadline": "Add hwilib/hwwclient.py to sphinx docs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 29, "deletions": 0}}, {"node": {"oid": "11fe5d16bc40acc39820c1b265a86647b6853e66", "messageHeadline": "Add public API documentation", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 23, "deletions": 0}}, {"node": {"oid": "0277e5f3e3c7521754e8c112f22355a20e8a78b4", "messageHeadline": "Add docstrings to udevinstaller.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 34, "deletions": 0}}, {"node": {"oid": "01d7644153ac8b45138d4397f5a2386ec1c7ded3", "messageHeadline": "Docstring hwilib/commands.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 220, "deletions": 1}}, {"node": {"oid": "41e2457028801059466ef8ea1297416464f8a1b0", "messageHeadline": "Add docs/usage and installation docs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 52, "deletions": 0}}, {"node": {"oid": "bfbe83fd8ed7c949c5d50008908bf2b88c88a5ca", "messageHeadline": "Move release-process.rst to docs/development/", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 0}}, {"node": {"oid": "bd8a4100e44abf7d54c527f1cd7cf29ed5d83834", "messageHeadline": "Move bitcoin-core-usage.rst and examples.rst to doc/examples/", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 1}}, {"node": {"oid": "55637cac2eb89cb8be2b67c9b4850b25c7e58e1d", "messageHeadline": "Add device support matrix doc and device notes", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 80, "deletions": 31}}, {"node": {"oid": "436e89e8d6678d3ced24ac2d345d2673dd06bd17", "messageHeadline": "Move release-process.md to release-process.rst", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 44, "deletions": 51}}, {"node": {"oid": "e3a04088ceba45480b52e1c9451229c3e092090f", "messageHeadline": "Move examples.md to examples.rst", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 156, "deletions": 145}}, {"node": {"oid": "6f95c027b0b7aa93d663974d6eb2f8701062d6e6", "messageHeadline": "Move bitbox02 docs to docstring", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 36, "deletions": 48}}, {"node": {"oid": "b23a4d3f91bb861759fbefe4dd839842f27514a0", "messageHeadline": "Move ledger docs to docstring", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 46, "deletions": 31}}, {"node": {"oid": "2b99ca230191b04a1b362b033615617c91bb7c30", "messageHeadline": "Move trezor docs to docstring", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 18, "deletions": 28}}, {"node": {"oid": "a71768663ffde6a66c668a394bf4c48d9df86cbc", "messageHeadline": "Move keepkey docs to docstring", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 28}}, {"node": {"oid": "073c9354b40f1e570e70c1ae5cf9fac343460df2", "messageHeadline": "Move bitbox01 docs to docstring", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 49, "deletions": 36}}, {"node": {"oid": "c340c35402a64a6d229f3385ab547e1e069a99aa", "messageHeadline": "Move Coldcard docs to docstring.", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 50, "deletions": 30}}, {"node": {"oid": "72316ee5eecc938031179cf998ae03d99e3c6232", "messageHeadline": "Change bitcoin-core-usage.md to rst", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 294, "deletions": 294}}, {"node": {"oid": "8513a2494be2299412b46ab088f4fcad1935f349", "messageHeadline": "Add Sphinx dependency and basic sphinx setup", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 544, "deletions": 66}}, {"node": {"oid": "072901476409f36b9a8b777e57b79708c7c7c524", "messageHeadline": "Merge #459: Refactor serializations.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1085, "deletions": 986}}, {"node": {"oid": "3e71c69da956ef93be761efdfcc45975945a2f6b", "messageHeadline": "Make serializations private", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 7}}, {"node": {"oid": "78c02d88ee89aeafa8a504f66366cc195748b481", "messageHeadline": "Move CTransaction and related classes to separate module", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 314, "deletions": 275}}, {"node": {"oid": "4de2295e57e66e4bf44e6741d3b99cb5db67d73e", "messageHeadline": "Move PSBT stuff to its own module", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 418, "deletions": 405}}, {"node": {"oid": "47c7648154af9b1d61296c41a15854d2337da947", "messageHeadline": "Move script type detection to its own module", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 111, "deletions": 80}}, {"node": {"oid": "538b4704b0a7d10b9827bfac5f900c12803be90b", "messageHeadline": "Unify hashers to use common hashers", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 13}}, {"node": {"oid": "3f41814ce8a17b78f1875f61201f659c09d50a81", "messageHeadline": "Move hashers to common.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 25, "deletions": 16}}, {"node": {"oid": "62fea1fbac95569de903d9f0aab4ef2092d19a3a", "messageHeadline": "Move AddressType to common.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 51, "deletions": 38}}, {"node": {"oid": "8a0b0137648d05e185c449eeb7ccb336399930c9", "messageHeadline": "Merge #458: Make some modules internal and private", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 22, "deletions": 22}}, {"node": {"oid": "a1a7b3d0364f171a1946ce2302401eb1bc90eb30", "messageHeadline": "Merge #463: make more distinction between Yes and N/A in the readme t\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 25, "deletions": 21}}, {"node": {"oid": "40c6887af5816e61ab6856af5099f3898c63eacc", "messageHeadline": "make more distinction between Yes, N/A and No in the readme table", "author": {"name": "Pavol Rusnak", "email": "pavol@rusnak.io", "user": {"login": "prusnak"}}, "additions": 25, "deletions": 21}}, {"node": {"oid": "be5ac78d3d6a45f873877ed1b90147f09bd32452", "messageHeadline": "Merge #461: Doc: Change the `getkeypool`'s obsolete `--wpkh`s to `--a\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "41740d3c7c21b1e545027f05ef35da9ba8b80e64", "messageHeadline": "Doc: Change the `getkeypool`'s obsolete `--wpkh`s to `--addr-type wpkh`", "author": {"name": "Dimitri", "email": "kvaciral@protonmail.com", "user": {"login": "Kvaciral"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "baa995eb46f76094c6975462b58ddee30dd0be60", "messageHeadline": "Merge #460: Handle all fingerprints as bytes", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 31, "deletions": 41}}, {"node": {"oid": "0d4b807c9c2629eff63b42d8a70431235e926e99", "messageHeadline": "Handle fingerprints as bytes instead of hex", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 7}}, {"node": {"oid": "c7dd5155b25a3106b24622864bbd95f6fdda1587", "messageHeadline": "Change descriptors get_fingerprint_hex() to fingerprint.hex()", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 16}}, {"node": {"oid": "b052173296e53421fe0e1b56de919856d2a1389a", "messageHeadline": "Replace get_master_fingerprint_hex to get_master_fingerprint", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 18, "deletions": 21}}, {"node": {"oid": "68996ab959799f569a653d26fdadf040578d0133", "messageHeadline": "Make bech32 private", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "b153d704b53045d3c60b21e4a21828893fae1124", "messageHeadline": "Make base58 private", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 7}}, {"node": {"oid": "5c9b218629de1a7f253a78efe910bc2e603bd6b0", "messageHeadline": "Make cli and gui modules internal", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 12}}, {"node": {"oid": "0ad28a49e7ec81cbc447a829175d1c4d6cf2c0a1", "messageHeadline": "Merge #456: Type check (almost) everything", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 347, "deletions": 210}}, {"node": {"oid": "6a2821d12a32c9d09706dd5af2f5c9aef2c61eae", "messageHeadline": "Merge #457: ledger: Ensure signed message signature is correct length", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 23, "deletions": 14}}, {"node": {"oid": "ad1146dfa91d83e16bc3ef461281ea23d27a4262", "messageHeadline": "Remove unnecssary type: ignore from hwilib/devices/bitbox02.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "ff33638858ecd55198136b3b81407be7b3aeac92", "messageHeadline": "Update cirrus to type check the other files", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 16, "deletions": 4}}, {"node": {"oid": "d276f8e1c8428a4f65ac50edbd17ba387c5cc5ca", "messageHeadline": "Type check hwilib/devices/ledger.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 21, "deletions": 17}}, {"node": {"oid": "237b2f5897a5c60b198028c0beb96deaad38b006", "messageHeadline": "Type check hwilib/devices/keepkey.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 25, "deletions": 20}}, {"node": {"oid": "d63d45642608ab1913e929e25b8046e007c47529", "messageHeadline": "Type check hwilib/devices/trezor.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 44, "deletions": 24}}, {"node": {"oid": "c8a72e8229dbcc8040f37a3b0f605a0e74aa5153", "messageHeadline": "Type check hwilib/devices/digitalbitbox.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 66, "deletions": 54}}, {"node": {"oid": "83b853592f776611fe7642203e88c59fd684eef6", "messageHeadline": "Type check hwilib/devices/coldcard.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 21, "deletions": 9}}, {"node": {"oid": "f0b20b48b56390cdc17f8ac99778363d652c82fe", "messageHeadline": "Type check hwilib/bech32.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 21, "deletions": 11}}, {"node": {"oid": "cafdd85ba92cbe463e5a000727cae1ec85dd4b02", "messageHeadline": "Type check hwilib/cli.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 29, "deletions": 18}}, {"node": {"oid": "3d1618da3fe585b717e9144f949a23bad21720a4", "messageHeadline": "Type check hwilib/commands.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 71, "deletions": 18}}, {"node": {"oid": "21b4cbc62e1a13a681b1d61186f24866f2edec71", "messageHeadline": "Raise Exceptions instead of returning error dicts", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 23}}, {"node": {"oid": "1ef8abddb0ffd68c1c9aabd3c5b3c5153c205d21", "messageHeadline": "Type check hwilib/udevinstaller.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 10}}, {"node": {"oid": "db206d52573677f857042aca87d1dd2325493004", "messageHeadline": "Add mypy options to mypy.ini", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 14, "deletions": 3}}, {"node": {"oid": "4caa682e63fdec45a6a63828848f29f150026a1b", "messageHeadline": "Merge #449: Change HardwareWalletClient functions to return objects i\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 283, "deletions": 345}}, {"node": {"oid": "b542472a4508f530586d6c0b998c85782caea063", "messageHeadline": "Change UDevInstaller.install to return bool", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 7}}, {"node": {"oid": "2d25b0e018f1f06f16af23bd66cc75950a789e88", "messageHeadline": "Change toggle_passphrase to return bool", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 15, "deletions": 21}}, {"node": {"oid": "1dbec4adaf5a465f0b19119f63767cf86c77eb8f", "messageHeadline": "Change send_pin to return bool", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 15, "deletions": 21}}, {"node": {"oid": "aba9cdeb6200fd86c420609d52ad12e00aa2ab8f", "messageHeadline": "Change prompt_pin to return bool", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 14, "deletions": 20}}, {"node": {"oid": "2d46ebb77eb0822a9c9f06204192a1b48a1290e3", "messageHeadline": "Change backup_device to return bool", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 19, "deletions": 25}}, {"node": {"oid": "8bdee2cd9e9365ea5b24ff379386f35ff3329f3f", "messageHeadline": "Change restore_device to return bool", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 16, "deletions": 22}}, {"node": {"oid": "96a38df9050822c6dc00c0682e52d7693dd5c842", "messageHeadline": "Change setup_device to return bool", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 20, "deletions": 26}}, {"node": {"oid": "c794ca9f7bddf2d84012a725f2921b9a2efbb85f", "messageHeadline": "Change wipe_device to return bool", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 25}}, {"node": {"oid": "5d0a42d30e7af1a1971768d4fecc6061551d018d", "messageHeadline": "Change sign_message to return signature string", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 20, "deletions": 20}}, {"node": {"oid": "1aefc2e7e77e977c3de3448c56d6bf2b75d29580", "messageHeadline": "Change sign_tx to return PSBT", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 25, "deletions": 27}}, {"node": {"oid": "74dc2d35531be0d90735d458bfce756efc7b72d9", "messageHeadline": "Change get_pubkey_at_path to return ExtendedKey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 70, "deletions": 97}}, {"node": {"oid": "31bf2e91007994973199a53f59f336816d1006f2", "messageHeadline": "Change display_*_address to return address string", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 38, "deletions": 32}}, {"node": {"oid": "969e5fd740041fb210961d4f18368c5949c4a851", "messageHeadline": "test: Verify signed messages and test for short R", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 19, "deletions": 5}}, {"node": {"oid": "0265266fc9832d99643c0ee71704de445f36e613", "messageHeadline": "ledger: Ensure message signature length is correct", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 9}}, {"node": {"oid": "ed4ce64a7d2a434438cb55d75845c9d773c1c601", "messageHeadline": "Merge #453: Replace is_testnet by chain where possible (except key.py)", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 51, "deletions": 24}}, {"node": {"oid": "3e737644213657fd716fa9bcca495610654a346d", "messageHeadline": "Introduce Chain enum; replace is_testnet by Chain where possible (exc\u2026", "author": {"name": "Pavol Rusnak", "email": "pavol@rusnak.io", "user": {"login": "prusnak"}}, "additions": 51, "deletions": 24}}, {"node": {"oid": "7a69b35b22895cf932227b91ea519804a9386131", "messageHeadline": "Merge #454: bitbox02: implement display_multisig_address", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 39, "deletions": 5}}, {"node": {"oid": "2c11eac3f8b8bccdcb0b1a87c699b7a9379b38f9", "messageHeadline": "Merge #444: Update local trezorlib", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3673, "deletions": 1610}}, {"node": {"oid": "e710e4080ee7a5dec7791d6ffcbf0af35cc7b5d8", "messageHeadline": "bitbox02: implement display_multisig_address", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 39, "deletions": 5}}, {"node": {"oid": "ec44f1ec506dab40ce60a6a173c8a9168c6484ad", "messageHeadline": "Mention commits for trezorlib mods in readme", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "d2ce78327d3f2ed43c3f40f9263bc5586b243e1d", "messageHeadline": "Update keepkey and trezor impls to work with trezorlib mod", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 165, "deletions": 40}}, {"node": {"oid": "0de1b627b3e4a7b6d9c85e3b49eea5c2d5b28541", "messageHeadline": "Changes to allow trezorlib to talk to keepkey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 14, "deletions": 10}}, {"node": {"oid": "a46e953144b33aefa4ffd9aaeda2af0185a6f784", "messageHeadline": "Update trezor and keepkey implementations for updated trezorlib", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 150, "deletions": 47}}, {"node": {"oid": "df6e0a9c10a639bd2ded94cf25020d05ac945d75", "messageHeadline": "Change trezorlib messages import to messages from proto", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 36, "deletions": 35}}, {"node": {"oid": "4f480e49ffb772b585aba96ba310687cb8f2f91d", "messageHeadline": "Modifications to trezorlib to work with our usage", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 7}}, {"node": {"oid": "36f3e4a962103de469dcb4ca201c02bc9541d1f5", "messageHeadline": "Update the rest of trezorlib", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3319, "deletions": 1492}}, {"node": {"oid": "83bc0ebf634dc56a38ec78ba735efabc57303d22", "messageHeadline": "Merge #452: Introduce --chain command line argument (replacing --test\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 23, "deletions": 17}}, {"node": {"oid": "ea1fa47814332d8e877d63eeebc6dcd9dde1b1a1", "messageHeadline": "Merge #443: BitBox02 multisig signing", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 198, "deletions": 43}}, {"node": {"oid": "a7d14ba40611749685901581ac9feddb8e2f8ecd", "messageHeadline": "Remove client.is_testnet usage in getdescriptor", "author": {"name": "Pavol Rusnak", "email": "pavol@rusnak.io", "user": {"login": "prusnak"}}, "additions": 6, "deletions": 8}}, {"node": {"oid": "be2f95a9e2eddb67125fb19baa396bce14aa698c", "messageHeadline": "Introduce --chain command line argument (replacing --testnet)", "author": {"name": "Pavol Rusnak", "email": "pavol@rusnak.io", "user": {"login": "prusnak"}}, "additions": 17, "deletions": 9}}, {"node": {"oid": "1eaf3904e7a9dc4f356ab2db2c56679c98051cd7", "messageHeadline": "Merge #445: gui: Use address type in getkeypool and displayaddress", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 9}}, {"node": {"oid": "55ae05ae5d3a72673d98f4cd5b5ffd6ab8ac283f", "messageHeadline": "bitbox02: update docs", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 8, "deletions": 7}}, {"node": {"oid": "f530a5fa10e9a7e4734dde62c4b350c1bb30e590", "messageHeadline": "bitbox02: implement multisig signing", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 114, "deletions": 8}}, {"node": {"oid": "10b8b0d1549466c08b0abe72c58bc7830d68edc8", "messageHeadline": "bitbox02: restructure signing code", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 50, "deletions": 31}}, {"node": {"oid": "1835d3c54a3d4654398314c2de99922e40f08832", "messageHeadline": "serializations: add parse_multisig", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 29, "deletions": 0}}, {"node": {"oid": "9065c87aa89b5cddd4a5760e248cfb509e29a8e6", "messageHeadline": "Merge #448: Bump Python patch version to 3.6.12", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 8}}, {"node": {"oid": "98d8108296fd31b43fcba247941053c0142f0e07", "messageHeadline": "Merge #446: ledger: Update local btchip-python", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 33, "deletions": 9}}, {"node": {"oid": "3c63dd2df0289f2a39664671c3c6183c759a7b26", "messageHeadline": "Merge #437: PSBT: also parse and serialize PSBT_GLOBAL_XPUB", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 15, "deletions": 7}}, {"node": {"oid": "d3d9fc93418533afe92984e94264a4f6140f011c", "messageHeadline": "test/data/test_psbt: add tests for PSBT_GLOBAL_XPUB", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 4, "deletions": 2}}, {"node": {"oid": "59b4edf917a7ce79f219992d3b299ac0c84f14a1", "messageHeadline": "PSBT: also parse and serialize PSBT_GLOBAL_XPUB", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 11, "deletions": 5}}, {"node": {"oid": "c8fd9fecaf3a25e71b355d567019e7705f7b6102", "messageHeadline": "Bump Python patch version to 3.6.12", "author": {"name": "Sjors Provoost", "email": "sjors@sprovoost.nl", "user": {"login": "Sjors"}}, "additions": 9, "deletions": 8}}, {"node": {"oid": "d2b3afec3a33c3dd2f3e8a7c47b7d1be4e51285e", "messageHeadline": "Merge #428: Ledger: fix change path check", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "aa837144bb06357ddb09b2d2000f7bfd8f1126f7", "messageHeadline": "Ledger: fix change path check", "author": {"name": "Sjors Provoost", "email": "sjors@sprovoost.nl", "user": {"login": "Sjors"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "3e771958cc811caf22b1f1c4c77008764a09a534", "messageHeadline": "Update btchip readme", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 1}}, {"node": {"oid": "c141b6effa78fb7a3ed52acbe17314078fe93c86", "messageHeadline": "Modify btchip for our usage", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 360}}, {"node": {"oid": "3b76baf49da4a7abda36600853836412e6193c82", "messageHeadline": "Update btchip to latest from btchip-python", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 390, "deletions": 11}}, {"node": {"oid": "ef66c4f34742209f9d345d8a28c62892b53ab82f", "messageHeadline": "gui: Use address type in getkeypool and displayaddress", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 9}}, {"node": {"oid": "c8a8f9edf38e891adf7cd19338e24b36504233ca", "messageHeadline": "Merge #423: Refactor client.display_address into single sig and multi\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 383, "deletions": 156}}, {"node": {"oid": "7650a57a1ab057cfcd1b2cc2b878376ce8844929", "messageHeadline": "Refactor display_address into singlesig and multisig variants", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 226, "deletions": 150}}, {"node": {"oid": "6a44df076a156616a47865609418fe5ed148a8ae", "messageHeadline": "Merge #435: Add some dockerfile steps for local testing", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 40, "deletions": 0}}, {"node": {"oid": "03f5033548b2599cbad2df14f56f0e447583211d", "messageHeadline": "Add Descriptor.expand to get the scripts for a descriptor", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 138, "deletions": 4}}, {"node": {"oid": "e459d6b24d8b364eaca39e3c6cb1f98eea5d6317", "messageHeadline": "Parse xpubs in descriptors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 19, "deletions": 2}}, {"node": {"oid": "35ec4dec1d49dfe94d1b7c5aa4a1bc892a1cdeee", "messageHeadline": "Add some dockerfile steps for local testing", "author": {"name": "Greg Sanders", "email": "greg.sanders@bitmex.com", "user": null}, "additions": 40, "deletions": 0}}, {"node": {"oid": "de9304516a431b34c0636e9031b1018749f036c3", "messageHeadline": "Merge #436: bitbox02: update to v5.2.0", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "7844bfada6f0e464764db650f3661ce93c6c192e", "messageHeadline": "bitbox02: update to v5.2.0", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "1cb2a892948d39726e7cc2a514f5c034d96e3b49", "messageHeadline": "Merge #433: trezor: Enable processing of OP_RETURN outputs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 29, "deletions": 11}}, {"node": {"oid": "6403389084e26519e3ac0edea7302654283678db", "messageHeadline": "Move SUPPORTS_* closer together", "author": {"name": "Pavol Rusnak", "email": "pavol@rusnak.io", "user": {"login": "prusnak"}}, "additions": 8, "deletions": 8}}, {"node": {"oid": "22598ce50e6cb16e32f003572965eb51b077519e", "messageHeadline": "test OP_RETURN outputs in psbts", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 14, "deletions": 5}}, {"node": {"oid": "ace486c42b676562ba2d9bc12c6ab041a659ba5d", "messageHeadline": "Merge #432: ci: print out the right files on failure", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "0ba31614cfd584b6dddb6e5bff965cf544ef3099", "messageHeadline": "trezor: Enable processing of OP_RETURN outputs", "author": {"name": "Pavol Rusnak", "email": "pavol@rusnak.io", "user": {"login": "prusnak"}}, "additions": 9, "deletions": 0}}, {"node": {"oid": "9cba0b889cf2a1bf3186c86cacc110671bf76f2e", "messageHeadline": "ci: print out the right files on failure", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "fad8af18388e9ea108a9684b923bbdf7ec470ee3", "messageHeadline": "Merge #417: ledger: Fix KeyOriginInfo is not subscritable error", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 7}}, {"node": {"oid": "65f2e0a1f88ed2c9d132037693bd9c675ddabd77", "messageHeadline": "Merge #431: tests: refactor Trezor model handling", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 24, "deletions": 24}}, {"node": {"oid": "b2eabc6f9d75b3b31b10489e3abfb65a0c0478d8", "messageHeadline": "ledger: Fix KeyOriginInfo is not subscritable error", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 7}}, {"node": {"oid": "267f2af7304354a90899c3cc517abf7fedc8891e", "messageHeadline": "tests: refactor Trezor model handling", "author": {"name": "Pavol Rusnak", "email": "pavol@rusnak.io", "user": {"login": "prusnak"}}, "additions": 24, "deletions": 24}}, {"node": {"oid": "f729dace0fdbefcf19dfb479c2ae9d84948f293d", "messageHeadline": "Merge #430: displayaddress: Trezor One can also show XPUBs for multisig", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "b137f35f7340dd92df42292bf66e2b3476d3f365", "messageHeadline": "Merge #429: Replace references to trezor-mcu repo with trezor-firmwar\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 7}}, {"node": {"oid": "dab29d4276704963a42baf6aacc1f255632a4fd0", "messageHeadline": "displayaddress: Trezor One can also show XPUBs for multisig", "author": {"name": "Pavol Rusnak", "email": "pavol@rusnak.io", "user": {"login": "prusnak"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "c31f4f6084c3aa51b133bf13bb4925c94fb11ad4", "messageHeadline": "Replace references to trezor-mcu repo with trezor-firmware repo", "author": {"name": "Pavol Rusnak", "email": "pavol@rusnak.io", "user": {"login": "prusnak"}}, "additions": 7, "deletions": 7}}, {"node": {"oid": "f83f9815c56948b59ce65986ed3844bc8fae7f06", "messageHeadline": "Merge #415: Replace --sh_wpkh and --wpkh with --addr-type", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 72, "deletions": 58}}, {"node": {"oid": "357b59ff2c77347ea9194a975892fee7b4f64b4d", "messageHeadline": "Change displayaddress to use --addr-type", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 40, "deletions": 36}}, {"node": {"oid": "ab402c9c74b29ce154291d13cbe07773c62d7227", "messageHeadline": "Change getkeypool to use --addr-type for address type", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 24, "deletions": 16}}, {"node": {"oid": "5707be358b42a13a2a3e11881a3a9ecd8ecfa000", "messageHeadline": "Move AddressType to serializations", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 6}}, {"node": {"oid": "b3b9f8818d9a851e9a88368f83de77ce504c522c", "messageHeadline": "Merge #427: Remove hidapi.so strip during build_bin.sh", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 7}}, {"node": {"oid": "d8ab17413f908dc955f5621c26f93871079b2d55", "messageHeadline": "Remove hidapi.so strip during build_bin.sh", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 7}}, {"node": {"oid": "f30e80ab6750d4ef55076cb51a8bed1c0d677bd5", "messageHeadline": "Merge #426: bitbox02: update bitbox02 to 5.1.0", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 4}}, {"node": {"oid": "db85eefe31e7321d00136022e9e7fcf6ea606788", "messageHeadline": "Merge #425: Remove poetry version restriction in build_*.sh", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 4}}, {"node": {"oid": "63c2310795fc46ebaa0398f7f2fd326d2e796a80", "messageHeadline": "bitbox02: update bitbox02 to 5.1.0", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 5, "deletions": 4}}, {"node": {"oid": "8eb801c16dc4552d0fbaab9d3048b91845d2c557", "messageHeadline": "Use python:3.6 docker image for Cirrus", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 1}}, {"node": {"oid": "33f614b445b19e7dc9b1322254470a29427a3b8a", "messageHeadline": "Remove poetry version restriction in build_*.sh", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 3}}, {"node": {"oid": "da9aefa76034f34494717304efe0f22ac6054a0f", "messageHeadline": "Merge #424: Fix trezor T multisig and tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 179, "deletions": 79}}, {"node": {"oid": "d491dffad4706a7eb34ec3642ade5ad05768317a", "messageHeadline": "Patch Coldcard simulator to work with our multisig tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 138, "deletions": 61}}, {"node": {"oid": "973aa3701caaabfa24354dcff9daa9ab94937d9e", "messageHeadline": "tests: Use trezor t purpose 48 path", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 18, "deletions": 10}}, {"node": {"oid": "66f5cf83a1d85b012c3c6456530890a51db7b6c2", "messageHeadline": "trezor: Use an allowed key path for ignored sigs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "cd74be3113ae39c6361a9bb57e9d359b3a050c44", "messageHeadline": "Use multsig deriv paths that Trezor T likes", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "b19a3dd546ea3c4e01f9699f0e3fd37ef1c9878b", "messageHeadline": "Use subtests in signtx", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 3}}, {"node": {"oid": "60b94cd25c0de4130dba84f9aacd2e69a67a1c0c", "messageHeadline": "Use full derivation path for descriptor displayaddress", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "ce2bb9972065da95bfa31b10473013918c31ca61", "messageHeadline": "Add get_full_derivation_path() to PubkeyProvider", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 0}}, {"node": {"oid": "a00128b2fb426cba3f00d5d6aa38f4713267681d", "messageHeadline": "Merge #421: Allow python 3.9, update dependencies, and bump version t\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 172, "deletions": 251}}, {"node": {"oid": "225d10e75ab8fa2f5e95e68b7997c1526f5aee5a", "messageHeadline": "Set version to 2.0.0-dev", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 107}}, {"node": {"oid": "9d395fb73fa8ff0fcbf2fdf7a76fbd78493a6f2d", "messageHeadline": "Allow python 3.9", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 166, "deletions": 144}}, {"node": {"oid": "99b7253d2e9b6d42ccc729a1b5aece58d07dbbf5", "messageHeadline": "Merge #419: Expand CI jobs matrix and switch from Travis to Cirrus", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 778, "deletions": 547}}, {"node": {"oid": "8eb064b28229424b78e8d5447eeca0d6e6dea8d2", "messageHeadline": "Fail setup_environment.sh if any command fails", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "ee6148454d6ef87f4c2de2f08d63c3c2a17bd1ce", "messageHeadline": "Mention setup_environment.sh args in test/README.md", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 1}}, {"node": {"oid": "a550383aa4c2e98e030593c7a734af76d668ec2d", "messageHeadline": "Remove Travis CI configuration", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 131}}, {"node": {"oid": "ebe2f9d115134bd6d4be927174c2f67e68c5abba", "messageHeadline": "Add Cirrus CI configuration", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 243, "deletions": 0}}, {"node": {"oid": "7c24028776cf35a1d1f26f976d29cf7817237688", "messageHeadline": "Use built in Speculos automation instead of patch", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 63, "deletions": 73}}, {"node": {"oid": "6eb454708743e7d5f658d38dd34e70d908004554", "messageHeadline": "Update setup_environment.sh", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 16, "deletions": 16}}, {"node": {"oid": "4b7fafe6e4ebecb9f038924651491f56bd4d9f92", "messageHeadline": "Be able to skip non-device tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 11, "deletions": 8}}, {"node": {"oid": "aa837e96c5d1bc1e2869dc0abaa9c8d26d11ddbf", "messageHeadline": "Remove udev user fail check", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 5}}, {"node": {"oid": "dd33cd9ab58e86695482083ff61585d1d580fe05", "messageHeadline": "Change run_tests.py --bitbox to --bitbox01", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 9}}, {"node": {"oid": "29a680fe358f9dbcdb4f5f6647999d21ea517570", "messageHeadline": "Change run_tests.py --trezor to --trezor-1", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 9}}, {"node": {"oid": "3f006984e05570554a4f5fc307d5851e7f21261c", "messageHeadline": "Add mypy as a dev dependency", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 189, "deletions": 117}}, {"node": {"oid": "24d2bd9187b3be4f54665aa1718a7434d80a88fb", "messageHeadline": "Install python dependencies for some simulators during setup", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "66f0d3ef2000d4171b7373320541d77e759a663d", "messageHeadline": "Have setup_environment.sh check env vars before build", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 248, "deletions": 196}}, {"node": {"oid": "7e671b778011377ccc50aa69314050f5c03b8754", "messageHeadline": "Merge #408: Pastable udev Shell script", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 7}}, {"node": {"oid": "95595933ee1dd7086ebc5b2b2bb8d109986c725e", "messageHeadline": "Merge #412: Reimplement descriptors in a way similar to Bitcoin Core", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 396, "deletions": 311}}, {"node": {"oid": "3efd6967c5a01a05ca1ebcb4f18f489865dc510a", "messageHeadline": "Typecheck descriptor.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "eed2fb098c5144ea00e9dad45df25f89e2a5c6b0", "messageHeadline": "Re-implement Descriptor similar to how Core does it", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 380, "deletions": 310}}, {"node": {"oid": "cdbdb23520a4d8190c1b7f3de8094453ebf4c5cb", "messageHeadline": "Add KeyOriginInfo.from_string", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 15, "deletions": 0}}, {"node": {"oid": "03d9caa65dfa2b1c38c1a69d0de958a1954206f7", "messageHeadline": "Merge #376: Derive child keys from an ExtendedKey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 524, "deletions": 35}}, {"node": {"oid": "7edbdb95fdaee71093c87fda2cdec56eb6dfd053", "messageHeadline": "Add test for ExtendedKey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 389, "deletions": 0}}, {"node": {"oid": "07485ebabf17e1f5a3d7f9665ea4647731d992a3", "messageHeadline": "Add serialize and to_string methods to ExtendedKey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 15, "deletions": 0}}, {"node": {"oid": "b4730c3c67394ccf8936113e1259ecb3d18faedc", "messageHeadline": "Always output pubkey in ExtendedKey printable dict", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 2}}, {"node": {"oid": "d3941a0b4db4c2f8c1d4426ed86c75aad5e031ea", "messageHeadline": "Implement pubkey derivation in ExtendedKey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 31, "deletions": 0}}, {"node": {"oid": "42106a74ac06f3457f97f207b28e947030283a7a", "messageHeadline": "Compute the pubkey for a privkey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 4}}, {"node": {"oid": "94719476f0b951e5a7c58db261fc8736a432db4b", "messageHeadline": "Add ECDSA point things", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 52, "deletions": 0}}, {"node": {"oid": "539283e6e567b76787abb2cfcac5d3e7a801c04c", "messageHeadline": "Change ExtendedKey.deserialize a classmethod that creates ExtendedKey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 32, "deletions": 36}}, {"node": {"oid": "9a6b1f3c7955015c449e6bcce94df8bcd6afe7ed", "messageHeadline": "Add is_hardened helper", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 1}}, {"node": {"oid": "98967d1c65571a0595d15738522e2f2e169484df", "messageHeadline": "Pastable udev Shell script", "author": {"name": "D\u00e1vid Moln\u00e1r", "email": "molnardavid84@gmail.com", "user": {"login": "molnard"}}, "additions": 8, "deletions": 7}}, {"node": {"oid": "1b1596ac6f4fb1ce47a0d1ca7feb1fc553d08e09", "messageHeadline": "Merge #404: bitbox02: unlock during enumerate()", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 40, "deletions": 26}}, {"node": {"oid": "13087e9a5aa0514f7e6f03f04dc682d7f2614140", "messageHeadline": "Merge #399: bitbox02: fix enumerate regression", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "dc020faa38a5b0d22447bce9dfa9d973c26002ca", "messageHeadline": "Merge #403: Upgrade USB enumeration logic for Ledger products", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 8}}, {"node": {"oid": "1080756258477b15c4e61025635e5b7b2dc947d4", "messageHeadline": "Add back support for Ledger legacy USB product IDs", "author": {"name": "TamtamHero", "email": "10632523+TamtamHero@users.noreply.github.com", "user": {"login": "TamtamHero"}}, "additions": 9, "deletions": 2}}, {"node": {"oid": "a7407e268b817515fd78b1c2225753538410070a", "messageHeadline": "Upgrade USB enumeration logic for Ledger products", "author": {"name": "TamtamHero", "email": "10632523+TamtamHero@users.noreply.github.com", "user": {"login": "TamtamHero"}}, "additions": 10, "deletions": 8}}, {"node": {"oid": "e1cc1937179a7fdb8e9807a0ef9e6f9b8ece8df0", "messageHeadline": "bitbox02: unlock during enumerate()", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 40, "deletions": 26}}, {"node": {"oid": "b8cf8578836cf92918c619f6f763c69697926810", "messageHeadline": "bitbox02: fix enumerate regression", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "15beb30c91c6ba984116b1fb275069c0ccc15bdc", "messageHeadline": "Merge #374: Add KeyOriginInfo class to handle derivation paths", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 221, "deletions": 146}}, {"node": {"oid": "62a8595e79ed72083793257654b6cd1c04ef4d7e", "messageHeadline": "Merge #393: tests: Make a wallet for coin supply and other travis fixes", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 11, "deletions": 9}}, {"node": {"oid": "d6e382a7cc1b95ec66a50096a42a980256f1b04b", "messageHeadline": "Lock in to poetry 1.0.10 because it isn't broken", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "191d840b7f4be1826aa94c5c10d7068942d327b9", "messageHeadline": "Trezor uses poetry now", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "a823e0445e6f1dfb9cd7a010e1d733b7d5917c05", "messageHeadline": "Create a supply wallet", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 2}}, {"node": {"oid": "e93dc5cece6dc3aeb7ed059252e30f9702209677", "messageHeadline": "Merge #385: Update coldcard library", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 168, "deletions": 36}}, {"node": {"oid": "8f28202ef4777e3dc10e766c2cfcec12510cb092", "messageHeadline": "Merge #390: Allow passing None to BitBox2 passphrase", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "6a6c46f6834b4dac5e67d0c92a9ef791619e9dce", "messageHeadline": "Allow passing None to BitBox2 passphrase", "author": {"name": "benk10", "email": "ben.kaufman10@gmail.com", "user": {"login": "ben-kaufman"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "5b712ee12a867698c91fdbb8728314a75b6758ea", "messageHeadline": "HWI patches for ckcc", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 1}}, {"node": {"oid": "9e633fa5c477ff1b428a6a28048c47cb00bc525c", "messageHeadline": "Update ckcc vendor library", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 145, "deletions": 36}}, {"node": {"oid": "c85879e505e060f38c8e9568717aa253c666eae2", "messageHeadline": "Move str_to_int_path to coldcard", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 24, "deletions": 3}}, {"node": {"oid": "5c4bdd681cf4b8c881ff8248370019b8af91cbd8", "messageHeadline": "Merge #377: Update dependencies", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 193, "deletions": 160}}, {"node": {"oid": "3224b2c3aadaf37518a5c89060c6b250fbfe186e", "messageHeadline": "Update pyinstaller to 4.0", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 25, "deletions": 19}}, {"node": {"oid": "acbfd3d35de198e657cb9d6ce165ec0bb0a4a702", "messageHeadline": "Update poetry.lock", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 141, "deletions": 133}}, {"node": {"oid": "eeadbd6a680601cd7ca3d1e5519012fc36049aef", "messageHeadline": "Use less restrictive dependency version specifications", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 28, "deletions": 9}}, {"node": {"oid": "085817746be50079e03ac68b90bc4ac427fc474b", "messageHeadline": "Merge #380: ignored .vscode folder", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "d9291af4c30635bec884605222448b68218cb9a5", "messageHeadline": "Use parse_path instead of trezorlib.tools.parse_path", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 41}}, {"node": {"oid": "28dfc2cf60941f1a5b1878e1442c2fe7bc2f8807", "messageHeadline": "Use KeyOriginInfo in hd_keypaths", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 41, "deletions": 48}}, {"node": {"oid": "a3a7c8f8bfbb4c6254959b42d4fb26bb379764ec", "messageHeadline": "Add parse_path from trezorlib to key.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 41, "deletions": 0}}, {"node": {"oid": "06cba7e9f28c3f32c5ce999c727157ff18352953", "messageHeadline": "Add KeyOriginInfo class", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 53, "deletions": 0}}, {"node": {"oid": "5ed8ab01435f39381e92be7381579d3f7edca2e7", "messageHeadline": "Type check ExtendedKey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 9}}, {"node": {"oid": "7ba2f61c3238664e38fddcb037dcd0e8e8b5c7b2", "messageHeadline": "Move ExtendedKey to key.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 78, "deletions": 57}}, {"node": {"oid": "f83c9660123fc11643b409529ed09a5acbe2eb2f", "messageHeadline": "Merge #383: Fix README features table rendering", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "0683dc246ad8c828ac0b14d99510bdea293f4a66", "messageHeadline": "Fix README features table rendering", "author": {"name": "benk10", "email": "ben.kaufman10@gmail.com", "user": {"login": "ben-kaufman"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "17b8c8bf3ce9fdcdc87a3433a00e4dcbe4cfbccc", "messageHeadline": "Merge #363: add BitBox02 support", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 1120, "deletions": 40}}, {"node": {"oid": "b24f2aaa2debbe90bf102fb96c778733ce81259b", "messageHeadline": "hwilib/gui: make sure the bb02 pairing window is painted", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 11, "deletions": 1}}, {"node": {"oid": "2f56cd383991aa3a92e0893cb93dd2090fd5c3ce", "messageHeadline": "ignored .vscode folder", "author": {"name": "fametrano", "email": "ferdinando@ametrano.net", "user": {"login": "fametrano"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "5010844a2766c504a02e7f13cd02524588bbe627", "messageHeadline": "hwwclient: fix send_pin signature", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "6169788aa7057b725599a6e8264d8d6eaa3a5e10", "messageHeadline": "bitbox02: consistent errs when the device is (not) initialized", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 13, "deletions": 13}}, {"node": {"oid": "d255229639117914582442bf780cb9d4dab4d59b", "messageHeadline": "commands/find_device: only get the device fingerprint if required", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 8, "deletions": 7}}, {"node": {"oid": "4df060d0c6a6ceddecc06713ac96b8d5f5be0e94", "messageHeadline": "bitbox02: use local copy of parse_path", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 36, "deletions": 4}}, {"node": {"oid": "ed1125115fe8feea974b94f914c042b07d4786c9", "messageHeadline": "typecheck bitbox02.py", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 7, "deletions": 1}}, {"node": {"oid": "4e4455d2b28eaa4037e3db64112b803a0fcf0edd", "messageHeadline": "add BitBox02 support", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 861, "deletions": 30}}, {"node": {"oid": "1d0bbb62812787492434a1ad3f478f1f0cac5eba", "messageHeadline": "add bitbox02 dependency", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 202, "deletions": 2}}, {"node": {"oid": "db672d048b2e8793971ee6ea44ef9cc9e66987d9", "messageHeadline": "Merge #373: Avoided bare except", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 16, "deletions": 15}}, {"node": {"oid": "44dabcfa805797bef310471fc566f29ab67bb6d5", "messageHeadline": "Avoided bare expect", "author": {"name": "Ferdinando Ametrano", "email": "ferdinando@ametrano.net", "user": {"login": "fametrano"}}, "additions": 16, "deletions": 15}}, {"node": {"oid": "550161b9377750951384c1bcbf5cab3855f53adf", "messageHeadline": "Merge #378: tests: Descriptor wallets, multisig fixes, and general cl\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 144, "deletions": 251}}, {"node": {"oid": "2c381fa2dc4a9d337f42582faf763e27a3fbd885", "messageHeadline": "tests: Add trezor t back to mixed and external signing tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "2ea932ed7834c45b1e2d275328514affa891fe8e", "messageHeadline": "tests: Use m/48' for multisig tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 10}}, {"node": {"oid": "4791841d63282caf26db542ca9bea231d4d1f550", "messageHeadline": "tests: Use descriptor wallets", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 34, "deletions": 43}}, {"node": {"oid": "22f6d7d62e624e8f96438b1685e9decbf55a0c69", "messageHeadline": "Merge #379: Update docs regarding Trezor T mixed input support", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 2}}, {"node": {"oid": "991a14473da3d17e47aca0ef575b8ceffafe237b", "messageHeadline": "Update docs wrt Trezor T mixed input support", "author": {"name": "Martin Milata", "email": "martin@martinmilata.cz", "user": {"login": "mmilata"}}, "additions": 1, "deletions": 2}}, {"node": {"oid": "c5a64885bc70d7834a163035f133e29ae92ec89e", "messageHeadline": "tests: Refactor multisig signtx to be able to use a separate path", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 26, "deletions": 23}}, {"node": {"oid": "f0cef6ea39baacb060de982ffd65e10a4d31a68c", "messageHeadline": "tests: Combine multisig displayaddress path and descriptor tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 23, "deletions": 34}}, {"node": {"oid": "10f094a0b0fe02280b1450c56febed0fd4778a45", "messageHeadline": "tests: move xpub multisig displayaddress to separate test case", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 16, "deletions": 13}}, {"node": {"oid": "84eacd63e1184486dd72312c695bbb3bd2ddc474", "messageHeadline": "tests: Properly skip multisig displayaddress for unsupported devices", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 6}}, {"node": {"oid": "c6038cbbd9a018f03b0fcde930f3e7790cb05bdd", "messageHeadline": "tests: Use a unique wallet name for each test case", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "e8316657a57aa6d5d4dade5a13493d46041402b7", "messageHeadline": "test: Remove wallet setup from displayaddress tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 4}}, {"node": {"oid": "b9931556b17ede3b6cae582c7fa4acc633a417a6", "messageHeadline": "tests: Refactor multisig setup in multisig displayaddress", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 56, "deletions": 133}}, {"node": {"oid": "66182f0ca7a74ee0e268b06a0915b608fb353ad4", "messageHeadline": "tests: Refactor wallet creation to parent class function", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 12}}, {"node": {"oid": "4498c3f347f129213c3c1c0f035dddb04764f079", "messageHeadline": "tests: Use parent class setUp and don't re-set self.rpc", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 10}}, {"node": {"oid": "79f74a78fcd0a8d182e8f80e5b5f00b338d16155", "messageHeadline": "tests: refactor --testnet in self.dev_args to __init__", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 9}}, {"node": {"oid": "8751d1c725a293c6b94fbe1781656ec3db99604a", "messageHeadline": "Merge #372: Cleaned up log messages", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 5}}, {"node": {"oid": "5e296ca4dca8fbf3f126ecbff507ff926808f13a", "messageHeadline": "Cleaned up log messages", "author": {"name": "Ferdinando M. Ametrano", "email": "fametrano@users.noreply.github.com", "user": {"login": "fametrano"}}, "additions": 8, "deletions": 5}}, {"node": {"oid": "f7776fcfb386746041108d36807505ad178e2e81", "messageHeadline": "Merge #371: added gitignore directives for virtual environments", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 0}}, {"node": {"oid": "3adaa3c4836dd90b13ad24b7e292eca1d50c2c41", "messageHeadline": "Merge #369: added py.typed so that static type checkers use type hint\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "7a896e792be4bf33a1511dfc8ba03352f08c5bcb", "messageHeadline": "added gitignore directives for virtual environments", "author": {"name": "Ferdinando M. Ametrano", "email": "fametrano@users.noreply.github.com", "user": {"login": "fametrano"}}, "additions": 9, "deletions": 0}}, {"node": {"oid": "287bce98942483de0889cb152d714a39713e5e44", "messageHeadline": "added py.typed so that static type checkers use package stubs (PEP 561)", "author": {"name": "Ferdinando Ametrano", "email": "ferdinando@ametrano.net", "user": {"login": "fametrano"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "914ad3ea66c7f846f070d8b52cf77d322bc06536", "messageHeadline": "Merge #353: Support multisig xpub descriptors on Trezor", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 56, "deletions": 9}}, {"node": {"oid": "78a8801f949cb8cb12b351f81942daaf86a0a737", "messageHeadline": "Support multisig xpub descriptors", "author": {"name": "benk10", "email": "ben.kaufman10@gmail.com", "user": {"login": "ben-kaufman"}}, "additions": 56, "deletions": 9}}, {"node": {"oid": "2fd8012be02c2fc112060ef52719c8ddf98b49b9", "messageHeadline": "Merge #367: avoided 'unused variables' namespace pollution", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 15, "deletions": 15}}, {"node": {"oid": "42ad6f8b95fdd58fb77a11c84228c254b06b5ebd", "messageHeadline": "Merge #366: extended sign_message to also sign bytes, not only string", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 42, "deletions": 22}}, {"node": {"oid": "85958afcc6f3fd17a3113378a1d2b2f6689e2d0a", "messageHeadline": "Merge #368: Add disclaimer to README about (lack of) endorsement", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "3016d4a8616b042bae82bca64c2253ea2d128a19", "messageHeadline": "Add disclaimer to README about (lack of) endorsement", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "85e57232893a72d153b08574cb4c152bb98dda22", "messageHeadline": "removed unused variables in the devices folder codebase", "author": {"name": "Ferdinando Ametrano", "email": "ferdinando@ametrano.net", "user": {"login": "fametrano"}}, "additions": 7, "deletions": 7}}, {"node": {"oid": "56f38aae8d3bed57005eb38f93c5e0b3a02c6442", "messageHeadline": "avoided 'unused variables' namespace pollution", "author": {"name": "Ferdinando Ametrano", "email": "ferdinando@ametrano.net", "user": {"login": "fametrano"}}, "additions": 8, "deletions": 8}}, {"node": {"oid": "d16bdf794f7090a5c7015c1e3b3398440df8a440", "messageHeadline": "extended sign_message to also sign bytes, not only string", "author": {"name": "Ferdinando Ametrano", "email": "ferdinando@ametrano.net", "user": {"login": "fametrano"}}, "additions": 42, "deletions": 22}}, {"node": {"oid": "c663a21ec8ca26f5336011cd75072073cef55733", "messageHeadline": "Merge #354: Update Ledger udev rules", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 9}}, {"node": {"oid": "488e9f2876f65182e834d5ce206d2d68a51b9c22", "messageHeadline": "Merge #365: Fix descriptor fingerprint parsing when no derivation used", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 15, "deletions": 0}}, {"node": {"oid": "67a9d7a322f35b3685ed48bede3c8990da116460", "messageHeadline": "Fix descriptor fingerprint parsing when no derivation used", "author": {"name": "benk10", "email": "ben.kaufman10@gmail.com", "user": {"login": "ben-kaufman"}}, "additions": 15, "deletions": 0}}, {"node": {"oid": "4be273bf45e76f558b67c7861635fbf9f844091e", "messageHeadline": "Merge #361: add is_witness check before is_p2sh for non-witness utxos", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "a78f8d68f61b0ab23e616b03765129656744b54e", "messageHeadline": "add not is_wit check to trezor", "author": {"name": "Kevin Mulcrone", "email": "kaybesee@gmail.com", "user": {"login": "KayBeSee"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "42b1b5c482baf65736f8bd887162f03dd5fa276a", "messageHeadline": "Merge #359: Typing", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 196, "deletions": 160}}, {"node": {"oid": "6ad1f8924fa0cb734902747ff755c2cfcd90af0b", "messageHeadline": "fix CI issues", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "2580b66de5f2c7cbe4a88c3af89e747a364f8289", "messageHeadline": "hwilib: add more type annotations", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 187, "deletions": 144}}, {"node": {"oid": "c2d04d64713c1ea375f44f54bd159ab4163cce69", "messageHeadline": "serializations: remove unused arg", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 2, "deletions": 8}}, {"node": {"oid": "678fa5cbcfd25d30c8a4b9e0ac5ef10ec6090245", "messageHeadline": "serialization: remove unneeded hex->unhex", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 3, "deletions": 6}}, {"node": {"oid": "c72cb4fdb469b6f55337772dbc76dd7663e05882", "messageHeadline": "psbt: prevout hash check always failed", "author": {"name": "Marko Bencun", "email": "mbencun+pgp@gmail.com", "user": {"login": "benma"}}, "additions": 4, "deletions": 2}}, {"node": {"oid": "dfb31170535c18cba059c942c5d613b9ca2d0886", "messageHeadline": "Update Ledger udev rules", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 9}}, {"node": {"oid": "43b0e8ecb59c97cf5eb84301dca901af18895987", "messageHeadline": "Merge #352: Remove psbt segwit fixes patch to bitcoind", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 371}}, {"node": {"oid": "b7f3fa67c4264aeef1e985f01631dcff4f5a23c6", "messageHeadline": "Remove psbt segwit fixes patch to bitcoind", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 371}}, {"node": {"oid": "bf7f5757a905649865527fc514ed166af40e2301", "messageHeadline": "Merge #351: Fix Ledger Bitcoin App 1.4.0 multple segwit input signing", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 38, "deletions": 38}}, {"node": {"oid": "5fc00fd6e971945478abfa88369422ce95e989e2", "messageHeadline": "Merge #348: annotated", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 168, "deletions": 69}}, {"node": {"oid": "d0de7b13266bc1ac36bc47ae5f49b55efd4fc177", "messageHeadline": "Update bitcoind patch", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 26, "deletions": 26}}, {"node": {"oid": "55f9c7f61d84a5f785470c067823367e1c01ae49", "messageHeadline": "Update speculos patch", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 7}}, {"node": {"oid": "bd60b745be3499026955f46919cf361904f457dc", "messageHeadline": "Update btchip library", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 5}}, {"node": {"oid": "465f4fd8ed1800cb42197cdff1058af00511ad83", "messageHeadline": "annotated code", "author": {"name": "Ferdinando Ametrano", "email": "ferdinando@ametrano.net", "user": {"login": "fametrano"}}, "additions": 168, "deletions": 69}}, {"node": {"oid": "4c08a59fbdaded356b75e21dddc3bf40acf28cc6", "messageHeadline": "release: Bump to 1.1.2", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "5cd4cce9f0143c61511439daa07e90a6f4a99f4f", "messageHeadline": "release: Bump to 1.1.2-rc.2", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "94745d9deab15f4b75bb10bc545e472b147ca007", "messageHeadline": "release: Bump to 1.1.2-rc.1", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "2b8102e06a094bc150bcbd4b233819f350e44c9e", "messageHeadline": "Merge #324: Multisig display address", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 406, "deletions": 51}}, {"node": {"oid": "7ba5819adba05f5c3349ab95e13a540ad3824951", "messageHeadline": "Merge #346: Update Coldcard simulator patches", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 58, "deletions": 119}}, {"node": {"oid": "967138c2db19d6f82368661f7d5dbba5d00c0b0f", "messageHeadline": "Add test for multisig `displayaddress`", "author": {"name": "benk10", "email": "ben.kaufman10@gmail.com", "user": {"login": "ben-kaufman"}}, "additions": 152, "deletions": 0}}, {"node": {"oid": "a25baf858d4b4ecff0d0baa3fd59e0951d9690ef", "messageHeadline": "Support multisig descriptors in `displayaddress`", "author": {"name": "benk10", "email": "ben.kaufman10@gmail.com", "user": {"login": "ben-kaufman"}}, "additions": 105, "deletions": 25}}, {"node": {"oid": "59f8c1d56aca2210b448b62b20d5cdc4d174b995", "messageHeadline": "Support multisig `displayaddress` (ColdCard)", "author": {"name": "benk10", "email": "ben.kaufman10@gmail.com", "user": {"login": "ben-kaufman"}}, "additions": 89, "deletions": 8}}, {"node": {"oid": "5083bf4e6bbddc1525a482a824849fcf6297c566", "messageHeadline": "Support multisig `displayaddress` (Trezor)", "author": {"name": "benk10", "email": "ben.kaufman10@gmail.com", "user": {"login": "ben-kaufman"}}, "additions": 60, "deletions": 18}}, {"node": {"oid": "da9e2e0435fce2ca10c9da0eee8b5088157563e3", "messageHeadline": "tests: update bitcoind segwit fixes patch", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 47, "deletions": 108}}, {"node": {"oid": "5862228b18daae7082a552d9504fd835a301d256", "messageHeadline": "Update Coldcard simulator patches", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 11, "deletions": 11}}, {"node": {"oid": "4d5abc7f9879aa4a0827a48f57e107335be6acb0", "messageHeadline": "Merge #323: Toggle Passphrase GUI", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 35, "deletions": 6}}, {"node": {"oid": "2ce8734a5ebdab84efcaef61ce6a10af43ddc10b", "messageHeadline": "Merge #340: Updates for new Trezor and Ledger firmware", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 798, "deletions": 195}}, {"node": {"oid": "1613a33d65d3fff42c49265c1688423708650da7", "messageHeadline": "trezorlib: Raise a more specific error when a prevtx is not provided", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 0}}, {"node": {"oid": "f6d5c5bfc12b86093e3285420746f27daf518058", "messageHeadline": "Merge #342: travis: Remove macOS binary upload", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 3}}, {"node": {"oid": "427e5d446cddc81da227d754ec4defb7636f6c69", "messageHeadline": "travis: Remove macOS binary upload", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 3}}, {"node": {"oid": "45dbd083ad039f3ca9dbe5a1347d2299301cc0e3", "messageHeadline": "ledger: For app v1.4.0+, do getTrustedInput on segwit inputs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 1}}, {"node": {"oid": "fe0f82a143ebc7d934f025b48225a32a8b987be1", "messageHeadline": "btchip: Give the major, minor, and patch versions separately", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 0}}, {"node": {"oid": "ce5e09574805f3a40b1492977c860b11b0df912d", "messageHeadline": "btchip: prefer trustedInput over witness", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "9800899e6cae52b86505a9963b88fc635fabae57", "messageHeadline": "ledger: Determine segwit based on scripts and allow both UTXOs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 37, "deletions": 41}}, {"node": {"oid": "c08507737ec6b634ddcc4cb77a896b765ef81bee", "messageHeadline": "tests: increase signtx keypool", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "a47f7e583e61519e76b3857b9ac51e5f52efa74c", "messageHeadline": "trezor: Determine segwit based on scripts instead of provided info", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 41, "deletions": 16}}, {"node": {"oid": "662eab0c4bfd4e181ce5f1a1465e61277cc108e3", "messageHeadline": "bitbox: Update to inspect scriptcode for signature type", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 42, "deletions": 29}}, {"node": {"oid": "249825d4d5176fc420426b4874b6bf8d38edefc5", "messageHeadline": "Make imports multiline", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 155, "deletions": 26}}, {"node": {"oid": "9f8e03c85b29a69d4b676047da0f0559f1222cc0", "messageHeadline": "trezorlib: Update sign_tx from upstream", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 24}}, {"node": {"oid": "a264d844223aeff44985f69f29de90198e389154", "messageHeadline": "test: Do legacy, then segwit, then mixed", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 4}}, {"node": {"oid": "4ba72f36aae1a00d6619c68cf6ea24da88a41fa5", "messageHeadline": "trezor: handle when psbt has both types of UTXOs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 7}}, {"node": {"oid": "2f40d0f2f90557204c7d4a4de4e702e6290ca88b", "messageHeadline": "trezor: Use standard derivation paths", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "f862135519f259b72436068f5997d025fb847a15", "messageHeadline": "trezor: Set coin name as testnet when --testnet", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 15, "deletions": 10}}, {"node": {"oid": "d662fad5b7803606dc05ad15269c65e3890d41ac", "messageHeadline": "serializations: Refactor script type matching into separate functions", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 40, "deletions": 13}}, {"node": {"oid": "3b6131c84ae8f9d3a9a71170130e8baef25293bb", "messageHeadline": "test: Patch bitcoind to give out PSBTs with both UTXOs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 432, "deletions": 0}}, {"node": {"oid": "65c6de6b8a625eb272d1c0802473095093164821", "messageHeadline": "psbt: Allow PSBTs to have both non_witness_utxo and witness_utxo", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 23}}, {"node": {"oid": "25e6d075247b168f9cc6b3ddfa6ab071837554d9", "messageHeadline": "release: bump to version 1.1.1 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "aaf40562e7df512ae3b8542c49e644943d6c5054", "messageHeadline": "release: bump to version 1.1.1-rc.1 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "2c4d8b3440ddf5e92cefbbd5cd8e67018bfa1b57", "messageHeadline": "Merge #332: Mark pyside2 as optional and update dependencies", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 274, "deletions": 74}}, {"node": {"oid": "3d43984fe8a7613776b3c1e097b9809a34db1289", "messageHeadline": "Use set -ex in all bash scripts", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 2}}, {"node": {"oid": "edcee233c6b26b23331aaea3b719d75d585cae3d", "messageHeadline": "fix generate-ui.sh for GNU sed", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "7e65e2f6449593d664406dcd4e61a2a112bc4ef3", "messageHeadline": "Use qt extra when generating releases", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "619b4122a4ff9d5253c1bbcdd88cf6857afac1fa", "messageHeadline": "Update setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 87, "deletions": 2}}, {"node": {"oid": "f8b40cdcd08fa9207a115462de3c1d8ee36a4d6a", "messageHeadline": "Add qt extra to make pyside2 optional", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 4}}, {"node": {"oid": "7bfcff7b776bbaa46c40757af7f15789919c863b", "messageHeadline": "Update dependencies", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 164, "deletions": 61}}, {"node": {"oid": "b970ba78b26af4056eddd4d032eba8b0ba831fdd", "messageHeadline": "Merge #336: Strip all local symbols to avoid xcode complaint", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "14a7892d8ab776e3163ebaed9d6eb102de1f5c98", "messageHeadline": "Strip all local symbols to avoid xcode complaint", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "bbd811bf2dd2da8ac59fe3924f582da7e2586945", "messageHeadline": "Merge #333: Rename 'l' variables to silence flake8 E741", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 14, "deletions": 14}}, {"node": {"oid": "fe8883358e845a5a2c0e29623639b798158f317b", "messageHeadline": "Merge #329: serialization: put missing final_scriptwitness length", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 3}}, {"node": {"oid": "3c0eaccd79d57f538fcc7cada2a53aaf6ffbc800", "messageHeadline": "Rename 'l' variables to silence flake8 E741", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 14, "deletions": 14}}, {"node": {"oid": "d85be9eddee463598dbe7eec62988e78fa31047a", "messageHeadline": "serialization: put missing final_scriptwitness length", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 3}}, {"node": {"oid": "0075e7fde2c9bf904035490bdefe2399a6e3bfd8", "messageHeadline": "Add `togglepassphrase` to GUI", "author": {"name": "benk10", "email": "ben.kaufman10@gmail.com", "user": {"login": "ben-kaufman"}}, "additions": 27, "deletions": 5}}, {"node": {"oid": "ff6cdfa8630ce6feba2a203d4304e8b89dc9857b", "messageHeadline": "Fix Keepkey `togglepassphrase`", "author": {"name": "benk10", "email": "ben.kaufman10@gmail.com", "user": {"login": "ben-kaufman"}}, "additions": 8, "deletions": 1}}, {"node": {"oid": "645956a255c35ece570d95d1b8c0ac52e7715224", "messageHeadline": "Merge #322: Fix macOS hwi-qt build", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "57633c6114fdb6075269637531290cdf9b4747f2", "messageHeadline": "Fix macOS hwi-qt build", "author": {"name": "benk10", "email": "ben.kaufman10@gmail.com", "user": {"login": "ben-kaufman"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "2d5cc8fa80f925f06d6796ba0776599f3043299b", "messageHeadline": "release: bump to version 1.1.0 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "ed58f524c1954091d1ae57f3e278003239657fb0", "messageHeadline": "Merge #321: build: import subprocess in hwi-qt.spec", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "f2fe7b82d9af18adba2249f98908a874bdaca42c", "messageHeadline": "build: import subprocess in hwi-qt.spec", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "2c5ad6310b5ebef943188562a36965bc1e2a5d2d", "messageHeadline": "Merge #319: Trezors: Update to work with firmware 2.3 and 1.9", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 79, "deletions": 43}}, {"node": {"oid": "e892505df5ee36146bad981143c18f50b78a47ce", "messageHeadline": "Merge #320: tests: Update speculos patch", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 7}}, {"node": {"oid": "baf9090ce7940c73c3f640d66043436b3f5de648", "messageHeadline": "tests: Update speculos patch", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 7}}, {"node": {"oid": "32989bb03a46b7518f62cb152f34e554ab543a8d", "messageHeadline": "tests, trezor: Go back to using the master branch of trezor-firmware", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "2862be4800c64e57bdf8151decdfc06e96dedbe1", "messageHeadline": "trezor: Update passphrase workflow and messages", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 66, "deletions": 41}}, {"node": {"oid": "c3c6963b0074822ad9da94963f492bb43593cfc9", "messageHeadline": "trezorlib: Initialize needs to be sent if there is no active session", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 0}}, {"node": {"oid": "48498105e9c5fee0270ff305313c83ea2f0da63f", "messageHeadline": "trezor: use GetPublicNode instead of Ping for promptpin", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "3eff0da4519a5587d5c633ada5f12829b778854d", "messageHeadline": "Merge #316: getkeypool: --all option for descriptor wallets", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 56, "deletions": 34}}, {"node": {"oid": "15b213a6dc0e9193fc624973b22a411723cf1974", "messageHeadline": "add test for getkeypool --all", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 11, "deletions": 7}}, {"node": {"oid": "a232005e73342b2fa448cddb7be6c3f87e2338c4", "messageHeadline": "getkeypool: --all option for descriptor wallets", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 45, "deletions": 27}}, {"node": {"oid": "53f0dfeb2bfbc139679f4b223896e9b73c5aac81", "messageHeadline": "Merge #318: Support Trezor and KeepKey toggle passphrase protection", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 70, "deletions": 36}}, {"node": {"oid": "b0b66b40769c2adc612328c153795d0f7fdacee0", "messageHeadline": "Merge #317: Support setting word count for `restore_device`", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 9}}, {"node": {"oid": "c8d9db693b721f0ff85fdd05ee0de80e950f0954", "messageHeadline": "Support Trezor and KeepKey toggle passphrase", "author": {"name": "benk10", "email": "ben.kaufman10@gmail.com", "user": {"login": "ben-kaufman"}}, "additions": 70, "deletions": 36}}, {"node": {"oid": "a705801421b5731f6c17725368040b7f8c4ac9dc", "messageHeadline": "Support setting word count for `restore_device`", "author": {"name": "benk10", "email": "ben.kaufman10@gmail.com", "user": {"login": "ben-kaufman"}}, "additions": 10, "deletions": 9}}, {"node": {"oid": "33ac40643c917701d2477b1d39a654f96e3f36e0", "messageHeadline": "Merge #307: Add get fingerprint function to device class", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 26, "deletions": 38}}, {"node": {"oid": "06b5bf07a46b5a014c7507e41a7a9a9ea1d31d8d", "messageHeadline": "Add get fingerprint function to HardwareWalletClient class", "author": {"name": "TheCharlatan", "email": "seb.kung@gmail.com", "user": {"login": "TheCharlatan"}}, "additions": 26, "deletions": 38}}, {"node": {"oid": "e2a21797759cb532cb5c9852d96af5048022140e", "messageHeadline": "Merge #314: tests: emulator logging and speculos updates", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 69, "deletions": 24}}, {"node": {"oid": "ab86822ea9139c0e8d9a5ede103d1047e47c7b8c", "messageHeadline": "tests, ledger: enable signtx tests for ledger", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 5}}, {"node": {"oid": "124918cff86e2ffb6d05c61bb41d81b5a75b274a", "messageHeadline": "tests: Update the speculos patch", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 8}}, {"node": {"oid": "2ce7a5e0097c4cd53ea4a8f74b439f8fa80b5fc2", "messageHeadline": "tests: Print emulator logs on failure", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "93778ebd2ce904a2f8cf13d5e16dc38f8e6acac0", "messageHeadline": "tests: redirect emulator output to logfiles", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 50, "deletions": 5}}, {"node": {"oid": "0373bf9856ff1788235fecea3e228b87829851bd", "messageHeadline": "tests: exit early if previous device fails", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 6}}, {"node": {"oid": "c03e4d877b527faa60d57c80aa3999e40795d22b", "messageHeadline": "Merge #291: Implement a simple Qt GUI", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1899, "deletions": 12}}, {"node": {"oid": "6094936e69a36570e6d416aafef6a561e69c6558", "messageHeadline": "Merge #313: tests: Add missing self.seen_msg_hash to speculos patch", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 13, "deletions": 5}}, {"node": {"oid": "f719449b4e918bf62865cc5207d81ff68b7c2726", "messageHeadline": "tests: Add missing self.seen_msg_hash to speculos patch", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 13, "deletions": 5}}, {"node": {"oid": "d0f12f53c0348300dede18bdd2fa8d8b05c94ad3", "messageHeadline": "Merge #311: Update firmware build scripts and tests to work with new \u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 156, "deletions": 249}}, {"node": {"oid": "4a8f88e48381b4c2ab341fa1eb931c12f40e3ee6", "messageHeadline": "tests: Non-device tests do not need emulators compiled", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 0}}, {"node": {"oid": "9b31a96f135381d10cc215173e9b6f17ad92035a", "messageHeadline": "tests: Only send kill signal if process isn't already dead", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 6}}, {"node": {"oid": "9ab7373f076fb9e2a18d9b00c26a998e11ce8ca6", "messageHeadline": "tests: Run each device's test suite individually", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 59, "deletions": 31}}, {"node": {"oid": "3f82e60f558343ca95a772698235b60ad4dc4e23", "messageHeadline": "test, trezor: report model T in tests correctly", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "a741211819657eb0352d78dd6cbff49498243394", "messageHeadline": "tests: move setUp and tearDown to DeviceTestCase", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 41}}, {"node": {"oid": "e5808ac2766fbd3119a0cf0b1cb6871a4cafa3ba", "messageHeadline": "tests, ledger: Have speculos do button presses internally", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 66, "deletions": 153}}, {"node": {"oid": "b8ba161df52769a34f9e183b9bc4d0e2945ec60b", "messageHeadline": "tests: use Travis' default xcode version", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 1}}, {"node": {"oid": "4a4bf70fcb6ddb9a9b17e86f58569971151c7b96", "messageHeadline": "tests: Use new speculos cli args", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "cb138623786c52083cd69254dbd518a0de5661e4", "messageHeadline": "tests: checkout Trezor T v2.2.0", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "83b60ad41c816464136f2f3db0f2a1aa352ad743", "messageHeadline": "tests: coldcard simulator use --ms instead of -m", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "cd0720fe0ddb7768e93ac9aaa940e80710fd66aa", "messageHeadline": "tests: Use p2sh-segwit address type for the p2sh-segwit import", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "535505516f77caf6d9154ef0a40d1fbfc6a8b063", "messageHeadline": "update Trezor 1 build script", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "4b1c06f6d0aeb25c0b3c63786bce8fa107f61b0f", "messageHeadline": "Update keepkey build script", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 8}}, {"node": {"oid": "31ccc02aff4636983525ddfa7ed349fe8354eff9", "messageHeadline": "Merge #312: Doc: Readme: mention calling --help after command name", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 0}}, {"node": {"oid": "f24eb9e5ab4b233ecbe2b08d5541a913becb6022", "messageHeadline": "Doc: Readme: mention calling --help after command name", "author": {"name": "David A. Harding", "email": "dave@dtrt.org", "user": {"login": "harding"}}, "additions": 8, "deletions": 0}}, {"node": {"oid": "d4210b897a0d8507cff139d6904a7ff2abb9fccc", "messageHeadline": "Merge #308: Add \"active\" to getkeypool's output to match importdescri\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "e1c1e42232d42d2d81428e0b3507318ec3a53b5e", "messageHeadline": "Add \"active\" to getkeypool's output to match importdescriptors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "65315405dcb3b97cfe0fea4548670bc3103ca286", "messageHeadline": "Merge #293: Add an expert mode and display decoded xpub information", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 180, "deletions": 29}}, {"node": {"oid": "bc0521261c5a7aef1ebc47cae671cd0d6ecfae61", "messageHeadline": "Test --expert getxpub", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 67, "deletions": 0}}, {"node": {"oid": "e2c1456b46ccecd1337415a8ca7a1c3663593904", "messageHeadline": "When export mode, return decoded xpub", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 33, "deletions": 11}}, {"node": {"oid": "2f27388ef25f1126d50a998270baff6adedb9d9f", "messageHeadline": "Add ExtendedKey to deserialize xpubs and xprvs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 61, "deletions": 1}}, {"node": {"oid": "115ea00adda49368802e99feae6a441166d1db0e", "messageHeadline": "Add --expert switch", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 19, "deletions": 17}}, {"node": {"oid": "11719dab9a86230ca3c5f8e17cb27fee0c2152ac", "messageHeadline": "Merge #302: Remove unused arg in find_device", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "412f62ed7aadfdc8918c854eeb46c8be604d77c4", "messageHeadline": "Remove unused arg in find_device", "author": {"name": "TheCharlatan", "email": "seb.kung@gmail.com", "user": {"login": "TheCharlatan"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "0982c1e29e5e13a8acaa4afe47245009b33ad743", "messageHeadline": "Allow passphrase and testnet from command line", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 3}}, {"node": {"oid": "f0d923c2c15c8ee96179d6856285860bd8c3e34b", "messageHeadline": "Change hwi-qt main() to have command line options", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 28, "deletions": 3}}, {"node": {"oid": "cd24c1ab395512ae35c67858e8eb2cd20f073127", "messageHeadline": "Disable things for uninitialized devices", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 1}}, {"node": {"oid": "d060efc3b61a9b237fc9fb9155b09a8f19f8569a", "messageHeadline": "Distribute hwi-qt binaries", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 67, "deletions": 9}}, {"node": {"oid": "51296f4bdd1bc1a27576fb06884c7c40e14e2f4c", "messageHeadline": "Show an error dialog for command errors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 28, "deletions": 17}}, {"node": {"oid": "93e8a5085f8714be8fa556c3252cdb0d89bc5a71", "messageHeadline": "Enable and disable actions depending on whether a device is selected", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 33, "deletions": 0}}, {"node": {"oid": "6c9fd2db1e6338bd89e869dfb86c068667ef777d", "messageHeadline": "Use geteypool_opts for getdescriptors options", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "82125a58ac8fd301d93288d0ffcf3513469e0891", "messageHeadline": "Add GetKeypoolOptionsDialog", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 366, "deletions": 2}}, {"node": {"oid": "7760d8e55bac08671b19d665de0a08b27eb3fb84", "messageHeadline": "Add DisplayAddressDialog", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 231, "deletions": 1}}, {"node": {"oid": "53048e6e6325c1ad4e13b09e86ada84293d9d7fa", "messageHeadline": "Add SignMessageDialog", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 188, "deletions": 1}}, {"node": {"oid": "eea7517bdb2db5bf13b0401066cc283e7fa48b31", "messageHeadline": "Add SignPSBTDialog", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 169, "deletions": 1}}, {"node": {"oid": "779eced176a7ef6573a8d5618d9c5683f5c1e9c5", "messageHeadline": "Add GetXpubDialog", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 145, "deletions": 2}}, {"node": {"oid": "3d530cad2d2b1d9e51c7ba20ee55fdb30271bc7e", "messageHeadline": "Implement SendPinDialog and sendpin_button", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 231, "deletions": 9}}, {"node": {"oid": "5bced4f96fd13143b15a0038bead5d67c22bd8ea", "messageHeadline": "Change sendpin_button enabled-ness depending of trezor", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 0}}, {"node": {"oid": "21b92be0885336bba9c7d2f22144383cfa4a745d", "messageHeadline": "Show getkeypool and getdescriptor info when device selected", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 21, "deletions": 0}}, {"node": {"oid": "ac59af82eeaf71908502837b381d0e4c70a5ff6c", "messageHeadline": "Add SetPassphraseDialog triggered by setpass_button", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 110, "deletions": 3}}, {"node": {"oid": "855f34aa2c5c2c3a107064504685b49762d3429a", "messageHeadline": "Add action buttons and keypool and descriptor display boxes", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 120, "deletions": 2}}, {"node": {"oid": "be5ce05692d543922705627a1b7ce74e056b38b1", "messageHeadline": "Implement device chooser and refresh button", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 78, "deletions": 7}}, {"node": {"oid": "a5ca3765f430383f82dc1275a19ee95342054b7a", "messageHeadline": "Initial HWI Qt program", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 36, "deletions": 0}}, {"node": {"oid": "e3522989fb903a7da423f2e7383e592904ae1d9c", "messageHeadline": "Add Script to generate ui*.py files", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 0}}, {"node": {"oid": "982aabcb2558c560f62d12cc25d58b7018e5d7d9", "messageHeadline": "Initial Qt Creator and UI files", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 41, "deletions": 1}}, {"node": {"oid": "52628847d4765ae7f7bc5475a8e4caab27089a13", "messageHeadline": "Add PySide2 as a dependency", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 25, "deletions": 3}}, {"node": {"oid": "4c13daed3b62635320e2411c1dd6a8ee307012e5", "messageHeadline": "Merge #297: coldcard: Fix needs_pin_sent and needs_passphrase_sent an\u2026", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 52, "deletions": 64}}, {"node": {"oid": "fd21d404f411247592b3b262f173e147683a32ff", "messageHeadline": "test: Check all fields are in enumerate result", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 0}}, {"node": {"oid": "2196f515448aef9d125618feb32c226c69be792c", "messageHeadline": "ledger: handle simulator enumerate with normal devices", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 29, "deletions": 39}}, {"node": {"oid": "0dde0992a823675a81d723b72cacefc2587e8556", "messageHeadline": "coldcard: handle simulator enumerate with real devices enumerate", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 15, "deletions": 24}}, {"node": {"oid": "58cc6bc7106e1c78f89d0dbc3ac3eb79f306f976", "messageHeadline": "coldcard: Fix needs_pin_sent and needs_passphrase_sent", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "733d9f12878afe88713058082c0216c7f3d37630", "messageHeadline": "Merge #298: travis: remove pyqt5 dependency", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "59e33f10ba6f82dcf037fa11322c5dcbbcbd2905", "messageHeadline": "Merge #289: Complete multisig support", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 122, "deletions": 61}}, {"node": {"oid": "85f677694bf2b827180d52b44fd6d6842dc003d2", "messageHeadline": "travis: remove pyqt5 dependency", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "20812e619b8535a0f6bdb2762cefb2de766dde25", "messageHeadline": "Merge #294: Add dependencies for Centos", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 0}}, {"node": {"oid": "562e736c65a15fd50bb4a7dc4d3679d092671ee8", "messageHeadline": "Add dependencies for Centos", "author": {"name": "Jeff Frontz", "email": "jhf@blockstream.io", "user": null}, "additions": 5, "deletions": 0}}, {"node": {"oid": "1c6d12fb8d2d6ade0124ada6ecf2f0b2fd6db2b8", "messageHeadline": "Merge #292: Improve installing from source documentation and experience", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 24, "deletions": 8}}, {"node": {"oid": "d6829c09e95fc0c8e18674dfcc3ca2e9d8601a2f", "messageHeadline": "Update README with more installation documentation", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 22, "deletions": 7}}, {"node": {"oid": "01ca0e514c9872cdc36a30d1d46cd6ac92361acb", "messageHeadline": "Replace distutils.core with setuptools in setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "c9107b03c9da1b2a391c9ac674400247071c6caf", "messageHeadline": "docs: Update documentation w.r.t multisig", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 2}}, {"node": {"oid": "b5c6ea080a07fbc5ca416897ade9a4b89612d594", "messageHeadline": "tests: whitelist devices for testing external inputs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 7}}, {"node": {"oid": "eea579c9a07c9616607f7e1bf82c8ab408b19c5f", "messageHeadline": "trezor: better handle when we already have signatures for an input", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 4}}, {"node": {"oid": "88db32c319f8c21a16ac9aa3b3b0fe61587348c0", "messageHeadline": "tests, coldcard: Add multisig setup and tests for coldcard", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 33, "deletions": 3}}, {"node": {"oid": "18b45b46639d2990eb58e79602166a85f7c882bb", "messageHeadline": "Merge #290: tests, coldcard: cleanup backup files", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "438028a1de9ca0429ec3f4d4604ec6ac0ba63178", "messageHeadline": "Merge #287: Disable sending the passphrase on Trezor T", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 3}}, {"node": {"oid": "c85c2175d670894c996d4d0019d1052a721c2139", "messageHeadline": "tests, coldcard: cleanup backup files", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "51eac02552bcde9891fdf7bb0083ca820a828d0c", "messageHeadline": "coldcard: do multiple passes when the same key is in an input multipl\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 63, "deletions": 43}}, {"node": {"oid": "35d994af5b09403644b6403bb39b68ac16a0d284", "messageHeadline": "tests: Use sortedmulti descriptors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "08d54cc8bffa3a1d0ca2c191bf3712db9618ea37", "messageHeadline": "Disable sending the passphrase on Trezor T", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 3}}, {"node": {"oid": "b20ef4297b01c7fa247f551e5b0109dcd9017d93", "messageHeadline": "Merge #280: Replace Ledger tests with automated tests and run them on\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 354, "deletions": 55}}, {"node": {"oid": "e085f99add575f429763875e1c1af2c28312e393", "messageHeadline": "ledger test: hide TestSignTx behind switch", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 3}}, {"node": {"oid": "c0f526188a085f00e9bace6cedc6f36fa81344ad", "messageHeadline": "Use travis-wait-enhanced to avoid travis timeouts", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 6}}, {"node": {"oid": "14c656fcc3e3a0b43d3cc138c16f21d8f5410719", "messageHeadline": "tests: Allow device arguments to override --all", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 16, "deletions": 7}}, {"node": {"oid": "56eb7857acaac43112e0c287036a39395d457251", "messageHeadline": "tests, ledger: use ledger simulator", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 162, "deletions": 37}}, {"node": {"oid": "14fe8f0f4c658470fddda6e1a3038c7e270f21ea", "messageHeadline": "Be able to connect to an enumerate ledger emulator", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 40, "deletions": 5}}, {"node": {"oid": "98ad46930041a9e8f73c1329b138c0736536b3b0", "messageHeadline": "Add DongleServer from btchip-python", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 32, "deletions": 0}}, {"node": {"oid": "b7a6d440eadf598425228a1f329aaa2137a36a73", "messageHeadline": "Build ledger emulator in travis", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 91, "deletions": 1}}, {"node": {"oid": "78692b55a0daa2054b69e67bfad33f4745e06d98", "messageHeadline": "Merge #285: Remove Bitcoin ppa and just use incompatible BDB", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 4}}, {"node": {"oid": "b1fc5c74fddafd80f871a89217ffd11400160425", "messageHeadline": "Remove Bitcoin ppa and just use incompatible BDB", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 4}}, {"node": {"oid": "04fae65472a2e140c477a7f868bc99193c88c290", "messageHeadline": "Merge #284: trezor tests: use a different invalid pin", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "63acd0f2c41acb57d5c15763f37da89ddc17e584", "messageHeadline": "trezor tests: use a different invalid pin", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "060c7fc618e77859eeb395acbdf2b0f9f962fc2c", "messageHeadline": "Merge #278: Use mnemonics with getxpub tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 339, "deletions": 57}}, {"node": {"oid": "0f1c5b40174d815a4879f20bb1fd6637a8ef61ce", "messageHeadline": "Enable getxpub tests for trezor t", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "8b4494348a70b8a8c9d9099ee7cba881600587ca", "messageHeadline": "Change getxpub vectors to also have mnemonics and use mnenmonic for t\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 338, "deletions": 56}}, {"node": {"oid": "9f8dcc0c28519630f2c33b499bd1618d69f1c1fd", "messageHeadline": "Merge #275: Better cleanup of emulators after tests complete", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 17, "deletions": 15}}, {"node": {"oid": "6513842447ff9e8c1c55ef5a33e021ef70f9da9c", "messageHeadline": "Better cleanup of emulators after tests complete", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 15}}, {"node": {"oid": "d5032fd0b7463251ee649720cb3a518883efddd8", "messageHeadline": "Merge #274: dbb: Handle string error codes too", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 3}}, {"node": {"oid": "956f18ef0c31d50e0d8b364e601c2678289a682f", "messageHeadline": "dbb: Handle string error codes too", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 3}}, {"node": {"oid": "9bea63acd1fdc635d0579a59548cb9d2ab55573d", "messageHeadline": "Merge #272: List udev rules for improved readibility", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "dd4034df2ae2deaeca7f8517186e4d2ed1ceac39", "messageHeadline": "List udev rules for improved readibility", "author": {"name": "Samuel Almeida", "email": "sla@qlik.com", "user": null}, "additions": 5, "deletions": 5}}, {"node": {"oid": "b3495f76be8a1629ca52863e7678c3d678c4aec0", "messageHeadline": "Bump version to 1.0.3 and regenerate setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 3}}, {"node": {"oid": "b72715673c611c3730a39df8ae22bece9573fae5", "messageHeadline": "Merge #270: Reduce Trezor UDP timeout to 1 second", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "e823eeaa985e9832a4c29d9b3619596e3823d013", "messageHeadline": "Merge #267: Better keepkey enumeration", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 21, "deletions": 2}}, {"node": {"oid": "5481ca36faac7644810bb491160ed57ffa8c54a7", "messageHeadline": "Reduce Trezor UDP timeout to 1 second", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "64df3ac9749f924fe28ec8daccede6d466ad1f69", "messageHeadline": "Merge #266: Build libusb 1.0.23 for Windows binaries", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 14, "deletions": 8}}, {"node": {"oid": "da6bde5ae0467eb61f68f286b54b52c9a4f17315", "messageHeadline": "Do additional filtering on usb ids for Trezor and Keepkey enumerate", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 2}}, {"node": {"oid": "ed932e20d867b806a1c9a178b630502a56500313", "messageHeadline": "Add get_usb_vendor_id function to transports", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 0}}, {"node": {"oid": "d4b1582e5cec46cbe61817f6d72b1c0cb00ddd90", "messageHeadline": "Build libusb 1.0.23 for Windows binaries", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 14, "deletions": 8}}, {"node": {"oid": "95c9387215fd534bb7a7e3e1885d92cc22457847", "messageHeadline": "Merge #265: Set the fallbackfee in bitcoind params", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "ad70a7fe17b6aa3bfb77878234e73cd6db97d40a", "messageHeadline": "Set the fallbackfee in bitcoind params", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "d6799f366e5009ee637fac9acb075204d43e4c66", "messageHeadline": "Merge #256: Print default values in help", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 10, "deletions": 3}}, {"node": {"oid": "eefd1f48535db16b4ec2fce0279a574405ea5d22", "messageHeadline": "Remove hardcoded default value strings", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "e4ea943b134b9f676d7d8a6cd6408aa8a2a3866a", "messageHeadline": "Merge #264: psbt serialization fix", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 4}}, {"node": {"oid": "aff5f57d49afc0637ee521fcd1012a8f48a1d91d", "messageHeadline": "psbt test with unknowns", "author": {"name": "Stepan Snigirev", "email": "snigirev.stepan@gmail.com", "user": {"login": "stepansnigirev"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "636657e2f881fd11bb2627fdab8a3bd47e9026c4", "messageHeadline": "psbt serialization fix: unknowns", "author": {"name": "Stepan Snigirev", "email": "snigirev.stepan@gmail.com", "user": {"login": "stepansnigirev"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "5754c7e4b2fdcdc5d2335d0308b8d18fabe525eb", "messageHeadline": "Merge #203: Add type hints for base58.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 76, "deletions": 23}}, {"node": {"oid": "b739f38435f3792ba00f45edf824db56e169ede1", "messageHeadline": "travis: add mypy lint job", "author": {"name": "fanquake", "email": "fanquake@gmail.com", "user": {"login": "fanquake"}}, "additions": 6, "deletions": 0}}, {"node": {"oid": "06fa9977302dd5de0137dba75d891fb863cf6830", "messageHeadline": "base58: add type hints", "author": {"name": "fanquake", "email": "fanquake@gmail.com", "user": {"login": "fanquake"}}, "additions": 19, "deletions": 19}}, {"node": {"oid": "394dab3bd117b3abf7200dd0796c8d83ee1d8a0e", "messageHeadline": "base58: remove Python3 check", "author": {"name": "fanquake", "email": "fanquake@gmail.com", "user": {"login": "fanquake"}}, "additions": 1, "deletions": 5}}, {"node": {"oid": "a2edbf1c905adb751eb7a48ef3ed4177552ba5ef", "messageHeadline": "test: Add base58 tests", "author": {"name": "fanquake", "email": "fanquake@gmail.com", "user": {"login": "fanquake"}}, "additions": 51, "deletions": 0}}, {"node": {"oid": "d3864911e526e1864fda48c1298e90e22099b343", "messageHeadline": "Merge #262: Bump minimum python version to 3.6", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "8f36c7ecce66d94a06566e7905377c774a0832b9", "messageHeadline": "Merge #261: Minimal install phase for linter", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "d6b1d0984d16ab173fc8011e510566ec4433eb72", "messageHeadline": "Bump minimum python version to 3.6", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "e59a8318fc18807adbfa3586405d93f3c530d43c", "messageHeadline": "Minimal install phase for linter", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "0909375c53585c343f17c59a4df1b4db6a1cba0c", "messageHeadline": "Merge #249: Make keypool the default, switch option to --nokeypool", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 19, "deletions": 17}}, {"node": {"oid": "7918238c06339c9b273b56a61789f07c0c7d0204", "messageHeadline": "Set HWIArgumentParser default formatter to one which shows default va\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 1}}, {"node": {"oid": "156b1ce6ecf293970e84fedf27331718a11161ea", "messageHeadline": "Make keypool the default, switch option to --nokeypool", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 19, "deletions": 17}}, {"node": {"oid": "bf55a7d632bbe4634f9fa475104042f89f25b1e0", "messageHeadline": "Merge #253: Fix btchip error module name", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "f043d6dab4f8da3347122ab85604e4e7850d85bc", "messageHeadline": "Fix btchip error module name", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "994b5bf196cd019514b2c8a61a7a14533729eb77", "messageHeadline": "Merge #251: Make sure you're in the right directory.", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "eae8400819480d19fd4c778733e280f53ab5fd0d", "messageHeadline": "Merge #246: Add flake8 linter and do style fixes", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 294, "deletions": 226}}, {"node": {"oid": "42526317dae9a97b61b70bc6843376a3a539d3cc", "messageHeadline": "Make sure you're in the right directory.", "author": {"name": "nopara73", "email": "adam.ficsor73@gmail.com", "user": {"login": "nopara73"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "d07e102e95849d5a619acb4f96598e132453aecc", "messageHeadline": "Add lint stage that runs flake8", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 11, "deletions": 0}}, {"node": {"oid": "ecbb847ccae37612aceb8eecde772f257894dcc3", "messageHeadline": "Add flake8 as a dev dependency", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 44, "deletions": 1}}, {"node": {"oid": "a57754c636c7bd27013908bc8ce2b53218023bf8", "messageHeadline": "Add autopep8 as dev dependency and script to run it", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 27, "deletions": 1}}, {"node": {"oid": "ba7e7c0af8ab55e382ba85e7233301de8bda6812", "messageHeadline": "Fix F403 and F405 star imports", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 2}}, {"node": {"oid": "755af90b0976a7e8b78f56783e37f04609c8ff0e", "messageHeadline": "Fix F821 Undefined name errors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 2}}, {"node": {"oid": "a3bb0a49c1b97440c2db8f53c2c40636ff3e586f", "messageHeadline": "Fix F401 Unused import errors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 42}}, {"node": {"oid": "9042e22079da152b80fe10934255435fd38aa5b9", "messageHeadline": "Fix F841 local variable is assigned to but never used", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 18}}, {"node": {"oid": "709694b2983fb4f163bb92f792d33a1ee69cff46", "messageHeadline": "Fix W whitespace warnings", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "6e1afdbdbd5622de325870863b093d26c5e91fb4", "messageHeadline": "Fix E71 errors that autopep8 can't fix automatically", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 18, "deletions": 18}}, {"node": {"oid": "9b60bece546703206c5d507547fe0bc4cad24f88", "messageHeadline": "Fix E7 statement errors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 28, "deletions": 18}}, {"node": {"oid": "50afb0c0748ffb9f733302fd43c462530134007a", "messageHeadline": "Fix E502 redundant backslashes", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "179800232bc238ff363b19efb338283cae5099a4", "messageHeadline": "Fix E4 import errors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "51182d5a1953df92532704be123eff0b01e501c7", "messageHeadline": "Fix E3 blank line errors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 4}}, {"node": {"oid": "da2dce314cd2286dd9204821166bcb02c8dac9c1", "messageHeadline": "Fix E2 whitespace errors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 75, "deletions": 75}}, {"node": {"oid": "860c5d356db3a488936d26836325925e5f6d9988", "messageHeadline": "Fix E1 indentation errors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 50, "deletions": 50}}, {"node": {"oid": "632d47b55593be2e0eeea03771f60288e952d406", "messageHeadline": "Add flake8 configuration", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 0}}, {"node": {"oid": "fb3c76ac42ea538ccada67a7c87476b0e2311f7b", "messageHeadline": "Merge #247: Update dependencies", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 29, "deletions": 35}}, {"node": {"oid": "ecf34aa8035833db2ffbc5f18327991a668b2a37", "messageHeadline": "Merge #137: Add getdescriptors command", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 93, "deletions": 19}}, {"node": {"oid": "899e5cf51bc2463ec698c60891f912b6fef052f8", "messageHeadline": "Update setup.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 5}}, {"node": {"oid": "abe2deb228f02f7da109baf386cc619d950bd3d4", "messageHeadline": "Remove windist extra", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 8}}, {"node": {"oid": "9123946e835d87fd3208496128173b2cf8b5cfed", "messageHeadline": "Remove poetry version lock to 0.12.12", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "c26386ffa7124479a0efabe7e272a20aa0f67114", "messageHeadline": "Update poetry.lock", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 14, "deletions": 13}}, {"node": {"oid": "6edb9908d5966bd029dd95bc18b2bfa5b883098f", "messageHeadline": "Add macholib as a macOS specific dev dependency", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "e8c8b90d78e3788fd570436a2074470326a2803f", "messageHeadline": "Add pefile as a windows specific dev dependency", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 3}}, {"node": {"oid": "ab5a49e34c6c074280dc6ff553a2a44b40d039de", "messageHeadline": "Move pywin32-ctypes to windows specific dev dependency", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 5}}, {"node": {"oid": "5086e6e9ca5f16d10b21e132d274d355a2fcb0c1", "messageHeadline": "Merge #236: Don't require bdb 4.8", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "b0c6cd77516c03e754a86166c7f28254473ddb50", "messageHeadline": "Cache xpubs", "author": {"name": "Sjors Provoost", "email": "sjors@sprovoost.nl", "user": {"login": "Sjors"}}, "additions": 5, "deletions": 2}}, {"node": {"oid": "70fad02a396e9def7e0becb521243d465a73fdd7", "messageHeadline": "Add getdescriptors command", "author": {"name": "Sjors Provoost", "email": "sjors@sprovoost.nl", "user": {"login": "Sjors"}}, "additions": 70, "deletions": 6}}, {"node": {"oid": "a68b585bb8142bbe2130bcc1c910b7e882102ce8", "messageHeadline": "Extract getdescriptor from getkeypool", "author": {"name": "Sjors Provoost", "email": "sjors@sprovoost.nl", "user": {"login": "Sjors"}}, "additions": 20, "deletions": 13}}, {"node": {"oid": "5309f294b02f4349dd55a5739ada875172cf440e", "messageHeadline": "Merge #242: Replace python-bitcoinrpc with Core's authproxy", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 206, "deletions": 15}}, {"node": {"oid": "5cb207c8d67dac9194099154ba43a477e65b8bcf", "messageHeadline": "Merge #175: Support Nano Ledger X", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 92, "deletions": 78}}, {"node": {"oid": "8e47b049aa9030ad8f090133c5dccfc8ec61862f", "messageHeadline": "Remove python-bitcoinrpc dependency", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 11}}, {"node": {"oid": "c876c53c2dda49113286d89adc04f200cb0c0c9e", "messageHeadline": "Replace python-bitcoinrpc with Core's authproxy", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 205, "deletions": 4}}, {"node": {"oid": "dc0181d2d7c691077f181aa954f665b5865f1675", "messageHeadline": "Support Nano Ledger X", "author": {"name": "Sjors Provoost", "email": "sjors@sprovoost.nl", "user": {"login": "Sjors"}}, "additions": 92, "deletions": 78}}, {"node": {"oid": "f793b1d64792b4f511a7e2cddc59630229c29ab9", "messageHeadline": "Bump version number to 1.0.2", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "cc8534709ed05bdaf1d55dff63c98a2d781d1740", "messageHeadline": "Merge #239: Include udev rules with PyPI distribution", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 28, "deletions": 12}}, {"node": {"oid": "0575c23a674c849d736c6297fad448dec923ff72", "messageHeadline": "Test wheel and sdist distributions in travis", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 18, "deletions": 0}}, {"node": {"oid": "82119cc686fd3bf5588d2b02497104bc12cbb020", "messageHeadline": "Remove installudevrule's hidden --source argument", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 3}}, {"node": {"oid": "7788fc6b5421de5b11d6baa228a1a91102e3ade7", "messageHeadline": "Install udev rules from path relative to hwilib/udevinstaller.py rath\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 5}}, {"node": {"oid": "9bf7905641e6d2f27922fecbc07d4c05783aa0dc", "messageHeadline": "Include udev rules in distribution archives", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "e4ec8f04f7f0f956b706ef920be8686fe07d60f7", "messageHeadline": "Move udev/ to hwilib/udev", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "13191d7031dc124e14afba6dca53bd6d7cbeba03", "messageHeadline": "Don't require bdb 4.8", "author": {"name": "Sjors Provoost", "email": "sjors@sprovoost.nl", "user": {"login": "Sjors"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "e4f2e80bd3d2892d4248cb71746318d88da31790", "messageHeadline": "Merge #231: Point pip user to python deps in pyproject.toml", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 9}}, {"node": {"oid": "0f09706f3155e70ea6257a7de46dcea1882f3b4d", "messageHeadline": "Point pip user to python deps in pyproject.toml", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 1, "deletions": 9}}, {"node": {"oid": "adefe3d3a8384b2bc1084195cd67745bc8356453", "messageHeadline": "Merge #228: Add device model to enumerate and accept it in --device-type", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 26, "deletions": 2}}, {"node": {"oid": "cc3ab8bb8d5f7797d6996d288dd8429c54148b1a", "messageHeadline": "Merge #211: Enable trezor and keepkey change detection for standard s\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 23, "deletions": 2}}, {"node": {"oid": "3dd66bd09413c8d556c8ed5413428de3a5e6feca", "messageHeadline": "Enable trezor and keepkey change detection for standard single key ou\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 23, "deletions": 2}}, {"node": {"oid": "a3957e9dee395aa5c888e08c866d4feb84334594", "messageHeadline": "Test device model as type", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 1}}, {"node": {"oid": "482796745a81ee424b48a5af9272798e1d2b9287", "messageHeadline": "Accept model names for --device_type", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "65fb5cefc62581d8bc3080f9403991847e1ae9bf", "messageHeadline": "Add device model to enumerate output", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 16, "deletions": 0}}, {"node": {"oid": "eefd925516cdaea76ee661b41a740d4842ebc033", "messageHeadline": "Merge #227: Get udev rules from correct folder", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "405e3a8df6453b4c60e8b4590544f50d0b09ad16", "messageHeadline": "Get udev rules from correct folder", "author": {"name": "lontivero", "email": "lucasontivero@gmail.com", "user": {"login": "lontivero"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "c2557e6e5402dae27948359dfa38ae0e3587826f", "messageHeadline": "Merge #217: Give Not Initialized error an error code", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 3}}, {"node": {"oid": "ac6bcfcb96b9e8a9cf78f492b1fe458feae0a30e", "messageHeadline": "Merge #220: Replace dead \"bytes_to_hex_str\" with \"binascii.hexlify\"", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "bccf63288ba485e2a331dc4170b0e14233ecf53d", "messageHeadline": "Replace dead bytes_to_hex_str with .hex()", "author": {"name": "Justin Moon", "email": "mail@justinmoon.com", "user": {"login": "justinmoon"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "cccaec2cc05a6a1010474ee8706bb1c2bc97f4e3", "messageHeadline": "Give Not Initialized error an error code", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 3}}, {"node": {"oid": "a3610b23ae37fc46e0ade0ba579a6233825bb7c4", "messageHeadline": "Merge #214: Raise an ImportError if hwi.py is being imported", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 3}}, {"node": {"oid": "532fe4b0cfaf06b3109c4e2b6e0e2daa67b0c327", "messageHeadline": "Merge #212: Only allow udevinstaller on linux", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 3}}, {"node": {"oid": "818b141f1996e970f311de5c3fdeb2f95cb27f81", "messageHeadline": "Merge #210: Fix places that output incorrect error messages and codes", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 35, "deletions": 8}}, {"node": {"oid": "1325ebbfb2007ec367fccc439b2920dc859c0553", "messageHeadline": "Merge #202: Always initialize Trezor One and Keepkey and clear any pr\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 27, "deletions": 10}}, {"node": {"oid": "da264ea52f08a4cfe2ae0c1e84fb41ff4327fd47", "messageHeadline": "Return different needs_passphrase_sent based on Trezor and Keepkey model", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 2}}, {"node": {"oid": "779cde88b5abd7ed3e5fe5f7c63b7c707bd11a8f", "messageHeadline": "Always initialize Trezor One and Keepkey and clear any previous session", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 22, "deletions": 8}}, {"node": {"oid": "7faaabadb3585e39d21c24147fff95355f36f927", "messageHeadline": "Merge #205: Clean up keepkey/trezor emulator image after each test", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 2}}, {"node": {"oid": "5b6966af9ae5d1be301d88673ea49b9c84c0856c", "messageHeadline": "Raise an ImportError if hwi.py is being imported", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 3}}, {"node": {"oid": "76714edab08e5107209b7a189ec5d7b8619f7449", "messageHeadline": "test: clean up trezor emulator image after each test", "author": {"name": "Hugo Nguyen", "email": "hugh.hn@gmail.com", "user": {"login": "hugohn"}}, "additions": 12, "deletions": 2}}, {"node": {"oid": "0b496095e459d9914d278e7ccdfcfc6db7194416", "messageHeadline": "test: clean up keepkey emulator image after each test", "author": {"name": "Hugo Nguyen", "email": "hugh.hn@gmail.com", "user": {"login": "hugohn"}}, "additions": 5, "deletions": 0}}, {"node": {"oid": "31c541d1eca6e8c6cfc2560f39efb34b44cb34ad", "messageHeadline": "Only allow udevinstaller on linux", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 3}}, {"node": {"oid": "9e168b5247fb3df833e208053fb9dd2d9e0a07e1", "messageHeadline": "Merge #204: Update Core usage docs with new getkeypool API", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 16}}, {"node": {"oid": "e5ebb4905de8a4b536aefcead2e9ef745f163a9a", "messageHeadline": "Merge #206: test: add an explicit --all argument to run_tests.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 54, "deletions": 30}}, {"node": {"oid": "cbcab3318da7d5026f563638bc4838ee4e64d379", "messageHeadline": "Clarify in README that stdout should always be JSON and stderr is ext\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 0}}, {"node": {"oid": "0548cf25754e737eafe91363e75e34b5ecb38399", "messageHeadline": "Use custom HWIArgumentParser class to output missing argument errors \u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 28, "deletions": 5}}, {"node": {"oid": "b43ec78532f537aa54c7a08e3a27a689d55fb909", "messageHeadline": "Return NO_DEVICE_TYPE instead of NO_DEVICE_PATH when type or fingerpr\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "7b7b0bfa27c9b971054b2a9dd3e47f649a86e11e", "messageHeadline": "test: add a Travis job to execute non-device tests only", "author": {"name": "Hugo Nguyen", "email": "hugh.hn@gmail.com", "user": {"login": "hugohn"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "0e4ce33a28abce1cadbe710ddfbe33944cf4826a", "messageHeadline": "test: add --all to Travis build run_tests.py", "author": {"name": "Hugo Nguyen", "email": "hugh.hn@gmail.com", "user": {"login": "hugohn"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "e232f22a9bb404914c8e1678954a1e36a74d8420", "messageHeadline": "test: add an explicit --all argument to run_tests.py", "author": {"name": "Hugo Nguyen", "email": "hugh.hn@gmail.com", "user": {"login": "hugohn"}}, "additions": 48, "deletions": 26}}, {"node": {"oid": "984a5cb9b458c595ced66cb0c64e5b8151ac87db", "messageHeadline": "Update Core usage docs with new getkeypool API", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 6, "deletions": 16}}, {"node": {"oid": "1667a4621ad19f9ee99c8bc9b848222810f51650", "messageHeadline": "Merge #191: keepkey: fix missing error import", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "89a3567f22e2d1833d683a7211b79889978ed73d", "messageHeadline": "Merge #197: trivial: .gitignore pip-wheel-metadata", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "b688cb99b8dad89ca1e63a5292df6b409be50508", "messageHeadline": "Merge #196: test: configure a more minimalistic bitcoind", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "f9f33234c90e6d70126669bf59415c99276d59bf", "messageHeadline": "Merge #195: doc: s/Aribtrary/Arbitrary in README.md", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "f4c4eb300279ca05a253ee88f98961a26ccb9307", "messageHeadline": "Merge #194: README.md - Link udev rules", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "2b6cccaa647ef41ceebd28360c45af9beae57c2f", "messageHeadline": "Merge #185: Clean up some unused imports and variables", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 6}}, {"node": {"oid": "369e2f3bb8d6660b736e7b73a345e5c9a708ba92", "messageHeadline": "trivial: .gitignore pip-wheel-metadata", "author": {"name": "fanquake", "email": "fanquake@gmail.com", "user": {"login": "fanquake"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "e57b459099302c22790f63d865401e82fad6df4d", "messageHeadline": "test: configure a more minimalistic bitcoind", "author": {"name": "fanquake", "email": "fanquake@gmail.com", "user": {"login": "fanquake"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "e86340d92bee1cab6d66d0e55f3395dfaaaee44a", "messageHeadline": "doc: s/Aribtrary/Arbitrary in README.md", "author": {"name": "fanquake", "email": "fanquake@gmail.com", "user": {"login": "fanquake"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "264b04c59c7b42878749ca2c0600dc58165cad07", "messageHeadline": "README.md - Link udev rules", "author": {"name": "TonySanak", "email": "radmanmen@gmail.com", "user": {"login": "tongokongo"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "7dacdfe24c5dce3f3ac5f4f95e5ff647f6e1b744", "messageHeadline": "keepkey: fix missing error import", "author": {"name": "William Casarin", "email": "jb55@jb55.com", "user": {"login": "jb55"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "60eab88b712e694da8a0dfe5c975703216af3677", "messageHeadline": "trezor: remove unused passphrase_enabled variables [lint]", "author": {"name": "William Casarin", "email": "jb55@jb55.com", "user": {"login": "jb55"}}, "additions": 0, "deletions": 4}}, {"node": {"oid": "53bdecd84ec51066125b9d8ba75edf9b5f0d73b1", "messageHeadline": "trezor: remove unused exception variables [lint]", "author": {"name": "William Casarin", "email": "jb55@jb55.com", "user": {"login": "jb55"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "4c9af14a5fc57feb3ed8e106e7e04796002a5e0d", "messageHeadline": "Bump version to 1.0.1", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "ab2724cbf28e3453b83919cf7f0b4fa98578981d", "messageHeadline": "Merge #184: Clean up error handling in hwilib", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 51, "deletions": 66}}, {"node": {"oid": "f430e25ce2d764e8ff7cef39dc1ff76481788f30", "messageHeadline": "cli: use handle_errors", "author": {"name": "William Casarin", "email": "jb55@jb55.com", "user": {"login": "jb55"}}, "additions": 9, "deletions": 29}}, {"node": {"oid": "5d1c2bbf50b57470a28d1d606de8027cef51e831", "messageHeadline": "ledger: use handle_errors in enumerate", "author": {"name": "William Casarin", "email": "jb55@jb55.com", "user": {"login": "jb55"}}, "additions": 2, "deletions": 5}}, {"node": {"oid": "53104be886b83af3da9b35ab1a06c20c76f806ac", "messageHeadline": "digitalbitbox: use handle_errors in enumerate", "author": {"name": "William Casarin", "email": "jb55@jb55.com", "user": {"login": "jb55"}}, "additions": 2, "deletions": 8}}, {"node": {"oid": "42fbeaabe33cd91193280905297db0b143f6224e", "messageHeadline": "trezor: use handle_errors in enumerate", "author": {"name": "William Casarin", "email": "jb55@jb55.com", "user": {"login": "jb55"}}, "additions": 2, "deletions": 8}}, {"node": {"oid": "b6ca7d9dce2b716cd35aeea465930b236eb2346b", "messageHeadline": "coldcard: use handle_errors in enumerate", "author": {"name": "William Casarin", "email": "jb55@jb55.com", "user": {"login": "jb55"}}, "additions": 2, "deletions": 8}}, {"node": {"oid": "313e0126fce14b9db55fe84446079441378e3755", "messageHeadline": "keepkey: use handle_errors in enumerate", "author": {"name": "William Casarin", "email": "jb55@jb55.com", "user": {"login": "jb55"}}, "additions": 3, "deletions": 8}}, {"node": {"oid": "c75b5e21288ff8e2babd50fffc8e157b2c2e8767", "messageHeadline": "errors: add handle_errors helper", "author": {"name": "William Casarin", "email": "jb55@jb55.com", "user": {"login": "jb55"}}, "additions": 31, "deletions": 0}}, {"node": {"oid": "cb9a1beab2a571b936abf1f88bb446d919246a58", "messageHeadline": "Merge #135: Create internal and external keypools by default", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 19, "deletions": 27}}, {"node": {"oid": "6df7fb3539d9f8bdb8c44ff4abbf835cba5b9dfb", "messageHeadline": "Merge #188: Coldcard v2.1.0 and above does multisig", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "3d86374905dc32fb55e891727dbd04083082c575", "messageHeadline": "Coldcard v2.10 and above does multisig", "author": {"name": "Peter D. Gray", "email": "peter@conalgo.com", "user": {"login": "doc-hex"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "b1b7212d39b378babfa0a0540189bc8f71f1efbd", "messageHeadline": "Create internal and external keypools by default", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 19, "deletions": 27}}, {"node": {"oid": "9b722055c4d4ac2737c978fee3ce2082855782a3", "messageHeadline": "Merge #183: Officially support Trezor T and tests for it", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 104, "deletions": 76}}, {"node": {"oid": "84315dd5def865c929b44ab2ce53e0a132031077", "messageHeadline": "Build and test with Trezor T emulator", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 34, "deletions": 11}}, {"node": {"oid": "ef816628e14619eb245dd3336b0e3db50eabf807", "messageHeadline": "Switch to Trezor monorepo", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 7}}, {"node": {"oid": "6952edd879a57247c3e1b6d74f235253eabb6f42", "messageHeadline": "Introduce full_type in tests for distinguishing between device models", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 48, "deletions": 44}}, {"node": {"oid": "9484803b7175c04df2a4a495fd34df1698e4d0df", "messageHeadline": "Update Trezor T support", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 16, "deletions": 16}}, {"node": {"oid": "d8cf9f120bdfe65cc9114d67fe55336cf2c96941", "messageHeadline": "Merge #157: Indicate in enumerate whether a device needs a passphrase\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 149, "deletions": 10}}, {"node": {"oid": "4d21f2912723036be581c60eac3a24f15c27e761", "messageHeadline": "ignore other devices when checking that the coldcard has started", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 1}}, {"node": {"oid": "54e14ba301ad57769261b94e9d4fc22d24de94ab", "messageHeadline": "Change the order devices are tested in", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 6}}, {"node": {"oid": "1c33312bb1b1fd7fe74e5c193efd8c1ab1123759", "messageHeadline": "Test need_passphrase_sent and need_pin_sent", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 116, "deletions": 0}}, {"node": {"oid": "bca85354f912c772b06ce90c54057857f04d7136", "messageHeadline": "Add needs_pin_sent to indicate whether promptpin needs to be used", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 0}}, {"node": {"oid": "d2696cfadf6b09bfffe606334e4083250dd7e72d", "messageHeadline": "Add needs_passphrase_sent to enumerate output", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 3}}, {"node": {"oid": "a4a3aff89b5863a9abb400f54fe7661ba3dbfee9", "messageHeadline": "Merge #169: Add installudevrules command for linux", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 135, "deletions": 1}}, {"node": {"oid": "cada7f5ce0cf0854d7fc526b366107d5f0d868aa", "messageHeadline": "Add installudevrules command for linux", "author": {"name": "lontivero", "email": "lucasontivero@gmail.com", "user": {"login": "lontivero"}}, "additions": 135, "deletions": 1}}, {"node": {"oid": "64153a8a658595f35fee13fe0547cf63e0351c49", "messageHeadline": "Merge #182: Fix displayaddress with descriptors and its tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 59, "deletions": 20}}, {"node": {"oid": "1fb5eb42c78b6dd67f306902c8514985ae9baa62", "messageHeadline": "Merge #181: Provide error codes in enumerate output", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 25, "deletions": 4}}, {"node": {"oid": "54bd6687cc55408f5c54df708e72c6470edc6057", "messageHeadline": "Actually test that displayaddress is returning correct output", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 33, "deletions": 10}}, {"node": {"oid": "0974f6944caf975ddba9ac5b0a5429f79b9976ad", "messageHeadline": "Ensure the client's fingerprint is available for descriptor displayad\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 0}}, {"node": {"oid": "cea784ef606ff732447e82dec6436621a7177be6", "messageHeadline": "tests: Replace remaining process_commands with self.do_command in tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 11, "deletions": 11}}, {"node": {"oid": "70e31cad0c48497761d98842dad894266360ecd0", "messageHeadline": "tests: Properly escape arguments for cli interface", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 18, "deletions": 6}}, {"node": {"oid": "129e91d9f0698a35e36211579e10a44db3541c4e", "messageHeadline": "Provide error codes in enumerate output", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 25, "deletions": 4}}, {"node": {"oid": "c14896c6eb538607faf0eaed960be2e5d7bbb19b", "messageHeadline": "Merge #152: Keep Trezor sessions open unless state becomes inconsistent", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 1}}, {"node": {"oid": "6275418c9044af6b980aac55bf41745c2b4d3839", "messageHeadline": "Merge #166: Have setup_environment.sh remove emulator.img files for t\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 0}}, {"node": {"oid": "67359835ebc10947b4c5accf652bd36c71a74f6e", "messageHeadline": "Have setup_environment.sh remove emulator.img files for trezor and ke\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 0}}, {"node": {"oid": "57a06836b97bfbb90587aea2057e06a9a3725ed4", "messageHeadline": "Merge #163: commands.py: use fingerprint if already captured by client", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 2}}, {"node": {"oid": "c3f25218554541d954feb03d350a91ba3a2124fa", "messageHeadline": "Merge #162: devices/coldcard.py: accelerate enumeration process", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 4}}, {"node": {"oid": "d0c561e516b1920cec91d7bc09f26256929e7a4a", "messageHeadline": "Merge #164: pin poetry version to 0.12.12 as 0.12.14 is broken", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "85eaf70f368ea122c41bbf577ab3edb3828a4e16", "messageHeadline": "pin poetry version to 0.12.12 as 0.12.14 is broken", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "4dd56fda3cd9cade8abc482e43e7733ddc8360a9", "messageHeadline": "Merge #165: Add packages to pyproject.toml to allow generating a work\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 19, "deletions": 1}}, {"node": {"oid": "ae9bca3ae386ec62c415a5b6fa5fa3b97069f7b9", "messageHeadline": "Add packages to pyproject.toml to allow generating a working setup.py", "author": {"name": "Jonas Nick", "email": "jonasd.nick@gmail.com", "user": {"login": "jonasnick"}}, "additions": 19, "deletions": 1}}, {"node": {"oid": "7201300e92a3ee9bbc82e37914fd4f0df9ca28e6", "messageHeadline": "Merge #161: Mention in Ledger doc that Bitcoin App needs to be running", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "892b552bb35b1d7197d0c77d70ca03459290c70a", "messageHeadline": "Merge #160: Fix keypool refill instructions in docs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "0cf6bb99980aa9913f898cb94db8bbae63b5c42d", "messageHeadline": "commands.py: use fingerprint if already captured by client", "author": {"name": "Peter D. Gray", "email": "peter@conalgo.com", "user": {"login": "doc-hex"}}, "additions": 6, "deletions": 2}}, {"node": {"oid": "0c831e4f75095827f8153feeaa670f618fe162f3", "messageHeadline": "devices/coldcard.py: accelerate enum process by using fingerprint val\u2026", "author": {"name": "Peter D. Gray", "email": "peter@conalgo.com", "user": {"login": "doc-hex"}}, "additions": 10, "deletions": 4}}, {"node": {"oid": "90f5e32cc343c5ae7304681bb9cb01a8ac7e35fe", "messageHeadline": "Mention in Ledger doc that Bitcoin App needs to be running", "author": {"name": "Jonas Nick", "email": "jonasd.nick@gmail.com", "user": {"login": "jonasnick"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "483b589eebcb71f5abe2dd5dca95ebb15ed2dcc3", "messageHeadline": "Fix keypool refill instructions in docs", "author": {"name": "Jonas Nick", "email": "jonasd.nick@gmail.com", "user": {"login": "jonasnick"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "c628206d310364132c9f4a5364e2edd47f1c5eac", "messageHeadline": "Merge #154: Make versioned compressed packages for releases", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 20, "deletions": 2}}, {"node": {"oid": "cb2ed1654ce49cadc71e3b931902631d0ce51a49", "messageHeadline": "Build Windows binary in travis as well", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "a86323d41915a373defc3a7ed8586b2e84cdd07b", "messageHeadline": "Make versioned compressed packages for releases", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 19, "deletions": 1}}, {"node": {"oid": "b5d74ec24c6e379efd10f01e90ff1f50e93cdb95", "messageHeadline": "Merge #153: Include Windows UCRT in Windows build", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 1}}, {"node": {"oid": "30146a26b8e10859b0fa09cf0001f651bb30dc80", "messageHeadline": "Merge #156: Add Trezor Model T", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 23, "deletions": 23}}, {"node": {"oid": "bfc29c26a51166ffa2f12b0ede72fbc207684e37", "messageHeadline": "Merge #155: Fix last command format at `examples.md`", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "95bd88e41d3b293043223ff93962e50d575e4871", "messageHeadline": "Add Trezor Model T", "author": {"name": "nopara73", "email": "adam.ficsor73@gmail.com", "user": {"login": "nopara73"}}, "additions": 23, "deletions": 23}}, {"node": {"oid": "9e826909cf2dca49b9345ed5663249ed7603db66", "messageHeadline": "Fix last command format at `examples.md`", "author": {"name": "Roman Zeyde", "email": "dev@romanzey.de", "user": null}, "additions": 2, "deletions": 0}}, {"node": {"oid": "f109365047f84e808db184aa18879731cc469cb8", "messageHeadline": "Install Windoew Universal C++ Runtime from Windows 10 SDK in Windows \u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 1}}, {"node": {"oid": "d00ae56eeff88beef23edb8f1943d124efe07622", "messageHeadline": "Don't send Initialize when first connecting to a Trezor", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 1}}, {"node": {"oid": "6e92b7d40f1db706950a7772707626196146346d", "messageHeadline": "Merge #147: Add udev rules for all supported devices", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 70, "deletions": 0}}, {"node": {"oid": "397993bfdc7eda26c5b16178efb1e98b2395c224", "messageHeadline": "[ci skip] Document udev rules", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 23, "deletions": 0}}, {"node": {"oid": "f94913739e50c69277c480b6c79c79c107f9368e", "messageHeadline": "Merge #146: Import HID in Ledger driver", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "4814a293e8b3b0a834274fbee7b805522942cf01", "messageHeadline": "Merge #142: Document how to handle binary format files from command l\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 0}}, {"node": {"oid": "1222d9a4922e496ca4334e70a92b71ffa1b8c38c", "messageHeadline": "Add udev rules for all supported devices", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 47, "deletions": 0}}, {"node": {"oid": "d0653073179607487448bad3a4b87a2296d2e1bd", "messageHeadline": "Import HID in Ledger driver", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "685faa2e5c6f137258ce07996d5412a393cb9897", "messageHeadline": "bump version number to 1.0.0", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "f096c184785114658c7e18dc40dba697bff798e7", "messageHeadline": "Document how to handle binary format files from command line with bas\u2026", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 6, "deletions": 0}}, {"node": {"oid": "7b0e84e26cf93aa91b9079c8594f1527fd31d769", "messageHeadline": "Merge #140: Add Keepkey Webusb device ids", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "6f67659e0761c3b9d3b0eb121944fd4865dfe866", "messageHeadline": "Add Keepkey Webusb device ids", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "a83fdc6be3e2bd31c256ca17226682b8c0474384", "messageHeadline": "Merge #124: Add a switch for interactivity and make setup and restore\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 66, "deletions": 25}}, {"node": {"oid": "4453555c21b0a118c6f509964ef0e4710293456a", "messageHeadline": "Add interactivity to Trezor setup and restore", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 40, "deletions": 5}}, {"node": {"oid": "18857d9cd031e3e455dce248f27051e7b614a06b", "messageHeadline": "Add interactive option and move setup and restore to interactive only", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 26, "deletions": 20}}, {"node": {"oid": "0dd2e86394cbd4910e27b31bd71321741f99d76e", "messageHeadline": "Merge #126: Add option to enter commands over stdin", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 37, "deletions": 3}}, {"node": {"oid": "d0ac6b9398f7f954770382cfe3a42b1547f2000f", "messageHeadline": "Merge #138: Update documentation and change name to Hardware Wallet I\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 58, "deletions": 21}}, {"node": {"oid": "49bc7fa5dab02668c8a8b33cc4b6932acf688110", "messageHeadline": "Add tests for stdin interface and travis job", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 18, "deletions": 1}}, {"node": {"oid": "0185391c723339e3c60d5b1383519b51b6193f60", "messageHeadline": "Add --stdin to enter commands and arguments over stdin", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 19, "deletions": 2}}, {"node": {"oid": "2bf3d418e1b6866872529ae84185ac8107e50e6e", "messageHeadline": "Merge #139: Add --version", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 2}}, {"node": {"oid": "d924f39b6bbd4e00a989c8f7bc76cc8479fe8a66", "messageHeadline": "Add --version option and show version in help text", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 1}}, {"node": {"oid": "376245ae0f8547d4999dbd0a8efc48ffc043e340", "messageHeadline": "Update tests documentation with new tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 7}}, {"node": {"oid": "0235baf3777b5b10665e48d076006732097bcfe1", "messageHeadline": "List all command support", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "7929692c9daaf8b7d1117f35f3e7c39d185735fd", "messageHeadline": "Update Bitcoin Core usage docs to match current software behavior", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 10}}, {"node": {"oid": "b99385c8e206b7c6e883a8da3f8cb8fc441da0f9", "messageHeadline": "Add version number to __init__.py and docs to update that", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "b7873acddc9224a94cf247d336b3f0a178c00140", "messageHeadline": "Describe the other files in contrib/", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 14, "deletions": 0}}, {"node": {"oid": "fc33fc5bbeaad73bbaeb0005141883b20612aada", "messageHeadline": "List additional dependencies", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 19, "deletions": 2}}, {"node": {"oid": "5e42d3d696051020f1094667ddaca67ce928fae1", "messageHeadline": "Rename to Hardware Wallet Interface and describe it a bit more", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 2}}, {"node": {"oid": "07ece90769306a695dd81166be77231f1c64b277", "messageHeadline": "Merge #121: Tools for deterministic builds of standalone binaries and\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 599, "deletions": 57}}, {"node": {"oid": "8931ae0e90d5dd83975a736c5d3f67c4f3d788a3", "messageHeadline": "Run tests using the binary distribution", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 41, "deletions": 6}}, {"node": {"oid": "39a6fc9654f66806a90cc52ff38baa508b123a57", "messageHeadline": "Fixes for Windows", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 2}}, {"node": {"oid": "a229de078020fa4f50efd687bcc3448ec6978dd9", "messageHeadline": "Update .travis.yml to use poetry for build", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "77257a18dabb758b794011f6222580a3f71512a1", "messageHeadline": "Add build scripts and documentation for building releases", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 261, "deletions": 1}}, {"node": {"oid": "9e04d1a16ad4dc5763d887adc9efbe0d14aa57ba", "messageHeadline": "Add a hwi.spec file for pyinstaller to build standalone binaries", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 55, "deletions": 7}}, {"node": {"oid": "d6b24b853d01cd8a9cc75c853c84fc303a88b4f0", "messageHeadline": "Add pyproject.toml and poetry.lock for poetry dependency manager", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 233, "deletions": 36}}, {"node": {"oid": "6e4ffcdd1be2676ecd3341bd2f4979aad78b12bc", "messageHeadline": "Merge #134: Use new importmulti array range format", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "2dc818c026367cabd790638952946389e24f39c0", "messageHeadline": "Use new importmulti array range format", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "8d738ee31c823f62429338ec433fc8517052b08a", "messageHeadline": "Merge #125: Test how the CLI deals with really big transactions", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 222, "deletions": 150}}, {"node": {"oid": "9bc8bdc10651a881474cb528bb97a432f23ec7fa", "messageHeadline": "Merge #133: Fix Digital Bitbox tests for API changes", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 0}}, {"node": {"oid": "6c9964ef842b822f2dae1c9003d0f8e42bd1069d", "messageHeadline": "Fix Digital Bitbox tests for API changes", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 0}}, {"node": {"oid": "ca9f0106cda2dd7778a0d60c95a4b644c9e278e0", "messageHeadline": "Merge #132: ledger: check keypath format for getxpub", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "1a2b67d1f35226be50dde32d47105bfa06ce0725", "messageHeadline": "Test how a very large transaction is handled", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 29, "deletions": 0}}, {"node": {"oid": "c69c0ee9202177c7cb7a9880347f5c06ee16fa05", "messageHeadline": "Add travis job for cli interface test", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 2}}, {"node": {"oid": "e594a0b4b3c85b5498fe7a20d3365b40e4216eb1", "messageHeadline": "Allow specifiying a different interface for using HWI in tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 187, "deletions": 148}}, {"node": {"oid": "75a915edba7f8fc5f233cab5b9ffa71cb5fdd4a4", "messageHeadline": "Merge #130: Implement descriptor checksums", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 104, "deletions": 20}}, {"node": {"oid": "6e1e9aaacf059ce94f31a128528396c11a8662d5", "messageHeadline": "ledger: check keypath format for getxpub", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "c5524d60cc7e68f66983bca040a3fb790fb6aa30", "messageHeadline": "Merge #131: travis: fix bitcoind update", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "ff8e257839de908a144ed83fcc705dfe61379962", "messageHeadline": "travis: fix bitcoind update", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "2d622046ceff9752d58faeb4d1ab8a2273b6b802", "messageHeadline": "Use descriptors with checksums in TestSignTx", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 7}}, {"node": {"oid": "c2ff20bf61450ee6147b5862e2b1aef49ae6b72e", "messageHeadline": "Use descriptor class in getkeypool", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 9}}, {"node": {"oid": "f2aff4d642971cfde6c731a2621ebf817582f03f", "messageHeadline": "Add descriptor checksums and tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 89, "deletions": 4}}, {"node": {"oid": "dba7acd5ed787e15affbbb6abe9a7efa8b4af1ea", "messageHeadline": "Merge #127: Update things now that Bitcoin Core master is usable", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 4}}, {"node": {"oid": "03b31bec0024c994a678b7d2c1c66186a1ecbe55", "messageHeadline": "Merge #117: Descriptor support for displayaddress", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 230, "deletions": 15}}, {"node": {"oid": "aac82435791c4fed2099ce5570f956e7d6aabc4b", "messageHeadline": "Update Bitcoin Core usage docs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 3}}, {"node": {"oid": "a71658cf6db6b59dac88366ab0c2a7f4c90d2b1b", "messageHeadline": "displayaddress: descriptor support, make --path a named argument", "author": {"name": "Sjors Provoost", "email": "sjors@sprovoost.nl", "user": {"login": "Sjors"}}, "additions": 69, "deletions": 15}}, {"node": {"oid": "daa99c7ea3adc9f813ef00dc7184a3b08ccb2ab2", "messageHeadline": "Change to building from bitcoin master", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "163f926d5296295de3592cb141b1a456c20e17b0", "messageHeadline": "Add descriptor class", "author": {"name": "Sjors Provoost", "email": "sjors@sprovoost.nl", "user": {"login": "Sjors"}}, "additions": 159, "deletions": 0}}, {"node": {"oid": "6fc1524217916fceae1ed795bad6163ab4e49923", "messageHeadline": "HardwareWalletClient: store fingerprint", "author": {"name": "Sjors Provoost", "email": "sjors@sprovoost.nl", "user": {"login": "Sjors"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "0ec664dba7f58b814cc0e6a76a6f5ef904f58d73", "messageHeadline": "Merge #120: Replace device libraries with stripped down versions", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7097, "deletions": 538}}, {"node": {"oid": "7c0fd1e06d3d53620f7368f2e96e8fe3b0a673dd", "messageHeadline": "Update dependencies in the readme", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 6}}, {"node": {"oid": "681a52d3da474cbdb2974c8dfc559214bdf748dc", "messageHeadline": "Replace btchip-python with our own stripped down version of it", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1117, "deletions": 3}}, {"node": {"oid": "f7d04ff2ebb41150721bde6bfff6331ff154cd80", "messageHeadline": "Replace ckcc dependency with our own version of the library itself", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 808, "deletions": 6}}, {"node": {"oid": "f0c5aa7d3cbc15c693315dc3542fe3dee0855c86", "messageHeadline": "Add Keepkey to Trezorlib and have KeepkeyClient use TrezorClient", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 90, "deletions": 516}}, {"node": {"oid": "2693ae34f6cc87fc5706f5917e45a7d4e81d0e50", "messageHeadline": "Change TrezorClient to do what TrezorNoInit did", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 29}}, {"node": {"oid": "aa3665c9719dd447b55192f1fda90bf298ca2a99", "messageHeadline": "Replace trezorlib with our own stripped down version", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5103, "deletions": 14}}, {"node": {"oid": "754adc93dc40655005161ba3db58befbaa4a2342", "messageHeadline": "Merge #122: Do basic keypath check for display/signmessage for ledger", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 19, "deletions": 0}}, {"node": {"oid": "1790a01804ed4612633e91d965968cbffe32f767", "messageHeadline": "Merge #118: Add more tests and related fixes", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 442, "deletions": 122}}, {"node": {"oid": "3e52a4f87a8327d6ed74a6a43100d493326b1701", "messageHeadline": "Do basic keypath check for display/signmessage for ledger", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 19, "deletions": 0}}, {"node": {"oid": "a38e9936078f89780b869e9cfe47fff5055de37c", "messageHeadline": "Tests and fixes for remaining Ledger commands", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 47, "deletions": 2}}, {"node": {"oid": "d627634ce6a076ca5faf7ccc620a0df0b3277376", "messageHeadline": "Tests and fixes for remainig Keepkey commands.", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 112, "deletions": 8}}, {"node": {"oid": "cf152b709a697cd2b5abdad439beae7f7e4cb408", "messageHeadline": "Tests and fixes for remaining Trezor commands", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 122, "deletions": 16}}, {"node": {"oid": "40abbc2927df0b576dc602a7081d21c67f7ae3c9", "messageHeadline": "Tests and fixes for remaining Digital Bitbox commands", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 91, "deletions": 6}}, {"node": {"oid": "0085b8fd2c50a06fa45a53e6e667dd286cc06cc5", "messageHeadline": "Tests and fixes remaining commands for Coldcard", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 35, "deletions": 5}}, {"node": {"oid": "5c54c0f6ee8fe990c4135d360eef9242991d39fe", "messageHeadline": "Add tests and fixes for invalid paths", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 13, "deletions": 8}}, {"node": {"oid": "a7d0121c7b38232201e33b6bb030cb97fba80bca", "messageHeadline": "Tests for nonexistent fingerprints and device types", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 11, "deletions": 1}}, {"node": {"oid": "cd0c994d6de69ea3657879f74b564501dbc89a57", "messageHeadline": "Test signtx with all three output types as tx outputs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 9}}, {"node": {"oid": "a1b36e2121159d2a80ae9851d18ec18a1f926af2", "messageHeadline": "Remove several unused functions", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 67}}, {"node": {"oid": "6349dd149c213df50e0c49b00430c8eed6a5d0bd", "messageHeadline": "Merge #116: Handle all exceptions so that none are shown to the user", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 385, "deletions": 166}}, {"node": {"oid": "b2035856cf7afa4fef150707a6c8debe8e3f7c45", "messageHeadline": "Handle Ledger error codes", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 36, "deletions": 1}}, {"node": {"oid": "7a8e38c78cb215392c6568323370189021436b9f", "messageHeadline": "Handle Digital Bitbox errors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 96, "deletions": 6}}, {"node": {"oid": "d279a7e21cbf007ef92851d1a362f4fc25fe41f1", "messageHeadline": "Handle KeepKey bad arguments", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 21, "deletions": 1}}, {"node": {"oid": "7de7e543a6e8f30b6505c39671adae883c627a0f", "messageHeadline": "Handle Coldcard canceled actions and bad arguments", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 19, "deletions": 2}}, {"node": {"oid": "4e49da29ad0fe47abd6b969ce1bdc8edde2e5d16", "messageHeadline": "Handle Trezor canceled actions and bad arguments to trezorlib", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 26, "deletions": 1}}, {"node": {"oid": "9d5269569951c6e4142b046adfdae08fdbbfc7e6", "messageHeadline": "Add ActionCanceledError, DeviceConnectionError, DeviceBusyError", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 14, "deletions": 0}}, {"node": {"oid": "0a809b2754ecaa2f2b642e132d92fecbe7b61b66", "messageHeadline": "Handle errors to have cli output always be JSON", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 38, "deletions": 68}}, {"node": {"oid": "4c3a6df1b74a5281a1a9336964dd8902842be085", "messageHeadline": "Use HWWErrors instead of built-ins", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 73, "deletions": 52}}, {"node": {"oid": "b4a95a66101c0ad294a0d5ba952f43481b0393d7", "messageHeadline": "subclass specific errors so codes and error messages are easy to get", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 33, "deletions": 18}}, {"node": {"oid": "32e56c7b58e11a8cd78489eef304f5e99154fa30", "messageHeadline": "consolidate errors to errors.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 56, "deletions": 44}}, {"node": {"oid": "0d88d076384d64029ae238cd007a651bf0c60f46", "messageHeadline": "Merge #115: Always close clients if they exist", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 29, "deletions": 6}}, {"node": {"oid": "00e30c856d2a6afbfd3e80c1a0672fa82a81af0f", "messageHeadline": "Always close clients if they exist", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 29, "deletions": 6}}, {"node": {"oid": "56252a6044013ca51679cb59d1aaaf8f7c99fced", "messageHeadline": "Merge #114: Change links to bitcoin-core", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "bd8840d58ea896e7c6cfdafccb1dcba53c8ba4ef", "messageHeadline": "Change links to bitcoin-core", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "1865cf209433a1c0bfb3c13909f22cd1dc1166e2", "messageHeadline": "Merge #109: Provide PINs to Trezor and KeepKey via commands", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 185, "deletions": 9}}, {"node": {"oid": "97b1d35637304eea297f3d2462f2a6b16384bdd1", "messageHeadline": "Add promptpin and sendpin commands", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 30, "deletions": 2}}, {"node": {"oid": "bb88cc5e6fa78c2745876767fff520cdc3f0f3f3", "messageHeadline": "Introduce and implement prompt_pin and send_pin methods", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 155, "deletions": 7}}, {"node": {"oid": "abc2b426c86bc5e6720864fd4b11a48893480a53", "messageHeadline": "Merge #113: Use updated upstream things", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 38, "deletions": 7}}, {"node": {"oid": "5ea8831d55cfa446a0ebac5ec0fd52c136d8cef2", "messageHeadline": "Document Keepkey emulator build instructions", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 34, "deletions": 0}}, {"node": {"oid": "af5290820630633de8961db12575bede0fb35bce", "messageHeadline": "Use Digital Bitbox's repo for simulator", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "64ebad3db33e4113a28432e2c5ebf3df1a09ed83", "messageHeadline": "Use keepkey from PyPi", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 5}}, {"node": {"oid": "bd57b8fdd86302dd1eeb47cde2a8c594cb5faf3d", "messageHeadline": "Merge #93: Refactor to actually be useful as a library", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 208, "deletions": 175}}, {"node": {"oid": "8e4b3fc1bba181d2976220c2904874c8250c97da", "messageHeadline": "Add executable script to setup.py and bump version number", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 1}}, {"node": {"oid": "2ddd4ed41afc28f4c41f4b1cf7e0be1601304c8b", "messageHeadline": "Refactor to make hwilib more like a library", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 202, "deletions": 174}}, {"node": {"oid": "edc393e2f38e1a8a576a45c7ebc8242a1026bc48", "messageHeadline": "Merge #108: Move prompts to stderr", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 3}}, {"node": {"oid": "65d64cdf1058064a1a83ec8e1dbea4edae8705b7", "messageHeadline": "Merge #107: Ledger firmware doesn't support mixed input types during \u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "653592c242985de3f4338995df4f792cf54f0c77", "messageHeadline": "Move prompts to stderr", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 3}}, {"node": {"oid": "8b9d0685b7f7e1795c20f50d9815ff7cc87bdab9", "messageHeadline": "Ledger firmware doesn't support mixed input types during signing pass", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "486d2fa36753724f89d479920d2ad7e0a9214ee0", "messageHeadline": "Merge #105: Automated tests for Digital Bitbox", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 153, "deletions": 40}}, {"node": {"oid": "0b870d8673276e246699f7b4d2aa008a017b5e2a", "messageHeadline": "Document how to build the simulator", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 27, "deletions": 0}}, {"node": {"oid": "8f1dff2f04412eb5ddc8e65610a0c5e26a7cc04d", "messageHeadline": "Change Digital Bitbox test to use simulator", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 46, "deletions": 28}}, {"node": {"oid": "07c97716e75c5b433a0e6c2e4f133369ec371fb6", "messageHeadline": "Build digital bitbox simulator in setup_environment.sh", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 30, "deletions": 0}}, {"node": {"oid": "814d02db505b5dc9ec3bcb77683f804da0846d3d", "messageHeadline": "Implement support for communicating with a dbb simulator", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 50, "deletions": 12}}, {"node": {"oid": "7e715273c50550c4065767acb7d3c75772d4f4e0", "messageHeadline": "Merge #104: Update digital bitbox encryption scheme for firmware v5 a\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 45, "deletions": 17}}, {"node": {"oid": "7b9c137e60d8c3891105c9a431a3ce7f7c9c1a9e", "messageHeadline": "Fix der serialization bug", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "566645d6a9009ccda2b37f24f4b9033827838c86", "messageHeadline": "Merge #106: More verbose test output indicating which tests for which\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 24, "deletions": 6}}, {"node": {"oid": "b404a5050d533877eda66be51c63caef5cbcedff", "messageHeadline": "Include the device type in test case output", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 18, "deletions": 0}}, {"node": {"oid": "a0fa20888a761f85da590460942f28a13bc5ad1a", "messageHeadline": "Show full test case names in output", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 6}}, {"node": {"oid": "1645b85f609324e0c013fb74b7eecac961f1b3bb", "messageHeadline": "Merge #102: Finalize implementation of keepkey and add automated test\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 599, "deletions": 203}}, {"node": {"oid": "8ddf434489d75226f440a9d772d4bba829c5afff", "messageHeadline": "Refactor tests to optionally have emulator start and stop for each test", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 199, "deletions": 114}}, {"node": {"oid": "a3f31aae60506670d2affb6f5aa47e2c09cd5f80", "messageHeadline": "Add keepkey automated test", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 115, "deletions": 3}}, {"node": {"oid": "b7f5288babfa3528dba47495522ecaf2e7414be8", "messageHeadline": "Use DebugLink for Keepkey UDPTransport", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 1}}, {"node": {"oid": "8d53b7da64db0d5c12a4aa093946a44a45e74a09", "messageHeadline": "Build keepkey emulator in setup_environment", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 41, "deletions": 1}}, {"node": {"oid": "113bbe9cc3c87edea43b55d93933026ecc175eb7", "messageHeadline": "Enumerate the keepkey emulator", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 31, "deletions": 4}}, {"node": {"oid": "50e72ade35f92d55e32784f640676600b0ab3304", "messageHeadline": "Update documentation for keepkey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 21, "deletions": 15}}, {"node": {"oid": "685759377d04dd4fccf34f072f1c9fda621fe6ff", "messageHeadline": "Implement multisig input signing and fixes to signtx for keepkey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 206, "deletions": 104}}, {"node": {"oid": "9d6949d1b09181f98f5ddd57b3e8cf7570582250", "messageHeadline": "Implement displayaddress for keepkey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 1}}, {"node": {"oid": "80873f9fedd990930f56cd5097943ac12ba7b2fe", "messageHeadline": "Implement signmessage for keepkey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 1}}, {"node": {"oid": "bf67fc61cee33446e3be6e3d8aa95a40963db3bd", "messageHeadline": "Use keepkey 6.0.1 from keepkey/python-keepkey repo", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 3}}, {"node": {"oid": "de4ff1e0fecd31eb9a4c5c06c80456d20139e94e", "messageHeadline": "Update digital bitbox encryption scheme for firmware v5", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 43, "deletions": 15}}, {"node": {"oid": "3578ecaee580920d62f2a636cb5d63b1f0c72c5d", "messageHeadline": "Merge #96: Bitbox test", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 64, "deletions": 11}}, {"node": {"oid": "2ecb0f0c9eb3fbc4767319b2da4181bba5f0b975", "messageHeadline": "Merge #103: Ensure that a bogus signature will always be created for \u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 2}}, {"node": {"oid": "c54bc333810de679a1a515030978c0bb3cd223b3", "messageHeadline": "Ensure that a bogus signature will always be created for ignored inputs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 2}}, {"node": {"oid": "3e8073c1231c91576186c88e852551371a10e412", "messageHeadline": "Merge #99: Test signtx with unknown inputs by wiping master fingerpri\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 62, "deletions": 4}}, {"node": {"oid": "0d6ad3a996eac31ff01cb50e4c65c17791ce9627", "messageHeadline": "Test signtx with unknown inputs by wiping master fingerprint and proc\u2026", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 62, "deletions": 4}}, {"node": {"oid": "41d3faedfd0a5f5117fb223ca35ab51da13af3b5", "messageHeadline": "Digital Bitbox manual tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 52, "deletions": 3}}, {"node": {"oid": "a834e13e1823f7e59519d2045ce7afe496987731", "messageHeadline": "Allow providing device passwords for manual tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 8}}, {"node": {"oid": "28cf2146d1128da733e86db141a9b06ae58a37aa", "messageHeadline": "Merge #89: Implement multisig and external input signing with Trezor \u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 215, "deletions": 129}}, {"node": {"oid": "d8d74ac2dcfc76ed2327a6731b338922f20234b2", "messageHeadline": "Enable multisig tests for Trezor", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "3b0429b7ece6f7fdeabe6cac9116c591173f0e46", "messageHeadline": "Go through the signing process multiple times so that multisigs are f\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 161, "deletions": 148}}, {"node": {"oid": "cde7dfef4186805cdc41df5f821b9baddd89a809", "messageHeadline": "Update documentation for Trezor", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 11, "deletions": 11}}, {"node": {"oid": "c5b5a919567f9d0e7daf10ef7c3ccb96a6eecd89", "messageHeadline": "Implement signmessage for Trezor", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 1}}, {"node": {"oid": "327f1e0122259d0a6e5ecb350b92dd6c11bb6467", "messageHeadline": "Have trezor ignore inputs it cannot sign rather than throwing an error", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 63, "deletions": 47}}, {"node": {"oid": "f2f8b5de932739233169a9fce175e650c768d5e8", "messageHeadline": "Implement multisig input signing for Trezor", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 57, "deletions": 3}}, {"node": {"oid": "b015a0f7a5449e4d81b5136c1e4812a7857ff567", "messageHeadline": "Merge #97: multisig test", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 44, "deletions": 6}}, {"node": {"oid": "68a4935c8803fa04801257ace34c6f07b03d57ac", "messageHeadline": "multisig test", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 44, "deletions": 6}}, {"node": {"oid": "2e5b9481729c0167ed3bb7967a08ab952fb837cf", "messageHeadline": "Merge #95: Ledger test", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 75, "deletions": 7}}, {"node": {"oid": "dd5533f28689c27b7691b5df4ae25b88e4a2e217", "messageHeadline": "Adapt signing test to support devices that can't do mixed input signing", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 20, "deletions": 6}}, {"node": {"oid": "08f1a94752974cec85ce1a4b8a7456c158bff9f4", "messageHeadline": "Add basic physical Ledger test with ./run_tests.py --ledger option.", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 55, "deletions": 1}}, {"node": {"oid": "811f1ef99a635fa1791ec5250610ede2b89a19ba", "messageHeadline": "Merge #94: Send the full amount of funds in TestSignTx to test all in\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 5}}, {"node": {"oid": "106c23128ba6e4ed98a71177a11522ae16cc9550", "messageHeadline": "Send the full amount of funds in TestSignTx to test all input types", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 7, "deletions": 5}}, {"node": {"oid": "7b4a7055f98206e205bc486f8964fd2f67187c98", "messageHeadline": "Merge #92: Fix broken tests and test failures", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 16, "deletions": 6}}, {"node": {"oid": "bdadd8e19e27fcbe07fec445995654851b9c0b0c", "messageHeadline": "Coldcard: send keypresses to the simulator for user input things", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 3}}, {"node": {"oid": "942969cfb701d9fea5f3d02aa11c1f273de64e9e", "messageHeadline": "Ensure RPC is available for each test case", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "47c3951eb49ac504db7243657b108f1eff76d562", "messageHeadline": "Install all necessary libraries correctly", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 2}}, {"node": {"oid": "0f6081ffd3a328768e674cc52cfa46a607f1cc9e", "messageHeadline": "Return correct error code from tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 1}}, {"node": {"oid": "28dd8ce59c8eb889f66127ea40940e65321f5344", "messageHeadline": "Merge #87: Implement signmessage for Coldcard to complete its impleme\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 39, "deletions": 6}}, {"node": {"oid": "f3dcf95548bbec4a0915366379b8b27ef3bb5284", "messageHeadline": "Update Coldcard docs for signmessage", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 3}}, {"node": {"oid": "14a1345ad11dac5a42773618863b62d93e1b1b0f", "messageHeadline": "Implement signmessage for the Coldcard with a simple test", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 35, "deletions": 3}}, {"node": {"oid": "cd0dd7d529f831d7a784b8296634e7474b8be98d", "messageHeadline": "Merge #84: Implement displayaddress for Coldcard and Digital BitBox a\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 35, "deletions": 14}}, {"node": {"oid": "1d0d26dae7eb2698113788ec5cadf63f4ddaaadb", "messageHeadline": "Always do check_mitm()", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "0c6de407ffc4702f2391ddbff0be3fe3de44508c", "messageHeadline": "Update documentation to reflect displayaddress implementations", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 1}}, {"node": {"oid": "a5b416a209c52d1da285174b6fc1309be7484601", "messageHeadline": "Return the address being displayed in displayaddress", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 3}}, {"node": {"oid": "a3fe8f234ee9c72b8e2fee4a5950954c580c6da4", "messageHeadline": "moveonly: fix trezor displayaddress indentation", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 8}}, {"node": {"oid": "33167ef2bc3ee28c536f2cbb0a962ba5710f3c2f", "messageHeadline": "Implement displayaddress for Digital Bitbox", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "b4a77a9aedbdffd0aab605609e9d94d5f6e00321", "messageHeadline": "Implement displayaddress for the Coldcard", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 13, "deletions": 3}}, {"node": {"oid": "2c22bdc6a479ff816813476aa7e2a393b9dffa5d", "messageHeadline": "Merge #82: Add and implement device setup, wipe, restore, and backup \u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 313, "deletions": 47}}, {"node": {"oid": "3d2e1f63d83bada8df02a060d6040f1727ee35e5", "messageHeadline": "Merge #88: add 'watchonly' field and set to true + docs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 8}}, {"node": {"oid": "e02e70416bf38c6af63dab03d5c87102d22b8d91", "messageHeadline": "fixup bitcoin-core-usage.md", "author": {"name": "fivepiece", "email": "fivepiece@users.noreply.github.com", "user": {"login": "fivepiece"}}, "additions": 8, "deletions": 8}}, {"node": {"oid": "2e1db92b9f46addd9b5977d140ddcbdaf1e612d6", "messageHeadline": "add 'watchonly' field and set to true", "author": {"name": "fivepiece", "email": "fivepiece@users.noreply.github.com", "user": {"login": "fivepiece"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "239e332c3e45889173d9c4edd18f288c27ba6a6f", "messageHeadline": "Merge #85: decode bytes to string before returning a dbb signmessage \u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "ecc09148d2d31e19ff612afc3bb64aa8a03e491c", "messageHeadline": "decode bytes to string before returning dbb sig", "author": {"name": "fivepiece", "email": "fivepiece@users.noreply.github.com", "user": {"login": "fivepiece"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "b88db6307596201feca6e88b9e3b94add3840572", "messageHeadline": "Update documentation", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 69, "deletions": 17}}, {"node": {"oid": "176e808fcc1c086fc6768d4b2428b64d2c4d57de", "messageHeadline": "Show \"Not Initialized\" for unintialized devices", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 18, "deletions": 6}}, {"node": {"oid": "88349f2717e98e474c27163967f72bfd2888d727", "messageHeadline": "Implement setup, wipe, restore, and backup for Keepkey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 14, "deletions": 5}}, {"node": {"oid": "cc3a6cae2d7bbf40634afce7d164d2fc61cecff2", "messageHeadline": "Implement setup, wipe, restore. and backup for Digital Bitbox", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 42, "deletions": 5}}, {"node": {"oid": "b9d179a41f27911897002463dbb07544d148567d", "messageHeadline": "Implement setup, wipe, restore, and backup for Trezor", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 7}}, {"node": {"oid": "6641c244f0336ad9c8fc93dfb6c19141e576865e", "messageHeadline": "Implement setup, wipe, restore, and backup for Coldcard with tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 42, "deletions": 5}}, {"node": {"oid": "ca17a85e7dd98a48ab35ed3298ef6d3587cd5bed", "messageHeadline": "Implement setup, wipe, restore, and backup commands for Ledger", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "0fd460853e0738b85bb6c9fe3bdf66aee6c9f537", "messageHeadline": "Add backup command and device class methods for backing up", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 37, "deletions": 0}}, {"node": {"oid": "22fff28b1ead33fddc5f138f7c696331a81f759c", "messageHeadline": "Add a restore command and device class restore method to devices", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 38, "deletions": 0}}, {"node": {"oid": "67236e926fde3e3ad6734947c1e66663f92ef278", "messageHeadline": "Add a wipe command", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 0}}, {"node": {"oid": "8a0d36ec0757495f6ac2e0621cd379f4ff62fc6a", "messageHeadline": "Add setup command and update device class methods with arguments", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 32, "deletions": 7}}, {"node": {"oid": "99b0e99e09f5a6a30aa29e77f8f3b73e7be1ca4a", "messageHeadline": "Merge #63: Improvements to handling device passwords", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 16, "deletions": 7}}, {"node": {"oid": "0125d8fba23b5115e5a12866da2d52454b0f59a6", "messageHeadline": "Merge #81: Handle Exceptions correctly", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 49, "deletions": 37}}, {"node": {"oid": "b9bde5a833fc51160b71067381098c69e3fb0126", "messageHeadline": "Use device and command specific NotImplementedError messages", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 14, "deletions": 28}}, {"node": {"oid": "775be00eedd933e3eebe0cabf733be3976023401", "messageHeadline": "fix incorrect returns for errors and add tests for those errors", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 15, "deletions": 2}}, {"node": {"oid": "2bc8f127193d30d5b8990ff333afd57a1b27a7cf", "messageHeadline": "Handle NotImplementedErrors properly", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 20, "deletions": 7}}, {"node": {"oid": "e27ab2df61f5b7b118ea407802e7977744393f5c", "messageHeadline": "Merge #79: Change tests to use unittest and some bug fixes as a resul\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 395, "deletions": 537}}, {"node": {"oid": "3be6e2f0d70686a394b5736a5c5ee3bc2817edaf", "messageHeadline": "Change run_tests.py to use unittest", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 18, "deletions": 7}}, {"node": {"oid": "c3fe4f19f87465f2dbdd1c17fa65f92a86becebf", "messageHeadline": "Change coldcard test to use unittest and generic device tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 37, "deletions": 240}}, {"node": {"oid": "2426057ec9e5895e69c41627198be5e748ed6521", "messageHeadline": "trezor: fix output list in prevtxs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "6afaf058470b9f68bcf4aa6a1fc1f4fa0b69b294", "messageHeadline": "Change trezor_test.py to use unittest and generic device tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 85, "deletions": 261}}, {"node": {"oid": "c661d487c28eb6e912c764c55a0d0644f541b75d", "messageHeadline": "Add generic testcase classes for each device to run", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 226, "deletions": 0}}, {"node": {"oid": "4a5f305e4f0fd00d4bb89166e4458e8d6b41d19b", "messageHeadline": "Check for the end of the buffer when deser psbt inputs and outputs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 0}}, {"node": {"oid": "00ce2a21666d0091e8bc84e354cc4cf9d72b30e6", "messageHeadline": "Change test_psbt.py to use unittest", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 23, "deletions": 28}}, {"node": {"oid": "498dbb982572dfc166f0b4b5a224fdcbb5e31ec2", "messageHeadline": "Merge #80: Set Python version for PyEnv", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "9d22f15ec8d4043f8e9a9969b6b4689aed2f8c3a", "messageHeadline": "Merge #71: Trezor: displayaddress", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 16, "deletions": 2}}, {"node": {"oid": "1e7ac4015d0163675d96057280fb1aa49dfdcebb", "messageHeadline": "Trezor: add displayaddress support", "author": {"name": "Sjors Provoost", "email": "sjors@sprovoost.nl", "user": {"login": "Sjors"}}, "additions": 16, "deletions": 2}}, {"node": {"oid": "a508077da17a896fffb42f9763255a87a63619cf", "messageHeadline": "Set Python version for PyEnv", "author": {"name": "Sjors Provoost", "email": "sjors@sprovoost.nl", "user": {"login": "Sjors"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "e395eb501b467d5e7a9f3463a1b25da967cf71e2", "messageHeadline": "Default password is empty string, not None", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 8}}, {"node": {"oid": "0fc8f4086e3fe757e1ddafca0ad0856c719ccc21", "messageHeadline": "Keep passphrase for Trezor", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 0}}, {"node": {"oid": "d9f30d0d4c875b5b57ee0450af5d321817715353", "messageHeadline": "Add option to enter the password on stdin", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 7, "deletions": 0}}, {"node": {"oid": "1d6d7ed303041248629ae2cec56881cd04aebf46", "messageHeadline": "Merge #78: Fixes to work with updated hww and trezor library", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 3}}, {"node": {"oid": "6b5d2b9072b9916022ac1e9683fc8e17ad234670", "messageHeadline": "prevtxs are keyed by bytes, not hex represntation of hash", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 1}}, {"node": {"oid": "1179259ccf2ea853a2dbd51fc671faee48496432", "messageHeadline": "Specify trezor ui in order to get passwords", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "913dd776a8872266101ebb90b4cf126c0e0b3ec5", "messageHeadline": "Change range from array to object", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "40e223e9025dfde2e1cb9b8c72c84b3829c98e07", "messageHeadline": "Merge #77: travis: Hard reset when hww changes", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "208e906a48db100591f06c278d9b6ec5d96e526f", "messageHeadline": "Hard reset when hww changes", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "92af26c6c32bb6e781b0bde261705c80b35c59f8", "messageHeadline": "Merge #75: Fix trezor implementation to work with python-trezor 0.11.0", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 40, "deletions": 53}}, {"node": {"oid": "3e6f872367895dff19d64d1ba06c646813584518", "messageHeadline": "set minimum trezor library version", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "63e0b8d12771cfed73eb80c1f97fd52db427ca42", "messageHeadline": "Update trezor to work with python trezor 0.11.0", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 39, "deletions": 52}}, {"node": {"oid": "839c3f60b5c1efcfd8cf486a2f0f3dfa0e7c830f", "messageHeadline": "Merge #69: Tests for Trezor and Coldcard implementations and enable T\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 973, "deletions": 65}}, {"node": {"oid": "fd19704686f4f3898a661d77c35a0f8f9e712f40", "messageHeadline": "Travis config", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 55, "deletions": 0}}, {"node": {"oid": "ced308796c329cf6f5d2255445f3b3fa70ef64ac", "messageHeadline": "Document tests and how to run them", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 102, "deletions": 0}}, {"node": {"oid": "ddcf842e5953fccd3aab254b5e78bca208468785", "messageHeadline": "extra for tests dependencies", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 1}}, {"node": {"oid": "8aa047104ac80fe5f54b4ceb44eff34231922da1", "messageHeadline": "Add scripts to run tests and prepare test environments", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 164, "deletions": 0}}, {"node": {"oid": "993b6e8200134221632647f23459e274afcda9b0", "messageHeadline": "Update test_bech32.py shebang", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "a277ac2afd01dbfd1e66b4252a74138ffce976fa", "messageHeadline": "Fix psbt serializations to always be consistent", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 6}}, {"node": {"oid": "d01cbae2b044c31c0997a11438171b2f723a9d4a", "messageHeadline": "Add tests for Coldcard using Coldcard simulator", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 299, "deletions": 0}}, {"node": {"oid": "22724282368e1f08618a929d6a168fb3ad39c5c7", "messageHeadline": "Add tests for trezor using the emulator", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 332, "deletions": 0}}, {"node": {"oid": "ccd5f2ae1ff55016e27028713c1c125851175cce", "messageHeadline": "Use the DebugLink for the Trezor emulator in order to have tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 1}}, {"node": {"oid": "64816cbd80fdddddca28638669db0a4eaa9f3dc9", "messageHeadline": "Remove unneeded BIP 32 test", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 56}}, {"node": {"oid": "68d403882c04a979893677ade7f6577a99cbcc79", "messageHeadline": "Merge #70: Increase default logging level to warning", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "3ca13ff68b675ee0e2ca07a071dbc720ab639588", "messageHeadline": "Merge #66: Move device enumeration to device specific drivers and loa\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 212, "deletions": 144}}, {"node": {"oid": "fdafeb004cb1a844d6c7be89c8b558bdee4b5346", "messageHeadline": "Increase default logging level to warning", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "bd6cb42b01c054ab19c66f51aefe7b7f012d5e80", "messageHeadline": "Merge #68: more explanation of which device finding options do what", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "5622a5582421c79a22063535001b28df8da8ae7b", "messageHeadline": "Merge #67: s/getkeypol/getkeypool/g", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 10}}, {"node": {"oid": "e86669cf31a0fb0dc2b55ea6858578756ce743ef", "messageHeadline": "Remove unnecessary device_ids.py", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 29}}, {"node": {"oid": "64c19531e11f0665473a1bc7d9f44b30cbc00811", "messageHeadline": "Enumerate devices and get client without hardcoding device modules", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 24, "deletions": 25}}, {"node": {"oid": "15b8cbde03646f0a334f8613028370b1a552b2be", "messageHeadline": "Rename classes to fit pattern of first uppercase letter, then lowercase", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 13, "deletions": 13}}, {"node": {"oid": "ce2fd26f054e0734bb1343f598f035326cbb4d15", "messageHeadline": "Move device enumeration to device specific code", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 157, "deletions": 55}}, {"node": {"oid": "c625e0313fd5403a4ab144ff5435164ae3cb2f09", "messageHeadline": "Unify device client constructor to path and password", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 35, "deletions": 39}}, {"node": {"oid": "1c334c5cc9b1820097a2f0c8590054cbd9adbdf1", "messageHeadline": "Move device specific things to devices sub folder", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 27, "deletions": 27}}, {"node": {"oid": "0d03c184df2f5c1a212e4b313ef98e1f724941a6", "messageHeadline": "more explanation of which device finding options do what", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "2e9c4f0da80b66493f933d9b6c1f9e4ae3ecde49", "messageHeadline": "s/getkeypol/getkeypool/g", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 10, "deletions": 10}}, {"node": {"oid": "ef591751010fdcd91db4cdb4c9b205a370af35e6", "messageHeadline": "Merge #64: Update bitcoin-core-usage.md", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 5}}, {"node": {"oid": "2c33a45c08a764bf7d298ebe3498c2481cde310b", "messageHeadline": "Merge #65: dont use Ledger's getDongle, to use properly specified dev\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 5}}, {"node": {"oid": "f45b8e7119ec276c6bafc90df4e2c2e9f18ffd5e", "messageHeadline": "ignore keyboard HID for ledger", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 4, "deletions": 2}}, {"node": {"oid": "efef30fe466304b16a7370820a4fdaf9caa0237a", "messageHeadline": "dont use Ledger's getDongle, to use properly specified device path", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 2, "deletions": 3}}, {"node": {"oid": "e36d4b2644dff1ebfcd38c7ef0286a708ac0d845", "messageHeadline": "Update bitcoin-core-usage.md", "author": {"name": "Riccardo Casatta", "email": "RCasatta@users.noreply.github.com", "user": {"login": "RCasatta"}}, "additions": 2, "deletions": 5}}, {"node": {"oid": "1f72ea341e39ae5319382ebb70875bc4da127932", "messageHeadline": "Merge #62: Fix client creation bugs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 22, "deletions": 10}}, {"node": {"oid": "ecacce756fecfabe6357b7fce31170678b6e9bff", "messageHeadline": "Only error when no fingerprint AND no device type", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 22, "deletions": 10}}, {"node": {"oid": "6b4d30ec9b1369749648a2a4918c6100343e0b7e", "messageHeadline": "Merge #58: rename options to desctiptor-matching ones", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 20, "deletions": 20}}, {"node": {"oid": "26c57b33234b415a30911d792e65227c782620e8", "messageHeadline": "rename options to desctiptor-matching ones", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 20, "deletions": 20}}, {"node": {"oid": "d08dd6228ff7d80f8f0c70eb5fbf4a7f4817f485", "messageHeadline": "Merge #60: nested p2sh is a witness pubkey hash descriptor", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "8dfe3d3bebf4183c9ad60889e4688975f361211d", "messageHeadline": "nested p2sh is a witness pubkey hash descriptor", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "450e5d6ef1e6d753222d80a2f175d52b5038c956", "messageHeadline": "Merge #56: update and add error for mixing address type options", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 1}}, {"node": {"oid": "aaaad38aeb912a7298fdef5d722d06e9e32b5446", "messageHeadline": "Merge #50: Add documentation for using HWI with Bitcoin Core", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 313, "deletions": 0}}, {"node": {"oid": "b10bfe6680205df55a3670db44e9bad7d07f84d0", "messageHeadline": "Merge #52: Check for lack of command given before other logic", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "c1b1e0810633313fdd3f88068ed0162192c14139", "messageHeadline": "Add documentation for using HWI with Bitcoin Core", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 313, "deletions": 0}}, {"node": {"oid": "8f3edf38de42f7bcd6023717c736e446239b9f8e", "messageHeadline": "update and add error for mixing address type options", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 4, "deletions": 1}}, {"node": {"oid": "76bfcd587e386de4473b7207db8be48abdd1c0f1", "messageHeadline": "Fix the check for lack of command given", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "b19efb5a8dc94521610fafacb7c7900bf18d90cd", "messageHeadline": "Merge #47: Use importmulti descriptor support", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 71, "deletions": 110}}, {"node": {"oid": "44b4496dcd7b383b3cfe24c73b9ed9948053bb4e", "messageHeadline": "Use smart defaults for BIP43 paths", "author": {"name": "Sjors Provoost", "email": "sjors@sprovoost.nl", "user": {"login": "Sjors"}}, "additions": 51, "deletions": 13}}, {"node": {"oid": "a3cdd53ddaab86cf9b7cb12f73bc99a081b450a6", "messageHeadline": "Use importmulti descriptor support", "author": {"name": "Sjors Provoost", "email": "sjors@sprovoost.nl", "user": {"login": "Sjors"}}, "additions": 31, "deletions": 108}}, {"node": {"oid": "d91dfa7f204a1140c38a7de02e20a51f227baff9", "messageHeadline": "Merge #41: HWI Examples: Updates, typos and simplification", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 30, "deletions": 38}}, {"node": {"oid": "621d2bfffdd3e2aba3a6b30f896316450e72ab3a", "messageHeadline": "Examples: Typos and simplification", "author": {"name": "Jonathan Cross", "email": "jcross@gmail.com", "user": {"login": "jonathancross"}}, "additions": 30, "deletions": 38}}, {"node": {"oid": "fba5d1fae24c485010f42c11388b39a13b5ee458", "messageHeadline": "Merge #45: Allow only device type to be passed, successful enumerated\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 11, "deletions": 8}}, {"node": {"oid": "786a4bc3641ebf0099a35666dc02b25574647278", "messageHeadline": "Allow only device type to be passed, successful enumerated device used", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 11, "deletions": 8}}, {"node": {"oid": "099cf4c70b3234f8b4d31e6152e729a61a6b4014", "messageHeadline": "Merge #44: Couple of Bug fixes", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 8}}, {"node": {"oid": "4ecf7e2879b2f4b08c628e642b449a1a929f42f3", "messageHeadline": "Fix find_devices", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "34ccb8b8ee017612b6c7b17fbd563709c4d76ec2", "messageHeadline": "remove bip32utils from readme", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 1}}, {"node": {"oid": "765a9a89ecde9d900e17898517fcc05e82265796", "messageHeadline": "Install pyaes in setup", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "8d7dfc91e3e3c53e51e8d04b60b1d0c645cca4b3", "messageHeadline": "Make tests run", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "8fcf6a6b2d3cf3a5d047aeb37d7e15ce0620ca27", "messageHeadline": "Merge #43: Allow specifying a password in enumerate", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "50846eab6f87973c916a536b4f8f338b2dfb25d2", "messageHeadline": "Merge #42: Replace bip32utils with our own BIP 32 public derivation", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 149, "deletions": 12}}, {"node": {"oid": "2c2d1b49ac01f827b522a5ad24728f5754e2b02f", "messageHeadline": "Replace bip32utils with own bip32 public derivation", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 9}}, {"node": {"oid": "e77c5392d439f40daf11dd027f5492a7e213ca04", "messageHeadline": "Add pubkey_to_address", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 3}}, {"node": {"oid": "22f9e318f5908c1a71e988f0f670b8ec432b9f9a", "messageHeadline": "Implement BIP 32 public derivation and a test for it", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 135, "deletions": 0}}, {"node": {"oid": "f2a29519d90d7224c2471aa99a58352b493b64e2", "messageHeadline": "Allow specifying a password in enumerate", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 3}}, {"node": {"oid": "0ab0a5c2d10f4f7cc8746a60aa51fdbdb830f051", "messageHeadline": "Merge #40: Bitbox fixes", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 10, "deletions": 5}}, {"node": {"oid": "7e5da20c092066c58650241f48ee8389f0f61dc1", "messageHeadline": "bitbox: return early if no keypaths are given instead of throwing error", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 4, "deletions": 0}}, {"node": {"oid": "adce8ddaa266f2d1a64273437d3a43f5fded4d53", "messageHeadline": "OP_0 isn't a thing", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "f98f93828d858dce6dcddf895813d3a84410aaa2", "messageHeadline": "signtx: fix handling of get_pubkey_at_path results for bitbox", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "d8882422e4d71dace525d9d6d036487a0fbdb2eb", "messageHeadline": "bitbox json needs to be converted to string before json.loads", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "147af717ca8b62dc0400ca00f73b395a3d9b6cd8", "messageHeadline": "fix bitbox password handling in commands.y", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "5f4bf3ae420c75873ac2ba04edf63c9b7c83c369", "messageHeadline": "bitbox needs pyaes", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "4f304d4e311605e497bd2a6a868b83175f6450e3", "messageHeadline": "Merge #37: Report devices that return an error during enumeration", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 10}}, {"node": {"oid": "92cc16a407d9930ef27db0596efe2f95b7ccbc45", "messageHeadline": "find_devices should catch and ignore errors in getting a client", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 9, "deletions": 6}}, {"node": {"oid": "ff256d53160fe808222eef479d465fba2aee28e7", "messageHeadline": "Report devices that return an error during enumeration", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 8, "deletions": 4}}, {"node": {"oid": "5b829922e3ce23d4fd98d81ddf4126d07e8c6502", "messageHeadline": "Merge #35: Corrected some errors. Also a new more compact structure", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 48, "deletions": 56}}, {"node": {"oid": "8b3a52e74d888416a5c6227dea7fd9ddcc6fca5e", "messageHeadline": "Merge #29: Autodetect clients based on their master public key finger\u2026", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 80, "deletions": 44}}, {"node": {"oid": "21e4122636497e46a8d5d16c3ee01b25a5238aa8", "messageHeadline": "Added \"Bitcoin Core\", formatting and typos corrected.", "author": {"name": "Gabriele Domenichini", "email": "gabridome@fastmail.fm", "user": {"login": "gabridome"}}, "additions": 13, "deletions": 12}}, {"node": {"oid": "b535494b6436aa0c7fc8c703677778af249770e5", "messageHeadline": "Merge branch 'master' of https://github.com/achow101/HWI", "author": {"name": "Gabriele Domenichini", "email": "gabridome@fastmail.fm", "user": {"login": "gabridome"}}, "additions": 23, "deletions": 16}}, {"node": {"oid": "e76c8220c870851737946c35b871607aee9dd33f", "messageHeadline": "Merge #34: Some fixes and cleanup for the digital bitbox", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 7}}, {"node": {"oid": "c21c040ddc51cee7b1a937bba6916c39654f95f7", "messageHeadline": "Fix coldcard so that it initializes its parent class too.", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 0}}, {"node": {"oid": "60c67673dcc8d203e707b7d9b381b3d2c437791b", "messageHeadline": "Fix ifs and proper returns", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 1}}, {"node": {"oid": "0391962b6eae5b4ca04694a7fc9b66e9a5e32d1d", "messageHeadline": "Fetch the fingerprint as hex", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 9, "deletions": 3}}, {"node": {"oid": "47b87dafbf3475860ad29bdb7a9780b0f4ba0aec", "messageHeadline": "Move client testnet setting to outside of client fetch", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "5d693862fd8c873d21dba66a9ab5872680343b2f", "messageHeadline": "refactor enumerate and add master fingerprint to its results", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 16, "deletions": 10}}, {"node": {"oid": "c202cb7001347167dd6bd2442972a8e252e13a54", "messageHeadline": "Add an option to specify a master fingerprint to auto-find the device", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 20, "deletions": 5}}, {"node": {"oid": "4f6db30a99e52f68a2e4b7e3de344910231586c8", "messageHeadline": "refactor client fetching to its own function", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 35, "deletions": 30}}, {"node": {"oid": "731bc75a006e71eb65f875e694746390f51819e8", "messageHeadline": "Merge #33: Implement a debug mode and debug logging", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 15, "deletions": 9}}, {"node": {"oid": "9f7c71c2159f70b5ff0a315310cbd95f9866d81a", "messageHeadline": "Merge branch 'master' into master", "author": {"name": "gabridome", "email": "gabridome@users.noreply.github.com", "user": {"login": "gabridome"}}, "additions": 3, "deletions": 7}}, {"node": {"oid": "6589a95a4cfad6a7bf0d8c86137119214f1f112d", "messageHeadline": "Errors corrected, repetitions reduced", "author": {"name": "Gabriele Domenichini", "email": "gabridome@fastmail.fm", "user": {"login": "gabridome"}}, "additions": 48, "deletions": 53}}, {"node": {"oid": "35c8d2e9abdf7d42ef74f372712337dd6dd3cc83", "messageHeadline": "Extracting xpubs from hwww and using them with Bitcoin Core", "author": {"name": "Gabriele Domenichini", "email": "gabridome@fastmail.fm", "user": {"login": "gabridome"}}, "additions": 153, "deletions": 0}}, {"node": {"oid": "48228bde3e7da081cce63841dfff357ea90494ce", "messageHeadline": "Proper return values and typo fixes for Digital Bitbox", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 7}}, {"node": {"oid": "7bfd11f41a2dc0823e178a1ed58c7d0585fcaad5", "messageHeadline": "Turn debug prints into logging.debug", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 8}}, {"node": {"oid": "5bb49e50629ba2737a4f8fddce65c90ff4d38195", "messageHeadline": "Only have ledger debug statements when debug is enabled", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 1}}, {"node": {"oid": "e5d302b55bc5923ba83d8abfe0ce663e6bf9bf94", "messageHeadline": "Add debug option and setup a debug logger", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 0}}, {"node": {"oid": "7a4e4349ecdb551f08b4f97e54125687124d2be6", "messageHeadline": "Merge #32: Extracting xpubs from hww and using them with Bitcoin Core", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 153, "deletions": 0}}, {"node": {"oid": "5c29bedc07b2cf8a65a6bcc39023d850e0606680", "messageHeadline": "Extracting xpubs from hwww and using them with Bitcoin Core", "author": {"name": "Gabriele Domenichini", "email": "gabridome@fastmail.fm", "user": {"login": "gabridome"}}, "additions": 153, "deletions": 0}}, {"node": {"oid": "c9b2e2cd447c5c1815193216fe2b905138bab39a", "messageHeadline": "Merge #30: Included the clone part", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 0}}, {"node": {"oid": "416cc5d94da890d4873be1390701184171f7ce5a", "messageHeadline": "Included the clone part", "author": {"name": "gabridome", "email": "gabridome@users.noreply.github.com", "user": {"login": "gabridome"}}, "additions": 6, "deletions": 0}}, {"node": {"oid": "cb785ba5d638a418eac5e511c6198836b09c38c5", "messageHeadline": "Merge #28: Have the hardwarewalletclient handle device closing", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 31, "deletions": 6}}, {"node": {"oid": "9c91e6ad56cc8495e8e3d2794876d91bdf17381a", "messageHeadline": "Merge #27: display address functionality", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 35, "deletions": 0}}, {"node": {"oid": "6c371d65c2d3a744d361bfdb541a2e40fc25025a", "messageHeadline": "display address functionality", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 35, "deletions": 0}}, {"node": {"oid": "bf51b0fbecb727fe432fd8083d3a4caf60783dca", "messageHeadline": "Fix trezor", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "e7bd54912a8db181d7c0ee501241d339716af0ca", "messageHeadline": "Move ledger device closing to it's constructor", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 2}}, {"node": {"oid": "58b2b7183b287636ffd044c517e0fd2efd9f9e06", "messageHeadline": "Add close method to the HardwareWalletClient.", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 28, "deletions": 3}}, {"node": {"oid": "d899cc88c1eeca4e8dc831022e8ff13b035d31ac", "messageHeadline": "Merge #26: Make this more friendly to use as a library", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 310, "deletions": 289}}, {"node": {"oid": "2bf0a8ee1ca6d49cc721a5e5c5857916657a8ae7", "messageHeadline": "Add a setup.py for installing the lib", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 33, "deletions": 0}}, {"node": {"oid": "0df47a68f042510451d584b6280e902825a99d8a", "messageHeadline": "Move tests to test subdir", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 0}}, {"node": {"oid": "48afe2b79febb50bc254976b5dfb74a1aec9337d", "messageHeadline": "Move scripts into a lib subdirectory", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 65, "deletions": 33}}, {"node": {"oid": "de6e62a1e1af5ecc53c5aa4f61cb18fb1c0a8c0e", "messageHeadline": "Move commands to commands.py and just make hwi.py a runner", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 203, "deletions": 237}}, {"node": {"oid": "8531fc4fbed702a6d278ca77a622bd5a1c33a98c", "messageHeadline": "Make functions return the result and have main print it", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 33, "deletions": 43}}, {"node": {"oid": "7645d022affdf2d20ec09a3f4aaaf2dd29cabac5", "messageHeadline": "Merge #25: fix ledger signmessage command for python3", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 4}}, {"node": {"oid": "4b3272a764eaafa1c22fe6f1e34845047efca425", "messageHeadline": "Merge #24: Derive the keypool locally except for the parent key", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 3}}, {"node": {"oid": "09d95b97e1c06e4e62338323760e6cc61ca84727", "messageHeadline": "Merge #23: getkeypool 'keypool' optional param for import to keypool", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 0}}, {"node": {"oid": "b2508721be70fd33f2932a459145236fe1578cd7", "messageHeadline": "fix ledger signmessage command for python3", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 3, "deletions": 4}}, {"node": {"oid": "d6b9bacb96983c86fab8ef551099daa42487a8d4", "messageHeadline": "Derive the keypool locally except for the parent key", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 3}}, {"node": {"oid": "95aa3b0e59e75061ab32c08ead5815200f6d3921", "messageHeadline": "getkeypool 'keypool' optional param for import to keypool", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 3, "deletions": 0}}, {"node": {"oid": "6b3ce5954d0eb0c90f140b70415e92c347f7a30d", "messageHeadline": "Merge #22: Fix getmasterxpub and getxpub command parsing", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "a938542a766c8dda77fd01d43b99d0a968b6afa5", "messageHeadline": "Fix getmasterxpub and getxpub command parsing", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "ea4a6702ad9e97a948c606b585095ed1775a713d", "messageHeadline": "Merge #21: Pass arguments explicilty to process_command", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 3}}, {"node": {"oid": "650b29459c5434c89aa7c19d21aa2335fb77ffb0", "messageHeadline": "pass arguments to process_command", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 3}}, {"node": {"oid": "6a2a2874ec823a6cf7e7dda14022d7a08b5c8923", "messageHeadline": "Merge #20: Refactor help and argument parsing to use argparse subparsers", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 85, "deletions": 67}}, {"node": {"oid": "87d570e4f48e79fb2045b756704db0b396a7d2ab", "messageHeadline": "Refactor help and argument parsing to use argparse subparsers", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 85, "deletions": 67}}, {"node": {"oid": "773de985f936a3e54ba6745d4f4e31881333fcde", "messageHeadline": "Merge #16: Coldcard implementation", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 136, "deletions": 18}}, {"node": {"oid": "398427ea70f13e8d4ce428a5ad811228429c36a7", "messageHeadline": "Update coldcard docs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 23, "deletions": 16}}, {"node": {"oid": "3df9a7bd8346e8b165da8a15e84666c6dcbddad3", "messageHeadline": "Implement sign_tx for coldcard", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 53, "deletions": 4}}, {"node": {"oid": "f5e59d31dcc082ed75e2d9c076551f39810faad5", "messageHeadline": "Add coldcard implementation file and get_pubkey_at_path() implemented", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 52, "deletions": 0}}, {"node": {"oid": "eae8106b8d1676743c47eb15f76f5598ed360f23", "messageHeadline": "Add ColdCard device ids and make it enumerable", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 12, "deletions": 2}}, {"node": {"oid": "f1698a548ac4784049b26f8c5542d80751cdf275", "messageHeadline": "Merge #19: add internal arg to getkeypool", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 1}}, {"node": {"oid": "267f8754e5d040e3fb31c69988e155266d92a189", "messageHeadline": "Merge #17: Fill out some Ledger Nano S supported feature table elements", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 8}}, {"node": {"oid": "fea5e72d2f99bec9e497ec50a72c29d4e3841719", "messageHeadline": "add internal arg to getkeypool", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 4, "deletions": 1}}, {"node": {"oid": "b13a7f6deb0849c12c682c18e578efa686b62376", "messageHeadline": "Fill out some Ledger Nano S supported feature table elements", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 8, "deletions": 8}}, {"node": {"oid": "e6fe29a6bf9dff5e986e5b996dd15a707dc116bd", "messageHeadline": "Merge #15: Add documentation for feature support, usage, and caveats", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 121, "deletions": 2}}, {"node": {"oid": "ba96a47650b5f1b8b0224d1f9085da4c162c2581", "messageHeadline": "Add usage documentation", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 33, "deletions": 2}}, {"node": {"oid": "740492273cf7466de498096c7df1fc1b9c008298", "messageHeadline": "Add device specifc docs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 60, "deletions": 0}}, {"node": {"oid": "86b8c15fc77681e84d03c762abbbb44141a7b778", "messageHeadline": "Merge #14: properly indicate first signing step for legacy signing", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 3, "deletions": 1}}, {"node": {"oid": "4e241f8dc9966fc8238c06611926858914f5e3d9", "messageHeadline": "Feature and device support matrix", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 28, "deletions": 0}}, {"node": {"oid": "76bdc66d9339df1176d1b3cc8fb94b3962489676", "messageHeadline": "properly indicate first signing step for legacy signing", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 3, "deletions": 1}}, {"node": {"oid": "fc083e510deaedcd42c8c8157cc912ea8d75958a", "messageHeadline": "Merge #13: Trezor and keepkey signtx support", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 483, "deletions": 65}}, {"node": {"oid": "af060f6737c80ebaa16e529df875303ce1835df1", "messageHeadline": "keepkey, trezor: sign when inputs from multiple parties", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 20, "deletions": 20}}, {"node": {"oid": "4111e81752f17016b6e10f0df667f34644e846bb", "messageHeadline": "Fix multi-input things", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "36075ad6c0d04832c39e940262841063da4dda1d", "messageHeadline": "Segwit support for trezor", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 20, "deletions": 2}}, {"node": {"oid": "309a0eac06ac73a46a03a74c60a2766a69abd9c4", "messageHeadline": "Add python bech32 reference implementation", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 258, "deletions": 0}}, {"node": {"oid": "67a2ef9982f7712474aacb7fcb64d0c69cdf9fbe", "messageHeadline": "Add single key, non-segwit tx signing support for keepkey", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 131, "deletions": 3}}, {"node": {"oid": "1d8559a5ae1a64b129d2e141b05639dc3b914e8e", "messageHeadline": "Make trezor use the new psbt format and actually work", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 71, "deletions": 59}}, {"node": {"oid": "cbdefb56c22b349e612d593b77b869d63cacf58b", "messageHeadline": "Merge #12: Updates and fixes to getkeypool and keypaths", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 17, "deletions": 9}}, {"node": {"oid": "8638e39362e53217b19c16d41d576b57c86fdaaa", "messageHeadline": "Merge #11: Option to use testnet", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 53, "deletions": 15}}, {"node": {"oid": "7dc85c507921c06445dc9037cc1d1eb58b80719a", "messageHeadline": "Use return instead of exit", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "c258f08fc4cbeb46e1d69cb732f9458cbc504aa9", "messageHeadline": "Digital BitBox requires hardened key", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 0}}, {"node": {"oid": "f1336412b06dca84df25ec240c88d28bfd67cc09", "messageHeadline": "Use fingerprint instead of full id", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 6}}, {"node": {"oid": "25c9e68aaeed7221142c876c7478e6ef24051fac", "messageHeadline": "use h or H in addtion to ' for hardened indicator in paths", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 2}}, {"node": {"oid": "10adea69b4129d4d4caedb2478de923d636bf43f", "messageHeadline": "Option to use testnet", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 53, "deletions": 15}}, {"node": {"oid": "48b2f06f1b9c6cffabf43e4c8ac089a3e833f277", "messageHeadline": "Merge #10: Support non-segwit signing IFF there are no segwit inputs", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 58, "deletions": 21}}, {"node": {"oid": "0d521362fda048e007834f109449f4e509bd5532", "messageHeadline": "fixup non-witness p2sh detection", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "3891401df4348adba40f8fc4f231d0cee9e51bc2", "messageHeadline": "Support non-segwit signing IFF there are no segwit inputs", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 58, "deletions": 21}}, {"node": {"oid": "351346343027ac5c2e46b35dce31a62aaf4f6494", "messageHeadline": "Merge #8: xpub_to_address should be mainnet for now", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "8f4d71b1a5423b180c32ccd408c4ed2cdfb411f9", "messageHeadline": "xpub_to_address should be mainnet for now", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "1911ce329f17402835624e2e24e0e9f806523f38", "messageHeadline": "getkeypool command for importing things to importmulti", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 45, "deletions": 3}}, {"node": {"oid": "ff32823a9e08b60eb452ce656e949ad18a6bdd26", "messageHeadline": "Merge pull request #7 from instagibbs/ledger_fix_2", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 8}}, {"node": {"oid": "64733c2799f08dea8bc41563916c37704f167a0d", "messageHeadline": "various ledger signing fixes/updates", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 6, "deletions": 8}}, {"node": {"oid": "f743fc9ee163991d6246443a458251694fa368a0", "messageHeadline": "Trezor stuff. it probably works. maybe not, idk", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 26, "deletions": 34}}, {"node": {"oid": "36f00cb04acc84c89770d2f0fdeff2b326f0cc10", "messageHeadline": "Cleanups for digital bitbox", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 13}}, {"node": {"oid": "5fb22802cb7bda8d414aebff013c19a93f95aa12", "messageHeadline": "Fix digital bitbox implementation for segwit signing", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 42, "deletions": 35}}, {"node": {"oid": "07c5eea79ccfc3fc2cd61dd1f2edeefb6b145e2d", "messageHeadline": "fix byte string meaning stuff in py3", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 6}}, {"node": {"oid": "60dd29172ad73f821f3d4e22953a0aa7e0b23999", "messageHeadline": "have psbt do the base64 conversion, not the caller", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 7}}, {"node": {"oid": "202063f0d1d0dcefb2a3394f2c5fb74c576fe408", "messageHeadline": "cleanup arguments parsing", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 22, "deletions": 16}}, {"node": {"oid": "7ea25d52212db948abafe1a7083881529ff6d344", "messageHeadline": "Some help text for each command", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 8, "deletions": 0}}, {"node": {"oid": "2d5270a1426aef6d96e213fc1d78db0e1c6e71b4", "messageHeadline": "Make hwi executable and serializations not", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "16ba87ebbcf66a87559994f8ef1e68062e615db6", "messageHeadline": "remove duplicate code and finalizing", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 0, "deletions": 24}}, {"node": {"oid": "f109f46bfd98cf64396d2b3266cb2b40a15d4f12", "messageHeadline": "Update digital bitbox implementation to use latest psbt", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 6, "deletions": 8}}, {"node": {"oid": "ca8a7643c4916c6dcde9a9f088ead9f1a36bdae2", "messageHeadline": "Update ledger implementation to use latest psbt format", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 5}}, {"node": {"oid": "218d5d29de3ca840da928e53deb5045147c6b9ca", "messageHeadline": "Update serializations to latest BIP spec and add tests", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 463, "deletions": 180}}, {"node": {"oid": "a9ab9f502cf0cc40aca0c2f8e146026d3ac1f267", "messageHeadline": "Merge pull request #6 from instagibbs/fixp3hex", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "904fb1a9cf47d4982185c54b20d3c705ca156222", "messageHeadline": "make ledger impl python3 compliant", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 4, "deletions": 4}}, {"node": {"oid": "8837eca9d1077c57e6ddf6f9bab28850d3b84192", "messageHeadline": "Clarify and unify use of fingerprint and pubkey for hd keypaths", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 5, "deletions": 3}}, {"node": {"oid": "40b8a8cec5c5504ac41f72f5003a26c92e233840", "messageHeadline": "Merge pull request #4 from instagibbs/ledger_signtx", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 109, "deletions": 3}}, {"node": {"oid": "c0835dc6e8f606f63bccc32fb07be28605a1e002", "messageHeadline": "Merge pull request #3 from instagibbs/patch-1", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "d0339d5fec3b1d38878e9141e15e62b4aee4db07", "messageHeadline": "implement ledger segwit-only transaction signing", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 109, "deletions": 3}}, {"node": {"oid": "4b8db4f3eba2dfb72b2ebadfc8ade6a18f9b877b", "messageHeadline": "Correctly serialize scriptcode for digitalbitbox", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "10e9363f700e08442f449a6b90dca1734cbe0572", "messageHeadline": "signtx takes a single hex string, not a list", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 1, "deletions": 1}}, {"node": {"oid": "cb483feb46be7dd5637336dc42185bede131bb07", "messageHeadline": "Python 3 only", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1, "deletions": 5}}, {"node": {"oid": "bd33b530b6909c8d5cc4a1af19e73d36297e3bb4", "messageHeadline": "Merge pull request #1 from instagibbs/ledger", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 85, "deletions": 19}}, {"node": {"oid": "a52ae51da5173e36fde2e5195a341dd78d1452a4", "messageHeadline": "f'add get_pubkey functionality, assumes mainnet'", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 0, "deletions": 1}}, {"node": {"oid": "c87565cfc67f31a53ac5598c68361076a876f946", "messageHeadline": "more explicit comments on what fields are what during serialization", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 6, "deletions": 3}}, {"node": {"oid": "92a9d1df0c349eb26cf54ef2d5dc6c97a588a146", "messageHeadline": "add get_pubkey functionality, assumes mainnet", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 41, "deletions": 4}}, {"node": {"oid": "a1e28439895b3940a1539c737e74e2cb7acb124d", "messageHeadline": "start ledger nano s support", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 34, "deletions": 8}}, {"node": {"oid": "b69c5eb4813a2aff28d13900fd18a9540ac6b113", "messageHeadline": "reject non-existent commands", "author": {"name": "Gregory Sanders", "email": "gsanders87@gmail.com", "user": {"login": "instagibbs"}}, "additions": 5, "deletions": 4}}, {"node": {"oid": "4675aa00c4ae47fb64a73c4b4a1127c74ddd58aa", "messageHeadline": "Signing messages with digital bb", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 51, "deletions": 11}}, {"node": {"oid": "cc929793b594b6a2a78cef2c47a2ba1ecd2ef051", "messageHeadline": "Finish transaction signing for digital bb", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 100, "deletions": 4}}, {"node": {"oid": "dbb778b45df429ea782754e83fac2daff07da787", "messageHeadline": "Get digital bitbox to give a signature", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 43, "deletions": 18}}, {"node": {"oid": "132b63415cba7452698a63af260ea77b18a57ce9", "messageHeadline": "Made hd keypaths global", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 19, "deletions": 16}}, {"node": {"oid": "9bef9f10ea1296a541d31e8240e25665b3619057", "messageHeadline": "Add command to get an arbitrary xpub", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 4, "deletions": 0}}, {"node": {"oid": "8a50c8a51d6c404a06d43800b901e77f63253874", "messageHeadline": "Some signing stuff for digital bitbox", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 119, "deletions": 5}}, {"node": {"oid": "00ae9d7dbcadc5a9275a560e8cfc2f4a93516b32", "messageHeadline": "add base58 encoder and decoder", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 78, "deletions": 0}}, {"node": {"oid": "cfe73a4b6fd04f402d2bb82b4269dbf7d836c5a2", "messageHeadline": "Some trezor signing stuff", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 109, "deletions": 4}}, {"node": {"oid": "d9dd3174e05104e9a208d948892a3f4c8ee776d1", "messageHeadline": "Reuse types between scopes", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 61, "deletions": 63}}, {"node": {"oid": "9f1d5b243b256a3b05a9faeee6506d44bb71bf97", "messageHeadline": "add gitignore", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 2, "deletions": 0}}, {"node": {"oid": "9e4ab4299d27fef9467f336ff421dbcc6c0ad9ef", "messageHeadline": "un/serialize hd keypaths", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 25, "deletions": 0}}, {"node": {"oid": "915d2239132a667c57e2a32d493df912b1840716", "messageHeadline": "Add a readme", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 15, "deletions": 0}}, {"node": {"oid": "91bc9534e2ea0d1cbd324b68d75fc1b28246b4d3", "messageHeadline": "Add MIT license", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 21, "deletions": 0}}, {"node": {"oid": "81cc2ed74dc70b3e6a1561fef9d8c8595885d945", "messageHeadline": "Initial commit", "author": {"name": "Andrew Chow", "email": "achow101-github@achow101.com", "user": {"login": "achow101"}}, "additions": 1135, "deletions": 0}}]