Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ELECTRUM WALLET #103

Closed
wants to merge 7,640 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
7640 commits
Select commit Hold shift + click to select a range
e457bb5
trezor: TrezorPlugin._make_multisig to use MultisigDescriptor
SomberNight Feb 28, 2023
a80bef8
follow-up descriptor.py: small clean-up
SomberNight Mar 1, 2023
798cd60
Merge pull request #8230 from SomberNight/202302_osd_tx
ecdsa Mar 4, 2023
2ed7157
privacy analysis: detect address reuse
ecdsa Mar 2, 2023
27ce9d8
follow-up 2ed71579c39ab7ace9fc108a38394deb769ac98c: remove wrong assert
ecdsa Mar 4, 2023
2f6d60c
Move transaction related settings into transaction editor.
ecdsa Feb 26, 2023
d2883e1
android: qt5 activity inhibit screenshots
accumulator Mar 6, 2023
ce5b649
qml: styling fixes
accumulator Mar 6, 2023
a5485e5
android: use material dark style for splashscreen action bar
accumulator Mar 6, 2023
461fcf2
qml: wizard use flatbuttons
accumulator Mar 6, 2023
0028625
qml: wizard button padding, wizardcomponent now a Pane
accumulator Mar 6, 2023
9b0ff48
qml: txdetails feebump/cancel below mempool position
accumulator Mar 6, 2023
b788f79
qml: styling, padding various wizardcomponents
accumulator Mar 6, 2023
74718e9
confirm_tx_dialog: separate messages from warnings. add warnings abou…
ecdsa Mar 6, 2023
0545edd
confirm_tx_dialog: fix warning (follow-up previous commit)
ecdsa Mar 7, 2023
a5c7cc6
make_unsigned_transaction: call get_unconfirmed_base_tx_for_batching …
ecdsa Mar 7, 2023
18cf546
fix tests side-effecting each other in test_wallet_vertical.test_rbf
SomberNight Mar 7, 2023
3253e49
Add rbf_merge_txid to PartialTransaction, instead of calling
ecdsa Mar 7, 2023
dce0615
test_wallet_vertical: add a failing test for rbf-batching
SomberNight Mar 7, 2023
3645109
Fix edge case of batch_rbf, where we need to spend outputs from the b…
ecdsa Mar 7, 2023
a244b50
Confirm tx dialog: warn if tx has multiple change outputs
ecdsa Mar 8, 2023
37b29b1
confirm_tx_dialog: fix toggle_output_rounding
ecdsa Mar 8, 2023
db467ff
qml: remove not implemented new version check option in Preferences
accumulator Mar 9, 2023
f7a300b
qml: successful PIN entry stays valid for 5 mins
accumulator Mar 9, 2023
c449c8e
set NoWrap for tx input/outputs. Use QTextBrowserWithDefaultSize in u…
ecdsa Mar 9, 2023
b960433
confirm_tx_dialog: Use future tense in warnings + minor fix
ecdsa Mar 9, 2023
d9f1a21
reverse_swap: return as soon as we detect the funding transaction
ecdsa Mar 9, 2023
0423970
qml: add word picker to SeedTextArea
accumulator Mar 9, 2023
c6be252
qml: relabel Export tx to Share
accumulator Mar 9, 2023
b5e7887
qml: move channel backups to WalletDetails
accumulator Mar 9, 2023
d717471
qml: move PIN one section up in Preferences
accumulator Mar 9, 2023
7584ba0
wallet: kill negative conf numbers for TxMinedInfo
SomberNight Mar 9, 2023
1210ef5
qml: various styling
accumulator Mar 9, 2023
62ab6d9
(trivial) reduce log spam during ln-channel-open
SomberNight Mar 9, 2023
c0e7fc6
qml: don't show placeholder in History when empty history list and sy…
accumulator Mar 9, 2023
aaca7c5
qml: BalanceSummary now flipflops between fiat view and btc view
accumulator Mar 9, 2023
016eea2
qml: more robust keystore properties builder, support imported type
accumulator Mar 9, 2023
ffb8998
qml: don't explicitly add new channel to listmodel. It is updated aut…
accumulator Mar 10, 2023
df94bc0
TxInOutWidget: reduce size of displayed addresses
ecdsa Mar 10, 2023
d0b2c66
confirm_tx_dialog: simplify messages and warnings. reduce the use of …
ecdsa Mar 10, 2023
cb5a9e4
qml: SwapDialog ok button
accumulator Mar 10, 2023
15a3c2d
qml: auto sign & broadcast fee bump transactions if wallet can sign w…
accumulator Mar 10, 2023
f2dc651
Qt history list: Ctrl+F filter to work for "Short ID" (scid)
SomberNight Mar 10, 2023
7746cc8
bip32: (trivial) rename method strpath_to_intpath, for symmetry
SomberNight Mar 10, 2023
a595102
qml: auto sign and broadcast for cancel txs too
accumulator Mar 10, 2023
7e5ebf0
swap: wrap coros in tasks (req since python3.11)
accumulator Mar 10, 2023
f89a466
minor fix
ecdsa Mar 10, 2023
1a0a52f
invoices and requests lists: move import/export menus into local tool…
ecdsa Mar 11, 2023
c595df3
Qt: call create_toolbar in create_list_tab
ecdsa Mar 11, 2023
d6a65a0
Qt: move remaining menu items that are tab specific to tab toolbars: …
ecdsa Mar 11, 2023
5ad4023
restore invoices_label and requests_label. move paytomany and toggle_…
ecdsa Mar 11, 2023
6a049a3
transaction: run validate_data before setting .utxo, not after
SomberNight Mar 11, 2023
9439261
network: fix bug in best_effort_reliable
SomberNight Mar 11, 2023
81772fa
wallet: add_input_info to no longer do network requests
SomberNight Mar 10, 2023
c79074c
qt: port "rate_limiter" function decorator utility from Electron-Cash
cculianu Mar 11, 2023
d83863c
qt tx dialog: add checkbox "Download input data"
SomberNight Mar 12, 2023
f87cac0
Merge pull request #8241 from SomberNight/202303_wallet_split_add_inp…
ecdsa Mar 12, 2023
473c86c
toolbar: use custom MyMenu class with addToggle
ecdsa Mar 12, 2023
37a0e12
move config settings that are related to invoice creation to receive …
ecdsa Mar 12, 2023
98f0526
swap_dialog: minor fix
ecdsa Mar 12, 2023
503776c
move fiat columns show/hide settings from settings_dialog to tab tool…
ecdsa Mar 12, 2023
eef1f0b
transaction_dialog: move tx_dialog_fetch_txin_data checkbox into toolbar
ecdsa Mar 13, 2023
b15387c
Qt send tab: move payto_edit input buttons to toolbar
ecdsa Mar 13, 2023
4909ceb
move recoverable channel option from preferences to new_channel_dialo…
ecdsa Mar 13, 2023
519926a
move 'allow_instant_swaps' option from preferences dialog to swap_dia…
ecdsa Mar 13, 2023
e150a9c
restructure settings_dialog, create 'Units' tab
ecdsa Mar 13, 2023
439f1e6
settings_dialog: add confirmation dialog before disabling trampoline
ecdsa Mar 13, 2023
303ad02
privacy analysis: add warning about tx downstream of address reuse
ecdsa Mar 13, 2023
cbab50e
channels_list: move swap and rebalance buttons into toolbar
ecdsa Mar 13, 2023
0ebec20
qml: render fee histogram as a HSV gradient over next 25 blocks
accumulator Mar 13, 2023
2bf2d81
Qt: add tx and address counters
ecdsa Mar 13, 2023
90b4688
address_dialog: set num_tx_label
ecdsa Mar 13, 2023
375ae85
qt tx dialog: better size policy. for nicer window resizing
SomberNight Mar 13, 2023
b690f2e
qr_window: keep menu in sync with actual visibility
ecdsa Mar 13, 2023
a7e5349
qml: clamp min fees in histogram to 1, server can report invalid 0 fees
accumulator Mar 13, 2023
32ee704
Address filter: remove label
ecdsa Mar 13, 2023
0f1fe1b
address_list: fix counter (was not displaying filtered count)
ecdsa Mar 13, 2023
c39653c
qt wallet info dlg: make mess smaller
SomberNight Mar 13, 2023
2571eee
coins tab: add toolbar.
ecdsa Mar 13, 2023
c29e820
qml: use config.FEERATE_DEFAULT_RELAY as lower bound for fee histogram
accumulator Mar 13, 2023
9e0d7b6
util.format_time: trivial clean-up
SomberNight Mar 13, 2023
950065a
Store file creation date and version in db
SomberNight Mar 13, 2023
638c896
qt: MyTreeView: make item labels independent of column order
SomberNight Mar 13, 2023
d3c241d
qt: MyTreeView: use enum.auto() in Columns enum
SomberNight Mar 13, 2023
8e2a585
qml: don't crash on bolt11 invoice when wallet is non-lightning
accumulator Mar 13, 2023
08c37ab
qt: HistoryList to also use BaseColumnsEnum
SomberNight Mar 13, 2023
dd27c6b
qt utxo list: copy menu: separate items for short/long outpoint
SomberNight Mar 13, 2023
faf0c80
qml: enable canPay in InvoiceDialog if wallet has insufficient funds …
accumulator Mar 13, 2023
5fd7721
qml: de-dupe broadcastFailed handler, styling InvoiceDialog amount
accumulator Mar 13, 2023
9d64fe7
qt: MyTreeView: disambiguate "parent" and "main_window"
SomberNight Mar 13, 2023
1740765
qt settings_dialog: fix trampoline_cb
SomberNight Mar 13, 2023
acc1f22
qt: MyTreeView: small clean-up for WatcherList and ContactList
SomberNight Mar 13, 2023
c0ce029
qml: show channel backups together with channels in Channels, remove …
accumulator Mar 14, 2023
4979346
qml: detect channel backups in send dialog
accumulator Mar 14, 2023
842229c
qt: fit StatusBarButton to inner height of status bar
accumulator Mar 14, 2023
7fc4153
qml: render balance bar using (local|remote) capacity instead of can_…
accumulator Mar 14, 2023
5feb16a
qml: SeedTextArea only lower case input
accumulator Mar 14, 2023
876b0ff
qml: handle empty histogram more gracefully, set histogram limit to 10MB
accumulator Mar 14, 2023
950d8f4
qml: Pin dialog wider (small form factor issue)
accumulator Mar 14, 2023
1b0a58a
qml: don't pass lightning flag from GUI when creating payment requests
accumulator Mar 14, 2023
1f4cedf
Rework PaytoEdit:
ecdsa Mar 14, 2023
f0f320b
qml: ElDialog titlebar click moves focus, hack for android to remove …
accumulator Mar 14, 2023
a6c4069
qt send_tab: allow saving bip70 payment requests
SomberNight Mar 14, 2023
0799560
qml: make fiat and btc states in BalanceSummary hopefully equally tall
accumulator Mar 14, 2023
49847f3
Merge pull request #8243 from SomberNight/202303_db_metadata
ecdsa Mar 14, 2023
d56162c
follow-up 842229c
ecdsa Mar 14, 2023
f770905
follow-up d56162c588dccc353d164f6cc8da41ad4c0d8eec
ecdsa Mar 14, 2023
e14ed71
qml: fix paying bip70 invoices
SomberNight Mar 14, 2023
02a2f02
qml: actually do the x509 validation for bip70
SomberNight Mar 14, 2023
d166fa8
qt: fix paying to openalias
SomberNight Mar 14, 2023
660a8eb
Qt: let user edit tx label from tx_dialog
ecdsa Mar 15, 2023
0bda808
Qt lists: always show item detail on double click
ecdsa Mar 15, 2023
20e93af
lightning_tx_dialog: add editable tx description
ecdsa Mar 15, 2023
2db0bc9
tx in/out details: rewording 'receiving address'
ecdsa Mar 15, 2023
107a6f9
utxo_dialog: fix minor regression (set cursor to top after drawing)
ecdsa Mar 15, 2023
b431d39
Qt lists: consistently show Details as first item in the contextual menu
ecdsa Mar 15, 2023
33a84f6
view menu: use checkable actions
ecdsa Mar 15, 2023
42a6364
receive tab: move expiry to toolbar
ecdsa Mar 15, 2023
5750c89
receive tab: move back Expiry to its previous location, but use
ecdsa Mar 15, 2023
abc8d15
Expiry: the setting is a period, not a date
ecdsa Mar 15, 2023
206bacb
move MyTreeView and related classes to own submodule
ecdsa Mar 15, 2023
2881c49
qml: move technical details to bottom of InvoiceDialog, add routing h…
accumulator Mar 15, 2023
c690c9c
Revert "qml: ElDialog titlebar click moves focus, hack for android to…
accumulator Mar 15, 2023
3ddffb9
follow-up 206bacbcb38805012e6eb15850e5f004bf3d6bd9
ecdsa Mar 15, 2023
91f36db
type checking, follow-up 206bacbcb38805012e6eb15850e5f004bf3d6bd9
ecdsa Mar 15, 2023
4872ec7
add initial release notes for 4.4.0
ecdsa Mar 15, 2023
4e2b7c6
qml: remove requestExpiry from preferences dialog (redundant)
ecdsa Mar 16, 2023
43d6fd2
qml: use get_node_alias in name_for_node_id.
ecdsa Mar 16, 2023
09afacd
qml: fix logical error with PIN code timeout.
ecdsa Mar 16, 2023
337d2a3
qml PIN: do not lock inactive app, and remove timeout
ecdsa Mar 16, 2023
8db2dca
qml: Invoice Dialog technical details header only relevant for lightning
accumulator Mar 16, 2023
bcb06e5
qml: set default minimum histogram if histogram empty
accumulator Mar 16, 2023
c5dc133
qml: use daemon threads
ecdsa Mar 16, 2023
6d67f51
qml: show fiat state only for non-lightning wallets
accumulator Mar 16, 2023
46d5fdb
qml: PIN protect wallet seed display
accumulator Mar 16, 2023
b59a141
qml: fix network histogram gradient fee range to 600-1
accumulator Mar 16, 2023
f0d44d0
qml: expand clickable area to full toolbar height and a bit more padd…
accumulator Mar 16, 2023
5b8fdac
qml: ensure that the slider neutral position is in the middle of the …
ecdsa Mar 16, 2023
64dde8b
qml: show disconnected state in BalanceSummary
accumulator Mar 16, 2023
3334b2f
follow-up qml slider: remove unneeded setters
ecdsa Mar 16, 2023
e2867b7
qml: move Pay button to the right
ecdsa Mar 16, 2023
f49ef14
qml: SwapDialog slider styling; add zero tick and fill slider range f…
accumulator Mar 16, 2023
67cb08a
qml: slider render voids
accumulator Mar 16, 2023
d985c9e
qml: use InfoTextArea for help text in GenericShareDialog
accumulator Mar 16, 2023
39eaf9d
qml: sharing channel backup only shows QR, not the data as text
accumulator Mar 16, 2023
7a86d8d
qml: ask user whether to configure Tor or other proxy before presenti…
accumulator Mar 16, 2023
3a7bc82
icons: add "cloud_yes.png", and rename existing "nocloud"
SomberNight Mar 16, 2023
7207f13
Qt: set history_rates both through settings_dialog and history_list
ecdsa Mar 16, 2023
0a5d186
exchange_rate: guard against garbage hist data coming from exchange
SomberNight Mar 16, 2023
2ef60b9
Reword proxy question.
ecdsa Mar 16, 2023
13a9d1e
Add info on how to scan channel backups
ecdsa Mar 16, 2023
d4d6d05
qml wizard: enable restore from "2fa" legacy seeds
SomberNight Mar 16, 2023
6890268
qml: fix display of server fee in swap dialog
ecdsa Mar 16, 2023
57a4cbb
follow-up 7a86d8d: ask proxy first
ecdsa Mar 16, 2023
849d987
qml: fix #8247
ecdsa Mar 16, 2023
ff2da7c
crash reporter: hardcode gui text. do not trust the server with it
SomberNight Mar 16, 2023
3574c99
qml: in the password dialogs, disable the password confirmation
ecdsa Mar 16, 2023
3e5c692
qml: don't log (potentially) sensitive data, closes #8124
accumulator Mar 16, 2023
0bb41a3
qml: fix layout issues in ShowConfirmOTP. fixes #8249
accumulator Mar 16, 2023
49683d6
qml: do not set oneserver based on auto_connect.
ecdsa Mar 17, 2023
fcbd25c
qml: display network status and history server status separately. Als…
ecdsa Mar 17, 2023
a571451
qml: allow pay while amount in edit mode
accumulator Mar 17, 2023
8528907
qml: trsutedcoin layout consistency
accumulator Mar 17, 2023
0b32798
rm log
accumulator Mar 17, 2023
7c2f13a
follow-up fcbd25c1fd7e0ffa76c6249dae1630448fa8810e. fixes #8253
ecdsa Mar 17, 2023
8eca3e0
follow up 7c2f13a76e181cd00f714d749e420f1c9423218a
accumulator Mar 17, 2023
c3a0f9c
Qt swaps_dialog: do not use side effects to update tx.
ecdsa Mar 16, 2023
24a3d6e
qml: remove editmode toggle, now enabled only on amount-less invoices
accumulator Mar 17, 2023
7d2ba3c
qml: fix 43d6fd2aef11a10f816e9c26aa03b5ddf0c8acac
accumulator Mar 17, 2023
8db1c38
qt export history: let util.filename_field decide default path
SomberNight Mar 17, 2023
55da727
qt export history/privkeys: put wallet name in path
SomberNight Mar 17, 2023
231ea5d
qml: status icon InvoiceDialog
accumulator Mar 17, 2023
a90bff4
qml: mark masterkey/wif/addr input fields as sensitive
SomberNight Mar 17, 2023
48e3769
qml wizard: fix creating wallet from master key
SomberNight Mar 17, 2023
adca13a
android readme: update "access datadir on Android from desktop"
SomberNight Mar 17, 2023
fed5fe5
Qml: new receive flow. fixes #8258
ecdsa Mar 17, 2023
39ac484
qml: password change requires password, not PIN. fixes #8257
accumulator Mar 17, 2023
3003484
qml: remove Never as request expiry option
accumulator Mar 17, 2023
f6699e0
qml: minor text change
ecdsa Mar 18, 2023
d8abab3
build: rm "non-free" from debian apt sources lists
SomberNight Mar 18, 2023
8cc6102
QML: auto-delete expired requests. Add action to Qt menu
ecdsa Mar 18, 2023
cb4c99d
qml: styling CloseChannelDialog error text
accumulator Mar 18, 2023
2836dcc
qml: Handle situation where no more addresses are available without
ecdsa Mar 18, 2023
dd2dced
follow-up 2836dccfbbf5640ffbd7805c6fc6f7edf994cbfa
ecdsa Mar 18, 2023
d7c5c40
Save user-entered amount in invoice. fixes #8252.
ecdsa Mar 18, 2023
3b78466
simplify code (follow-up 2836dccfbbf5640ffbd7805c6fc6f7edf994cbfa)
ecdsa Mar 18, 2023
5c60b9a
ln invoice dialog: show fallback address
ecdsa Aug 9, 2022
aa3697d
Qr request_list: maybe fix elusive segfault
ecdsa Mar 19, 2023
5ab3a25
qml: remove '1 month' expiry option.
ecdsa Mar 19, 2023
c3e52bf
Qt: allow to save invoices that have no amount
ecdsa Mar 19, 2023
b07fe97
receive tab: do not use ButtonsTextEdit, add toggle to toolbar.
ecdsa Mar 17, 2023
4243b25
qt send_tab: simplify method names.
ecdsa Mar 19, 2023
8b0a694
receive tab: disable widgets if request has expired, instead of apply…
ecdsa Mar 19, 2023
5cf4b34
change message: detached QR code window
ecdsa Mar 19, 2023
68bba47
commands: small fix and clean-up for "serialize" cmd
SomberNight Mar 19, 2023
a30cda4
lnutil: test ImportedChannelBackupStorage.from_bytes
SomberNight Mar 19, 2023
4fb35c0
lnutil: clean-up ImportedChannelBackupStorage.from_bytes
SomberNight Mar 19, 2023
5a4c39c
lnutil.ImportedChannelBackupStorage: change ser format: int16->uint16
SomberNight Mar 19, 2023
08ae0a7
build: add separate .dockerignore files
SomberNight Mar 20, 2023
ab07382
build: use uid of user building the build containers
accumulator Mar 19, 2023
6e472ef
build: follow-up prev: only use host userid for local dev builds
SomberNight Mar 20, 2023
5ee89a2
Merge pull request #8266 from SomberNight/202303_cb_uint16
ecdsa Mar 20, 2023
2e797b4
Merge branch 'master' of github.com:spesmilo/electrum
ecdsa Mar 20, 2023
4fa192d
follow-up c3e52bfafc2196f0d088928e7550c7065cc1a453
ecdsa Mar 20, 2023
c9df290
android: update P4A to 8589243afb48fdb116d791dc5b3973382e83273f
accumulator Mar 20, 2023
4ed69cc
qml: BtcField/FiatField ImhDigitsOnly input method hint
accumulator Mar 20, 2023
b8d4ccd
wallet: fix get_locktime_for_new_transaction for lagging server
SomberNight Mar 20, 2023
677e125
qml: ElDialog now defaults to parent on Overlay.overlay
accumulator Mar 20, 2023
a5c58f8
qml: layout fixes for small form-factor devices
accumulator Mar 20, 2023
aac9afa
tests: add a failing testcase for daemon.update_password_for_directory
SomberNight Mar 20, 2023
11f06d8
tests: add more tests for daemon.update_password_for_directory
SomberNight Mar 20, 2023
9df5f55
password unification: bugfix, now passes test cases
SomberNight Mar 20, 2023
c9b6a6c
build: fix repro builds where host userid != 1000
SomberNight Mar 20, 2023
ce6e4d9
Qt history_list: disable summary if fx history is not available
ecdsa Mar 21, 2023
077ea9a
qml: AddressDetails heading
accumulator Mar 21, 2023
3cf732c
qml: introduction text bottom margins in RbF bump fee and cancel dialogs
accumulator Mar 21, 2023
a080e51
Qt receive_tab: toggle_view_button instead of tabs
ecdsa Mar 21, 2023
1503ef1
follow-up previous commit
ecdsa Mar 21, 2023
1176552
android: upgrade to Qt 5.15.7, PyQt5 5.15.9
accumulator Mar 21, 2023
6b9d294
android: log_level 2 when running in CI
accumulator Mar 21, 2023
ed0f1ea
qt receive_tab: use correct qrcode icon (based on dark/light theme)
SomberNight Mar 21, 2023
3fb3e3b
lnurl6: pay invoice directly
ecdsa Mar 21, 2023
bac889c
android: fix ply depends assert
accumulator Mar 21, 2023
9830466
android build: default to log_level=2
SomberNight Mar 21, 2023
7f7ee8d
qml: pressing "Esc" on desktop to ~simulate "back" button
SomberNight Mar 21, 2023
558eb1a
qml: reorganise toolbarTopLayout, so that top-left click opens menu
SomberNight Mar 21, 2023
27bc0bb
Merge pull request #8267 from SomberNight/202303_build_userid1000
SomberNight Mar 21, 2023
36687e4
Merge pull request #8273 from SomberNight/202303_qml_esc_shortcut
ecdsa Mar 22, 2023
0d007b5
follow-up aa3697d
ecdsa Mar 22, 2023
7834f6c
commands: fix satoshis decimal conversion in payto cmd and others
SomberNight Mar 22, 2023
9eb25cd
follow-up a080e5130f392b95988e9a82739cd2cf6b0035d6
ecdsa Mar 23, 2023
e7cc2c5
Revert "qml: pressing "Esc" on desktop to ~simulate "back" button"
accumulator Mar 23, 2023
17bb1ad
qml: enable Qt virtual keyboard and add Electrum keyboard style, modi…
accumulator Mar 21, 2023
4bdd521
qml: abstract ElDialog resize behavior to property
accumulator Mar 22, 2023
75e5e4a
android: set default localization to en_GB to force number formatting…
accumulator Mar 22, 2023
f89e0b8
qml: wizard add label for second password entry
accumulator Mar 23, 2023
abae815
qml: TxDetails small form-factor fix, wrap buttons to below fee-bump …
accumulator Mar 23, 2023
3909778
qml: ask password to show seed
ecdsa Mar 23, 2023
8e7cbd6
qml: let user enter lnurl6 amount
ecdsa Mar 23, 2023
f0a49de
Merge pull request #8275 from spesmilo/qt_vkbd
ecdsa Mar 23, 2023
f9a5c22
qml: lnurl override disabled amount edit color, show lnurlError to user
accumulator Mar 23, 2023
2231057
android build: allow specifying "x86_64" as target in build.sh
SomberNight Mar 23, 2023
0ebcc7d
qml: only do android-specific stuff when on android
SomberNight Mar 23, 2023
b2372f2
android build: rm x86_64 target from "all" alias, since it is broken
SomberNight Mar 23, 2023
fe968cf
qml: (minor) change name of Amount field
ecdsa Mar 23, 2023
ee380bb
release.sh: use qml gui for android release apk
SomberNight Mar 23, 2023
743ea80
qml: move potentially slow tx generation in qeswaphelper to a short d…
accumulator Mar 23, 2023
aaff750
android: update P4A to 3c2750795ba93aa1a3e513a13c2ea2ac5bddba17
accumulator Mar 23, 2023
f9f57b5
Revert "android build: rm x86_64 target from "all" alias, since it is…
accumulator Mar 23, 2023
8c1fe10
qml TxDetails: show short_id instead of block height and txpos
SomberNight Mar 23, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
321 changes: 321 additions & 0 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,321 @@
task:
container:
image: $ELECTRUM_IMAGE
cpu: 1
memory: 2G
matrix:
- name: Tox Python $ELECTRUM_PYTHON_VERSION
env:
ELECTRUM_IMAGE: python:$ELECTRUM_PYTHON_VERSION
TOXENV: py3
ELECTRUM_PYTHON_NAME: python3
matrix:
- env:
ELECTRUM_PYTHON_VERSION: 3.8
- env:
ELECTRUM_PYTHON_VERSION: 3.9
- env:
ELECTRUM_PYTHON_VERSION: 3.10
- env:
ELECTRUM_PYTHON_VERSION: 3.11
- env:
ELECTRUM_PYTHON_VERSION: rc
- name: Tox Python 3 debug mode
env:
ELECTRUM_PYTHON_VERSION: 3
# enable additional checks:
PYTHONASYNCIODEBUG: "1"
PYTHONDEVMODE: "1"
- name: Tox PyPy
allow_failures: true
env:
ELECTRUM_IMAGE: pypy:3
TOXENV: pypy3
ELECTRUM_PYTHON_NAME: pypy3
pip_cache:
folder: ~/.cache/pip
fingerprint_script: echo $ELECTRUM_IMAGE && cat $ELECTRUM_REQUIREMENTS_CI && cat $ELECTRUM_REQUIREMENTS
version_script:
- $ELECTRUM_PYTHON_NAME --version
tag_script:
- git tag
install_script:
- apt-get update
- apt-get -y install libsecp256k1-0
- pip install -r $ELECTRUM_REQUIREMENTS_CI
tox_script:
- export PYTHONASYNCIODEBUG
- export PYTHONDEVMODE
- tox
coveralls_script:
- if [ ! -z "$COVERALLS_REPO_TOKEN" ] ; then coveralls ; fi
env:
ELECTRUM_REQUIREMENTS_CI: contrib/requirements/requirements-ci.txt
ELECTRUM_REQUIREMENTS: contrib/requirements/requirements.txt
# following CI_* env vars are set up for coveralls
CI_NAME: "CirrusCI"
CI_BUILD_NUMBER: $CIRRUS_BUILD_ID
CI_JOB_ID: $CIRRUS_TASK_ID
CI_BUILD_URL: "https://cirrus-ci.com/task/$CIRRUS_TASK_ID"
CI_BRANCH: $CIRRUS_BRANCH
CI_PULL_REQUEST: $CIRRUS_PR
# in addition, COVERALLS_REPO_TOKEN is set as an "override" in https://cirrus-ci.com/settings/...

task:
name: Locale
container:
image: $ELECTRUM_IMAGE
cpu: 1
memory: 1G
pip_cache:
folder: ~/.cache/pip
fingerprint_script: echo Locale && echo $ELECTRUM_IMAGE && cat $ELECTRUM_REQUIREMENTS_CI
install_script:
- apt-get update
- apt-get -y install gettext qttools5-dev-tools
- pip install -r $ELECTRUM_REQUIREMENTS_CI
- pip install requests
locale_script:
- contrib/push_locale
env:
ELECTRUM_IMAGE: python:3.8
ELECTRUM_REQUIREMENTS_CI: contrib/requirements/requirements-ci.txt
# in addition, crowdin_api_key is set as an "override" in https://cirrus-ci.com/settings/...
depends_on:
- Tox Python 3.8
only_if: $CIRRUS_BRANCH == 'master'

task:
name: Regtest functional tests
compute_engine_instance:
image_project: cirrus-images
image: family/docker-builder
platform: linux
cpu: 1
memory: 1G
pip_cache:
folder: ~/.cache/pip
fingerprint_script: echo Regtest && echo docker_builder && cat $ELECTRUM_REQUIREMENTS
bitcoind_cache:
folder: /tmp/bitcoind
populate_script: mkdir -p /tmp/bitcoind
install_script:
- apt-get update
- apt-get -y install libsecp256k1-0 curl jq bc
- pip3 install .[tests]
# install e-x some commits after 1.16.0 tag, where it uses same aiorpcx as electrum
- pip3 install git+https://github.com/spesmilo/electrumx.git@c8d2cc0d5cf9e549a90ca876d85fed9a90b8c4ed
- "BITCOIND_VERSION=$(curl https://bitcoincore.org/en/download/ | grep -E -i --only-matching 'Latest version: [0-9\\.]+' | grep -E --only-matching '[0-9\\.]+')"
- BITCOIND_FILENAME=bitcoin-$BITCOIND_VERSION-x86_64-linux-gnu.tar.gz
- BITCOIND_PATH=/tmp/bitcoind/$BITCOIND_FILENAME
- BITCOIND_URL=https://bitcoincore.org/bin/bitcoin-core-$BITCOIND_VERSION/$BITCOIND_FILENAME
- tar -xaf $BITCOIND_PATH || (rm -f /tmp/bitcoind/* && curl --output $BITCOIND_PATH $BITCOIND_URL && tar -xaf $BITCOIND_PATH)
- cp -a bitcoin-$BITCOIND_VERSION/* /usr/
bitcoind_service_background_script:
- electrum/tests/regtest/run_bitcoind.sh
electrumx_service_background_script:
- electrum/tests/regtest/run_electrumx.sh
regtest_script:
- sleep 10s
- python3 -m unittest electrum/tests/regtest.py
env:
ELECTRUM_REQUIREMENTS: contrib/requirements/requirements.txt
# ElectrumX exits with an error without this:
ALLOW_ROOT: 1

task:
container:
image: $ELECTRUM_IMAGE
cpu: 1
memory: 1G
pip_cache:
folder: ~/.cache/pip
fingerprint_script: echo Flake8 && echo $ELECTRUM_IMAGE && cat $ELECTRUM_REQUIREMENTS
install_script:
- pip install flake8
flake8_script:
- flake8 . --count --select=$ELECTRUM_LINTERS --show-source --statistics --exclude "*_pb2.py"
env:
ELECTRUM_IMAGE: python:3.8
ELECTRUM_REQUIREMENTS: contrib/requirements/requirements.txt
matrix:
- name: Flake8 Mandatory
env:
# list of error codes:
# - https://flake8.pycqa.org/en/latest/user/error-codes.html
# - https://pycodestyle.pycqa.org/en/latest/intro.html#error-codes
ELECTRUM_LINTERS: E9,E101,E129,E273,E274,E703,E71,F63,F7,F82,W191,W29
- name: Flake8 Non-Mandatory
env:
ELECTRUM_LINTERS: E,F,W,C90
allow_failures: true

task:
name: Windows build
container:
dockerfile: contrib/build-wine/Dockerfile
cpu: 1
memory: 2G
pip_cache:
folder: contrib/build-wine/.cache/win32/wine_pip_cache
fingerprint_script:
- echo $CIRRUS_TASK_NAME
- git ls-files -s contrib/deterministic-build/*.txt
- git ls-files -s contrib/build-wine/
build2_cache:
folder: contrib/build-wine/.cache/win32/build
fingerprint_script:
- echo $CIRRUS_TASK_NAME
- cat contrib/make_libsecp256k1.sh | sha256sum
- cat contrib/make_libusb.sh | sha256sum
- cat contrib/make_zbar.sh | sha256sum
- git ls-files -s contrib/build-wine/
build_script:
- cd contrib/build-wine
- ./make_win.sh
binaries_artifacts:
path: "contrib/build-wine/dist/*"
env:
CIRRUS_WORKING_DIR: /opt/wine64/drive_c/electrum
CIRRUS_DOCKER_CONTEXT: contrib/build-wine

task:
name: Android build (Kivy $APK_ARCH)
container:
dockerfile: contrib/android/Dockerfile
cpu: 2
memory: 2G
env:
APK_ARCH: arm64-v8a
packages_tld_folder_cache:
folder: packages
fingerprint_script:
- echo $CIRRUS_TASK_NAME && cat contrib/deterministic-build/requirements.txt && cat contrib/make_packages.sh
- git ls-files -s contrib/android/
p4a_cache:
folders:
- ".buildozer/android/platform/build-$APK_ARCH/packages"
- ".buildozer/android/platform/build-$APK_ARCH/build"
fingerprint_script:
# note: should *at least* depend on Dockerfile and p4a_recipes/, but contrib/android/ is simplest
- git ls-files -s contrib/android/
- echo "kivy $APK_ARCH"
build_script:
- ./contrib/android/make_apk.sh kivy "$APK_ARCH" debug
binaries_artifacts:
path: "dist/*"

task:
name: Android build (QML $APK_ARCH)
container:
dockerfile: contrib/android/Dockerfile
cpu: 8
memory: 24G
env:
APK_ARCH: arm64-v8a
packages_tld_folder_cache:
folder: packages
fingerprint_script:
- echo $CIRRUS_TASK_NAME && cat contrib/deterministic-build/requirements.txt && cat contrib/make_packages.sh
- git ls-files -s contrib/android/
p4a_cache:
folders:
- ".buildozer/android/platform/build-$APK_ARCH/packages"
- ".buildozer/android/platform/build-$APK_ARCH/build"
fingerprint_script:
# note: should *at least* depend on Dockerfile and p4a_recipes/, but contrib/android/ is simplest
- git ls-files -s contrib/android/
- echo "qml $APK_ARCH"
build_script:
- ./contrib/android/make_apk.sh qml "$APK_ARCH" debug
binaries_artifacts:
path: "dist/*"

## mac build disabled, as Cirrus CI no longer supports Intel-based mac builds
#task:
# name: MacOS build
# macos_instance:
# image: catalina-xcode-11.3.1
# env:
# TARGET_OS: macOS
# pip_cache:
# folder: ~/Library/Caches/pip
# fingerprint_script:
# - echo $CIRRUS_TASK_NAME
# - git ls-files -s contrib/deterministic-build/*.txt
# - git ls-files -s contrib/osx/
# build2_cache:
# folder: contrib/osx/.cache
# fingerprint_script:
# - echo $CIRRUS_TASK_NAME
# - cat contrib/make_libsecp256k1.sh | shasum -a 256
# - cat contrib/make_libusb.sh | shasum -a 256
# - cat contrib/make_zbar.sh | shasum -a 256
# - git ls-files -s contrib/osx/
# install_script:
# - git fetch --all --tags
# build_script:
# - ./contrib/osx/make_osx.sh
# sum_script:
# - ls -lah dist
# - shasum -a 256 dist/*.dmg
# binaries_artifacts:
# path: "dist/*"

task:
name: AppImage build
container:
dockerfile: contrib/build-linux/appimage/Dockerfile
cpu: 2
memory: 2G
pip_cache:
folder: contrib/build-linux/appimage/.cache/pip_cache
fingerprint_script:
- echo $CIRRUS_TASK_NAME
- git ls-files -s contrib/deterministic-build/*.txt
- git ls-files -s contrib/build-linux/appimage/
build2_cache:
folder: contrib/build-linux/appimage/.cache/appimage
fingerprint_script:
- echo $CIRRUS_TASK_NAME
- cat contrib/make_libsecp256k1.sh | sha256sum
- git ls-files -s contrib/build-linux/appimage/
build_script:
- ./contrib/build-linux/appimage/make_appimage.sh
binaries_artifacts:
path: "dist/*"
env:
CIRRUS_DOCKER_CONTEXT: contrib/build-linux/appimage

task:
container:
dockerfile: contrib/build-linux/sdist/Dockerfile
cpu: 1
memory: 1G
pip_cache:
folder: ~/.cache/pip
fingerprint_script:
- echo $CIRRUS_TASK_NAME
- git ls-files -s contrib/deterministic-build/*.txt
- git ls-files -s contrib/build-linux/sdist/
build_script:
- ./contrib/build-linux/sdist/make_sdist.sh
binaries_artifacts:
path: "dist/*"
matrix:
- name: tarball build
- name: source-only tarball build
env:
OMIT_UNCLEAN_FILES: 1

task:
name: Submodules
container:
image: python:3.8
cpu: 1
memory: 1G
fetch_script:
- git fetch --all --tags
check_script:
- ./contrib/deterministic-build/check_submodules.sh
only_if: $CIRRUS_TAG != ''
1 change: 1 addition & 0 deletions .dockerignore
17 changes: 17 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# see https://EditorConfig.org

root = true

[*]
indent_style = space
trim_trailing_whitespace = true
end_of_line = lf
charset = utf-8

[*.py]
indent_size = 4
insert_final_newline = true

[*.sh]
indent_size = 4
insert_final_newline = true
12 changes: 12 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Auto detect text files and perform end-of-line normalization (to LF)
* text=auto

# These Windows files should have CRLF line endings in checkout
*.bat text eol=crlf
*.ps1 text eol=crlf

# Never perform LF normalization on these files
*.ico binary
*.jar binary
*.png binary
*.zip binary
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<!-- Note: This website is for bug reports, not general questions.
Do not post issues about non-bitcoin versions of Electrum. -->
Loading