Compare commits

..

139 Commits

Author SHA1 Message Date
fanquake
bf4e3c01f7 Merge bitcoin/bitcoin#28581: [23.x] depends: xcb-proto 1.15.2
aed613ab72 doc: add WIP release notes for 23.3 (fanquake)
5e644a05ae doc: add release notes for 23.2 (fanquake)
85436bc7ac depends: xcb-proto 1.15.2 (fanquake)

Pull request description:

  Resolves build failures under Python 3.12:
  ```bash
  make[3]: Nothing to be done for 'install-exec-am'.
   /usr/bin/mkdir -p '/bitcoin/depends/work/staging/aarch64-unknown-linux-gnu/xcb_proto/1.14.1-4a91ac9dc41/bitcoin/depends/aarch64-unknown-linux-gnu/lib/python3.12/site-packages/xcbgen'
   /usr/bin/install -c -m 644 __init__.py error.py expr.py align.py matcher.py state.py xtypes.py '/bitcoin/depends/work/staging/aarch64-unknown-linux-gnu/xcb_proto/1.14.1-4a91ac9dc41/bitcoin/depends/aarch64-unknown-linux-gnu/lib/python3.12/site-packages/xcbgen'
  Traceback (most recent call last):
    File "<string>", line 2, in <module>
  ModuleNotFoundError: No module named 'imp'
  make[3]: *** [Makefile:271: install-pkgpythonPYTHON] Error 1
  ```

  `imp` was removed in 3.12: https://docs.python.org/3/library/imp.html.

  Also backported for 25.x & 24.x.

  Also:
  * Add historical release-notes for 23.2.
  * Update release notes for currently backported changes.

  It's not clear if a 23.3 will be released, as 23.x goes [EOL 01-12-2023](https://bitcoincore.org/en/lifecycle/#schedule).

ACKs for top commit:
  dergoegge:
    ACK aed613ab72

Tree-SHA512: aa1ca764ee43b0bd6ae53837e2cbae56299b84336056fa22d052713773887cdf85395196251d22048892d0514aca79fe8efd7040d7fcef984bc19810eeea066e
2023-10-06 13:53:32 +01:00
fanquake
aed613ab72 doc: add WIP release notes for 23.3
It's not clear if a 23.3 will be released, but update the release-notes
to reflect the currently backported changes.
2023-10-04 11:51:21 +01:00
fanquake
5e644a05ae doc: add release notes for 23.2 2023-10-04 11:48:36 +01:00
fanquake
85436bc7ac depends: xcb-proto 1.15.2
Resolves build failures under Python 3.12, i.e building on rawhide:
```bash
make[3]: Nothing to be done for 'install-exec-am'.
 /usr/bin/mkdir -p '/bitcoin/depends/work/staging/aarch64-unknown-linux-gnu/xcb_proto/1.14.1-4a91ac9dc41/bitcoin/depends/aarch64-unknown-linux-gnu/lib/python3.12/site-packages/xcbgen'
 /usr/bin/install -c -m 644 __init__.py error.py expr.py align.py matcher.py state.py xtypes.py '/bitcoin/depends/work/staging/aarch64-unknown-linux-gnu/xcb_proto/1.14.1-4a91ac9dc41/bitcoin/depends/aarch64-unknown-linux-gnu/lib/python3.12/site-packages/xcbgen'
Traceback (most recent call last):
  File "<string>", line 2, in <module>
ModuleNotFoundError: No module named 'imp'
make[3]: *** [Makefile:271: install-pkgpythonPYTHON] Error 1
```

`imp` was removed in 3.12: https://docs.python.org/3/library/imp.html.

Github-Pull: #28097
Rebased-From: 7cb88c8b46
2023-10-04 11:44:30 +01:00
Andrew Chow
b7ded852bb Merge bitcoin/bitcoin#27756: [23.x] rpc: Fix invalid bech32 handling
d987707208 rpc: Fix invalid bech32 handling (MarcoFalke)

Pull request description:

  Backports https://github.com/bitcoin/bitcoin/pull/27727 to 23.x. Not a clean cherry-pick. Same commit as #27755.

ACKs for top commit:
  achow101:
    ACK d987707208
  stickies-v:
    ACK d987707208

Tree-SHA512: a471e3770474ba936114c89bf1c3f1a5a9948053bdc016b26d035ac791df8be1a02c568165b427140a5d15813a761811cd6a51438a58f35464087cbb2fef9ee1
2023-06-01 17:44:29 -04:00
MarcoFalke
d987707208 rpc: Fix invalid bech32 handling
Github-Pull: #27727
Rebased-From: eeee55f928
2023-05-25 15:17:02 +01:00
fanquake
4d2f2fae97 Merge bitcoin/bitcoin#27663: [23.2] Final Changes
7ae937326a doc: update release notes for 23.2 (fanquake)
6c5781e3cb doc: update manual pages for 23.2 (fanquake)
5fbb86e155 build: bump version to 23.2 final (fanquake)

Pull request description:

  Final changes for v23.2. I don't expect any futher backports, or the need to prolong the rc, as the changes here are fairly minimal.

  PR for bitcoincore.org is here: https://github.com/bitcoin-core/bitcoincore.org/pull/969

ACKs for top commit:
  josibake:
    ACK 7ae937326a
  stickies-v:
    ACK 7ae937326a

Tree-SHA512: 88e8138c17f9211a81dbdff5d8ec8869c5121f15d144022f84f4abbbb001df58713469e1ff766b60d80e2ebb4c481605282c685967d02316338345747a8cfbd4
2023-05-16 15:32:44 +01:00
fanquake
7ae937326a doc: update release notes for 23.2 2023-05-15 14:34:52 +01:00
fanquake
6c5781e3cb doc: update manual pages for 23.2 2023-05-15 14:33:19 +01:00
fanquake
5fbb86e155 build: bump version to 23.2 final 2023-05-15 14:31:06 +01:00
fanquake
2e9fc2e353 Merge bitcoin/bitcoin#27624: [23.2] Backports for rc1
a26ff204f0 doc: add initial release notes for v23.2 (fanquake)
60edfd57f1 doc: update manual pages for v23.2rc1 (fanquake)
b93814b234 doc: update version in bips.md to v23.2 (fanquake)
67bbe6d371 build: bump version to v23.2rc1 (fanquake)
06731d19bc net_processing: Boost inv trickle rate (Anthony Towns)
d0a2c87214 txmempool: have CompareDepthAndScore sort missing txs first (Anthony Towns)
ce8f812b0a p2p: Avoid prematurely clearing download state for other peers (Suhas Daftuar)

Pull request description:

  Final backports for `rc1`. Currently:
  * https://github.com/bitcoin/bitcoin/pull/27608 (not a clean cherry-pick)
  * https://github.com/bitcoin/bitcoin/pull/27610 (second commit is not clean)

ACKs for top commit:
  achow101:
    ACK a26ff204f0
  dergoegge:
    ACK a26ff204f0
  ajtowns:
    utACK a26ff204f0

Tree-SHA512: 59e43ec4d5004b3543d5c0366c9dc8c5f8a6a777b147628ebc0c03aeb0846312a7780376ebf40f389e3403e4501ba2b70bb97925479670bee13c89e5b6925137
2023-05-12 10:07:58 +01:00
fanquake
a26ff204f0 doc: add initial release notes for v23.2
Move historical 23.1 to doc/release-notes.
2023-05-11 17:41:59 +01:00
fanquake
60edfd57f1 doc: update manual pages for v23.2rc1 2023-05-11 17:29:50 +01:00
fanquake
b93814b234 doc: update version in bips.md to v23.2 2023-05-11 17:24:59 +01:00
fanquake
67bbe6d371 build: bump version to v23.2rc1 2023-05-11 17:24:26 +01:00
Anthony Towns
06731d19bc net_processing: Boost inv trickle rate
If transactions are being added to the mempool at a rate faster than 7tx/s
(INVENTORY_BROADCAST_PER_SECOND) then peers' inventory_to_send queue can
become relatively large. If this happens, increase the number of txids
we include in an INV message (normally capped at 35) by 5 for each 1000
txids in the queue.

This will tend to clear a temporary excess out reasonably quickly; an
excess of 4000 invs to send will be cleared down to 1000 in about 30
minutes, while an excess of 20000 invs would be cleared down to 1000 in
about 60 minutes.

Github-Pull: #27610
Rebased-From: 5b3406094f
2023-05-11 17:20:38 +01:00
Anthony Towns
d0a2c87214 txmempool: have CompareDepthAndScore sort missing txs first
We use CompareDepthAndScore to choose an order of txs to inv. Rather
than sorting txs that have been evicted from the mempool at the end
of the list, sort them at the beginning so they are removed from
the queue immediately.

Github-Pull: #27610
Rebased-From: 228e9201ef
2023-05-11 17:12:11 +01:00
Suhas Daftuar
ce8f812b0a p2p: Avoid prematurely clearing download state for other peers
Github-Pull: #27608
Rebased-From: 52e52071e0
2023-05-11 10:21:18 +01:00
fanquake
7b7636ead1 Merge bitcoin/bitcoin#27475: [23.x] Additional backports for 23.x
f0919339bf depends: fix compiling bdb with clang-16 on aarch64 (fanquake)
c14f3b3905 bdb: disable Werror for format-security (fanquake)
ec7a8839a2 build: suppress array-bounds errors in libxkbcommon (fanquake)

Pull request description:

  Any further backports for 23.x. Currently:
  * 1bdbbbdc46 from https://github.com/bitcoin/bitcoin/pull/25436 - which fixes building QT in depends with GCC > 12.1
  * https://github.com/bitcoin/bitcoin/pull/25763/
  * https://github.com/bitcoin/bitcoin/pull/27462

ACKs for top commit:
  TheCharlatan:
    ACK f0919339bf

Tree-SHA512: 8432ae37906e347ed30e2adc99a8b51e7f44159d04244fa749c5666c3b27cdd4fa89394c41674f980c09cc6c11367c3ee9c0922a2a8bd65ea471f9fd71a108ad
2023-05-01 14:32:08 +01:00
fanquake
f0919339bf depends: fix compiling bdb with clang-16 on aarch64
Compiling bdb with clang-16 on aarch64 (hardware) currently fails:
```bash
make -C depends/ bdb CC=clang CXX=clang++
...
checking for mutexes... UNIX/fcntl
configure: WARNING: NO SHARED LATCH IMPLEMENTATION FOUND FOR THIS PLATFORM.
configure: error: Unable to find a mutex implementation
```

Looking at config.log we've got:
```bash
configure:18704: checking for mutexes
configure:18815: clang -o conftest -pipe -std=c11 -O2 -Wno-error=implicit-function-declaration -Wno-error=format-security    -I/bitcoin/depends/aarch64-unknown-linux-gnu/include -D_GNU_SOURCE -D_REENTRANT   -L/bitcoin/depends/aarch64-unknown-linux-gnu/lib conftest.c  -lpthread >&5
conftest.c:45:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
main() {
^
int
conftest.c:50:2: warning: call to undeclared library function 'exit' with type 'void (int) __attribute__((noreturn))'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
        exit (
        ^
conftest.c:50:2: note: include the header <stdlib.h> or explicitly provide a declaration for 'exit'
1 warning and 1 error generated.
```

Clang-16 changed `-Wimplicit-function-declaration` and `-Wimplicit-int`
warnings into errors, see:
https://releases.llvm.org/16.0.0/tools/clang/docs/ReleaseNotes.html#potentially-breaking-changes.

> The -Wimplicit-function-declaration and -Wimplicit-int warnings now
> default to an error in C99, C11, and C17. As of C2x, support for implicit
> function declarations and implicit int has been removed, and the
> warning options will have no effect. Specifying -Wimplicit-int in
> C89 mode will now issue warnings instead of being a noop.

Github-Pull: #27462
Rebased-From: f8b8458276
2023-04-18 09:45:09 +01:00
fanquake
c14f3b3905 bdb: disable Werror for format-security
This is causing build failures in some build environments, like NixOS.
I don't think we are going to patch bdb at this point, and this warning
has existed for as long as we've used bdb.

Fixes #25211.

Tested (in Docker) with:
```bash
docker run -it nixos/nix
nix-shell -p gitMinimal gcc12 libtool pkg-config curl gnumake patch autoconf automake
git clone https://github.com/bitcoin/bitcoin
make -C bitcoin/depends bdb
```

Co-authored-by: Ryan Ofsky <ryan@ofsky.org>

Github-Pull: #25763
Rebased-From: b46c6ec52e
2023-04-18 09:43:56 +01:00
fanquake
ec7a8839a2 build: suppress array-bounds errors in libxkbcommon
These occur when building with GCC 12.1.

It might be the case that these would be suppressed by updating the
package, but that would also require installing new build tools (meson),
as well as potentially more dependencies (wayland).

```bash
In function 'ExprCreateBoolean',
    inlined from 'BoolVarCreate' at src/xkbcomp/ast-build.c:316:19:
src/xkbcomp/ast-build.c:119:23: error: array subscript 'ExprDef[0]' is partly outside array bounds of 'unsigned char[32]' [-Werror=array-bounds]
  119 |     expr->boolean.set = set;
      |     ~~~~~~~~~~~~~~~~~~^~~~~
In function 'ExprCreate',
    inlined from 'ExprCreateBoolean' at src/xkbcomp/ast-build.c:118:5,
    inlined from 'BoolVarCreate' at src/xkbcomp/ast-build.c:316:19:
src/xkbcomp/ast-build.c:75:21: note: object of size 32 allocated by 'malloc'
   75 |     ExprDef *expr = malloc(size);
      |                     ^~~~~~~~~~~~
```

Github-Pull: #25436
Rebased-From: 1bdbbbdc46
2023-04-17 15:47:13 +01:00
fanquake
0567787f5e Merge bitcoin/bitcoin#26921: [23.x] Backports
52376d9217 depends: fix systemtap download URL (fanquake)
af86266165 23.x Add missing includes to fix gcc-13 compile error (fanquake)
398768769f Add missing includes to fix gcc-13 compile error (MarcoFalke)
412cd1a34e addrdb: Only call Serialize() once (Martin Zumsande)
fd94befbc6 hash: add HashedSourceWriter (Martin Zumsande)

Pull request description:

  Backports:
  * https://github.com/bitcoin/bitcoin/pull/26909
  * https://github.com/bitcoin/bitcoin/pull/26924
  * https://github.com/bitcoin/bitcoin/pull/26944

ACKs for top commit:
  instagibbs:
    ACK 52376d9217

Tree-SHA512: fa6463d5086667107b4ce4d87545e0b3f9b7841a52761a4dc6286377f958ecc026ed6694d1cf1e91cbad686309b5d637608f3991c46a20b02421318a804ffcea
2023-02-16 16:01:41 +00:00
fanquake
52376d9217 depends: fix systemtap download URL
Github-Pull: #26944
Rebased-From: d81ca6619a
2023-01-23 10:06:32 +00:00
fanquake
af86266165 23.x Add missing includes to fix gcc-13 compile error
Additional include fixes are required to make the 23.x branch compile
using GCC 13.
2023-01-20 11:55:29 +00:00
MarcoFalke
398768769f Add missing includes to fix gcc-13 compile error
Github-Pull: #26924
Rebased-From: fadeb6b103
2023-01-20 10:29:35 +00:00
Martin Zumsande
412cd1a34e addrdb: Only call Serialize() once
The previous logic would call it once for serializing into the filestream,
and then again for serializing into the hasher. If AddrMan was changed
in between these calls by another thread, the resulting peers.dat would
be corrupt with non-matching checksum and data.
Fix this by using HashedSourceWriter, which writes the data
to the underlying stream and keeps track of the hash in one go.

Github-Pull: #26909
Rebased-From: 5eabb61b23
2023-01-19 15:13:39 +00:00
Martin Zumsande
fd94befbc6 hash: add HashedSourceWriter
This class is the counterpart to CHashVerifier, in that it
writes data to an underlying source stream,
while keeping a hash of the written data.

Github-Pull: #26909
Rebased-From: da6c7aeca3
2023-01-19 15:13:21 +00:00
MarcoFalke
dd04f2dda5 Merge bitcoin/bitcoin#26879: [23.x] ci: replace Intel macOS CI job
a3db8bd7ca ci: Use `macos-ventura-xcode:14.1` image for "macOS native" task (Hennadii Stepanov)
53fd827883 ci: Make `getopt` path architecture agnostic (Hennadii Stepanov)
6a5bb10da9 ci: Improve naming related to "macOS 12 native x86_64" task (Hennadii Stepanov)
192759eb7b ci, refactor: Add `MACOS_NATIVE_TASK_TEMPLATE` (Hennadii Stepanov)

Pull request description:

  Intel macOS jobs are no-longer available on Cirrus.

Top commit has no ACKs.

Tree-SHA512: dcd6832724ab4ed65d7b617903307e971fd9e27b40a093ec97efb211d352755d80b143985599ba530ff398e87c5bcd308e99aa248d89ffb5c3d1a02dadccd935
2023-01-16 12:07:53 +01:00
Hennadii Stepanov
a3db8bd7ca ci: Use macos-ventura-xcode:14.1 image for "macOS native" task
Github-Pull: #26388
Rebased-From: da16893474
2023-01-16 11:05:15 +00:00
Hennadii Stepanov
53fd827883 ci: Make getopt path architecture agnostic
Github-Pull: #26388
Rebased-From: 702836530f
2023-01-16 11:00:02 +00:00
Hennadii Stepanov
6a5bb10da9 ci: Improve naming related to "macOS 12 native x86_64" task
Github-Pull: #25444
Rebased-From: 0bb7a1f71d
2023-01-16 10:59:41 +00:00
Hennadii Stepanov
192759eb7b ci, refactor: Add MACOS_NATIVE_TASK_TEMPLATE
A native macOS task does not aware of Linux container settings, and it
does not use the `depends_built_cache`.

Github-Pull: #25444
Rebased-From: 8e017f3288
2023-01-13 11:12:00 +00:00
MarcoFalke
ffef91a5c1 Merge bitcoin/bitcoin#26659: [23.x] bump version to v23.1
8a16391c91 doc: update release notes for 23.1 (fanquake)
58478261de doc: update manual pages for 23.1 (fanquake)
93713654ef build: bump version to 23.1 final (fanquake)

Pull request description:

  Bump version to v23.1.
  Regenerate manpages.
  Finalize release notes.

ACKs for top commit:
  hebasto:
    ACK 8a16391c91, I have reviewed the changes and they look OK.

Tree-SHA512: d9100f5507f6e8d7b5a1192c981dbc6d97283def895e9181f738321fe9521c398e73686ddc48e27d1c863da19d75339069771f980d38af479eaf56ac3fc0881b
2022-12-14 12:27:25 +01:00
fanquake
8a16391c91 doc: update release notes for 23.1 2022-12-08 12:37:23 +00:00
fanquake
58478261de doc: update manual pages for 23.1 2022-12-08 12:36:04 +00:00
fanquake
93713654ef build: bump version to 23.1 final 2022-12-08 12:32:22 +00:00
fanquake
ea9aa3f02f Merge bitcoin/bitcoin#26543: [23.x] Bump version to 23.1rc2 & add release notes
87c2ff80e4 doc: add release notes for 23.1rc2 (fanquake)
5b2c99e24c doc: Update manual pages for 23.1rc2 (fanquake)
a02ae0745b build: Bump version to 23.1rc2 (fanquake)
a1fcd565ff doc: add 23.0 relase notes (fanquake)

Pull request description:

  Bump the version to 23.1rc2.
  Regenerate the man pages.
  Add historical 23.0 release notes.
  Add WIP 23.1 release notes.

  Changes since rc1:
  * https://github.com/bitcoin/bitcoin/pull/26474
  * https://github.com/bitcoin/bitcoin/pull/26522

ACKs for top commit:
  hebasto:
    ACK 87c2ff80e4, I have reviewed the code and it looks OK, I agree it can be merged.
  jarolrod:
    ACK 87c2ff80e4

Tree-SHA512: f185c33bfe2bf26f9df48f8d1e95ab784fef055bc7465282e2418960d348bd8b35f8fc57808b47250f8536a9def3be2d1dbe8ae309f052a81220925c425108f1
2022-11-22 09:36:57 +00:00
fanquake
c5058e95f4 Merge bitcoin/bitcoin#26544: [23.x] qt: 23.1rc2 translations update
38d90bc3e3 qt: 23.1rc2 translations update (Hennadii Stepanov)

Pull request description:

  This PR pulls the recent translations from the [Transifex.com](https://www.transifex.com/bitcoin/bitcoin) using the [`bitcoin-maintainer-tools/update-translations.py`](https://github.com/bitcoin-core/bitcoin-maintainer-tools/blob/main/update-translations.py) tool.

  According to our [Release Process docs](https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-every-release-candidate), it is supposed to be merged before `v23.1rc2` tagging.

  Will keep this PR updated regularly until merging.

  The `bitcoin_id.ts` translation is damaged, therefore its changes were rejected manually.

ACKs for top commit:
  jarolrod:
    ACK 38d90bc3e3

Tree-SHA512: 41e120342f3670345c88b23c761cd2e520cefe3128bf6417ffcdf9d5341ade77e65f4e4e78d99992543dc6b3caa438bac96a8c8eec0435b3020d4fde1fe8461e
2022-11-22 09:17:53 +00:00
Hennadii Stepanov
38d90bc3e3 qt: 23.1rc2 translations update 2022-11-21 11:11:03 +00:00
fanquake
87c2ff80e4 doc: add release notes for 23.1rc2 2022-11-21 11:01:10 +00:00
fanquake
5b2c99e24c doc: Update manual pages for 23.1rc2 2022-11-21 10:41:53 +00:00
fanquake
a02ae0745b build: Bump version to 23.1rc2 2022-11-21 10:24:28 +00:00
fanquake
a1fcd565ff doc: add 23.0 relase notes 2022-11-21 10:19:41 +00:00
fanquake
d14dc8e2c6 Merge bitcoin/bitcoin#26522: [23.x] GUI backports
e54a4deff8 Fixes bitcoin#26490 by preventing notifications (John Moffett)

Pull request description:

  Backports:
  - bitcoin-core/gui#680

ACKs for top commit:
  jarolrod:
    ACK e54a4deff8

Tree-SHA512: b81c73ece3f3c1e1d1c81bd0bb5b80a47488bca1fa43bbed25bab859cd063cd9b3acc1cff76f07961c3bd01276fab2fad8ea10b9d06e18965a198e78ff1f6705
2022-11-21 09:58:59 +00:00
John Moffett
e54a4deff8 Fixes bitcoin#26490 by preventing notifications
MacOS 13 sends a window focus change notification after the main
window has been destroyed but before the QTApplication has been
destroyed. This results in the menu bar receiving a notification
despite it no longer existing. The solution is to pass the main
window as context when subscribing to the notifications. Qt
automatically unsubscribes to notifications if the sender OR
context is destroyed.

Github-Pull: bitcoin-core/gui#680
Rebased-From: 8a5014cd8a
2022-11-17 14:39:26 +00:00
fanquake
3e0cf5e82b Merge bitcoin/bitcoin#26474: [23.x] guix: use --build={arch}-guix-linux-gnu in cross toolchain
0f4583e5c1 guix: use --build={arch}-guix-linux-gnu in cross toolchain (fanquake)

Pull request description:

  This backports https://github.com/bitcoin/bitcoin/pull/25861 to the 23.x branch, which fixes Guix building for `aarch64-linux-gnu` on aarch64 hardware. Fixing Guix building for this `HOST`, for the current release branch, seems like a worthwhile change, especially given more Guix builders are using aarch64 hardware. I thought I'd already backported this; noticed while building [sigs for 23.1rc1](https://github.com/bitcoin-core/guix.sigs/pull/380), which I started doing on aarch64.

  Guix Build (aarch64, no `x86_64-apple-darwin` or `arm64-apple-darwin`):
  ```bash
  9fd4601412738e9135e2732cfc8af911c54af8a1349c2af568b4748dd1907c3d  guix-build-0f4583e5c114/output/aarch64-linux-gnu/SHA256SUMS.part
  36df2797cd7845ccb4f416b52f9dbd4cc7dd0242782c3143206d0c15239e8b02  guix-build-0f4583e5c114/output/aarch64-linux-gnu/bitcoin-0f4583e5c114-aarch64-linux-gnu-debug.tar.gz
  6aa022173b23827ec2690823178b9d2d06108e159a9074e1a54a7d1a74b6c5db  guix-build-0f4583e5c114/output/aarch64-linux-gnu/bitcoin-0f4583e5c114-aarch64-linux-gnu.tar.gz
  1e98b6b5e2b58387106eb8f46367c4a42d03d6a881307ed115e7b6bfa1b2785a  guix-build-0f4583e5c114/output/arm-linux-gnueabihf/SHA256SUMS.part
  b9ecbfbec1ee941acb7f19fb2ba02bfa24ef5feb0e072a9a8c39263f2cdfb172  guix-build-0f4583e5c114/output/arm-linux-gnueabihf/bitcoin-0f4583e5c114-arm-linux-gnueabihf-debug.tar.gz
  2834aa08f19c03e88e22009e3f860b470fe5942c42ae08041b8e79e28673154b  guix-build-0f4583e5c114/output/arm-linux-gnueabihf/bitcoin-0f4583e5c114-arm-linux-gnueabihf.tar.gz
  9c787047070b1fe8c2beead22093dc73481e7c921993d95fb0e4ce8739f8e515  guix-build-0f4583e5c114/output/dist-archive/bitcoin-0f4583e5c114.tar.gz
  1a82b19a5d07bccdead69b5d9fe9559e01a263b458ea48ff0a701ee9adf55a3c  guix-build-0f4583e5c114/output/powerpc64-linux-gnu/SHA256SUMS.part
  3482de0ff01839aa98ca61b3c8a18de4773dd70e2b306f094b210a6c83839289  guix-build-0f4583e5c114/output/powerpc64-linux-gnu/bitcoin-0f4583e5c114-powerpc64-linux-gnu-debug.tar.gz
  5bb8b7ab8740d6c4a49e8fe700f0305bcc7318eaffc0e3c967492f218774f371  guix-build-0f4583e5c114/output/powerpc64-linux-gnu/bitcoin-0f4583e5c114-powerpc64-linux-gnu.tar.gz
  5442e495049b386b8ec5bc50c06feb401fb263e25f0807aa58e7e8c091c42be7  guix-build-0f4583e5c114/output/powerpc64le-linux-gnu/SHA256SUMS.part
  d685b1449379a3a1be139f243917d9987169cbc9901c7658a12044d27ce2762d  guix-build-0f4583e5c114/output/powerpc64le-linux-gnu/bitcoin-0f4583e5c114-powerpc64le-linux-gnu-debug.tar.gz
  14edbaf4c93346460ecff72ca22285c433c7dea5f9ccaccb4b49730f95d2d264  guix-build-0f4583e5c114/output/powerpc64le-linux-gnu/bitcoin-0f4583e5c114-powerpc64le-linux-gnu.tar.gz
  dec22e0f59513c3697de3c6906deb355010af36836285ab306de1ea8e4b88ff3  guix-build-0f4583e5c114/output/riscv64-linux-gnu/SHA256SUMS.part
  d70b6b6d1a2950292e820898af8a79d850b415829bbb94db97b742f3ab7cc7d3  guix-build-0f4583e5c114/output/riscv64-linux-gnu/bitcoin-0f4583e5c114-riscv64-linux-gnu-debug.tar.gz
  b5fd33257a81efacc61946b544e5af1582c9729fa57641ff3625d34f0e785cfd  guix-build-0f4583e5c114/output/riscv64-linux-gnu/bitcoin-0f4583e5c114-riscv64-linux-gnu.tar.gz
  30b6668d9e84503d2e2113a87051d3c5baeae8ad6b3fa3df7509d447c8d5f341  guix-build-0f4583e5c114/output/x86_64-linux-gnu/SHA256SUMS.part
  33a6c5072328281872678fc0d709629f934fac05bdfb2e41cccf2ddd5724925b  guix-build-0f4583e5c114/output/x86_64-linux-gnu/bitcoin-0f4583e5c114-x86_64-linux-gnu-debug.tar.gz
  c1c2ec074a88c6f0202ab067bd126c217573d028b3b1eb538db100eb0e316b53  guix-build-0f4583e5c114/output/x86_64-linux-gnu/bitcoin-0f4583e5c114-x86_64-linux-gnu.tar.gz
  2689a7cce5d1fc6decbb5dfd1361db21adc1c485ee4c644cdebf403b1d533be6  guix-build-0f4583e5c114/output/x86_64-w64-mingw32/SHA256SUMS.part
  9d6259432febdc1be728db0088a0464fa844dc4ad20e7b752be6de312588a695  guix-build-0f4583e5c114/output/x86_64-w64-mingw32/bitcoin-0f4583e5c114-win64-debug.zip
  e3e7cd45b6ed6e8a589efe2436e151120af0c1146772ce295c06300289e0b758  guix-build-0f4583e5c114/output/x86_64-w64-mingw32/bitcoin-0f4583e5c114-win64-setup-unsigned.exe
  1da1569b0140ad917b938ce8b087d3d8990331df3042d62a36d1366d9e5f0f42  guix-build-0f4583e5c114/output/x86_64-w64-mingw32/bitcoin-0f4583e5c114-win64-unsigned.tar.gz
  cbd74726e5704f6007e2344422197a25b9872a3a5f525a1a0b5774c833fc7e78  guix-build-0f4583e5c114/output/x86_64-w64-mingw32/bitcoin-0f4583e5c114-win64.zip
  ```

ACKs for top commit:
  hebasto:
    ACK 0f4583e5c1, tested on `arm64`:
  jarolrod:
    ACK 0f4583e5c1

Tree-SHA512: 2ddb1ebaa75c26cc0bd8abd81e565a7ffa99bd9af08ad329f1141c35c784fb7cb4ccf0777096410929cb3e0bc72acaf3dbe0684bbe57b6d6a7070bff1fa51a0e
2022-11-14 10:43:22 +00:00
fanquake
0f4583e5c1 guix: use --build={arch}-guix-linux-gnu in cross toolchain
Technically we are always cross-compiling, so make that explicit.

Fixes: #22458.

Github-Pull: #25861
Rebased-From: 56e79fe683
2022-11-08 17:05:39 +00:00
MacroFake
32fafa4f81 Merge bitcoin/bitcoin#26458: qt: 23.1rc1 translations update
22ffb150ac qt: 23.1rc1 translations update (Hennadii Stepanov)

Pull request description:

  This PR pulls the recent translations from the [Transifex.com](https://www.transifex.com/bitcoin/bitcoin) using the [`bitcoin-maintainer-tools/update-translations.py`](https://github.com/bitcoin-core/bitcoin-maintainer-tools/blob/main/update-translations.py) tool.

  According to our [Release Process docs](https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-every-release-candidate), it is supposed to be merged before `v23.1rc1` tagging.

  Will keep this PR updated regularly until merging.

  The `bitcoin_id.ts` translation is damaged, therefore its changes were rejected manually.

Top commit has no ACKs.

Tree-SHA512: dccda61e06b1b2fc6ee8eb91271bc6dc7a404e053def7ec002b68cafdaa89410f5c12cb9a8009b3a95bb787457408df6814f69d622d0f37c0c6f7defacbc86f2
2022-11-05 10:19:23 +01:00
Hennadii Stepanov
22ffb150ac qt: 23.1rc1 translations update 2022-11-05 08:44:20 +00:00
MacroFake
578752a44d Merge bitcoin/bitcoin#26453: [23.x] Bump version to 23.1rc1
888480bd88 doc: update version number in bips.md to v23.1 (fanquake)
f89a2ea3b7 doc: Update manual pages for 23.1rc1 (fanquake)
a43e380a1f build: Bump version to 23.1rc1 (fanquake)
5a57b656d3 doc: mention BIP86 in doc/bips.md (Sebastian Falbesoner)

Pull request description:

  Bump the version to 23.1rc1.
  Generate the man pages.
  Update the version number in bips.md.

  Also backports https://github.com/bitcoin/bitcoin/pull/26443.

ACKs for top commit:
  MarcoFalke:
    Concept ACK 888480bd88

Tree-SHA512: e2c937fe7b18423e1450889f61f2f8bd0b50fb525ab839978fe0a58707176416412c69983f973e5fc9b512356c5bc873d9458470b55c87067ff6789ba347beec
2022-11-05 09:34:06 +01:00
fanquake
888480bd88 doc: update version number in bips.md to v23.1 2022-11-04 16:04:41 +00:00
fanquake
f89a2ea3b7 doc: Update manual pages for 23.1rc1 2022-11-04 16:04:37 +00:00
fanquake
a43e380a1f build: Bump version to 23.1rc1 2022-11-04 16:01:01 +00:00
Sebastian Falbesoner
5a57b656d3 doc: mention BIP86 in doc/bips.md
Github-Pull: #26443
Rebased-From: 303fb8ff45
2022-11-04 16:01:01 +00:00
MacroFake
65c2f787c5 Merge bitcoin/bitcoin#26411: [23.1] Backports
f8ed34d1a9 rpc: add non-regression test about deriveaddresses crash when index is 2147483647 (muxator)
d9f1c89e49 rpc: fix crash in deriveaddresses when derivation index is 2147483647 (muxator)
bbea830a96 Adjust `.tx/config` for new Transifex CLI (Hennadii Stepanov)

Pull request description:

  Backports:
  * https://github.com/bitcoin/bitcoin/pull/26275
  * https://github.com/bitcoin/bitcoin/pull/26321

  Will leave open to collect remaining backports before a 23.1.

ACKs for top commit:
  MarcoFalke:
    cherry-pick ACK f8ed34d1a9  🚝

Tree-SHA512: 2a96f66b0d81457a7017b0f4b041a7742008374d00a22d828502bfe170bfebb413e4e63382b10b9e2e250cb9e1be1a41030b8b6c5be42ffb23964808b12ee343
2022-10-31 16:48:56 +01:00
muxator
f8ed34d1a9 rpc: add non-regression test about deriveaddresses crash when index is 2147483647
This test would cause a crash in bitcoind (see #26274) if the fix given in the
previous commit was not applied.

Github-Pull: #26275
Rebased-From: 9153ff3e27
2022-10-28 18:15:25 +08:00
muxator
d9f1c89e49 rpc: fix crash in deriveaddresses when derivation index is 2147483647
2147483647 is the maximum positive value of a signed int32, and - currently -
the maximum value that the deriveaddresses bitcoin RPC call accepts as
derivation index due to its input validation routines.

Before this change, when the derivation index (and thus range_end) reached
std::numeric_limits<int_32_t>::max(), the "i" variable in the for cycle (which
is declared as int, and as such 32 bits in size on most platforms) would be
incremented at the end of the first iteration and then warp back to
-2147483648. This caused SIGABRT in bitcoind and a core dump.

This change assigns "i" an explicit size of 64 bits on every platform,
sidestepping the problem.

Fixes #26274.

Github-Pull: #26275
Rebased-From: addf9d6502
2022-10-28 18:14:51 +08:00
Hennadii Stepanov
bbea830a96 Adjust .tx/config for new Transifex CLI
The old Transifex Command-Line Tool is considered deprecated (as of
January 2022) and will sunset on Nov 30, 2022.

See: https://github.com/transifex/cli/blob/devel/README.md#migrating-from-older-versions-of-the-client

An accompanying PR: https://github.com/bitcoin-core/bitcoin-maintainer-tools/pull/142

Github-Pull: #26321
Rebased-From: d6adbb7ee1
2022-10-28 18:12:58 +08:00
MacroFake
40b69fb06e Merge bitcoin/bitcoin#26033: [23.x] Prevent data race for pathHandlers
38d4601fe8 Prevent data race for `pathHandlers` (Hennadii Stepanov)

Pull request description:

  Backport of https://github.com/bitcoin/bitcoin/pull/25983 to the 23.x branch.

ACKs for top commit:
  dergoegge:
    ACK 38d4601fe8

Tree-SHA512: b235d6d2cb374baf1b54c09f4cd2feca7b6c1588d081532e987fd5def8ed0dee4b8255112b130a77aca633ec6a63cfd81f215b2e7a403c213eb6048a54774d26
2022-10-24 11:47:03 +02:00
MacroFake
c2d46d7434 Merge bitcoin/bitcoin#26333: [23.x] Revert "build: Use Homebrew's sqlite package if it is available"
7698366132 doc: remove brew install sqlite from macOS docs (fanquake)
419bdc534f Revert "build: Use Homebrew's sqlite package if it is available" (fanquake)

Pull request description:

  Backport of https://github.com/bitcoin/bitcoin/pull/25985 to the 23.x branch.

ACKs for top commit:
  hebasto:
    ACK 7698366132, I have reviewed the code and it looks OK, I agree it can be merged.
  stickies-v:
    re-ACK 7698366132

Tree-SHA512: 539f218b2895188111876b6a2035082ac642c89ef2e5055031bdc4563f690055012fcede396a5c87cf66e80ced796d62dd8d4394676fa6d22e01a581b29bb10b
2022-10-24 11:43:37 +02:00
fanquake
7698366132 doc: remove brew install sqlite from macOS docs 2022-10-24 09:34:34 +08:00
fanquake
419bdc534f Revert "build: Use Homebrew's sqlite package if it is available"
This reverts ee7b84e63c from #20527.
This change was made without any rationale, maybe other than a brew
installed version might be newer, and that's "better". However when
building from source on macOS, it just results in drastically worse
perofrmance, and results in issues / confusions like #25724.

Resolves the "build from source" portion of #25724. Building from
depends is still not ideal, however I have some other changes that might
help improve things in that case.

The difference in performance can be observed using the example from
https://github.com/bitcoin/bitcoin/issues/25724#issuecomment-1213554922,
but minified to only 10 descriptors. i.e:
```bash
time src/bitcoin-cli createwallet speedy true
time src/bitcoin-cli importdescriptors '[
  {"desc":"raw(00145846369f3d6ba366d6f5a903fb5cf4dca3763c0e)#k9wh6v62","timestamp":"now"},
  {"desc":"raw(001420800aabf13f3a4c4ce3ce4c66cecf1d17f21a6e)#6m0hlfh4","timestamp":"now"},
  {"desc":"raw(0014c6bf9715e06d73ebf9b3b02d5cc48d24d8bbabc1)#wyavh36r","timestamp":"now"},
  {"desc":"raw(00141ba7807b3f46af113beaea5c698428ce7138cd8a)#jctdsups","timestamp":"now"},
  {"desc":"raw(00140c1bd27f10fff01b36ddf3c1febaa1acff19b080)#9s6nc3pk","timestamp":"now"},
  {"desc":"raw(00141226e31987e4bc2e63c0ee12908f675e40464b20)#9pp7qm39","timestamp":"now"},
  {"desc":"raw(0014f73f149f7503960a5e849c6ee7a8a8c336f631cb)#qtkxv9fc","timestamp":"now"},
  {"desc":"raw(0014c8ccb4d81ffc769fc5fdd8d7eed69b0e0cae5749)#hn39qayv","timestamp":"now"},
  {"desc":"raw(001498565aead2d67a22a6021d55210f2a917fc22169)#6ar3vwsx","timestamp":"now"},
  {"desc":"raw(001403013248ac0cd9eabe176cad162cda2a19f771e1)#4m47mukd","timestamp":"now"}
]'
```

Running master, when building from souce and using brew installed
sqlite, this takes ~3.4s. With this PR, the same operation takes ~0.3s.

Github-Pull: #25985
Rebased-From: d216d714aa
2022-10-18 21:34:20 +08:00
fanquake
45c9f4afa4 Merge bitcoin/bitcoin#25828: [23.x] GUI backports
31ca698f20 Disallow encryption of watchonly wallets (Andrew Chow)
da9578da80 build, qt: bump Qt5 version to 5.15.3 (Pavol Rusnak)

Pull request description:

  Backports:
  - ef20add4c9 from bitcoin/bitcoin#24668 to address bitcoin/bitcoin#24939 and bitcoin-core/gui#638
  - bitcoin-core/gui#631

  Guix builds on `x86_64`:
  ```
  773f3555a1c6179d35a7a0b3971ced8eaf5a5e4bef5c08313216509506fe618d  guix-build-31ca698f2017/output/aarch64-linux-gnu/SHA256SUMS.part
  ef3977b92daabffc2d153e15963a5703839bc04250d2784bc00dc1104112e79e  guix-build-31ca698f2017/output/aarch64-linux-gnu/bitcoin-31ca698f2017-aarch64-linux-gnu-debug.tar.gz
  65b2351c61d226a8b10fda36cc963fda1f5fb89ea6b463d7351fdcd67bd57c3e  guix-build-31ca698f2017/output/aarch64-linux-gnu/bitcoin-31ca698f2017-aarch64-linux-gnu.tar.gz
  41c3489300f81f714033aa45ca3a807c5005be0625ebf58234fd89f3cdc65a1d  guix-build-31ca698f2017/output/arm-linux-gnueabihf/SHA256SUMS.part
  45e6e4c9e2e35430c41bca6df36d5ed2f9a857934da46bfd920a499e03bddb61  guix-build-31ca698f2017/output/arm-linux-gnueabihf/bitcoin-31ca698f2017-arm-linux-gnueabihf-debug.tar.gz
  cf08e2a62c5a9bfdeaeee6ce69263dde8b56033aab650bb9ffafe8e9b9241519  guix-build-31ca698f2017/output/arm-linux-gnueabihf/bitcoin-31ca698f2017-arm-linux-gnueabihf.tar.gz
  7d1f3e185fbb6843a1b5c47f7ff2a4452aa4a1f533bd7171f7fc8a13e65fde53  guix-build-31ca698f2017/output/arm64-apple-darwin/SHA256SUMS.part
  6395ee2e17fd5a8891fc70d97e7d75810d677293b6ad8581334b2e289024210d  guix-build-31ca698f2017/output/arm64-apple-darwin/bitcoin-31ca698f2017-arm64-apple-darwin-unsigned.dmg
  1658de08323b366f0f39e9ed02d68072ee3bef2db2252235e71d8fd206b4e609  guix-build-31ca698f2017/output/arm64-apple-darwin/bitcoin-31ca698f2017-arm64-apple-darwin-unsigned.tar.gz
  c4fdf8d5563bdfc0390dec7adce2a0608f8e5b8d0d82b648ef38aed8ab72d996  guix-build-31ca698f2017/output/arm64-apple-darwin/bitcoin-31ca698f2017-arm64-apple-darwin.tar.gz
  709470d5d1a4a44022cd3e7b162c8cf6c492c6bb9996eb31f12a121351ad081f  guix-build-31ca698f2017/output/dist-archive/bitcoin-31ca698f2017.tar.gz
  6f809a8bdd10fc62143b5d265ea9c2eae37a1b18cf573d4a3743b2b026c0d038  guix-build-31ca698f2017/output/powerpc64-linux-gnu/SHA256SUMS.part
  ff2f87a29f7581d9ce1fccb8749f4473d03532de2194373de0fcdcd3bf0d380a  guix-build-31ca698f2017/output/powerpc64-linux-gnu/bitcoin-31ca698f2017-powerpc64-linux-gnu-debug.tar.gz
  ab5ec4203ff59c0d4885f5df1c91191a03a3c104ed8ca0e98e19f531914cd2ad  guix-build-31ca698f2017/output/powerpc64-linux-gnu/bitcoin-31ca698f2017-powerpc64-linux-gnu.tar.gz
  beb0ed7d9940718351301cb27dda1ae7891092c85664e2f9473e81c02479c951  guix-build-31ca698f2017/output/powerpc64le-linux-gnu/SHA256SUMS.part
  286121e5698b726abbfc24d972c00d9f16f6d841fab245980a376a51e8dd85bc  guix-build-31ca698f2017/output/powerpc64le-linux-gnu/bitcoin-31ca698f2017-powerpc64le-linux-gnu-debug.tar.gz
  04a12dfe6a036477d212877f301ee425dcf063abf0fd892b8fbc0497ee5612fc  guix-build-31ca698f2017/output/powerpc64le-linux-gnu/bitcoin-31ca698f2017-powerpc64le-linux-gnu.tar.gz
  d229041d43c40a49bbebcb5b0700c540456e058e0cb7be0d3ac414a80018e4f9  guix-build-31ca698f2017/output/riscv64-linux-gnu/SHA256SUMS.part
  981268b93caaf1c450f1f3cec4d70efd2b4779e17917a4ab424447743628519e  guix-build-31ca698f2017/output/riscv64-linux-gnu/bitcoin-31ca698f2017-riscv64-linux-gnu-debug.tar.gz
  acfef50476d9141ec29855216e60974d6307307a02784e7217942ee281d69c76  guix-build-31ca698f2017/output/riscv64-linux-gnu/bitcoin-31ca698f2017-riscv64-linux-gnu.tar.gz
  5482b0c34069be1e40a96a173f984c67eb983860a4f5f4d9d927638caf72eed5  guix-build-31ca698f2017/output/x86_64-apple-darwin/SHA256SUMS.part
  fe4847edbc3ad1c747663a67f0daf2ed8b38818d1d1960617d85c851b0dded2f  guix-build-31ca698f2017/output/x86_64-apple-darwin/bitcoin-31ca698f2017-x86_64-apple-darwin-unsigned.dmg
  2b1899804035508f90eef57e1f068120509e7680877c8ae6cb5cb5beed84607c  guix-build-31ca698f2017/output/x86_64-apple-darwin/bitcoin-31ca698f2017-x86_64-apple-darwin-unsigned.tar.gz
  7a82ab62d1db4141b13ac566bc985eca5fa1da982be29427dd74f7098059932c  guix-build-31ca698f2017/output/x86_64-apple-darwin/bitcoin-31ca698f2017-x86_64-apple-darwin.tar.gz
  3e943a6e11930ac1dcd7339bcdfbcf310b09f03d1e2544fce314e656b3552b7a  guix-build-31ca698f2017/output/x86_64-linux-gnu/SHA256SUMS.part
  0e0155ce76ffe8af19a74ecb74b813ce7ca4817bf3535a2b5813ae9e229804dc  guix-build-31ca698f2017/output/x86_64-linux-gnu/bitcoin-31ca698f2017-x86_64-linux-gnu-debug.tar.gz
  b66f9a25e963db98b3b8eed79e6d280d0ae7902d1f7e2cdee8481bacfc94ed96  guix-build-31ca698f2017/output/x86_64-linux-gnu/bitcoin-31ca698f2017-x86_64-linux-gnu.tar.gz
  bdc9cdd0ba739c3aba3d355f6e9ea88af99b09dd666cf40c7986212b355d2a09  guix-build-31ca698f2017/output/x86_64-w64-mingw32/SHA256SUMS.part
  815d4b70b257932a3e32e14d8bb53960efd5e71500e7349ac53d13303f4b5335  guix-build-31ca698f2017/output/x86_64-w64-mingw32/bitcoin-31ca698f2017-win64-debug.zip
  4b248df85b0b5de00631756839bc53e9e64c764b4da900afad34f871e2afe995  guix-build-31ca698f2017/output/x86_64-w64-mingw32/bitcoin-31ca698f2017-win64-setup-unsigned.exe
  b26008ed9fa0db1d32220087c2f0828788f0f9f784c981622f5e76c63c98fb9a  guix-build-31ca698f2017/output/x86_64-w64-mingw32/bitcoin-31ca698f2017-win64-unsigned.tar.gz
  4dd03a68ac2d742681d6b8c42b15e6f9d4ce46084ff18ebb0f1313109a867205  guix-build-31ca698f2017/output/x86_64-w64-mingw32/bitcoin-31ca698f2017-win64.zip
  ```

ACKs for top commit:
  jarolrod:
    ACK 31ca698f20

Tree-SHA512: 596c2979e070d3574c744ac89961ba157e9e01c2e1a3ce7d33cc369ad2cf1c2e16aa23209b382667dbd100545b5c17530771855b380eeb7345deebfa695a3be6
2022-10-02 17:00:30 +01:00
Hennadii Stepanov
38d4601fe8 Prevent data race for pathHandlers
Github-Pull: bitcoin/bitcoin#25983
Rebased-From: 4296dde287
2022-09-07 12:14:53 +02:00
Andrew Chow
31ca698f20 Disallow encryption of watchonly wallets
Watchonly wallets do not have any private keys to encrypt. It does not
make sense to encrypt such wallets, so disable the option to encrypt
them.

This avoids an assertion that can be hit when encrypting watchonly descriptor
wallets.

Github-Pull: bitcoin-core/gui#631
Rebased-From: 4c495413e1
2022-08-12 10:27:56 +01:00
Pavol Rusnak
da9578da80 build, qt: bump Qt5 version to 5.15.3
Qt 5.15.3 release is a patch release made on the top of Qt 5.15.2. As a patch
release, Qt 5.15.3 does not add any new functionality but provides bug fixes
and other improvements.

https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/5.15.3/release-note.md

* dropped patches:
  - patches/qt/dont_use_avx_android_x86_64.patch
  - patches/qt/fix_bigsur_style.patch
* adjusted patches:
  - patches/qt/fix_android_jni_static.patch
  - patches/qt/fix_limits_header.patch
  - patches/qt/use_android_ndk23.patch

Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>

Github-Pull: bitcoin/bitcoin#24668
Rebased-From: ef20add4c9
2022-08-12 10:23:56 +01:00
Andrew Chow
313ea18e5e Merge bitcoin/bitcoin#25799: [23.x] guix: patch NSIS to remove .reloc sections from install stubs
fc77b2a41d guix: patch NSIS to remove .reloc sections from install stubs (fanquake)

Pull request description:

  Backport of #25788 to the 23.x branch.

  Guix Build (x86_64):
  ```bash
  5533c15a0084dfc174b68620a638f5499677be20eafdb1261457f7759298abdc  guix-build-fc77b2a41dd9/output/dist-archive/bitcoin-fc77b2a41dd9.tar.gz
  b67742b17aa813350051635f1e0a9b27921deb22c40d89c8d108fd809619826c  guix-build-fc77b2a41dd9/output/x86_64-w64-mingw32/SHA256SUMS.part
  34e06ab6fbcce2508095d6899daf9c38b962df1a042d0bedee49169f394d47a5  guix-build-fc77b2a41dd9/output/x86_64-w64-mingw32/bitcoin-fc77b2a41dd9-win64-debug.zip
  63e1e7c1aa62577a21606c789bdaf983352c5285eec5722608cf7a3240a25d6a  guix-build-fc77b2a41dd9/output/x86_64-w64-mingw32/bitcoin-fc77b2a41dd9-win64-setup-unsigned.exe
  0ae26c5bc2f2aa86c451d3cfa3fbdbd73edab6136fd8d6510cd1c47a833973b7  guix-build-fc77b2a41dd9/output/x86_64-w64-mingw32/bitcoin-fc77b2a41dd9-win64-unsigned.tar.gz
  ddb1feb2541d1a4922a62997224e965a3e79c7233c75106eb8c7ad76eff6cf89  guix-build-fc77b2a41dd9/output/x86_64-w64-mingw32/bitcoin-fc77b2a41dd9-win64.zip
  ```

  Guix Build (arm64):
  ```bash
  5533c15a0084dfc174b68620a638f5499677be20eafdb1261457f7759298abdc  guix-build-fc77b2a41dd9/output/dist-archive/bitcoin-fc77b2a41dd9.tar.gz
  3c5cb927e397d14f39bed24480b6800d946854c376d35cfb7a9dd635d45a5d6b  guix-build-fc77b2a41dd9/output/x86_64-w64-mingw32/SHA256SUMS.part
  b520c2e9f4c29fe711225c737b4c16e2ae933d5954cfb15cec554e1e0b57b061  guix-build-fc77b2a41dd9/output/x86_64-w64-mingw32/bitcoin-fc77b2a41dd9-win64-debug.zip
  63e1e7c1aa62577a21606c789bdaf983352c5285eec5722608cf7a3240a25d6a  guix-build-fc77b2a41dd9/output/x86_64-w64-mingw32/bitcoin-fc77b2a41dd9-win64-setup-unsigned.exe
  0ae26c5bc2f2aa86c451d3cfa3fbdbd73edab6136fd8d6510cd1c47a833973b7  guix-build-fc77b2a41dd9/output/x86_64-w64-mingw32/bitcoin-fc77b2a41dd9-win64-unsigned.tar.gz
  1447a28a582c0e5f2dd03ce22ecf078c6398142b3a2be2de2347a5f095f14d5b  guix-build-fc77b2a41dd9/output/x86_64-w64-mingw32/bitcoin-fc77b2a41dd9-win64.zip
  ```

ACKs for top commit:
  achow101:
    ACK fc77b2a41d
  hebasto:
    ACK fc77b2a41d, `bitcoin-fc77b2a41dd9-win64-setup-unsigned.exe` tested on on Windows 11 Pro 21H2 with the "_Force randomization for images (Mandatory ASLR)_" option being set to "_On by default_".
  jarolrod:
    ACK fc77b2a41d

Tree-SHA512: 11000a2236532753a025bfa4ed4dadbbf3432d39b35edcbdd6d09a1b69621331cc43c8fef1bf0ad80909335588535eb741e43ce1f516101c415175e378815579
2022-08-09 16:46:24 -04:00
fanquake
fc77b2a41d guix: patch NSIS to remove .reloc sections from install stubs
With the release of binutils/ld 2.36, ld swapped to much improved
default settings when producing windows binaries with mingw-w64. One of
these changes was to stop stripping the .reloc section from binaries,
which is required for working ASLR.

.reloc section stripping is something we've accounted for previously,
see #18702. The related upstream discussion is in this thread:
https://sourceware.org/bugzilla/show_bug.cgi?id=19011.

When we switched to using a newer Guix time-machine in #23778, we begun
using binutils 2.37 to produce releases. Since then, our windows
installer (produced with makensis) has not functioned correctly when run on
a Windows system with the "Force randomization for images (Mandatory ASLR)"
option enabled. Note that all of our other release binaries, which all
contain .reloc sections, function fine under the same option, so it
cannot be just the presence of a .reloc section that is the issue.

For now, restore makensis to it's pre-binutils-2.36 behaviour, which
fixes the produced installer. The underlying issue can be further
investigated in future.

Github-Pull: #25788
Rebased-From: 7a0b129c41
2022-08-07 12:39:06 +01:00
MacroFake
a33ec8a693 Merge bitcoin/bitcoin#25316: 23.x backports
4ebf6e35dc p2p: always set nTime for self-advertisements (Martin Zumsande)
039ef215bc tests: Use descriptor that requires both legacy and segwit (Andrew Chow)
5fd25eb9cb tests: Calculate input weight more accurately (Andrew Chow)
bd6d3ac8b7 windeploy: Renewed windows code signing certificate (Andrew Chow)
32fa522a80 test: ensure createmultisig and addmultisigaddress are not returning any warning for expected cases (brunoerg)
7658055c4e rpc: fix inappropriate warning for address type p2sh-segwit in createmultisig and addmultisigaddress (brunoerg)

Pull request description:

  Backports:
  - https://github.com/bitcoin/bitcoin/pull/24454
  - https://github.com/bitcoin/bitcoin/pull/25201
  - https://github.com/bitcoin/bitcoin/pull/25220
  - https://github.com/bitcoin/bitcoin/pull/25314

ACKs for top commit:
  LarryRuane:
    re-utACK 4ebf6e35dc
  achow101:
    ACK 4ebf6e35dc

Tree-SHA512: add3999d0330b3442f3894fce38ad9b5adc75da7d681c949e1d052bac5520c2c6fb06eba98bfbeb4aa9a560170451d24bf00d08dddd4a3d080030ecb8ad61882
2022-07-08 09:02:05 +02:00
Martin Zumsande
4ebf6e35dc p2p: always set nTime for self-advertisements
If we self-advertised to an inbound peer with the address they gave us,
nTime was left default-initialized, so that our peer wouldn't relay it
any further along.

Github-Pull: #25314
Rebased-From: 99b9e5f3a9
2022-06-22 11:39:16 +01:00
Andrew Chow
039ef215bc tests: Use descriptor that requires both legacy and segwit
Github-Pull: #24454
Rebased-From: 9f5ab670e7
2022-06-09 12:07:02 +01:00
Andrew Chow
5fd25eb9cb tests: Calculate input weight more accurately
The external input test with specifying input weight would make a
pessimistic estimate of the input weight. However this would result in a
test failure as it is sometimes too pessimistic when an ECDSA signature
ends up being smaller than usual. To correct this, we can calculate the
input weight more accurately.

Github-Pull: #24454
Rebased-From: 8a04a386f7
2022-06-09 12:06:41 +01:00
Andrew Chow
bd6d3ac8b7 windeploy: Renewed windows code signing certificate
Github-Pull: #25201
Rebased-From: 7e9fe6d800
2022-06-09 12:05:50 +01:00
brunoerg
32fa522a80 test: ensure createmultisig and addmultisigaddress are not returning any warning for expected cases
Github-Pull: #25220
Rebased-From: 3a9b9bb38e
2022-06-09 12:05:17 +01:00
brunoerg
7658055c4e rpc: fix inappropriate warning for address type p2sh-segwit in createmultisig and addmultisigaddress
Github-Pull: #25220
Rebased-From: eaf6f630c0
2022-06-09 12:05:04 +01:00
laanwj
c3936cc53d Merge bitcoin/bitcoin#25241: [23.x] rpc: Capture potentially large UniValue by ref for rpcdoccheck
7fcac96597 rpc: Capture potentially large UniValue by ref for rpcdoccheck (Martin Zumsande)

Pull request description:

ACKs for top commit:
  fanquake:
    ACK 7fcac96597

Tree-SHA512: 7b60d35c84a47ff2b16aed06b4ea82ff3f60cc24409e2927b9ed618f8f939252903417ef93b711171e22b15daf5d857964687fde25ec554153337c996e5e27fa
2022-05-30 19:47:36 +02:00
Martin Zumsande
7fcac96597 rpc: Capture potentially large UniValue by ref for rpcdoccheck
Github-Pull: 25237
Rebased-From: 20ff4991e5
2022-05-30 10:46:02 +02:00
laanwj
fcf6c8f4eb doc: Update manual pages for 23.0
Tree-SHA512: 0e683e928e3c8e2e5534b8a28eb288445caeadf698e27d1c307cad8a8edb02c151ec245de4ed64fc6b7f137dfcb808fec410bd9f968f6d3f80ee3067563ca97a
2022-04-21 21:28:32 +02:00
laanwj
4253c619cf build: Bump to final
Tree-SHA512: 389a841cb36dd8b9c99279d63473a10c83c09700b0077bd16f73d1141d5d79c1bdbba462f6fcb4c1917c28260bbf1359bf93bbe695b150adde23c4533d6c85cd
2022-04-21 21:23:55 +02:00
laanwj
9549b28c04 doc: Update manual pages for 23.0rc5
Tree-SHA512: cc721bc9a0a916a33979b17d98bfea1c569bd827072d651d8882ee674a0f14f0981bf22e3cd9eff384e580d6afd90c7310a1928d99f204833fce4d06a3287a67
2022-04-14 18:05:18 +02:00
laanwj
cf42ffdaca qt: 23.0rc5 translations update
Tree-SHA512: 86a246bf5a817084f077ace118edad16dc48d06ec8d39476d82d6d6c5010bde9ec91eec00d7bd9736fc3ecfd1b67629f06e38798d484e6a0f09768553a52a231
2022-04-14 18:05:02 +02:00
laanwj
30ad7ac8fe build: Bump rc to 23.0rc5
Tree-SHA512: 394d58796c13d8ce2cef2fc0f2dc364cd2736cefe019e4cf6bef82b773c2c8a8ecb77ead67014eab9046c40d416096a56ebfaaacac2d4485c40f1ec9c4659638
2022-04-14 17:26:41 +02:00
laanwj
dabac355c8 Merge bitcoin/bitcoin#24843: [23.x] rc5 backports
a75b8ec836 guix: fix GCC 10.3.0 + mingw-w64 setjmp/longjmp issues (fanquake)

Pull request description:

  Currently backports:
  * https://github.com/bitcoin/bitcoin/pull/24842

ACKs for top commit:
  gruve-p:
    ACK a75b8ec836
  hebasto:
    ACK a75b8ec836
  jonatack:
    Code review and commit meta-data ACK a75b8ec836
  jarolrod:
    ACK a75b8ec836

Tree-SHA512: 1071b675647ed990ffda9c84391538b6c2e741b423a64e534754322250ca7f95cbc948e005cb976bf070099038f86997bfa1946c543a109e2086d2aaeaacb189
2022-04-14 17:25:53 +02:00
fanquake
a75b8ec836 guix: fix GCC 10.3.0 + mingw-w64 setjmp/longjmp issues
This commit backports a patch to the GCC 10.3.0 we build for Windows
cross-compilation in Guix. The commit has been backported to the GCC
releases/gcc-10 branch, but hasn't yet made it into a release.

The patch corrects a regression from an earlier GCC commit, see:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=357c4350680bf29f0c7a115424e3da11c53b5582
and
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=074226d5aa86cd3de517014acfe34c7f69a2ccc7,
related to the way newer versions of mingw-w64 implement setjmp/longjmp.

Ultimately this was causing a crash for us when Windows users were
viewing the network traffic tab inside the GUI. After some period, long
enough that a buffer would need reallocating, a call into FreeTypes
gray_record_cell() would result in a call to ft_longjmp (longjmp), which
would then trigger a crash.

Fixes: https://github.com/bitcoin-core/gui/issues/582.

See also:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=e8d1ca7d2c344a411779892616c423e157f4aea8.
https://bugreports.qt.io/browse/QTBUG-93476.

Github-Pull: #24842
Rebased-From: 457148a803
2022-04-13 13:49:04 +01:00
laanwj
b6253829c1 doc: Update manual pages for 23.0rc4
Tree-SHA512: 0124eaf86ef7324c14a77eafab8f53f0f3da83b19bc63922218051dd50bc154ab8e47f427fdc4ac5c2c3c34004ffd8e2df7ec134c66a16a78c4917a4ce1edae4
2022-04-08 16:06:51 +02:00
laanwj
d37081e483 qt: 23.0rc4 translations update
Tree-SHA512: 1bf7ac70963fc6361b5cd117612355e6d4b1862721441003eb7b11f8366a706cb83d45a46533bfad421d7ea0dd12931b4e37881818eb0f0be845de19b823f98c
2022-04-08 16:05:58 +02:00
laanwj
5f8635541e build: Bump rc to 23.0rc4
Tree-SHA512: 18e4560c9b04d1270449ed1938b4c3ce9a903b1b65257e92947884f12a2d45e64e4074f8e7738c7ccb7076f696f9e7fb2056a55f856335a98eed143e0c1167f3
2022-04-08 15:53:50 +02:00
laanwj
308a2022c0 Merge bitcoin/bitcoin#24807: [23.x] Final rc4 backports
e3e4be9cd5 RPC: Switch getblockfrompeer back to standard param name blockhash (Luke Dashjr)
69cc83df69 Add DEBUG_LOCKCONTENTION documentation to the developer notes (Jon Atack)
6374e24887 Put lock logging behind DEBUG_LOCKCONTENTION preprocessor directive (Jon Atack)

Pull request description:

  Backports:
  * #24770
  * #24806

ACKs for top commit:
  laanwj:
    Commit list and code review ACK e3e4be9cd5
  jonatack:
    Code review and commit metadata ACK e3e4be9cd5

Tree-SHA512: eff2b506379a9396b12b42ed2858e3eb9403a55950d6dec0b5dcc95c4c2998cddf9e0ec88af2f8ac5a7bece4d4537acede1c75f59bbc6616bee273384f87f6b0
2022-04-08 15:53:08 +02:00
Luke Dashjr
e3e4be9cd5 RPC: Switch getblockfrompeer back to standard param name blockhash
This commit partially reverts 923312fbf6.

Github-Pull: #24806
Rebased-From: 88917f93cc
2022-04-08 13:27:19 +01:00
Jon Atack
69cc83df69 Add DEBUG_LOCKCONTENTION documentation to the developer notes
Github-Pull: #24770
Rebassedd-From: 4394733331
2022-04-08 13:27:02 +01:00
Jon Atack
6374e24887 Put lock logging behind DEBUG_LOCKCONTENTION preprocessor directive
Github-Pull: #24770
Rebased-From: 39a34b6877
2022-04-08 13:26:34 +01:00
MarcoFalke
1ea76767d0 Merge bitcoin/bitcoin#24755: [23.x] Further build backports
39396ab593 build: Fix "ERR: Unsigned tarballs do not exist" (Hennadii Stepanov)
db8a5d6094 guix: fix vmov alignment issues with gcc 10.3.0 & mingw-w64 (fanquake)

Pull request description:

  Backports:
  * https://github.com/bitcoin/bitcoin/pull/24733
  * https://github.com/bitcoin/bitcoin/pull/24736

ACKs for top commit:
  gruve-p:
    ACK 39396ab593
  hebasto:
    ACK 39396ab593, backported locally, got zero diff with the PR branch.
  jarolrod:
    ACK 39396ab593

Tree-SHA512: 3573870c48fbde538a490c8b7103779987d3cce1165ca639c164aaf8ef82290fb99fcd461d0fed0208b43174b21284b21eb032c00512b986ae824295cc7935a8
2022-04-05 08:51:54 +02:00
Hennadii Stepanov
39396ab593 build: Fix "ERR: Unsigned tarballs do not exist"
Github-Pull: #24733
Rebased-From: 7762c5683f
2022-04-04 10:49:17 +01:00
fanquake
db8a5d6094 guix: fix vmov alignment issues with gcc 10.3.0 & mingw-w64
This introduces a patch to our GCC (10.3.0) mingw-w64 compiler, in Guix, to make
it avoid using aligned vmov instructions. This works around a longstanding issue
in GCC, https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54412, which was recently
discovered to be causing issues, see #24726.

Note that distros like Debian are also patching around this issue, and that is
where this patch comes from. This would also explain why we haven't run into this
problem earlier, in development builds. See:
https://salsa.debian.org/mingw-w64-team/gcc-mingw-w64/-/blob/master/debian/patches/vmov-alignment.patch.

Fixes #24726.
Alternative to #24727.

See also:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=939559

Github-Pull: #24736
Rebased-From: d6fae988ef
2022-04-04 10:48:33 +01:00
MarcoFalke
e089c68aa1 Merge bitcoin/bitcoin#24725: 23.0: rc4 backport
1448c99380 wallet: Postpone NotifyWalletLoaded() for encrypted wallets (Hennadii Stepanov)
4f3ba8517a wallet, refactor: Add wallet::NotifyWalletLoaded() function (Hennadii Stepanov)

Pull request description:

ACKs for top commit:
  Sjors:
    ACK 1448c99380
  hebasto:
    ACK 1448c99380
  jarolrod:
    ACK 1448c99380

Tree-SHA512: 84d908ff40f0048394f74499a9640904eb244bae975648221a883ab6ef6c5d5d7c178c17e5e420b565000c6d9cea26769fa9dd7c53ae10e32fa15748940ea796
2022-04-01 08:48:42 +02:00
Hennadii Stepanov
1448c99380 wallet: Postpone NotifyWalletLoaded() for encrypted wallets
Too early NotifyWalletLoaded() call in CWallet::Create() results the
notification goes before DescriptorScriptPubKeyMans were created and
added to an encrypted wallet.

Co-authored-by: Andrew Chow <achow101-github@achow101.com>

Github-Pull: bitcoin/bitcoin#24711
Rebased-From: 0c12f0116c
2022-03-31 19:04:04 +02:00
Hennadii Stepanov
4f3ba8517a wallet, refactor: Add wallet::NotifyWalletLoaded() function
This change is a prerequisite for the following bugfix.

Github-Pull: bitcoin/bitcoin#24711
Rebased-From: aeee419c6a
2022-03-31 19:04:02 +02:00
laanwj
e181e94e86 doc: Update manual pages for 23.0rc3
Tree-SHA512: 5350255e4260b85b7f294e980f9c47fb0aa8370965711411e37c16702cd3eee010ea83c2135b1e4fe6241402b9b1b478bc7f6a181f3e6da2c261a024b45aa8ae
2022-03-31 16:13:45 +02:00
laanwj
752c9d82a6 qt: 23.0rc3 translations update
Tree-SHA512: 110fab39faae351f10a9bb3a8a852d29f1e8e4bae27b790a52198fc39c5e1a2261c0fe8f0289f4c626e3d39f237c9410ae80f311bdcf446f778c680bc0fdc367
2022-03-31 16:13:38 +02:00
laanwj
2a1d3a48c4 build: Bump rc to 23.0rc3
Tree-SHA512: 558379b8b0e9e12a84b563d673377712950b425fd5862f68dddcecde14090e9566917e30720a82ddf8cb1132f02e21bab1ab93594f507e9ca34d039408ca15b4
2022-03-31 16:13:25 +02:00
fanquake
c243e08351 Merge bitcoin/bitcoin#24512: 23.x backports
174af33d5d util: Add inotify_rm_watch to syscall sandbox (AllowFileSystem) (Hennadii Stepanov)
ded10fe3ea build: Fix Boost.Process test for Boost 1.78 (Hennadii Stepanov)
26c2f23f36 build: Fix Boost.Process detection on macOS arm64 (Hennadii Stepanov)
85f85c7e5f util: add linkat to syscall sandbox (AllowFileSystem) (fanquake)
eaa04194b9 contrib: fix signet miner (sighash mismatch) (Sebastian Falbesoner)
235b042594 rpc: Exclude descriptor when address is excluded (MarcoFalke)
b05a59b69f ci: Temporarily use clang-13 to work around clang-14 TSan bug (MarcoFalke)
65b966743c doc, init: add links to doc/cjdns.md (Jon Atack)
7a553d4e65 doc: update i2p.md with cjdns, improve local addresses section (Jon Atack)
4148396229 doc: update tor.md with cjdns and getnodeaddresses, fix tor grep, (Jon Atack)
4690e8af13 doc: create initial doc/cjdns.md for cjdns how-to documentation (Jon Atack)
5d24f612d1 Clarify in -maxtimeadjustment that only outbound peers influence time data (Jon Atack)
b1646f1bb5 test: set segwit height back to 0 on regtest (Martin Zumsande)
ef6a37b7c4 rpc: rename getdeploymentinfo status-next to status_next (Jon Atack)
2a6fcf9c13 init, doc: improve -onlynet help and tor/i2p documentation (Jon Atack)

Pull request description:

  Backport the following to 23.x:

  - #24468
  - #24528
  - #24527
  - #24609
  - #24555
  - #24663
  - #24572
  - #24636
  - #24553
  - #24659
  - #24521
  - #24523
  - #24690
  - #24710

  Possibly also:
  - #24579
  - #24691

ACKs for top commit:
  laanwj:
    List-of-commits ACK 174af33d5d, I think we should merge this and move forward with rc3..
  hebasto:
    ACK 174af33d5d

Tree-SHA512: 5a493e1652b780b527767d6ca9e67012abd2fa5573496e85e0d8aa4bed3eb332bfcd72610b8dfb954ff274d42450623233c96c479de2085b9c8344ba5abf1935
2022-03-31 12:19:22 +01:00
Hennadii Stepanov
174af33d5d util: Add inotify_rm_watch to syscall sandbox (AllowFileSystem)
Github-Pull: bitcoin#24690
Rebased-From: f05a4cd
2022-03-31 10:38:11 +02:00
Hennadii Stepanov
ded10fe3ea build: Fix Boost.Process test for Boost 1.78
Github-Pull: bitcoin#24523
Rebased-From: 532c64a
2022-03-31 10:38:09 +02:00
Hennadii Stepanov
26c2f23f36 build: Fix Boost.Process detection on macOS arm64
Could be tested as follows:
```
% brew install boost@1.76
% ./autogen.sh
% ./configure --with-boost='/opt/homebrew/opt/boost@1.76'
```

Github-Pull: bitcoin#24521
Rebased-From: 1d4157a
2022-03-31 10:37:15 +02:00
fanquake
85f85c7e5f util: add linkat to syscall sandbox (AllowFileSystem)
Github-Pull: bitcoin#24659
Rebased-From: 9809db3
2022-03-31 10:30:14 +02:00
Sebastian Falbesoner
eaa04194b9 contrib: fix signet miner (sighash mismatch)
PSBT signing was changed to use SIGHASH_DEFAULT by default in #22514.
The signet miner script sets the sighash type of the created PSBT to
SIGHASH_ALL, hence this leads to a sighash mismatch when the
`walletprocesspsbt` RPC is called. Fix this by explicitly passing the
correct sighash type.

Note that the same change was needed in one of our functional tests,
see commit d3992669df.

Reported by gruve-p.

Github-Pull: bitcoin#24553
Rebased-From: 12cc020
2022-03-31 10:30:12 +02:00
MarcoFalke
235b042594 rpc: Exclude descriptor when address is excluded
Github-Pull: bitcoin#24636
Rebased-From: faf37c2
2022-03-31 10:30:10 +02:00
MarcoFalke
b05a59b69f ci: Temporarily use clang-13 to work around clang-14 TSan bug
Github-Pull: bitcoin#24572
Rebased-From: fa43933
2022-03-31 10:30:07 +02:00
Jon Atack
65b966743c doc, init: add links to doc/cjdns.md
Github-Pull: bitcoin#24663
Rebased-From: daae288
2022-03-31 10:30:05 +02:00
Jon Atack
7a553d4e65 doc: update i2p.md with cjdns, improve local addresses section
Github-Pull: bitcoin#24555
Rebased-From: f44efc3
2022-03-31 10:30:02 +02:00
Jon Atack
4148396229 doc: update tor.md with cjdns and getnodeaddresses, fix tor grep,
and improve local addresses section

Github-Pull: bitcoin#24555
Rebased-From: 3bf6f0c
2022-03-31 10:29:25 +02:00
Jon Atack
4690e8af13 doc: create initial doc/cjdns.md for cjdns how-to documentation
Adapted in part from the CJDNS description in #23077 by Vasil Dimov
and from CJDNS documentation and feedback by Caleb James DeLisle.

Co-authored-by: Vasil Dimov <vd@FreeBSD.org>

Github-Pull: bitcoin#24555
Rebased-From: ed15848
2022-03-31 10:28:29 +02:00
Jon Atack
5d24f612d1 Clarify in -maxtimeadjustment that only outbound peers influence time data
Github-Pull: bitcoin#24609
Rebased-From: 1bba72d
2022-03-28 12:49:51 +02:00
MarcoFalke
7d03cf632d Merge bitcoin/bitcoin#24596: [23.x] GUI backports
70f2c579b9 options: flip listenonion to false if not listening (Vasil Dimov)
642f2726de gui: restore Send for external signer (Sjors Provoost)
940694664d refactor: helper function signWithExternalSigner() (Sjors Provoost)
fc421d4c8c move-only: helper function to present PSBT (Sjors Provoost)

Pull request description:

  Backports from the GUI repo:
  - bitcoin-core/gui#555
  - bitcoin-core/gui#568

ACKs for top commit:
  Sjors:
    utACK 70f2c579b9
  gruve-p:
    ACK 70f2c579b9

Tree-SHA512: 883c442f8b789a9d11c949179e4382843cbb979a89a625bef3f481c7070421681d9db2af0e5b2449abca362c8ba05cf61db5893aeb6a9237b02088c2fb71e93e
2022-03-24 08:12:11 +01:00
Vasil Dimov
70f2c579b9 options: flip listenonion to false if not listening
If the user has unchecked "Allow incoming connections" in
`Settings->Options...->Network` then `fListen=false` is saved in
`~/.config/Bitcoin/Bitcoin-Qt.conf`. This flips `-listen` to `false`
during startup, but leaves `-listenonion` to `true`.

This flipping of `-listen` is done in `OptionsModel::Init()` after
`InitParameterInteraction()` has been executed which would have flipped
`-listenonion`, should it have seen `-listen` being `false`
(this is a difference between `bitcoind` and `bitcoin-qt`).

Fixes: https://github.com/bitcoin-core/gui/issues/567

Github-Pull: bitcoin-core/gui#568
Rebased-From: 7f90dc26c8
2022-03-23 17:26:19 +01:00
laanwj
55a60b9718 Merge bitcoin/bitcoin#24593: [23.x] macOS / build backports
61c021605f doc, guix: Include arm64-apple-darwin into codesigned archs (Hennadii Stepanov)
f541a252f6 doc: Drop a note about Intel-based Macs (Hennadii Stepanov)
dd2c7f71fd guix: Use "win64" for Windows artifacts consistently (Hennadii Stepanov)
2e7cde8f68 guix: Drop "-signed" suffix for signed macOS .dmg files (Hennadii Stepanov)
7f6420c833 guix: Use $HOST instead of generic osx{64} for macOS artifacts (Hennadii Stepanov)
de528793b6 Update signapple for platform identifier fix (Andrew Chow)

Pull request description:

  Backports:
  * #24549
  * #24573
  * #24588
  * #24597

ACKs for top commit:
  laanwj:
    Code review ACK 61c021605f

Tree-SHA512: 023bfe6f1a31cec66f0255fb8e9c186f44a50a900a9f22c65b2da672b413fec7570f0f11626317344b6f91e74610006ffe0e35243af510de1eb8a3ceb8e8d37f
2022-03-17 09:47:42 +01:00
Hennadii Stepanov
61c021605f doc, guix: Include arm64-apple-darwin into codesigned archs
Github-Pull: #24597
Rebased-From: 1f4801b6b1
2022-03-17 08:38:58 +00:00
Sjors Provoost
642f2726de gui: restore Send for external signer
Before this change the send confirmation dialog would keep the Send option disabled. The Create Unsigned choice would actually send. This is potentially confusing.

With this change the Create Unsigned button will not attempt to sign and always produce a PSBT. The Send button will attempt to sign, and only return a PSBT if more signatures are needed.

When using an external signer, the Create Unsigned option only appears when PSBT controls are enabled in the wallet settings.

This commit maintains the pre-existing behavior of filling the PSBT (without signing) even when not using an external signer.

Closes #551

Co-authored-by: Jon Atack <jon@atack.com>

Github-Pull: bitcoin-core/gui#555
Rebased-From: 2efdfb88aa
2022-03-17 07:28:50 +01:00
Sjors Provoost
940694664d refactor: helper function signWithExternalSigner()
Does not change behavior.

Review hint:
git show --color-moved --color-moved-ws=allow-indentation-change

Github-Pull: bitcoin-core/gui#555
Rebased-From: 4b5a6cd149
2022-03-17 07:28:50 +01:00
Sjors Provoost
fc421d4c8c move-only: helper function to present PSBT
This commit does not change behavior.

Review hint:
git show --color-moved --color-moved-ws=allow-indentation-change

Github-Pull: bitcoin-core/gui#555
Rebased-From: 026b5b4523
2022-03-17 07:28:50 +01:00
Hennadii Stepanov
f541a252f6 doc: Drop a note about Intel-based Macs
Github-Pull: #24588
Rebased-From: e359ba6b35
2022-03-16 20:51:32 +00:00
Hennadii Stepanov
dd2c7f71fd guix: Use "win64" for Windows artifacts consistently
Github-Pull: #24549
Rebased-From: 53dd6165b8
2022-03-16 20:50:30 +00:00
Hennadii Stepanov
2e7cde8f68 guix: Drop "-signed" suffix for signed macOS .dmg files
This change makes naming of the signed artifacts consistent across
different OSes, including Windows.

Github-Pull: #24549
Rebased-From: 4b4b04a66d
2022-03-16 20:49:47 +00:00
Hennadii Stepanov
7f6420c833 guix: Use $HOST instead of generic osx{64} for macOS artifacts
Github-Pull: #24549
Rebased-From: 933a43018f
2022-03-16 20:49:19 +00:00
Andrew Chow
de528793b6 Update signapple for platform identifier fix
Github-Pull: #24573
Rebased-From: 3c74f775ac
2022-03-16 20:47:58 +00:00
Martin Zumsande
b1646f1bb5 test: set segwit height back to 0 on regtest
This was changed in #22818 from 0 to 1. Since it changes
BLOCK_OPT_WIT of the genesis block, older versions of bitcoin
core would not read regtest directories created with newer versions
without a reindex.

Github-Pull: bitcoin#24527
Rebased-From: 5ce3057
2022-03-13 17:43:36 +01:00
Jon Atack
ef6a37b7c4 rpc: rename getdeploymentinfo status-next to status_next
Github-Pull: bitcoin#24528
Rebased-From: 5d7c69b
2022-03-13 17:41:05 +01:00
Jon Atack
2a6fcf9c13 init, doc: improve -onlynet help and tor/i2p documentation
and harmonize them as follows

- s/outgoing/automatic outbound/
- s/Incoming/Inbound and manual/ (are not affected by this option.)
- s/only through network/only to network/
- s/this option. This option/this option. It/
- s/network types/networks/

and also pick up a few nits in doc/p2p-bad-ports.md

Github-Pull: bitcoin#24468
Rebased-From: a1db99a
2022-03-13 17:35:56 +01:00
laanwj
71866d8566 doc: Update manual pages for rc2
Tree-SHA512: c0ded71cf1dc0b0727f7b87ad353b149fd0c53fdcccf6c058bbcaf3d4bdbf70290b3296f3a93af6f442cbcb1a007f4f8784941fdfd930e389dc5a229c6ee632a
2022-03-10 11:55:00 +01:00
laanwj
60ca24a506 build: Bump to 23.0rc2
Tree-SHA512: 6432a93c0f7cca96e548b1a12958b5812621b74c05de581b94fe6a2b2f5958c42bdbc6c1bbe0ab34829d3942784fc811d270fb95b6f64b8228d4b3ec4ccc163f
2022-03-10 11:51:12 +01:00
fanquake
2bd5fdbced Merge bitcoin/bitcoin#24514: [23.x] Second round signapple backports (M1)
1fd91da454 build, mac: Include arch in codesignature tarball (Andrew Chow)
eba46583ed guix: use latest signapple (Andrew Chow)

Pull request description:

  This backports additional signapple and macOS codesigning changes from #24506 for 23.x (skipping #24503, which is an interim signapple update, and the certvalidator change, which is not strictly necessary), and should complete the changes required to perform M1 codesigning for the 23.x release.

ACKs for top commit:
  hebasto:
    ACK 1fd91da454, I have reviewed the code and it looks OK, I agree it can be merged.

Tree-SHA512: 55b7e0680058203744dc491da060ef56a880270a01c10e475b7a171457902410806895dbe7332a323ce47c2a776337fa29eb811d2511fce84ede13aeacbe2a02
2022-03-10 09:46:49 +00:00
fanquake
430808ab13 Merge bitcoin/bitcoin#24511: [23.x] qt: Avoid crash on startup if int specified in settings.json
7e1b968f61 qt: Avoid crash on startup if int specified in settings.json (Ryan Ofsky)
4607f700d0 test: Add tests for GetArg methods / settings.json type coercion (Ryan Ofsky)

Pull request description:

  Backport of #24498

ACKs for top commit:
  jonatack:
    ACK 7e1b968f61

Tree-SHA512: efe6ec4361858e50fd524db64141ad3622ecef321b99567da9650575558a9a9bdec0fc43113967cae2f23a1375132eed2d6ebf64d4aa91ac1c5f2f591a26ba74
2022-03-10 09:44:50 +00:00
Andrew Chow
1fd91da454 build, mac: Include arch in codesignature tarball
Github-Pull: #24506
Rebased-From: 0189df1d31
2022-03-09 18:06:18 +00:00
Andrew Chow
eba46583ed guix: use latest signapple
Github-Pull: #24506
Rebased-From: 6e9308c6d4
2022-03-09 18:06:14 +00:00
Ryan Ofsky
7e1b968f61 qt: Avoid crash on startup if int specified in settings.json
Fix GUI startup crash reported by Rspigler in
https://github.com/bitcoin/bitcoin/issues/24457 that happens if
settings.json contains an integer value for any of the configuration
options which GUI settings can currently clash with (-dbcache, -par,
-spendzeroconfchange, -signer, -upnp, -natpmp, -listen, -server, -proxy,
-proxy, -onion, -onion, -lang, and -prune).

Fix is a one-line change in ArgsManager::GetArg.

Github-Pull: bitcoin/bitcoin#24498
Rebased-From: 5b1aae12ca
2022-03-09 11:03:05 -05:00
Ryan Ofsky
4607f700d0 test: Add tests for GetArg methods / settings.json type coercion
Just add tests. No changes to application behavior. Tests will be
updated in the next commit changing & improving current behavior.

Include a Qt test for GUI startup crash reported by Rspigler in
https://github.com/bitcoin/bitcoin/issues/24457 caused by GetArg
behavior that happens if settings.json contains an integer value for any
of the configuration options which GUI settings can currently clash with
(-dbcache, -par, -spendzeroconfchange, -signer, -upnp, -natpmp, -listen,
-server, -proxy, -proxy, -onion, -onion, -lang, and -prune).

Github-Pull: bitcoin/bitcoin#24498
Rebased-From: 84b0973e35
2022-03-09 11:03:00 -05:00
fanquake
cbdfb46b55 Merge bitcoin/bitcoin#24485: [23.x] guix: use same commit for codesigning time-machine
0dcbd2ee93 guix: use same commit for codesigning time-machine (fanquake)

Pull request description:

  The time machines should be updated in lockstep. Backports #24484.

  Github-Pull: #24484
  Rebased-From: 29862bdd40

ACKs for top commit:
  hebasto:
    ACK 0dcbd2ee93

Tree-SHA512: 831f2d1a0bd92bc6acbe20b0c2e2557f9cc8056034c6975ec6be2cae2eafe584d618b83519623caa81adc434121174e4c56a2df3cc8912352146ac610901bd0f
2022-03-07 09:37:20 +00:00
fanquake
0dcbd2ee93 guix: use same commit for codesigning time-machine
The time machines should be updated in lockstep.

Github-Pull: #24484
Rebased-From: 29862bdd40
2022-03-06 18:55:44 +00:00
174 changed files with 29842 additions and 4886 deletions

View File

@@ -34,22 +34,30 @@ base_template: &BASE_TEMPLATE
main_template: &MAIN_TEMPLATE
timeout_in: 120m # https://cirrus-ci.org/faq/#instance-timed-out
ccache_cache:
folder: "/tmp/ccache_dir"
ci_script:
- ./ci/test_run_all.sh
global_task_template: &GLOBAL_TASK_TEMPLATE
<< : *BASE_TEMPLATE
container:
# https://cirrus-ci.org/faq/#are-there-any-limits
# Each project has 16 CPU in total, assign 2 to each container, so that 8 tasks run in parallel
cpu: 2
greedy: true
memory: 8G # Set to 8GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-containers
ccache_cache:
folder: "/tmp/ccache_dir"
depends_built_cache:
folder: "depends/built"
fingerprint_script: echo $CIRRUS_TASK_NAME $(git rev-list -1 HEAD ./depends)
ci_script:
- ./ci/test_run_all.sh
<< : *MAIN_TEMPLATE
global_task_template: &GLOBAL_TASK_TEMPLATE
macos_native_task_template: &MACOS_NATIVE_TASK_TEMPLATE
<< : *BASE_TEMPLATE
check_clang_script:
- clang --version
brew_install_script:
- brew install boost libevent qt@5 miniupnpc libnatpmp ccache zeromq qrencode libtool automake gnu-getopt
<< : *MAIN_TEMPLATE
compute_credits_template: &CREDITS_TEMPLATE
@@ -85,9 +93,9 @@ task:
CI_VCPKG_TAG: '2021.05.12'
VCPKG_DOWNLOADS: 'C:\Users\ContainerAdministrator\AppData\Local\vcpkg\downloads'
VCPKG_DEFAULT_BINARY_CACHE: 'C:\Users\ContainerAdministrator\AppData\Local\vcpkg\archives'
QT_DOWNLOAD_URL: 'https://download.qt.io/official_releases/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.zip'
QT_LOCAL_PATH: 'C:\qt-everywhere-src-5.15.2.zip'
QT_SOURCE_DIR: 'C:\qt-everywhere-src-5.15.2'
QT_DOWNLOAD_URL: 'https://download.qt.io/official_releases/qt/5.15/5.15.3/single/qt-everywhere-opensource-src-5.15.3.zip'
QT_LOCAL_PATH: 'C:\qt-everywhere-opensource-src-5.15.3.zip'
QT_SOURCE_DIR: 'C:\qt-everywhere-src-5.15.3'
QTBASEDIR: 'C:\Qt_static'
x64_NATIVE_TOOLS: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat"'
IgnoreWarnIntDirInTempDetected: 'true'
@@ -281,18 +289,16 @@ task:
FILE_ENV: "./ci/test/00_setup_env_mac.sh"
task:
name: 'macOS 12 native [gui, system sqlite only] [no depends]'
brew_install_script:
- brew install boost libevent qt@5 miniupnpc libnatpmp ccache zeromq qrencode libtool automake gnu-getopt
<< : *GLOBAL_TASK_TEMPLATE
name: 'macOS 13 native arm64 [gui, sqlite only] [no depends]'
macos_instance:
# Use latest image, but hardcode version to avoid silent upgrades (and breaks)
image: monterey-xcode-13.2 # https://cirrus-ci.org/guide/macOS
image: ghcr.io/cirruslabs/macos-ventura-xcode:14.1 # https://cirrus-ci.org/guide/macOS
<< : *MACOS_NATIVE_TASK_TEMPLATE
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
CI_USE_APT_INSTALL: "no"
PACKAGE_MANAGER_INSTALL: "echo" # Nothing to do
FILE_ENV: "./ci/test/00_setup_env_mac_host.sh"
FILE_ENV: "./ci/test/00_setup_env_mac_native_arm64.sh"
task:
name: 'ARM64 Android APK [focal]'

View File

@@ -1,7 +1,7 @@
[main]
host = https://www.transifex.com
[bitcoin.qt-translation-023x]
[o:bitcoin:p:bitcoin:r:qt-translation-023x]
file_filter = src/qt/locale/bitcoin_<lang>.xlf
source_file = src/qt/locale/bitcoin_en.xlf
source_lang = en

View File

@@ -28,7 +28,7 @@ Qt
---------------------
To build Bitcoin Core with the GUI, a static build of Qt is required.
1. Download a single ZIP archive of Qt source code from https://download.qt.io/official_releases/qt/ (e.g., [`qt-everywhere-src-5.15.2.zip`](https://download.qt.io/official_releases/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.zip)), and expand it into a dedicated folder. The following instructions assume that this folder is `C:\dev\qt-source`.
1. Download a single ZIP archive of Qt source code from https://download.qt.io/official_releases/qt/ (e.g., [`qt-everywhere-opensource-src-5.15.3.zip`](https://download.qt.io/official_releases/qt/5.15/5.15.3/single/qt-everywhere-opensource-src-5.15.3.zip)), and expand it into a dedicated folder. The following instructions assume that this folder is `C:\dev\qt-source`.
2. Open "x64 Native Tools Command Prompt for VS 2019", and input the following commands:
```cmd
@@ -83,4 +83,4 @@ If is it enabled then in the output `Dynamic base` will be listed in the `DLL ch
Terminal Server Aware
```
This may not disable all stack randomization as versions of windows employ additional stack randomization protections. These protections must be turned off in the OS configuration.
This may not disable all stack randomization as versions of windows employ additional stack randomization protections. These protections must be turned off in the OS configuration.

View File

@@ -12,6 +12,7 @@
<ClCompile Include="..\..\src\test\util\setup_common.cpp" />
<ClCompile Include="..\..\src\qt\test\addressbooktests.cpp" />
<ClCompile Include="..\..\src\qt\test\apptests.cpp" />
<ClCompile Include="..\..\src\qt\test\optiontests.cpp" />
<ClCompile Include="..\..\src\qt\test\rpcnestedtests.cpp" />
<ClCompile Include="..\..\src\qt\test\test_main.cpp" />
<ClCompile Include="..\..\src\qt\test\uritests.cpp" />
@@ -20,6 +21,7 @@
<ClCompile Include="..\..\src\wallet\test\wallet_test_fixture.cpp" />
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_addressbooktests.cpp" />
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_apptests.cpp" />
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_optiontests.cpp" />
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_rpcnestedtests.cpp" />
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_uritests.cpp" />
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_wallettests.cpp" />
@@ -88,6 +90,7 @@
<ItemGroup>
<MocTestFiles Include="..\..\src\qt\test\addressbooktests.h" />
<MocTestFiles Include="..\..\src\qt\test\apptests.h" />
<MocTestFiles Include="..\..\src\qt\test\optiontests.h" />
<MocTestFiles Include="..\..\src\qt\test\rpcnestedtests.h" />
<MocTestFiles Include="..\..\src\qt\test\uritests.h" />
<MocTestFiles Include="..\..\src\qt\test\wallettests.h" />

View File

@@ -6,12 +6,11 @@
export LC_ALL=C.UTF-8
export HOST=x86_64-apple-darwin
export PIP_PACKAGES="zmq lief"
export HOST=arm64-apple-darwin
export PIP_PACKAGES="zmq"
export GOAL="install"
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports"
export BITCOIN_CONFIG="--with-gui --with-miniupnpc --with-natpmp --enable-reduce-exports"
export CI_OS_NAME="macos"
export NO_DEPENDS=1
export OSX_SDK=""
export CCACHE_SIZE=300M
export RUN_SECURITY_TESTS="true"

View File

@@ -8,7 +8,7 @@ export LC_ALL=C.UTF-8
export CONTAINER_NAME=ci_native_tsan
export DOCKER_NAME_TAG=ubuntu:22.04
export PACKAGES="clang llvm libc++abi-dev libc++-dev python3-zmq"
export DEP_OPTS="CC=clang CXX='clang++ -stdlib=libc++'"
export PACKAGES="clang-13 llvm-13 libc++abi-13-dev libc++-13-dev python3-zmq"
export DEP_OPTS="CC=clang-13 CXX='clang++-13 -stdlib=libc++'"
export GOAL="install"
export BITCOIN_CONFIG="--enable-zmq CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER' CXXFLAGS='-g' --with-sanitizers=thread CC=clang CXX='clang++ -stdlib=libc++'"
export BITCOIN_CONFIG="--enable-zmq CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER' CXXFLAGS='-g' --with-sanitizers=thread CC=clang-13 CXX='clang++-13 -stdlib=libc++'"

View File

@@ -13,7 +13,7 @@ fi
if [ "$CI_OS_NAME" == "macos" ]; then
sudo -H pip3 install --upgrade pip
# shellcheck disable=SC2086
IN_GETOPT_BIN="/usr/local/opt/gnu-getopt/bin/getopt" ${CI_RETRY_EXE} pip3 install --user $PIP_PACKAGES
IN_GETOPT_BIN="$(brew --prefix gnu-getopt)/bin/getopt" ${CI_RETRY_EXE} pip3 install --user $PIP_PACKAGES
fi
# Create folders that are mounted into the docker

View File

@@ -1,8 +1,8 @@
AC_PREREQ([2.69])
define(_CLIENT_VERSION_MAJOR, 23)
define(_CLIENT_VERSION_MINOR, 0)
define(_CLIENT_VERSION_MINOR, 2)
define(_CLIENT_VERSION_BUILD, 0)
define(_CLIENT_VERSION_RC, 1)
define(_CLIENT_VERSION_RC, 0)
define(_CLIENT_VERSION_IS_RELEASE, true)
define(_COPYRIGHT_YEAR, 2022)
define(_COPYRIGHT_HOLDERS,[The %s developers])
@@ -721,10 +721,6 @@ case $host in
BDB_LIBS="-L$bdb_prefix/lib -ldb_cxx-4.8"
fi
if test "$use_sqlite" != "no" && $BREW list --versions sqlite3 >/dev/null; then
export PKG_CONFIG_PATH="$($BREW --prefix sqlite3 2>/dev/null)/lib/pkgconfig:$PKG_CONFIG_PATH"
fi
if $BREW list --versions qt@5 >/dev/null; then
export PKG_CONFIG_PATH="$($BREW --prefix qt@5 2>/dev/null)/lib/pkgconfig:$PKG_CONFIG_PATH"
fi
@@ -1438,6 +1434,12 @@ if test "$use_external_signer" != "no"; then
;;
*)
AC_MSG_CHECKING([whether Boost.Process can be used])
TEMP_CXXFLAGS="$CXXFLAGS"
dnl Boost 1.78 requires the following workaround.
dnl See: https://github.com/boostorg/process/issues/235
CXXFLAGS="$CXXFLAGS -Wno-error=narrowing"
TEMP_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
TEMP_LDFLAGS="$LDFLAGS"
dnl Boost 1.73 and older require the following workaround.
LDFLAGS="$LDFLAGS $PTHREAD_CFLAGS"
@@ -1445,6 +1447,8 @@ if test "$use_external_signer" != "no"; then
[have_boost_process="yes"],
[have_boost_process="no"])
LDFLAGS="$TEMP_LDFLAGS"
CPPFLAGS="$TEMP_CPPFLAGS"
CXXFLAGS="$TEMP_CXXFLAGS"
AC_MSG_RESULT([$have_boost_process])
if test "$have_boost_process" = "yes"; then
use_external_signer="yes"

View File

@@ -75,7 +75,7 @@ crucial differences:
1. Since only Windows and macOS build outputs require codesigning, the `HOSTS`
environment variable will have a sane default value of `x86_64-w64-mingw32
x86_64-apple-darwin` instead of all the platforms.
x86_64-apple-darwin arm64-apple-darwin` instead of all the platforms.
2. The `guix-codesign` command ***requires*** a `DETACHED_SIGS_REPO` flag.
* _**DETACHED_SIGS_REPO**_

View File

@@ -152,10 +152,10 @@ outdir_for_host() {
unsigned_tarball_for_host() {
case "$1" in
*mingw*)
echo "$(outdir_for_host "$1")/${DISTNAME}-win-unsigned.tar.gz"
echo "$(outdir_for_host "$1")/${DISTNAME}-win64-unsigned.tar.gz"
;;
*darwin*)
echo "$(outdir_for_host "$1")/${DISTNAME}-osx-unsigned.tar.gz"
echo "$(outdir_for_host "$1")/${DISTNAME}-${1}-unsigned.tar.gz"
;;
*)
exit 1
@@ -227,7 +227,7 @@ SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH:-$(git -c log.showSignature=false log --f
time-machine() {
# shellcheck disable=SC2086
guix time-machine --url=https://git.savannah.gnu.org/git/guix.git \
--commit=aa34d4d28dfe25ba47d5800d05000fb7221788c0 \
--commit=ae03f401381e956c4c41b4cf495cbde964fa43d0 \
--cores="$JOBS" \
--keep-failed \
--fallback \

View File

@@ -348,10 +348,10 @@ mkdir -p "$DISTSRC"
find . -print0 \
| sort --zero-terminated \
| tar --create --no-recursion --mode='u+rw,go+r-w,a+X' --null --files-from=- \
| gzip -9n > "${OUTDIR}/${DISTNAME}-osx-unsigned.tar.gz" \
|| ( rm -f "${OUTDIR}/${DISTNAME}-osx-unsigned.tar.gz" && exit 1 )
| gzip -9n > "${OUTDIR}/${DISTNAME}-${HOST}-unsigned.tar.gz" \
|| ( rm -f "${OUTDIR}/${DISTNAME}-${HOST}-unsigned.tar.gz" && exit 1 )
)
make deploy ${V:+V=1} OSX_DMG="${OUTDIR}/${DISTNAME}-osx-unsigned.dmg"
make deploy ${V:+V=1} OSX_DMG="${OUTDIR}/${DISTNAME}-${HOST}-unsigned.dmg"
;;
esac
(
@@ -423,8 +423,8 @@ mkdir -p "$DISTSRC"
find "${DISTNAME}" -print0 \
| sort --zero-terminated \
| tar --create --no-recursion --mode='u+rw,go+r-w,a+X' --null --files-from=- \
| gzip -9n > "${OUTDIR}/${DISTNAME}-${HOST//x86_64-apple-darwin/osx64}.tar.gz" \
|| ( rm -f "${OUTDIR}/${DISTNAME}-${HOST//x86_64-apple-darwin/osx64}.tar.gz" && exit 1 )
| gzip -9n > "${OUTDIR}/${DISTNAME}-${HOST}.tar.gz" \
|| ( rm -f "${OUTDIR}/${DISTNAME}-${HOST}.tar.gz" && exit 1 )
;;
esac
) # $DISTSRC/installed
@@ -439,8 +439,8 @@ mkdir -p "$DISTSRC"
find . -print0 \
| sort --zero-terminated \
| tar --create --no-recursion --mode='u+rw,go+r-w,a+X' --null --files-from=- \
| gzip -9n > "${OUTDIR}/${DISTNAME}-win-unsigned.tar.gz" \
|| ( rm -f "${OUTDIR}/${DISTNAME}-win-unsigned.tar.gz" && exit 1 )
| gzip -9n > "${OUTDIR}/${DISTNAME}-win64-unsigned.tar.gz" \
|| ( rm -f "${OUTDIR}/${DISTNAME}-win64-unsigned.tar.gz" && exit 1 )
)
;;
esac

View File

@@ -91,7 +91,7 @@ mkdir -p "$DISTSRC"
-- -volume_date all_file_dates ="$SOURCE_DATE_EPOCH"
# Compress uncompressed.dmg and output to OUTDIR
./dmg dmg uncompressed.dmg "${OUTDIR}/${DISTNAME}-osx-signed.dmg"
./dmg dmg uncompressed.dmg "${OUTDIR}/${DISTNAME}-${HOST}.dmg"
;;
*)
exit 1

View File

@@ -78,6 +78,11 @@ http://www.linuxfromscratch.org/hlfs/view/development/chapter05/gcc-pass1.html"
(("-rpath=") "-rpath-link="))
#t))))))))
(define building-on (string-append (list-ref (string-split (%current-system) #\-) 0) "-guix-linux-gnu"))
(define (explicit-cross-configure package)
(package-with-extra-configure-variable package "--build" building-on))
(define (make-cross-toolchain target
base-gcc-for-libc
base-kernel-headers
@@ -87,9 +92,9 @@ http://www.linuxfromscratch.org/hlfs/view/development/chapter05/gcc-pass1.html"
(let* ((xbinutils (cross-binutils target))
;; 1. Build a cross-compiling gcc without targeting any libc, derived
;; from BASE-GCC-FOR-LIBC
(xgcc-sans-libc (cross-gcc target
#:xgcc base-gcc-for-libc
#:xbinutils xbinutils))
(xgcc-sans-libc (explicit-cross-configure (cross-gcc target
#:xgcc base-gcc-for-libc
#:xbinutils xbinutils)))
;; 2. Build cross-compiled kernel headers with XGCC-SANS-LIBC, derived
;; from BASE-KERNEL-HEADERS
(xkernel (cross-kernel-headers target
@@ -98,17 +103,17 @@ http://www.linuxfromscratch.org/hlfs/view/development/chapter05/gcc-pass1.html"
xbinutils))
;; 3. Build a cross-compiled libc with XGCC-SANS-LIBC and XKERNEL,
;; derived from BASE-LIBC
(xlibc (cross-libc target
base-libc
xgcc-sans-libc
xbinutils
xkernel))
(xlibc (explicit-cross-configure (cross-libc target
base-libc
xgcc-sans-libc
xbinutils
xkernel)))
;; 4. Build a cross-compiling gcc targeting XLIBC, derived from
;; BASE-GCC
(xgcc (cross-gcc target
#:xgcc base-gcc
#:xbinutils xbinutils
#:libc xlibc)))
(xgcc (explicit-cross-configure (cross-gcc target
#:xgcc base-gcc
#:xbinutils xbinutils
#:libc xlibc))))
;; Define a meta-package that propagates the resulting XBINUTILS, XLIBC, and
;; XGCC
(package
@@ -166,13 +171,18 @@ desirable for building Bitcoin Core release binaries."
(define (make-gcc-without-newlib gcc)
(package-with-extra-configure-variable gcc "--with-newlib" "no"))
(define (make-mingw-w64-cross-gcc cross-gcc)
(package-with-extra-patches cross-gcc
(search-our-patches "vmov-alignment.patch"
"gcc-broken-longjmp.patch")))
(define (make-mingw-pthreads-cross-toolchain target)
"Create a cross-compilation toolchain package for TARGET"
(let* ((xbinutils (cross-binutils target))
(pthreads-xlibc mingw-w64-x86_64-winpthreads)
(pthreads-xgcc (make-gcc-with-pthreads
(cross-gcc target
#:xgcc (make-gcc-without-newlib (make-ssp-fixed-gcc base-gcc))
#:xgcc (make-gcc-without-newlib (make-ssp-fixed-gcc (make-mingw-w64-cross-gcc base-gcc)))
#:xbinutils xbinutils
#:libc pthreads-xlibc))))
;; Define a meta-package that propagates the resulting XBINUTILS, XLIBC, and
@@ -196,7 +206,8 @@ chain for " target " development."))
(define (make-nsis-for-gcc-10 base-nsis)
(package-with-extra-patches base-nsis
(search-our-patches "nsis-gcc-10-memmove.patch")))
(search-our-patches "nsis-gcc-10-memmove.patch"
"nsis-disable-installer-reloc.patch")))
(define-public lief
(package
@@ -490,7 +501,7 @@ and endian independent.")
(license license:expat)))
(define-public python-signapple
(let ((commit "b084cbbf44d5330448ffce0c7d118f75781b64bd"))
(let ((commit "8a945a2e7583be2665cf3a6a89d665b70ecd1ab6"))
(package
(name "python-signapple")
(version (git-version "0.1" "1" commit))
@@ -503,7 +514,7 @@ and endian independent.")
(file-name (git-file-name name commit))
(sha256
(base32
"0k7inccl2mzac3wq4asbr0kl8s4cghm8982z54kfascqg45shv01"))))
"0fr1hangvfyiwflca6jg5g8zvg3jc9qr7vd2c12ff89pznf38dlg"))))
(build-system python-build-system)
(propagated-inputs
`(("python-asn1crypto" ,python-asn1crypto)

View File

@@ -0,0 +1,68 @@
commit eb5698897c52702498938592d7f76e67d126451f
Author: Eric Botcazou <ebotcazou@adacore.com>
Date: Wed May 5 22:48:51 2021 +0200
Fix PR target/100402
This is a regression for 64-bit Windows present from mainline down to the 9
branch and introduced by the fix for PR target/99234. Again SEH, but with
a twist related to the way MinGW implements setjmp/longjmp, which turns out
to be piggybacked on SEH with recent versions of MinGW, i.e. the longjmp
performs a bona-fide unwinding of the stack, because it calls RtlUnwindEx
with the second argument initially passed to setjmp, which is the result of
__builtin_frame_address (0) in the MinGW header file:
define setjmp(BUF) _setjmp((BUF), __builtin_frame_address (0))
This means that we directly expose the frame pointer to the SEH machinery
here (unlike with regular exception handling where we use an intermediate
CFA) and thus that we cannot do whatever we want with it. The old code
would leave it unaligned, i.e. not multiple of 16, whereas the new code
aligns it, but this breaks for some reason; at least it appears that a
.seh_setframe directive with 0 as second argument always works, so the
fix aligns it this way.
gcc/
PR target/100402
* config/i386/i386.c (ix86_compute_frame_layout): For a SEH target,
always return the establisher frame for __builtin_frame_address (0).
gcc/testsuite/
* gcc.c-torture/execute/20210505-1.c: New test.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 2f838840e96..06ad1b2274e 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -6356,12 +6356,29 @@ ix86_compute_frame_layout (void)
area, see the SEH code in config/i386/winnt.c for the rationale. */
frame->hard_frame_pointer_offset = frame->sse_reg_save_offset;
- /* If we can leave the frame pointer where it is, do so. Also, return
+ /* If we can leave the frame pointer where it is, do so; however return
the establisher frame for __builtin_frame_address (0) or else if the
- frame overflows the SEH maximum frame size. */
+ frame overflows the SEH maximum frame size.
+
+ Note that the value returned by __builtin_frame_address (0) is quite
+ constrained, because setjmp is piggybacked on the SEH machinery with
+ recent versions of MinGW:
+
+ # elif defined(__SEH__)
+ # if defined(__aarch64__) || defined(_ARM64_)
+ # define setjmp(BUF) _setjmp((BUF), __builtin_sponentry())
+ # elif (__MINGW_GCC_VERSION < 40702)
+ # define setjmp(BUF) _setjmp((BUF), mingw_getsp())
+ # else
+ # define setjmp(BUF) _setjmp((BUF), __builtin_frame_address (0))
+ # endif
+
+ and the second argument passed to _setjmp, if not null, is forwarded
+ to the TargetFrame parameter of RtlUnwindEx by longjmp (after it has
+ built an ExceptionRecord on the fly describing the setjmp buffer). */
const HOST_WIDE_INT diff
= frame->stack_pointer_offset - frame->hard_frame_pointer_offset;
- if (diff <= 255)
+ if (diff <= 255 && !crtl->accesses_prior_frames)
{
/* The resulting diff will be a multiple of 16 lower than 255,
i.e. at most 240 as required by the unwind data structure. */

View File

@@ -0,0 +1,30 @@
Patch NSIS so that it's installer stubs, produced at NSIS build time,
do not contain .reloc sections, which will exist by default when using
binutils/ld 2.36+.
This ultimately fixes an issue when running the installer with the
"Force randomization for images (Mandatory ASLR)" setting active.
This patch has not yet been sent upstream, because it's not clear if this
is the best fix, for the underlying issue, which seems to be that makensis
doesn't account for .reloc sections when it builds installers.
The existence of a reloc section shouldn't be a problem, and, if anything,
is actually a requirement for working ASLR. All other Windows binaries we
produce contain them, and function correctly when under the same
"Force randomization for images (Mandatory ASLR)" setting.
See:
https://github.com/bitcoin/bitcoin/issues/25726
https://sourceforge.net/p/nsis/bugs/1131/
--- a/SCons/Config/gnu
+++ b/SCons/Config/gnu
@@ -102,6 +102,7 @@ stub_env.Append(LINKFLAGS = ['-mwindows']) # build windows executables
stub_env.Append(LINKFLAGS = ['$NODEFLIBS_FLAG']) # no standard libraries
stub_env.Append(LINKFLAGS = ['$ALIGN_FLAG']) # 512 bytes align
stub_env.Append(LINKFLAGS = ['$MAP_FLAG']) # generate map file
+stub_env.Append(LINKFLAGS = ['-Wl,--disable-reloc-section'])
conf = FlagsConfigure(stub_env)
conf.CheckCompileFlag('-fno-tree-loop-distribute-patterns') # GCC 10: Don't generate msvcrt!memmove calls (bug #1248)

View File

@@ -0,0 +1,267 @@
Description: Use unaligned VMOV instructions
Author: Stephen Kitt <skitt@debian.org>
Bug-Debian: https://bugs.debian.org/939559
Based on a patch originally by Claude Heiland-Allen <claude@mathr.co.uk>
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -1058,17 +1058,11 @@
{
if (FLOAT_MODE_P (GET_MODE_INNER (<MODE>mode)))
{
- if (misaligned_operand (operands[1], <MODE>mode))
- return "vmovu<ssemodesuffix>\t{%1, %0%{%3%}%N2|%0%{%3%}%N2, %1}";
- else
- return "vmova<ssemodesuffix>\t{%1, %0%{%3%}%N2|%0%{%3%}%N2, %1}";
+ return "vmovu<ssemodesuffix>\t{%1, %0%{%3%}%N2|%0%{%3%}%N2, %1}";
}
else
{
- if (misaligned_operand (operands[1], <MODE>mode))
- return "vmovdqu<ssescalarsize>\t{%1, %0%{%3%}%N2|%0%{%3%}%N2, %1}";
- else
- return "vmovdqa<ssescalarsize>\t{%1, %0%{%3%}%N2|%0%{%3%}%N2, %1}";
+ return "vmovdqu<ssescalarsize>\t{%1, %0%{%3%}%N2|%0%{%3%}%N2, %1}";
}
}
[(set_attr "type" "ssemov")
@@ -1184,17 +1178,11 @@
{
if (FLOAT_MODE_P (GET_MODE_INNER (<MODE>mode)))
{
- if (misaligned_operand (operands[0], <MODE>mode))
- return "vmovu<ssemodesuffix>\t{%1, %0%{%2%}|%0%{%2%}, %1}";
- else
- return "vmova<ssemodesuffix>\t{%1, %0%{%2%}|%0%{%2%}, %1}";
+ return "vmovu<ssemodesuffix>\t{%1, %0%{%2%}|%0%{%2%}, %1}";
}
else
{
- if (misaligned_operand (operands[0], <MODE>mode))
- return "vmovdqu<ssescalarsize>\t{%1, %0%{%2%}|%0%{%2%}, %1}";
- else
- return "vmovdqa<ssescalarsize>\t{%1, %0%{%2%}|%0%{%2%}, %1}";
+ return "vmovdqu<ssescalarsize>\t{%1, %0%{%2%}|%0%{%2%}, %1}";
}
}
[(set_attr "type" "ssemov")
@@ -7806,7 +7794,7 @@
"TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
"@
%vmovlps\t{%1, %0|%q0, %1}
- %vmovaps\t{%1, %0|%0, %1}
+ %vmovups\t{%1, %0|%0, %1}
%vmovlps\t{%1, %d0|%d0, %q1}"
[(set_attr "type" "ssemov")
(set_attr "prefix" "maybe_vex")
@@ -13997,29 +13985,15 @@
switch (<MODE>mode)
{
case E_V8DFmode:
- if (misaligned_operand (operands[2], <ssequartermode>mode))
- return "vmovupd\t{%2, %x0|%x0, %2}";
- else
- return "vmovapd\t{%2, %x0|%x0, %2}";
+ return "vmovupd\t{%2, %x0|%x0, %2}";
case E_V16SFmode:
- if (misaligned_operand (operands[2], <ssequartermode>mode))
- return "vmovups\t{%2, %x0|%x0, %2}";
- else
- return "vmovaps\t{%2, %x0|%x0, %2}";
+ return "vmovups\t{%2, %x0|%x0, %2}";
case E_V8DImode:
- if (misaligned_operand (operands[2], <ssequartermode>mode))
- return which_alternative == 2 ? "vmovdqu64\t{%2, %x0|%x0, %2}"
+ return which_alternative == 2 ? "vmovdqu64\t{%2, %x0|%x0, %2}"
: "vmovdqu\t{%2, %x0|%x0, %2}";
- else
- return which_alternative == 2 ? "vmovdqa64\t{%2, %x0|%x0, %2}"
- : "vmovdqa\t{%2, %x0|%x0, %2}";
case E_V16SImode:
- if (misaligned_operand (operands[2], <ssequartermode>mode))
- return which_alternative == 2 ? "vmovdqu32\t{%2, %x0|%x0, %2}"
+ return which_alternative == 2 ? "vmovdqu32\t{%2, %x0|%x0, %2}"
: "vmovdqu\t{%2, %x0|%x0, %2}";
- else
- return which_alternative == 2 ? "vmovdqa32\t{%2, %x0|%x0, %2}"
- : "vmovdqa\t{%2, %x0|%x0, %2}";
default:
gcc_unreachable ();
}
@@ -21225,63 +21199,27 @@
switch (get_attr_mode (insn))
{
case MODE_V16SF:
- if (misaligned_operand (operands[1], <ssehalfvecmode>mode))
- return "vmovups\t{%1, %t0|%t0, %1}";
- else
- return "vmovaps\t{%1, %t0|%t0, %1}";
+ return "vmovups\t{%1, %t0|%t0, %1}";
case MODE_V8DF:
- if (misaligned_operand (operands[1], <ssehalfvecmode>mode))
- return "vmovupd\t{%1, %t0|%t0, %1}";
- else
- return "vmovapd\t{%1, %t0|%t0, %1}";
+ return "vmovupd\t{%1, %t0|%t0, %1}";
case MODE_V8SF:
- if (misaligned_operand (operands[1], <ssehalfvecmode>mode))
- return "vmovups\t{%1, %x0|%x0, %1}";
- else
- return "vmovaps\t{%1, %x0|%x0, %1}";
+ return "vmovups\t{%1, %x0|%x0, %1}";
case MODE_V4DF:
- if (misaligned_operand (operands[1], <ssehalfvecmode>mode))
- return "vmovupd\t{%1, %x0|%x0, %1}";
- else
- return "vmovapd\t{%1, %x0|%x0, %1}";
+ return "vmovupd\t{%1, %x0|%x0, %1}";
case MODE_XI:
- if (misaligned_operand (operands[1], <ssehalfvecmode>mode))
- {
- if (which_alternative == 2)
- return "vmovdqu\t{%1, %t0|%t0, %1}";
- else if (GET_MODE_SIZE (<ssescalarmode>mode) == 8)
- return "vmovdqu64\t{%1, %t0|%t0, %1}";
- else
- return "vmovdqu32\t{%1, %t0|%t0, %1}";
- }
+ if (which_alternative == 2)
+ return "vmovdqu\t{%1, %t0|%t0, %1}";
+ else if (GET_MODE_SIZE (<ssescalarmode>mode) == 8)
+ return "vmovdqu64\t{%1, %t0|%t0, %1}";
else
- {
- if (which_alternative == 2)
- return "vmovdqa\t{%1, %t0|%t0, %1}";
- else if (GET_MODE_SIZE (<ssescalarmode>mode) == 8)
- return "vmovdqa64\t{%1, %t0|%t0, %1}";
- else
- return "vmovdqa32\t{%1, %t0|%t0, %1}";
- }
+ return "vmovdqu32\t{%1, %t0|%t0, %1}";
case MODE_OI:
- if (misaligned_operand (operands[1], <ssehalfvecmode>mode))
- {
- if (which_alternative == 2)
- return "vmovdqu\t{%1, %x0|%x0, %1}";
- else if (GET_MODE_SIZE (<ssescalarmode>mode) == 8)
- return "vmovdqu64\t{%1, %x0|%x0, %1}";
- else
- return "vmovdqu32\t{%1, %x0|%x0, %1}";
- }
+ if (which_alternative == 2)
+ return "vmovdqu\t{%1, %x0|%x0, %1}";
+ else if (GET_MODE_SIZE (<ssescalarmode>mode) == 8)
+ return "vmovdqu64\t{%1, %x0|%x0, %1}";
else
- {
- if (which_alternative == 2)
- return "vmovdqa\t{%1, %x0|%x0, %1}";
- else if (GET_MODE_SIZE (<ssescalarmode>mode) == 8)
- return "vmovdqa64\t{%1, %x0|%x0, %1}";
- else
- return "vmovdqa32\t{%1, %x0|%x0, %1}";
- }
+ return "vmovdqu32\t{%1, %x0|%x0, %1}";
default:
gcc_unreachable ();
}
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -4981,13 +4981,13 @@
switch (type)
{
case opcode_int:
- opcode = misaligned_p ? "vmovdqu32" : "vmovdqa32";
+ opcode = "vmovdqu32";
break;
case opcode_float:
- opcode = misaligned_p ? "vmovups" : "vmovaps";
+ opcode = "vmovups";
break;
case opcode_double:
- opcode = misaligned_p ? "vmovupd" : "vmovapd";
+ opcode = "vmovupd";
break;
}
}
@@ -4996,16 +4996,16 @@
switch (scalar_mode)
{
case E_SFmode:
- opcode = misaligned_p ? "%vmovups" : "%vmovaps";
+ opcode = "%vmovups";
break;
case E_DFmode:
- opcode = misaligned_p ? "%vmovupd" : "%vmovapd";
+ opcode = "%vmovupd";
break;
case E_TFmode:
if (evex_reg_p)
- opcode = misaligned_p ? "vmovdqu64" : "vmovdqa64";
+ opcode = "vmovdqu64";
else
- opcode = misaligned_p ? "%vmovdqu" : "%vmovdqa";
+ opcode = "%vmovdqu";
break;
default:
gcc_unreachable ();
@@ -5017,48 +5017,32 @@
{
case E_QImode:
if (evex_reg_p)
- opcode = (misaligned_p
- ? (TARGET_AVX512BW
- ? "vmovdqu8"
- : "vmovdqu64")
- : "vmovdqa64");
+ opcode = TARGET_AVX512BW ? "vmovdqu8" : "vmovdqu64";
else
- opcode = (misaligned_p
- ? (TARGET_AVX512BW
- ? "vmovdqu8"
- : "%vmovdqu")
- : "%vmovdqa");
+ opcode = TARGET_AVX512BW ? "vmovdqu8" : "%vmovdqu";
break;
case E_HImode:
if (evex_reg_p)
- opcode = (misaligned_p
- ? (TARGET_AVX512BW
- ? "vmovdqu16"
- : "vmovdqu64")
- : "vmovdqa64");
+ opcode = TARGET_AVX512BW ? "vmovdqu16" : "vmovdqu64";
else
- opcode = (misaligned_p
- ? (TARGET_AVX512BW
- ? "vmovdqu16"
- : "%vmovdqu")
- : "%vmovdqa");
+ opcode = TARGET_AVX512BW ? "vmovdqu16" : "%vmovdqu";
break;
case E_SImode:
if (evex_reg_p)
- opcode = misaligned_p ? "vmovdqu32" : "vmovdqa32";
+ opcode = "vmovdqu32";
else
- opcode = misaligned_p ? "%vmovdqu" : "%vmovdqa";
+ opcode = "%vmovdqu";
break;
case E_DImode:
case E_TImode:
case E_OImode:
if (evex_reg_p)
- opcode = misaligned_p ? "vmovdqu64" : "vmovdqa64";
+ opcode = "vmovdqu64";
else
- opcode = misaligned_p ? "%vmovdqu" : "%vmovdqa";
+ opcode = "%vmovdqu";
break;
case E_XImode:
- opcode = misaligned_p ? "vmovdqu64" : "vmovdqa64";
+ opcode = "vmovdqu64";
break;
default:
gcc_unreachable ();

View File

@@ -8,9 +8,11 @@ set -e
ROOTDIR=dist
BUNDLE="${ROOTDIR}/Bitcoin-Qt.app"
BINARY="${BUNDLE}/Contents/MacOS/Bitcoin-Qt"
SIGNAPPLE=signapple
TEMPDIR=sign.temp
OUT=signature-osx.tar.gz
ARCH=$(${SIGNAPPLE} info ${BINARY} | head -n 1 | cut -d " " -f 1)
OUT="signature-osx-${ARCH}.tar.gz"
OUTROOT=osx/dist
if [ -z "$1" ]; then

View File

@@ -8,7 +8,7 @@ import base64
import json
import logging
import math
import os.path
import os
import re
import struct
import sys
@@ -493,10 +493,11 @@ def do_generate(args):
logging.debug("Mining block delta=%s start=%s mine=%s", seconds_to_hms(mine_time-bestheader["time"]), mine_time, is_mine)
mined_blocks += 1
psbt = generate_psbt(tmpl, reward_spk, blocktime=mine_time)
psbt_signed = json.loads(args.bcli("-stdin", "walletprocesspsbt", input=psbt.encode('utf8')))
input_stream = os.linesep.join([psbt, "true", "ALL"]).encode('utf8')
psbt_signed = json.loads(args.bcli("-stdin", "walletprocesspsbt", input=input_stream))
if not psbt_signed.get("complete",False):
logging.debug("Generated PSBT: %s" % (psbt,))
sys.stderr.write("PSBT signing failed")
sys.stderr.write("PSBT signing failed\n")
return 1
block, signet_solution = do_decode_psbt(psbt_signed["psbt"])
block = finish_block(block, signet_solution, args.grind_cmd)

View File

@@ -1,89 +1,112 @@
-----BEGIN CERTIFICATE-----
MIIHfDCCBWSgAwIBAgIQCmVvdQal72U2QxbUTT3SRTANBgkqhkiG9w0BAQsFADBp
MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMT
OERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWduaW5nIFJTQTQwOTYgU0hBMzg0
IDIwMjEgQ0ExMB4XDTIyMDUyNDAwMDAwMFoXDTI0MDUyOTIzNTk1OVowgYAxCzAJ
BgNVBAYTAlVTMREwDwYDVQQIEwhEZWxhd2FyZTEOMAwGA1UEBxMFTGV3ZXMxJjAk
BgNVBAoTHUJpdGNvaW4gQ29yZSBDb2RlIFNpZ25pbmcgTExDMSYwJAYDVQQDEx1C
aXRjb2luIENvcmUgQ29kZSBTaWduaW5nIExMQzCCAiIwDQYJKoZIhvcNAQEBBQAD
ggIPADCCAgoCggIBALewxfjztuRTDNAGf7zkqqWNEt28CZmVJHoYltVRxtE1BP45
BfmptH5eM1JC/XosTPytHRFeOkO4YVAtiELxK9S/82OZlKA7Mx7PW6vv1184u8+m
P3WpTN/KAZTaW9fB0ELTSCuqsvXq2crM2T7NudJnSyWh2VBjLfPPCAcYwzyGKQbl
jQWjFEJDJWFK83t9mK/v0WQgA3jGJeaz+V6CYXMS7UgpdG8dUhg9o63gYJZAW5pY
RIsNRcJCM5LHhwEMW5329UsTmYCfP7/53emepbQ0n8ijVZjgaJ+LZ8NspBLSeCiF
9UPCKX82uWiQAUTbYHCfSi3I0f3wQidXL9ZY+PXmalM7BMuQ+c2xEcl97CnhrDzx
EBwZvvOC9wGoG+8+epV4TjUZWf+7QN1ZYeg1rai7c7c8u9ILogE8su2xVoz333TH
CDvScIgnQXmk+cbKMBtg9kM0F+aLWsN2xVf0uAj3U7sdXLrfJeW0DZIktWtTBQzX
O/OE4Ka+1WFnDg0HJIih0cTjl9YYvfe53L4pCGy+qGt/XGBRqCMfXp3g+H9FGR5r
pensVVcsrv3GbTfYdlpdmp9OHH5G57GTAZueobCZg7r7RKK0zPU9EiTLJxzyXuai
v/Ksd8eIhHRjewMaQuAtQM1tO+oKAbLF0v2M7v7/aVT76X32JllYAizm3zjvAgMB
AAGjggIGMIICAjAfBgNVHSMEGDAWgBRoN+Drtjv4XxGG+/5hewiIZfROQjAdBgNV
HQ4EFgQUvCpU58PIuofv0kHJ3Ty0YDKEy3cwDgYDVR0PAQH/BAQDAgeAMBMGA1Ud
JQQMMAoGCCsGAQUFBwMDMIG1BgNVHR8Ega0wgaowU6BRoE+GTWh0dHA6Ly9jcmwz
LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENvZGVTaWduaW5nUlNBNDA5
NlNIQTM4NDIwMjFDQTEuY3JsMFOgUaBPhk1odHRwOi8vY3JsNC5kaWdpY2VydC5j
b20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JTQTQwOTZTSEEzODQyMDIx
Q0ExLmNybDA+BgNVHSAENzA1MDMGBmeBDAEEATApMCcGCCsGAQUFBwIBFhtodHRw
Oi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwgZQGCCsGAQUFBwEBBIGHMIGEMCQGCCsG
AQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wXAYIKwYBBQUHMAKGUGh0
dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENvZGVT
aWduaW5nUlNBNDA5NlNIQTM4NDIwMjFDQTEuY3J0MAwGA1UdEwEB/wQCMAAwDQYJ
KoZIhvcNAQELBQADggIBABhpTZufRws1vrtI0xB1/UWrSEJxdPHivfpXE708dzum
Jh3TFzpsEUCQX5BJJet1l7x92sKNeAL7votA+8O8YvMD64Kim7VKA2BB8AOHKQbp
r1c2iZBwwofInviRYvsrvQta6KBy2KOe1L/l0KnpUazL9Tv4VKvuWAw/Qc0/eTQr
NZRsmADORxnZ1qW+SpF+/WbazIYjod/Oqb1U3on+PzyiGD3SjzNhsdFRptqzrIaY
UVV+2XHG4fN6A8wkyQL5NIVXGiK7rqS5VrRAv58Lf1ZZTghdAL+5SySE0OsR9t0K
W73ZB9pxbuZZ6Zfxjotjw+IilCEm3ADbc7Eb2ijI4x8mix0XWMUrhL34s7/jRyDi
P+30aSgjWp611tp/EYRW5kpIaFR8AesDdM0DSSCCRXOMwQG2Tq2+CnqItB5oLNPp
2XySwlIWvmjbzsREfIpE3yh3bxmHY+vFIc2R0nNkbWNIT6AGtaEQ7oWkgpK8YMkA
QCf4EUC4Qa7qHiH6YSmYJhjApBLC7UDwevgwxuDrwimWAj+tDkzdnENMcBp4SAy6
LwUuDi2IU6HRSXWdh2YEkDbc3FdwknnnEWaB4dlRL85YjHyLXN0KiE7SKTj1LfR4
dGeDqVUlDj9D5+X4a7F89wLP/um40/52HUQv5t5WcNr/47r9aVkx9DHs1b8oUnLg
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIGQzCCBSugAwIBAgIQBSN7Cm16Z0UT9p7lA2jiKDANBgkqhkiG9w0BAQsFADBy
MIIGsDCCBJigAwIBAgIQCK1AsmDSnEyfXs2pvZOu2TANBgkqhkiG9w0BAQwFADBi
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQg
SUQgQ29kZSBTaWduaW5nIENBMB4XDTIxMDUyMTAwMDAwMFoXDTIyMDUyNjIzNTk1
OVowgYAxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhEZWxhd2FyZTEOMAwGA1UEBxMF
TGV3ZXMxJjAkBgNVBAoTHUJpdGNvaW4gQ29yZSBDb2RlIFNpZ25pbmcgTExDMSYw
JAYDVQQDEx1CaXRjb2luIENvcmUgQ29kZSBTaWduaW5nIExMQzCCAiIwDQYJKoZI
hvcNAQEBBQADggIPADCCAgoCggIBAKe6xtFgKAQ68MvxwCjNtpgPobfDQCLKvCAN
uBKGYuub6ufQB5dhCLN9fjMgfg33AyauvU3PcEUDUWD3/k925bPqgxHC3E7YqoB+
11b/2Y7a86okqUgcGgvKhaKoHmXxElpM9EjQHjJ0yL4QAR1Lp+9CMMW3wIulBYKt
wLIArFvbuQhMO/6rxL8frpK049v//WfQzB16GXuFnzN/6fDK7oOt5IrKTg4H6EY2
fj4+QaUj0lNX7aHnZ6Ki45h2RUPDgN1ipRIuhM67npyZ/tdzPPjI3PUgfXCccN6D
+qWWnbbbvPuOht4ziPciVnPd57PqJmAOnLI86gisDfd7VKlcpOSEaagdUGvMbU6f
uAps818GwnJzwCGllxlKASCgXDAckLLvMuit4RfYAhhdhw5R0AsaWK0HW88oHOqi
U7eWlMCbSGk34x9hBrxYl7tvcNcLPWIPYrrhFWNFpkV8bVVIoV5rUNRgWvBcdOq1
CCPTfsJp3nEH2WCoBghZquDZLSW12wMw2UsQyEojBeGhrR1inn8uK93wSnVCC8F4
21yWNRMNe/LQVhmZDgFOen9r/WijBsBdQw1bL8N4zGdYv8+soqkrWzW417FfSx81
pj4j5FEXYXXV5k/4/eBpIARXVRR8xya0nGkhNJmBk0jjDGD8fPW2gFQbqnUwAQ34
vOr8NUqHAgMBAAGjggHEMIIBwDAfBgNVHSMEGDAWgBRaxLl7KgqjpepxA8Bg+S32
ZXUOWDAdBgNVHQ4EFgQUVSLtZnifEHvd8z3E7AyLYNuDiaMwDgYDVR0PAQH/BAQD
AgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMHcGA1UdHwRwMG4wNaAzoDGGL2h0dHA6
Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9zaGEyLWFzc3VyZWQtY3MtZzEuY3JsMDWgM6Ax
hi9odHRwOi8vY3JsNC5kaWdpY2VydC5jb20vc2hhMi1hc3N1cmVkLWNzLWcxLmNy
bDBLBgNVHSAERDBCMDYGCWCGSAGG/WwDATApMCcGCCsGAQUFBwIBFhtodHRwOi8v
d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCAYGZ4EMAQQBMIGEBggrBgEFBQcBAQR4MHYw
JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBOBggrBgEFBQcw
AoZCaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0U0hBMkFzc3Vy
ZWRJRENvZGVTaWduaW5nQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEL
BQADggEBAOaJneI91NJgqghUxgc0AWQ01SAJTgN4z7xMQ3W0ZAtwGbA0byT7YRlj
j7h+j+hMX/JYkRJETTh8Nalq2tPWJBiMMEPOGFVttFER1pwouHkK9pSKyp4xRvNU
L0LPh7fE4EYMJoynys6ZTpMCHLku+X3jFat1+1moh9TJRvK5+ETZYGl0seFNU3mJ
dZzusObm4scffIGgi40kmmISKd5ZRuooRTu9FFR/3vpfbA+7Vg4RSH3CcQPo9bfk
+h/qRQhSfQInTBn7obRpIlvEcK782qivqseJGdtnTmcdVRShD5ckTVza1yv25uQz
l/yTqmG2LXlYjl5iMSdF0C1xYq6IsOA=
d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg
RzQwHhcNMjEwNDI5MDAwMDAwWhcNMzYwNDI4MjM1OTU5WjBpMQswCQYDVQQGEwJV
UzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRy
dXN0ZWQgRzQgQ29kZSBTaWduaW5nIFJTQTQwOTYgU0hBMzg0IDIwMjEgQ0ExMIIC
IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1bQvQtAorXi3XdU5WRuxiEL1
M4zrPYGXcMW7xIUmMJ+kjmjYXPXrNCQH4UtP03hD9BfXHtr50tVnGlJPDqFX/IiZ
wZHMgQM+TXAkZLON4gh9NH1MgFcSa0OamfLFOx/y78tHWhOmTLMBICXzENOLsvsI
8IrgnQnAZaf6mIBJNYc9URnokCF4RS6hnyzhGMIazMXuk0lwQjKP+8bqHPNlaJGi
TUyCEUhSaN4QvRRXXegYE2XFf7JPhSxIpFaENdb5LpyqABXRN/4aBpTCfMjqGzLm
ysL0p6MDDnSlrzm2q2AS4+jWufcx4dyt5Big2MEjR0ezoQ9uo6ttmAaDG7dqZy3S
vUQakhCBj7A7CdfHmzJawv9qYFSLScGT7eG0XOBv6yb5jNWy+TgQ5urOkfW+0/tv
k2E0XLyTRSiDNipmKF+wc86LJiUGsoPUXPYVGUztYuBeM/Lo6OwKp7ADK5GyNnm+
960IHnWmZcy740hQ83eRGv7bUKJGyGFYmPV8AhY8gyitOYbs1LcNU9D4R+Z1MI3s
MJN2FKZbS110YU0/EpF23r9Yy3IQKUHw1cVtJnZoEUETWJrcJisB9IlNWdt4z4FK
PkBHX8mBUHOFECMhWWCKZFTBzCEa6DgZfGYczXg4RTCZT/9jT0y7qg0IU0F8WD1H
s/q27IwyCQLMbDwMVhECAwEAAaOCAVkwggFVMBIGA1UdEwEB/wQIMAYBAf8CAQAw
HQYDVR0OBBYEFGg34Ou2O/hfEYb7/mF7CIhl9E5CMB8GA1UdIwQYMBaAFOzX44LS
cV1kTN8uZz/nupiuHA9PMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEF
BQcDAzB3BggrBgEFBQcBAQRrMGkwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRp
Z2ljZXJ0LmNvbTBBBggrBgEFBQcwAoY1aHR0cDovL2NhY2VydHMuZGlnaWNlcnQu
Y29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcnQwQwYDVR0fBDwwOjA4oDagNIYy
aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5j
cmwwHAYDVR0gBBUwEzAHBgVngQwBAzAIBgZngQwBBAEwDQYJKoZIhvcNAQEMBQAD
ggIBADojRD2NCHbuj7w6mdNW4AIapfhINPMstuZ0ZveUcrEAyq9sMCcTEp6QRJ9L
/Z6jfCbVN7w6XUhtldU/SfQnuxaBRVD9nL22heB2fjdxyyL3WqqQz/WTauPrINHV
UHmImoqKwba9oUgYftzYgBoRGRjNYZmBVvbJ43bnxOQbX0P4PpT/djk9ntSZz0rd
KOtfJqGVWEjVGv7XJz/9kNF2ht0csGBc8w2o7uCJob054ThO2m67Np375SFTWsPK
6Wrxoj7bQ7gzyE84FJKZ9d3OVG3ZXQIUH0AzfAPilbLCIXVzUstG2MQ0HKKlS43N
b3Y3LIU/Gs4m6Ri+kAewQ3+ViCCCcPDMyu/9KTVcH4k4Vfc3iosJocsL6TEa/y4Z
XDlx4b6cpwoG1iZnt5LmTl/eeqxJzy6kdJKt2zyknIYf48FWGysj/4+16oh7cGvm
oLr9Oj9FpsToFpFSi0HASIRLlk2rREDjjfAVKM7t8RhWByovEMQMCGQ8M4+uKIw8
y4+ICw2/O/TOHnuO77Xry7fwdxPm5yg/rBKupS8ibEH5glwVZsxsDsrFhsP2JjMM
B0ug0wcCampAMEhLNKhRILutG4UI4lkNbcoFUCvqShyepf2gpx8GdOfy1lKQ/a+F
SCH5Vzu0nAPthkX0tGFuv2jiJmCG6sivqf6UHedjGzqGVnhO
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFMDCCBBigAwIBAgIQBAkYG1/Vu2Z1U0O1b5VQCDANBgkqhkiG9w0BAQsFADBl
MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
b3QgQ0EwHhcNMTMxMDIyMTIwMDAwWhcNMjgxMDIyMTIwMDAwWjByMQswCQYDVQQG
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
cnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQgSUQgQ29kZSBT
aWduaW5nIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+NOzHH8O
Ea9ndwfTCzFJGc/Q+0WZsTrbRPV/5aid2zLXcep2nQUut4/6kkPApfmJ1DcZ17aq
8JyGpdglrA55KDp+6dFn08b7KSfH03sjlOSRI5aQd4L5oYQjZhJUM1B0sSgmuyRp
wsJS8hRniolF1C2ho+mILCCVrhxKhwjfDPXiTWAYvqrEsq5wMWYzcT6scKKrzn/p
fMuSoeU7MRzP6vIK5Fe7SrXpdOYr/mzLfnQ5Ng2Q7+S1TqSp6moKq4TzrGdOtcT3
jNEgJSPrCGQ+UpbB8g8S9MWOD8Gi6CxR93O8vYWxYoNzQYIH5DiLanMg0A9kczye
n6Yzqf0Z3yWT0QIDAQABo4IBzTCCAckwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNV
HQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwMweQYIKwYBBQUHAQEEbTBr
MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQwYIKwYBBQUH
MAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJ
RFJvb3RDQS5jcnQwgYEGA1UdHwR6MHgwOqA4oDaGNGh0dHA6Ly9jcmw0LmRpZ2lj
ZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwOqA4oDaGNGh0dHA6
Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmww
TwYDVR0gBEgwRjA4BgpghkgBhv1sAAIEMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v
d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCgYIYIZIAYb9bAMwHQYDVR0OBBYEFFrEuXsq
CqOl6nEDwGD5LfZldQ5YMB8GA1UdIwQYMBaAFEXroq/0ksuCMS1Ri6enIZ3zbcgP
MA0GCSqGSIb3DQEBCwUAA4IBAQA+7A1aJLPzItEVyCx8JSl2qB1dHC06GsTvMGHX
fgtg/cM9D8Svi/3vKt8gVTew4fbRknUPUbRupY5a4l4kgU4QpO4/cY5jDhNLrddf
RHnzNhQGivecRk5c/5CxGwcOkRX7uq+1UcKNJK4kxscnKqEpKBo6cSgCPC6Ro8Al
EeKcFEehemhor5unXCBc2XGxDI+7qPjFEmifz0DLQESlE/DmZAwlCEIysjaKJAL+
L3J+HNdJRZboWR3p+nRka7LrZkPas7CM1ekN3fYBIM6ZMWM9CBoYs4GbT8aTEAb8
B4H6i9r5gkn3Ym6hU/oSlBiFLpKR6mhsRDKyZqHnGKSaZFHv
d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg
RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV
UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu
Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG
SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y
ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If
xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV
ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO
DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ
jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/
CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi
EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM
fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY
uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK
chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t
9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD
ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2
SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd
+SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc
fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa
sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N
cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N
0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie
4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI
r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1
/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm
gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
-----END CERTIFICATE-----

View File

@@ -14,7 +14,7 @@ $(package)_config_opts_freebsd=--with-pic
$(package)_config_opts_netbsd=--with-pic
$(package)_config_opts_openbsd=--with-pic
$(package)_config_opts_android=--with-pic
$(package)_cflags+=-Wno-error=implicit-function-declaration
$(package)_cflags+=-Wno-error=implicit-function-declaration -Wno-error=format-security -Wno-error=implicit-int
$(package)_cxxflags+=-std=c++17
$(package)_cppflags_mingw32=-DUNICODE -D_UNICODE
endef

View File

@@ -5,9 +5,14 @@ $(package)_file_name=$(package)-$($(package)_version).tar.xz
$(package)_sha256_hash=60ddcff932b7fd352752d51a5c4f04f3d0403230a584df9a2e0d5ed87c486c8b
$(package)_dependencies=libxcb
# This package explicitly enables -Werror=array-bounds, which causes build failures
# with GCC 12.1+. Work around that by turning errors back into warnings.
# This workaround would be dropped if the package was updated, as that would require
# a different build system (Meson)
define $(package)_set_vars
$(package)_config_opts = --enable-option-checking --disable-dependency-tracking
$(package)_config_opts += --disable-static --disable-docs
$(package)_cflags += -Wno-error=array-bounds
endef
define $(package)_preprocess_cmds

View File

@@ -1,25 +1,25 @@
package=qt
$(package)_version=5.15.2
$(package)_version=5.15.3
$(package)_download_path=https://download.qt.io/official_releases/qt/5.15/$($(package)_version)/submodules
$(package)_suffix=everywhere-src-$($(package)_version).tar.xz
$(package)_suffix=everywhere-opensource-src-$($(package)_version).tar.xz
$(package)_file_name=qtbase-$($(package)_suffix)
$(package)_sha256_hash=909fad2591ee367993a75d7e2ea50ad4db332f05e1c38dd7a5a274e156a4e0f8
$(package)_sha256_hash=26394ec9375d52c1592bd7b689b1619c6b8dbe9b6f91fdd5c355589787f3a0b6
$(package)_linux_dependencies=freetype fontconfig libxcb libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm
$(package)_qt_libs=corelib network widgets gui plugins testlib
$(package)_linguist_tools = lrelease lupdate lconvert
$(package)_patches = qt.pro qttools_src.pro
$(package)_patches += fix_qt_pkgconfig.patch mac-qmake.conf fix_no_printer.patch no-xlib.patch
$(package)_patches += dont_use_avx_android_x86_64.patch dont_hardcode_x86_64.patch fix_montery_include.patch
$(package)_patches += dont_hardcode_x86_64.patch fix_montery_include.patch
$(package)_patches += fix_android_jni_static.patch dont_hardcode_pwd.patch
$(package)_patches += qtbase-moc-ignore-gcc-macro.patch fix_limits_header.patch
$(package)_patches += fix_bigsur_style.patch use_android_ndk23.patch
$(package)_patches += use_android_ndk23.patch
$(package)_patches += rcc_hardcode_timestamp.patch
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
$(package)_qttranslations_sha256_hash=d5788e86257b21d5323f1efd94376a213e091d1e5e03b45a95dd052b5f570db8
$(package)_qttranslations_sha256_hash=5d7869f670a135ad0986e266813b9dd5bbae2b09577338f9cdf8904d4af52db0
$(package)_qttools_file_name=qttools-$($(package)_suffix)
$(package)_qttools_sha256_hash=c189d0ce1ff7c739db9a3ace52ac3e24cb8fd6dbf234e49f075249b38f43c1cc
$(package)_qttools_sha256_hash=463b2fe71a085e7ab4e39333ae360ab0ec857b966d7a08f752c427e5df55f90d
$(package)_extra_sources = $($(package)_qttranslations_file_name)
$(package)_extra_sources += $($(package)_qttools_file_name)
@@ -235,12 +235,10 @@ define $(package)_preprocess_cmds
patch -p1 -i $($(package)_patch_dir)/fix_no_printer.patch && \
patch -p1 -i $($(package)_patch_dir)/fix_android_jni_static.patch && \
patch -p1 -i $($(package)_patch_dir)/no-xlib.patch && \
patch -p1 -i $($(package)_patch_dir)/dont_use_avx_android_x86_64.patch && \
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_x86_64.patch && \
patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \
patch -p1 -i $($(package)_patch_dir)/fix_limits_header.patch && \
patch -p1 -i $($(package)_patch_dir)/fix_montery_include.patch && \
patch -p1 -i $($(package)_patch_dir)/fix_bigsur_style.patch && \
patch -p1 -i $($(package)_patch_dir)/use_android_ndk23.patch && \
patch -p1 -i $($(package)_patch_dir)/rcc_hardcode_timestamp.patch && \
mkdir -p qtbase/mkspecs/macx-clang-linux &&\

View File

@@ -1,6 +1,6 @@
package=systemtap
$(package)_version=4.5
$(package)_download_path=https://sourceware.org/systemtap/ftp/releases/
$(package)_download_path=https://sourceware.org/ftp/systemtap/releases/
$(package)_file_name=$(package)-$($(package)_version).tar.gz
$(package)_sha256_hash=75078ed37e0dd2a769c9d1f9394170b2d9f4d7daa425f43ca80c13bad6cfc925
$(package)_patches=remove_SDT_ASM_SECTION_AUTOGROUP_SUPPORT_check.patch

View File

@@ -1,8 +1,8 @@
package=xcb_proto
$(package)_version=1.14.1
$(package)_version=1.15.2
$(package)_download_path=https://xorg.freedesktop.org/archive/individual/proto
$(package)_file_name=xcb-proto-$($(package)_version).tar.xz
$(package)_sha256_hash=f04add9a972ac334ea11d9d7eb4fc7f8883835da3e4859c9afa971efdf57fcc3
$(package)_sha256_hash=7072beb1f680a2fe3f9e535b797c146d22528990c72f63ddb49d2f350a3653ed
define $(package)_config_cmds
$($(package)_autoconf)

View File

@@ -1,32 +0,0 @@
Android: don't use avx and avx2 when building for Android x86_64
AVX and AVX2 are not supported on x86_64 ABI.
See:
- https://developer.android.com/ndk/guides/abis#86-64
- https://bugreports.qt.io/browse/QTBUG-86785
Upstream commits:
- Qt 6.0: ff1a44be33f4bc05d502a2ca49171e0408992f61
- Qt 5.15: 8b2cc0f6deb038a4c9d4f0d9b690c7726bd809a9
--- old/qtbase/configure.json
+++ new/qtbase/configure.json
@@ -1098,7 +1098,7 @@
},
"avx": {
"label": "AVX",
- "condition": "features.sse4_2 && tests.avx",
+ "condition": "features.sse4_2 && tests.avx && (!config.android || !arch.x86_64)",
"output": [
"privateConfig",
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX", "value": 1 }
@@ -1114,7 +1114,7 @@
},
"avx2": {
"label": "AVX2",
- "condition": "features.avx && tests.avx2",
+ "condition": "features.avx && tests.avx2 && (!config.android || !arch.x86_64)",
"output": [
"privateConfig",
"privateFeature",

View File

@@ -1,6 +1,6 @@
--- old/qtbase/src/plugins/platforms/android/androidjnimain.cpp
+++ new/qtbase/src/plugins/platforms/android/androidjnimain.cpp
@@ -914,6 +914,14 @@ Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void */*reserved*/)
@@ -934,6 +934,14 @@ Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void */*reserved*/)
__android_log_print(ANDROID_LOG_FATAL, "Qt", "registerNatives failed");
return -1;
}

View File

@@ -1,90 +0,0 @@
Fix rendering in macOS BigSur
See: https://bugreports.qt.io/browse/QTBUG-86513.
Upstream commits (combined in this patch):
- Qt 6.0: 40fb97e97f550b8afd13ecc3a038d9d0c2d82bbb
- Qt 6.0: 3857f104cac127f62e64e55a20613f0ac2e6b843
- Qt 6.1: abee4cdd5925a8513f51784754fca8fa35031732
--- old/qtbase/src/plugins/styles/mac/qmacstyle_mac.mm
+++ new/qtbase/src/plugins/styles/mac/qmacstyle_mac.mm
@@ -3870,6 +3870,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
const auto cs = d->effectiveAquaSizeConstrain(opt, w);
// Extra hacks to get the proper pressed appreance when not selected or selected and inactive
const bool needsInactiveHack = (!isActive && isSelected);
+ const bool isBigSurOrAbove = QOperatingSystemVersion::current() >= QOperatingSystemVersion::MacOSBigSur;
const auto ct = !needsInactiveHack && (isSelected || tp == QStyleOptionTab::OnlyOneTab) ?
QMacStylePrivate::Button_PushButton :
QMacStylePrivate::Button_PopupButton;
@@ -3878,6 +3879,12 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
auto *pb = static_cast<NSButton *>(d->cocoaControl(cw));
auto vOffset = isPopupButton ? 1 : 2;
+ if (isBigSurOrAbove) {
+ // Make it 1, otherwise, offset is very visible compared
+ // to selected tab (which is not a popup button).
+ vOffset = 1;
+ }
+
if (tabDirection == QMacStylePrivate::East)
vOffset -= 1;
const auto outerAdjust = isPopupButton ? 1 : 4;
@@ -3894,9 +3901,22 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
frameRect = frameRect.adjusted(-innerAdjust, 0, outerAdjust, 0);
else
frameRect = frameRect.adjusted(-outerAdjust, 0, innerAdjust, 0);
+
+ if (isSelected && isBigSurOrAbove) {
+ // 1 pixed of 'roundness' is still visible on the right
+ // (the left is OK, it's rounded).
+ frameRect = frameRect.adjusted(0, 0, 1, 0);
+ }
+
break;
case QStyleOptionTab::Middle:
frameRect = frameRect.adjusted(-innerAdjust, 0, innerAdjust, 0);
+
+ if (isSelected && isBigSurOrAbove) {
+ // 1 pixel of 'roundness' is still visible on both
+ // sides - left and right.
+ frameRect = frameRect.adjusted(-1, 0, 1, 0);
+ }
break;
case QStyleOptionTab::End:
// Pressed state hack: tweak adjustments in preparation for flip below
@@ -3904,6 +3924,11 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
frameRect = frameRect.adjusted(-innerAdjust, 0, outerAdjust, 0);
else
frameRect = frameRect.adjusted(-outerAdjust, 0, innerAdjust, 0);
+
+ if (isSelected && isBigSurOrAbove) {
+ // 1 pixel of 'roundness' is still visible on the left.
+ frameRect = frameRect.adjusted(-1, 0, 0, 0);
+ }
break;
case QStyleOptionTab::OnlyOneTab:
frameRect = frameRect.adjusted(-outerAdjust, 0, outerAdjust, 0);
@@ -3951,7 +3976,10 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
NSPopUpArrowPosition oldPosition = NSPopUpArrowAtCenter;
NSPopUpButtonCell *pbCell = nil;
auto rAdjusted = r;
- if (isPopupButton && tp == QStyleOptionTab::OnlyOneTab) {
+ if (isPopupButton && (tp == QStyleOptionTab::OnlyOneTab || isBigSurOrAbove)) {
+ // Note: starting from macOS BigSur NSPopupButton has this
+ // arrow 'button' in a different place and it became
+ // quite visible 'in between' inactive tabs.
pbCell = static_cast<NSPopUpButtonCell *>(pb.cell);
oldPosition = pbCell.arrowPosition;
pbCell.arrowPosition = NSPopUpNoArrow;
@@ -3959,6 +3987,10 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
// NSPopUpButton in this state is smaller.
rAdjusted.origin.x -= 3;
rAdjusted.size.width += 6;
+ if (isBigSurOrAbove) {
+ if (tp == QStyleOptionTab::End)
+ rAdjusted.origin.x -= 2;
+ }
}
}

View File

@@ -1,46 +1,9 @@
Fix compiling with GCC 11
See: https://bugreports.qt.io/browse/QTBUG-90395.
Upstream:
- bug report: https://bugreports.qt.io/browse/QTBUG-89977
- fix in Qt 6.1: 813a928c7c3cf98670b6043149880ed5c955efb9
Upstream commits:
- Qt 5.15 -- unavailable as open source
- Qt 6.0: b2af6332ea37e45ab230a7a5d2d278f86d961b83
- Qt 6.1: 9c56d4da2ff631a8c1c30475bd792f6c86bda53c
--- old/qtbase/src/corelib/global/qendian.h
+++ new/qtbase/src/corelib/global/qendian.h
@@ -44,6 +44,8 @@
#include <QtCore/qfloat16.h>
#include <QtCore/qglobal.h>
+#include <limits>
+
// include stdlib.h and hope that it defines __GLIBC__ for glibc-based systems
#include <stdlib.h>
#include <string.h>
--- old/qtbase/src/corelib/global/qfloat16.h
+++ new/qtbase/src/corelib/global/qfloat16.h
@@ -43,6 +43,7 @@
#include <QtCore/qglobal.h>
#include <QtCore/qmetatype.h>
+#include <limits>
#include <string.h>
#if defined(QT_COMPILER_SUPPORTS_F16C) && defined(__AVX2__) && !defined(__F16C__)
--- old/qtbase/src/tools/moc/generator.cpp
+++ new/qtbase/src/tools/moc/generator.cpp
@@ -40,6 +40,8 @@
#include <QtCore/qplugin.h>
#include <QtCore/qstringview.h>
+#include <limits>
+
#include <math.h>
#include <stdio.h>
--- old/qtbase/src/corelib/text/qbytearraymatcher.h
+++ new/qtbase/src/corelib/text/qbytearraymatcher.h
@@ -42,6 +42,8 @@
@@ -52,6 +15,12 @@ Upstream commits:
QT_BEGIN_NAMESPACE
Upstream fix and backports:
- Qt 6.1: 3eab20ad382569cb2c9e6ccec2322c3d08c0f716
- Qt 6.2: 380294a5971da85010a708dc23b0edec192cbf27
- Qt 6.3: 2b2b3155d9f6ba1e4f859741468fbc47db09292b
--- old/qtbase/src/corelib/tools/qoffsetstringarray_p.h
+++ new/qtbase/src/corelib/tools/qoffsetstringarray_p.h
@@ -55,6 +55,7 @@

View File

@@ -2,7 +2,7 @@ Use Android NDK r23 LTS
--- old/qtbase/mkspecs/features/android/default_pre.prf
+++ new/qtbase/mkspecs/features/android/default_pre.prf
@@ -73,7 +73,7 @@ else: equals(QT_ARCH, x86_64): CROSS_COMPILE = $$NDK_LLVM_PATH/bin/x86_64-linux-
@@ -76,7 +76,7 @@ else: equals(QT_ARCH, x86_64): CROSS_COMPILE = $$NDK_LLVM_PATH/bin/x86_64-linux-
else: equals(QT_ARCH, arm64-v8a): CROSS_COMPILE = $$NDK_LLVM_PATH/bin/aarch64-linux-android-
else: CROSS_COMPILE = $$NDK_LLVM_PATH/bin/arm-linux-androideabi-

View File

@@ -73,6 +73,7 @@ The Bitcoin repo's [root README](/README.md) contains relevant information on th
- [Assets Attribution](assets-attribution.md)
- [Assumeutxo design](assumeutxo.md)
- [bitcoin.conf Configuration File](bitcoin-conf.md)
- [CJDNS Support](cjdns.md)
- [Files](files.md)
- [Fuzz-testing](fuzzing.md)
- [I2P Support](i2p.md)

View File

@@ -1,4 +1,4 @@
BIPs that are implemented by Bitcoin Core (up-to-date up to **v23.0**):
BIPs that are implemented by Bitcoin Core (up-to-date up to **v23.2**):
* [`BIP 9`](https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki): The changes allowing multiple soft-forks to be deployed in parallel have been implemented since **v0.12.1** ([PR #7575](https://github.com/bitcoin/bitcoin/pull/7575))
* [`BIP 11`](https://github.com/bitcoin/bips/blob/master/bip-0011.mediawiki): Multisig outputs are standard since **v0.6.0** ([PR #669](https://github.com/bitcoin/bitcoin/pull/669)).
@@ -28,6 +28,7 @@ BIPs that are implemented by Bitcoin Core (up-to-date up to **v23.0**):
and it is disabled by default at build time since **v0.19.0** ([PR #15584](https://github.com/bitcoin/bitcoin/pull/15584)).
It has been removed as of **v0.20.0** ([PR 17165](https://github.com/bitcoin/bitcoin/pull/17165)).
* [`BIP 84`](https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki): The experimental descriptor wallets introduced in **v0.21.0** by default use the Hierarchical Deterministic Wallet derivation proposed by BIP 84. ([PR #16528](https://github.com/bitcoin/bitcoin/pull/16528))
* [`BIP 86`](https://github.com/bitcoin/bips/blob/master/bip-0086.mediawiki): Descriptor wallets by default use the Hierarchical Deterministic Wallet derivation proposed by BIP 86 since **v23.0** ([PR #22364](https://github.com/bitcoin/bitcoin/pull/22364)).
* [`BIP 90`](https://github.com/bitcoin/bips/blob/master/bip-0090.mediawiki): Trigger mechanism for activation of BIPs 34, 65, and 66 has been simplified to block height checks since **v0.14.0** ([PR #8391](https://github.com/bitcoin/bitcoin/pull/8391)).
* [`BIP 111`](https://github.com/bitcoin/bips/blob/master/bip-0111.mediawiki): `NODE_BLOOM` service bit added, and enforced for all peer versions as of **v0.13.0** ([PR #6579](https://github.com/bitcoin/bitcoin/pull/6579) and [PR #6641](https://github.com/bitcoin/bitcoin/pull/6641)).
* [`BIP 112`](https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki): The CHECKSEQUENCEVERIFY opcode has been implemented since **v0.12.1** ([PR #7524](https://github.com/bitcoin/bitcoin/pull/7524)), and has been *buried* since **v0.19.0** ([PR #16060](https://github.com/bitcoin/bitcoin/pull/16060)).

View File

@@ -4,8 +4,6 @@
This guide describes how to build bitcoind, command-line utilities, and GUI on macOS
**Note:** The following is for Intel Macs only!
## Dependencies
The following dependencies are **required**:
@@ -114,15 +112,11 @@ brew install berkeley-db@4
###### Descriptor Wallet Support
Note: Apple has included a useable `sqlite` package since macOS 10.14.
You may not need to install this package.
`sqlite` is required to support for descriptor wallets.
`sqlite` is required to enable support for descriptor wallets.
Skip if you don't intend to use descriptor wallets.
macOS ships with a useable `sqlite` package, meaning you don't need to
install anything.
``` bash
brew install sqlite
```
---
#### GUI Dependencies

95
doc/cjdns.md Normal file
View File

@@ -0,0 +1,95 @@
# CJDNS support in Bitcoin Core
It is possible to run Bitcoin Core over CJDNS, an encrypted IPv6 network that
uses public-key cryptography for address allocation and a distributed hash table
for routing.
## What is CJDNS?
CJDNS is like a distributed, shared VPN with multiple entry points where every
participant can reach any other participant. All participants use addresses from
the `fc00::/8` network (reserved IPv6 range). Installation and configuration is
done outside of Bitcoin Core, similarly to a VPN (either in the host/OS or on
the network router).
Compared to IPv4/IPv6, CJDNS provides end-to-end encryption and protects nodes
from traffic analysis and filtering.
Used with Tor and I2P, CJDNS is a complementary option that can enhance network
redundancy and robustness for both the Bitcoin network and individual nodes.
Each network has different characteristics. For instance, Tor is widely used but
somewhat centralized. I2P connections have a source address and I2P is slow.
CJDNS is fast but does not hide the sender and the recipient from intermediate
routers.
## Installing CJDNS and connecting to the network
To install and set up CJDNS, follow the instructions at
https://github.com/cjdelisle/cjdns#cjdns.
Don't skip steps
["2. Find a friend"](https://github.com/cjdelisle/cjdns#2-find-a-friend) and
["3. Connect your node to your friend's
node"](https://github.com/cjdelisle/cjdns#3-connect-your-node-to-your-friends-node).
You need to be connected to the CJDNS network before it will work with your
Bitcoin Core node.
Typically, CJDNS might be launched from its directory with
`sudo ./cjdroute < cjdroute.conf` and it sheds permissions after setting up the
[TUN](https://en.wikipedia.org/wiki/TUN/TAP) interface. You may also [launch it as an
unprivileged user](https://github.com/cjdelisle/cjdns/blob/master/doc/non-root-user.md)
with some additional setup.
The network connection can be checked by running `./tools/peerStats` from the
CJDNS directory.
## Run Bitcoin Core with CJDNS
Once you are connected to the CJDNS network, the following Bitcoin Core
configuration option makes CJDNS peers automatically reachable:
```
-cjdnsreachable
```
When enabled, this option tells Bitcoin Core that it is running in an
environment where a connection to an `fc00::/8` address will be to the CJDNS
network instead of to an [RFC4193](https://datatracker.ietf.org/doc/html/rfc4193)
IPv6 local network. This helps Bitcoin Core perform better address management:
- Your node can consider incoming `fc00::/8` connections to be from the CJDNS
network rather than from an IPv6 private one.
- If one of your node's local addresses is `fc00::/8`, then it can choose to
gossip that address to peers.
## Additional configuration options related to CJDNS
```
-onlynet=cjdns
```
Make automatic outbound connections only to CJDNS addresses. Inbound and manual
connections are not affected by this option. It can be specified multiple times
to allow multiple networks, e.g. onlynet=cjdns, onlynet=i2p, onlynet=onion.
CJDNS support was added to Bitcoin Core in version 23.0 and there may be fewer
CJDNS peers than Tor or IP ones. You can use `bitcoin-cli -addrinfo` to see the
number of CJDNS addresses known to your node.
In general, a node can be run with both an onion service and CJDNS (or any/all
of IPv4/IPv6/onion/I2P/CJDNS), which can provide a potential fallback if one of
the networks has issues. There are a number of ways to configure this; see
[doc/tor.md](https://github.com/bitcoin/bitcoin/blob/master/doc/tor.md) for
details.
## CJDNS-related information in Bitcoin Core
There are several ways to see your CJDNS address in Bitcoin Core:
- in the "Local addresses" output of CLI `-netinfo`
- in the "localaddresses" output of RPC `getnetworkinfo`
To see which CJDNS peers your node is connected to, use `bitcoin-cli -netinfo 4`
or the `getpeerinfo` RPC (i.e. `bitcoin-cli getpeerinfo`).
To see which CJDNS addresses your node knows, use the `getnodeaddresses 0 cjdns`
RPC.

View File

@@ -20,7 +20,7 @@ These are the dependencies currently used by Bitcoin Core. You can find instruct
| PCRE | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk) |
| Python (tests) | | [3.6](https://www.python.org/downloads) | | | |
| qrencode | [3.4.4](https://fukuchi.org/works/qrencode) | | No | | |
| Qt | [5.15.2](https://download.qt.io/official_releases/qt/) | [5.9.5](https://github.com/bitcoin/bitcoin/issues/20104) | No | | |
| Qt | [5.15.3](https://download.qt.io/official_releases/qt/) | [5.9.5](https://github.com/bitcoin/bitcoin/issues/20104) | No | | |
| SQLite | [3.32.1](https://sqlite.org/download.html) | [3.7.17](https://github.com/bitcoin/bitcoin/pull/19077) | | | |
| XCB | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk) (Linux only) |
| systemtap ([tracing](tracing.md))| [4.5](https://sourceware.org/systemtap/ftp/releases/) | | | | |

View File

@@ -17,6 +17,7 @@ Developer Notes
- [`debug.log`](#debuglog)
- [Signet, testnet, and regtest modes](#signet-testnet-and-regtest-modes)
- [DEBUG_LOCKORDER](#debug_lockorder)
- [DEBUG_LOCKCONTENTION](#debug_lockcontention)
- [Valgrind suppressions file](#valgrind-suppressions-file)
- [Compiling for test coverage](#compiling-for-test-coverage)
- [Performance profiling with perf](#performance-profiling-with-perf)
@@ -316,6 +317,19 @@ configure option adds `-DDEBUG_LOCKORDER` to the compiler flags. This inserts
run-time checks to keep track of which locks are held and adds warnings to the
`debug.log` file if inconsistencies are detected.
### DEBUG_LOCKCONTENTION
Defining `DEBUG_LOCKCONTENTION` adds a "lock" logging category to the logging
RPC that, when enabled, logs the location and duration of each lock contention
to the `debug.log` file.
To enable it, run configure with `-DDEBUG_LOCKCONTENTION` added to your
CPPFLAGS, e.g. `CPPFLAGS="-DDEBUG_LOCKCONTENTION"`, then build and run bitcoind.
You can then use the `-debug=lock` configuration option at bitcoind startup or
`bitcoin-cli logging '["lock"]'` at runtime to turn on lock contention logging.
It can be toggled off again with `bitcoin-cli logging [] '["lock"]'`.
### Assertions and Checks
The util file `src/util/check.h` offers helpers to protect against coding and

View File

@@ -65,9 +65,9 @@ logging` for more information.
-onlynet=i2p
```
Make outgoing connections only to I2P addresses. Incoming connections are not
affected by this option. It can be specified multiple times to allow multiple
network types, e.g. onlynet=onion, onlynet=i2p.
Make automatic outbound connections only to I2P addresses. Inbound and manual
connections are not affected by this option. It can be specified multiple times
to allow multiple networks, e.g. onlynet=onion, onlynet=i2p.
I2P support was added to Bitcoin Core in version 22.0 and there may be fewer I2P
peers than Tor or IP ones. Therefore, using I2P alone without other networks may
@@ -80,15 +80,15 @@ phase when syncing up a new node can be very slow. This phase can be sped up by
using other networks, for instance `onlynet=onion`, at the same time.
In general, a node can be run with both onion and I2P hidden services (or
any/all of IPv4/IPv6/onion/I2P), which can provide a potential fallback if one
of the networks has issues.
any/all of IPv4/IPv6/onion/I2P/CJDNS), which can provide a potential fallback if
one of the networks has issues.
## I2P-related information in Bitcoin Core
There are several ways to see your I2P address in Bitcoin Core:
- in the debug log (grep for `AddLocal`, the I2P address ends in `.b32.i2p`)
- in the output of the `getnetworkinfo` RPC in the "localaddresses" section
- in the output of `bitcoin-cli -netinfo` peer connections dashboard
- in the "Local addresses" output of CLI `-netinfo`
- in the "localaddresses" output of RPC `getnetworkinfo`
- in the debug log (grep for `AddLocal`; the I2P address ends in `.b32.i2p`)
To see which I2P peers your node is connected to, use `bitcoin-cli -netinfo 4`
or the `getpeerinfo` RPC (e.g. `bitcoin-cli getpeerinfo`).

View File

@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
.TH BITCOIN-CLI "1" "March 2022" "bitcoin-cli v23.0.0rc1" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH BITCOIN-CLI "1" "May 2023" "bitcoin-cli v23.2.0" "User Commands"
.SH NAME
bitcoin-cli \- manual page for bitcoin-cli v23.0.0rc1
bitcoin-cli \- manual page for bitcoin-cli v23.2.0
.SH SYNOPSIS
.B bitcoin-cli
[\fI\,options\/\fR] \fI\,<command> \/\fR[\fI\,params\/\fR] \fI\,Send command to Bitcoin Core\/\fR
@@ -15,7 +15,7 @@ bitcoin-cli \- manual page for bitcoin-cli v23.0.0rc1
.B bitcoin-cli
[\fI\,options\/\fR] \fI\,help <command> Get help for a command\/\fR
.SH DESCRIPTION
Bitcoin Core RPC client version v23.0.0rc1
Bitcoin Core RPC client version v23.2.0
.SH OPTIONS
.HP
\-?

View File

@@ -1,12 +1,12 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
.TH BITCOIN-QT "1" "March 2022" "bitcoin-qt v23.0.0rc1" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH BITCOIN-QT "1" "May 2023" "bitcoin-qt v23.2.0" "User Commands"
.SH NAME
bitcoin-qt \- manual page for bitcoin-qt v23.0.0rc1
bitcoin-qt \- manual page for bitcoin-qt v23.2.0
.SH SYNOPSIS
.B bitcoin-qt
[\fI\,command-line options\/\fR]
.SH DESCRIPTION
Bitcoin Core version v23.0.0rc1
Bitcoin Core version v23.2.0
.SH OPTIONS
.HP
\-?
@@ -115,7 +115,7 @@ Do not keep transactions in the mempool longer than <n> hours (default:
.HP
\fB\-par=\fR<n>
.IP
Set the number of script verification threads (\fB\-6\fR to 15, 0 = auto, <0 =
Set the number of script verification threads (\fB\-10\fR to 15, 0 = auto, <0 =
leave that many cores free, default: 0)
.HP
\fB\-persistmempool\fR
@@ -220,8 +220,9 @@ signet: 127.0.0.1:38334=onion, regtest: 127.0.0.1:18445=onion)
.HP
\fB\-cjdnsreachable\fR
.IP
If set then this host is configured for CJDNS (connecting to fc00::/8
addresses would lead us to the CJDNS network) (default: 0)
If set, then this host is configured for CJDNS (connecting to fc00::/8
addresses would lead us to the CJDNS network, see doc/cjdns.md)
(default: 0)
.HP
\fB\-connect=\fR<ip>
.IP
@@ -295,8 +296,8 @@ Maximum per\-connection send buffer, <n>*1000 bytes (default: 1000)
\fB\-maxtimeadjustment\fR
.IP
Maximum allowed median peer time offset adjustment. Local perspective of
time may be influenced by peers forward or backward by this
amount. (default: 4200 seconds)
time may be influenced by outbound peers forward or backward by
this amount (default: 4200 seconds).
.HP
\fB\-maxuploadtarget=\fR<n>
.IP
@@ -322,9 +323,9 @@ Use separate SOCKS5 proxy to reach peers via Tor onion services, set
.HP
\fB\-onlynet=\fR<net>
.IP
Make automatic outgoing connections only through network <net> (ipv4,
ipv6, onion, i2p, cjdns). Incoming connections are not affected
by this option. This option can be specified multiple times to
Make automatic outbound connections only to network <net> (ipv4, ipv6,
onion, i2p, cjdns). Inbound and manual connections are not
affected by this option. It can be specified multiple times to
allow multiple networks.
.HP
\fB\-peerblockfilters\fR
@@ -573,10 +574,10 @@ Output debugging information (default: \fB\-nodebug\fR, supplying <category> is
optional). If <category> is not supplied or if <category> = 1,
output all debugging information. <category> can be: addrman,
bench, blockstorage, cmpctblock, coindb, estimatefee, http, i2p,
ipc, leveldb, libevent, lock, mempool, mempoolrej, net, proxy,
prune, qt, rand, reindex, rpc, selectcoins, tor, util,
validation, walletdb, zmq. This option can be specified multiple
times to output multiple categories.
ipc, leveldb, libevent, mempool, mempoolrej, net, proxy, prune,
qt, rand, reindex, rpc, selectcoins, tor, util, validation,
walletdb, zmq. This option can be specified multiple times to
output multiple categories.
.HP
\fB\-debugexclude=\fR<category>
.IP

View File

@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
.TH BITCOIN-TX "1" "March 2022" "bitcoin-tx v23.0.0rc1" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH BITCOIN-TX "1" "May 2023" "bitcoin-tx v23.2.0" "User Commands"
.SH NAME
bitcoin-tx \- manual page for bitcoin-tx v23.0.0rc1
bitcoin-tx \- manual page for bitcoin-tx v23.2.0
.SH SYNOPSIS
.B bitcoin-tx
[\fI\,options\/\fR] \fI\,<hex-tx> \/\fR[\fI\,commands\/\fR] \fI\,Update hex-encoded bitcoin transaction\/\fR
@@ -9,7 +9,7 @@ bitcoin-tx \- manual page for bitcoin-tx v23.0.0rc1
.B bitcoin-tx
[\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR] \fI\,Create hex-encoded bitcoin transaction\/\fR
.SH DESCRIPTION
Bitcoin Core bitcoin\-tx utility version v23.0.0rc1
Bitcoin Core bitcoin\-tx utility version v23.2.0
.SH OPTIONS
.HP
\-?

View File

@@ -1,12 +1,12 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
.TH BITCOIN-UTIL "1" "March 2022" "bitcoin-util v23.0.0rc1" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH BITCOIN-UTIL "1" "May 2023" "bitcoin-util v23.2.0" "User Commands"
.SH NAME
bitcoin-util \- manual page for bitcoin-util v23.0.0rc1
bitcoin-util \- manual page for bitcoin-util v23.2.0
.SH SYNOPSIS
.B bitcoin-util
[\fI\,options\/\fR] [\fI\,commands\/\fR] \fI\,Do stuff\/\fR
.SH DESCRIPTION
Bitcoin Core bitcoin\-util utility version v23.0.0rc1
Bitcoin Core bitcoin\-util utility version v23.2.0
.SH OPTIONS
.HP
\-?

View File

@@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
.TH BITCOIN-WALLET "1" "March 2022" "bitcoin-wallet v23.0.0rc1" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH BITCOIN-WALLET "1" "May 2023" "bitcoin-wallet v23.2.0" "User Commands"
.SH NAME
bitcoin-wallet \- manual page for bitcoin-wallet v23.0.0rc1
bitcoin-wallet \- manual page for bitcoin-wallet v23.2.0
.SH DESCRIPTION
Bitcoin Core bitcoin\-wallet version v23.0.0rc1
Bitcoin Core bitcoin\-wallet version v23.2.0
.PP
bitcoin\-wallet is an offline tool for creating and interacting with Bitcoin Core wallet files.
By default bitcoin\-wallet will act on wallets in the default mainnet wallet directory in the datadir.

View File

@@ -1,12 +1,12 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
.TH BITCOIND "1" "March 2022" "bitcoind v23.0.0rc1" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH BITCOIND "1" "May 2023" "bitcoind v23.2.0" "User Commands"
.SH NAME
bitcoind \- manual page for bitcoind v23.0.0rc1
bitcoind \- manual page for bitcoind v23.2.0
.SH SYNOPSIS
.B bitcoind
[\fI\,options\/\fR] \fI\,Start Bitcoin Core\/\fR
.SH DESCRIPTION
Bitcoin Core version v23.0.0rc1
Bitcoin Core version v23.2.0
.SH OPTIONS
.HP
\-?
@@ -115,7 +115,7 @@ Do not keep transactions in the mempool longer than <n> hours (default:
.HP
\fB\-par=\fR<n>
.IP
Set the number of script verification threads (\fB\-6\fR to 15, 0 = auto, <0 =
Set the number of script verification threads (\fB\-10\fR to 15, 0 = auto, <0 =
leave that many cores free, default: 0)
.HP
\fB\-persistmempool\fR
@@ -220,8 +220,9 @@ signet: 127.0.0.1:38334=onion, regtest: 127.0.0.1:18445=onion)
.HP
\fB\-cjdnsreachable\fR
.IP
If set then this host is configured for CJDNS (connecting to fc00::/8
addresses would lead us to the CJDNS network) (default: 0)
If set, then this host is configured for CJDNS (connecting to fc00::/8
addresses would lead us to the CJDNS network, see doc/cjdns.md)
(default: 0)
.HP
\fB\-connect=\fR<ip>
.IP
@@ -295,8 +296,8 @@ Maximum per\-connection send buffer, <n>*1000 bytes (default: 1000)
\fB\-maxtimeadjustment\fR
.IP
Maximum allowed median peer time offset adjustment. Local perspective of
time may be influenced by peers forward or backward by this
amount. (default: 4200 seconds)
time may be influenced by outbound peers forward or backward by
this amount (default: 4200 seconds).
.HP
\fB\-maxuploadtarget=\fR<n>
.IP
@@ -322,9 +323,9 @@ Use separate SOCKS5 proxy to reach peers via Tor onion services, set
.HP
\fB\-onlynet=\fR<net>
.IP
Make automatic outgoing connections only through network <net> (ipv4,
ipv6, onion, i2p, cjdns). Incoming connections are not affected
by this option. This option can be specified multiple times to
Make automatic outbound connections only to network <net> (ipv4, ipv6,
onion, i2p, cjdns). Inbound and manual connections are not
affected by this option. It can be specified multiple times to
allow multiple networks.
.HP
\fB\-peerblockfilters\fR
@@ -573,10 +574,10 @@ Output debugging information (default: \fB\-nodebug\fR, supplying <category> is
optional). If <category> is not supplied or if <category> = 1,
output all debugging information. <category> can be: addrman,
bench, blockstorage, cmpctblock, coindb, estimatefee, http, i2p,
ipc, leveldb, libevent, lock, mempool, mempoolrej, net, proxy,
prune, qt, rand, reindex, rpc, selectcoins, tor, util,
validation, walletdb, zmq. This option can be specified multiple
times to output multiple categories.
ipc, leveldb, libevent, mempool, mempoolrej, net, proxy, prune,
qt, rand, reindex, rpc, selectcoins, tor, util, validation,
walletdb, zmq. This option can be specified multiple times to
output multiple categories.
.HP
\fB\-debugexclude=\fR<category>
.IP

View File

@@ -1,6 +1,6 @@
When Bitcoin Core automatically opens outgoing P2P connections it chooses
When Bitcoin Core automatically opens outgoing P2P connections, it chooses
a peer (address and port) from its list of potential peers. This list is
populated with unchecked data, gossiped over the P2P network by other peers.
populated with unchecked data gossiped over the P2P network by other peers.
A malicious actor may gossip an address:port where no Bitcoin node is listening,
or one where a service is listening that is not related to the Bitcoin network.
@@ -17,7 +17,7 @@ authentication are unlikely to be considered a malicious action,
e.g. port 80 (http).
Below is a list of "bad" ports which Bitcoin Core avoids when choosing a peer to
connect to. If a node is listening on such a port, it will likely receive less
connect to. If a node is listening on such a port, it will likely receive fewer
incoming connections.
1: tcpmux

View File

@@ -1,25 +1,11 @@
*After branching off for a major version release of Bitcoin Core, use this
template to create the initial release notes draft.*
23.3rc1 Release Notes
==================
*The release notes draft is a temporary file that can be added to by anyone. See
[/doc/developer-notes.md#release-notes](/doc/developer-notes.md#release-notes)
for the process.*
Bitcoin Core version 23.3rc1 is now available from:
*Create the draft, named* "*version* Release Notes Draft"
*(e.g. "22.0 Release Notes Draft"), as a collaborative wiki in:*
<https://bitcoincore.org/bin/bitcoin-core-23.3/test.rc1>
https://github.com/bitcoin-core/bitcoin-devwiki/wiki/
*Before the final release, move the notes back to this git repository.*
*version* Release Notes Draft
===============================
Bitcoin Core version *version* is now available from:
<https://bitcoincore.org/bin/bitcoin-core-*version*/>
This release includes new features, various bug fixes and performance
This release includes various bug fixes and performance
improvements, as well as updated translations.
Please report bugs using the issue tracker at GitHub:
@@ -35,7 +21,7 @@ How to Upgrade
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on Mac)
installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on macOS)
or `bitcoind`/`bitcoin-qt` (on Linux).
Upgrading directly from a version of Bitcoin Core that has reached its EOL is
@@ -51,182 +37,21 @@ Core should also work on most other Unix-like systems but is not as
frequently tested on them. It is not recommended to use Bitcoin Core on
unsupported systems.
Notable changes
===============
### RPC
P2P and network changes
-----------------------
- #27727 rpc: Fix invalid bech32 address handling
- A bitcoind node will no longer rumour addresses to inbound peers by default.
They will become eligible for address gossip after sending an ADDR, ADDRV2,
or GETADDR message. (#21528)
### Build system
Fee estimation changes
----------------------
- Fee estimation now takes the feerate of replacement (RBF) transactions into
account. (#22539)
Rescan startup parameter removed
--------------------------------
The `-rescan` startup parameter has been removed. Wallets which require
rescanning due to corruption will still be rescanned on startup.
Otherwise, please use the `rescanblockchain` RPC to trigger a rescan. (#23123)
Updated RPCs
------------
- The `validateaddress` RPC now returns an `error_locations` array for invalid
addresses, with the indices of invalid character locations in the address (if
known). For example, this will attempt to locate up to two Bech32 errors, and
return their locations if successful. Success and correctness are only guaranteed
if fewer than two substitution errors have been made.
The error message returned in the `error` field now also returns more specific
errors when decoding fails. (#16807)
- The `-deprecatedrpc=addresses` configuration option has been removed. RPCs
`gettxout`, `getrawtransaction`, `decoderawtransaction`, `decodescript`,
`gettransaction verbose=true` and REST endpoints `/rest/tx`, `/rest/getutxos`,
`/rest/block` no longer return the `addresses` and `reqSigs` fields, which
were previously deprecated in 22.0. (#22650)
- The `getblock` RPC command now supports verbosity level 3 containing transaction inputs'
`prevout` information. The existing `/rest/block/` REST endpoint is modified to contain
this information too. Every `vin` field will contain an additional `prevout` subfield
describing the spent output. `prevout` contains the following keys:
- `generated` - true if the spent coins was a coinbase.
- `height`
- `value`
- `scriptPubKey`
- The top-level fee fields `fee`, `modifiedfee`, `ancestorfees` and `descendantfees`
returned by RPCs `getmempoolentry`,`getrawmempool(verbose=true)`,
`getmempoolancestors(verbose=true)` and `getmempooldescendants(verbose=true)`
are deprecated and will be removed in the next major version (use
`-deprecated=fees` if needed in this version). The same fee fields can be accessed
through the `fees` object in the result. WARNING: deprecated
fields `ancestorfees` and `descendantfees` are denominated in sats, whereas all
fields in the `fees` object are denominated in BTC. (#22689)
- Both `createmultisig` and `addmultisigaddress` now include a `warnings`
field, which will show a warning if a non-legacy address type is requested
when using uncompressed public keys. (#23113)
New RPCs
--------
- Information on soft fork status has been moved from `getblockchaininfo`
to the new `getdeploymentinfo` RPC which allows querying soft fork status at any
block, rather than just at the chain tip. Inclusion of soft fork
status in `getblockchaininfo` can currently be restored using the
configuration `-deprecatedrpc=softforks`, but this will be removed in
a future release. Note that in either case, the `status` field
now reflects the status of the current block rather than the next
block. (#23508)
Build System
------------
Files
-----
* On startup, the list of banned hosts and networks (via `setban` RPC) in
`banlist.dat` is ignored and only `banlist.json` is considered. Bitcoin Core
version 22.x is the only version that can read `banlist.dat` and also write
it to `banlist.json`. If `banlist.json` already exists, version 22.x will not
try to translate the `banlist.dat` into json. After an upgrade, `listbanned`
can be used to double check the parsed entries. (#22570)
New settings
------------
Updated settings
----------------
- In previous releases, the meaning of the command line option
`-persistmempool` (without a value provided) incorrectly disabled mempool
persistence. `-persistmempool` is now treated like other boolean options to
mean `-persistmempool=1`. Passing `-persistmempool=0`, `-persistmempool=1`
and `-nopersistmempool` is unaffected. (#23061)
- `-maxuploadtarget` now allows human readable byte units [k|K|m|M|g|G|t|T].
E.g. `-maxuploadtarget=500g`. No whitespace, +- or fractions allowed.
Default is `M` if no suffix provided. (#23249)
- If `-proxy=` is given together with `-noonion` then the provided proxy will
not be set as a proxy for reaching the Tor network. So it will not be
possible to open manual connections to the Tor network for example with the
`addnode` RPC. To mimic the old behavior use `-proxy=` together with
`-onlynet=` listing all relevant networks except `onion`. (#22834)
Tools and Utilities
-------------------
- Update `-getinfo` to return data in a user-friendly format that also reduces vertical space. (#21832)
- CLI `-addrinfo` now returns a single field for the number of `onion` addresses
known to the node instead of separate `torv2` and `torv3` fields, as support
for Tor V2 addresses was removed from Bitcoin Core in 22.0. (#22544)
Wallet
------
- `upgradewallet` will now automatically flush the keypool if upgrading
from a non-HD wallet to an HD wallet, to immediately start using the
newly-generated HD keys. (#23093)
- a new RPC `newkeypool` has been added, which will flush (entirely
clear and refill) the keypool. (#23093)
- `listunspent` now includes `ancestorcount`, `ancestorsize`, and
`ancestorfees` for each transaction output that is still in the mempool.
(#12677)
- `lockunspent` now optionally takes a third parameter, `persistent`, which
causes the lock to be written persistently to the wallet database. This
allows UTXOs to remain locked even after node restarts or crashes. (#23065)
- `receivedby` RPCs now include coinbase transactions. Previously, the
following wallet RPCs excluded coinbase transactions: `getreceivedbyaddress`,
`getreceivedbylabel`, `listreceivedbyaddress`, `listreceivedbylabel`. This
release changes this behaviour and returns results accounting for received
coins from coinbase outputs. The previous behaviour can be restored using the
configuration `-deprecatedrpc=exclude_coinbase`, but may be removed in a
future release. (#14707)
- A new option in the same `receivedby` RPCs, `include_immature_coinbase`
(default=`false`), determines whether to account for immature coinbase
transactions. Immature coinbase transactions are coinbase transactions that
have 100 or fewer confirmations, and are not spendable. (#14707)
GUI changes
-----------
- UTXOs which are locked via the GUI are now stored persistently in the
wallet database, so are not lost on node shutdown or crash. (#23065)
- The Bech32 checkbox has been replaced with a dropdown for all address types, including the new Bech32m (BIP-350) standard for Taproot enabled wallets.
Low-level changes
=================
RPC
---
- `getblockchaininfo` now returns a new `time` field, that provides the chain tip time. (#22407)
Tests
-----
- For the `regtest` network the activation heights of several softforks were
set to block height 1. They can be changed by the runtime setting
`-testactivationheight=name@height`. (#22818)
- #28097 depends: xcb-proto 1.15.2
Credits
=======
Thanks to everyone who directly contributed to this release:
- MacroFake
- Michael Ford
As well as to everyone that helped with translations on
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).

View File

@@ -0,0 +1,373 @@
23.0 Release Notes
==================
Bitcoin Core version 23.0 is now available from:
<https://bitcoincore.org/bin/bitcoin-core-23.0/>
This release includes new features, various bug fixes and performance
improvements, as well as updated translations.
Please report bugs using the issue tracker at GitHub:
<https://github.com/bitcoin/bitcoin/issues>
To receive security and update notifications, please subscribe to:
<https://bitcoincore.org/en/list/announcements/join/>
How to Upgrade
==============
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on Mac)
or `bitcoind`/`bitcoin-qt` (on Linux).
Upgrading directly from a version of Bitcoin Core that has reached its EOL is
possible, but it might take some time if the data directory needs to be migrated. Old
wallet versions of Bitcoin Core are generally supported.
Compatibility
==============
Bitcoin Core is supported and extensively tested on operating systems
using the Linux kernel, macOS 10.15+, and Windows 7 and newer. Bitcoin
Core should also work on most other Unix-like systems but is not as
frequently tested on them. It is not recommended to use Bitcoin Core on
unsupported systems.
Notable changes
===============
P2P and network changes
-----------------------
- A bitcoind node will no longer rumour addresses to inbound peers by default.
They will become eligible for address gossip after sending an ADDR, ADDRV2,
or GETADDR message. (#21528)
- Before this release, Bitcoin Core had a strong preference to try to connect only to peers that listen on port 8333. As a result of that, Bitcoin nodes listening on non-standard ports would likely not get any Bitcoin Core peers connecting to them. This preference has been removed. (#23542)
- Full support has been added for the CJDNS network. See the new option `-cjdnsreachable` and [doc/cjdns.md](https://github.com/bitcoin/bitcoin/tree/23.x/doc/cjdns.md) (#23077)
Fee estimation changes
----------------------
- Fee estimation now takes the feerate of replacement (RBF) transactions into
account. (#22539)
Rescan startup parameter removed
--------------------------------
The `-rescan` startup parameter has been removed. Wallets which require
rescanning due to corruption will still be rescanned on startup.
Otherwise, please use the `rescanblockchain` RPC to trigger a rescan. (#23123)
Tracepoints and Userspace, Statically Defined Tracing support
-------------------------------------------------------------
Bitcoin Core release binaries for Linux now include experimental tracepoints which
act as an interface for process-internal events. These can be used for review,
debugging, monitoring, and more. The tracepoint API is semi-stable. While the API
is tested, process internals might change between releases requiring changes to the
tracepoints. Information about the existing tracepoints can be found under
[doc/tracing.md](https://github.com/bitcoin/bitcoin/blob/23.x/doc/tracing.md) and
usage examples are provided in [contrib/tracing/](https://github.com/bitcoin/bitcoin/tree/23.x/contrib/tracing).
Updated RPCs
------------
- The `validateaddress` RPC now returns an `error_locations` array for invalid
addresses, with the indices of invalid character locations in the address (if
known). For example, this will attempt to locate up to two Bech32 errors, and
return their locations if successful. Success and correctness are only guaranteed
if fewer than two substitution errors have been made.
The error message returned in the `error` field now also returns more specific
errors when decoding fails. (#16807)
- The `-deprecatedrpc=addresses` configuration option has been removed. RPCs
`gettxout`, `getrawtransaction`, `decoderawtransaction`, `decodescript`,
`gettransaction verbose=true` and REST endpoints `/rest/tx`, `/rest/getutxos`,
`/rest/block` no longer return the `addresses` and `reqSigs` fields, which
were previously deprecated in 22.0. (#22650)
- The `getblock` RPC command now supports verbosity level 3 containing transaction inputs'
`prevout` information. The existing `/rest/block/` REST endpoint is modified to contain
this information too. Every `vin` field will contain an additional `prevout` subfield
describing the spent output. `prevout` contains the following keys:
- `generated` - true if the spent coins was a coinbase.
- `height`
- `value`
- `scriptPubKey`
- The top-level fee fields `fee`, `modifiedfee`, `ancestorfees` and `descendantfees`
returned by RPCs `getmempoolentry`,`getrawmempool(verbose=true)`,
`getmempoolancestors(verbose=true)` and `getmempooldescendants(verbose=true)`
are deprecated and will be removed in the next major version (use
`-deprecated=fees` if needed in this version). The same fee fields can be accessed
through the `fees` object in the result. WARNING: deprecated
fields `ancestorfees` and `descendantfees` are denominated in sats, whereas all
fields in the `fees` object are denominated in BTC. (#22689)
- Both `createmultisig` and `addmultisigaddress` now include a `warnings`
field, which will show a warning if a non-legacy address type is requested
when using uncompressed public keys. (#23113)
Changes to wallet related RPCs can be found in the Wallet section below.
New RPCs
--------
- Information on soft fork status has been moved from `getblockchaininfo`
to the new `getdeploymentinfo` RPC which allows querying soft fork status at any
block, rather than just at the chain tip. Inclusion of soft fork
status in `getblockchaininfo` can currently be restored using the
configuration `-deprecatedrpc=softforks`, but this will be removed in
a future release. Note that in either case, the `status` field
now reflects the status of the current block rather than the next
block. (#23508)
Files
-----
* On startup, the list of banned hosts and networks (via `setban` RPC) in
`banlist.dat` is ignored and only `banlist.json` is considered. Bitcoin Core
version 22.x is the only version that can read `banlist.dat` and also write
it to `banlist.json`. If `banlist.json` already exists, version 22.x will not
try to translate the `banlist.dat` into json. After an upgrade, `listbanned`
can be used to double check the parsed entries. (#22570)
Updated settings
----------------
- In previous releases, the meaning of the command line option
`-persistmempool` (without a value provided) incorrectly disabled mempool
persistence. `-persistmempool` is now treated like other boolean options to
mean `-persistmempool=1`. Passing `-persistmempool=0`, `-persistmempool=1`
and `-nopersistmempool` is unaffected. (#23061)
- `-maxuploadtarget` now allows human readable byte units [k|K|m|M|g|G|t|T].
E.g. `-maxuploadtarget=500g`. No whitespace, +- or fractions allowed.
Default is `M` if no suffix provided. (#23249)
- If `-proxy=` is given together with `-noonion` then the provided proxy will
not be set as a proxy for reaching the Tor network. So it will not be
possible to open manual connections to the Tor network for example with the
`addnode` RPC. To mimic the old behavior use `-proxy=` together with
`-onlynet=` listing all relevant networks except `onion`. (#22834)
Tools and Utilities
-------------------
- Update `-getinfo` to return data in a user-friendly format that also reduces vertical space. (#21832)
- CLI `-addrinfo` now returns a single field for the number of `onion` addresses
known to the node instead of separate `torv2` and `torv3` fields, as support
for Tor V2 addresses was removed from Bitcoin Core in 22.0. (#22544)
Wallet
------
- Descriptor wallets are now the default wallet type. Newly created wallets
will use descriptors unless `descriptors=false` is set during `createwallet`, or
the `Descriptor wallet` checkbox is unchecked in the GUI.
Note that wallet RPC commands like `importmulti` and `dumpprivkey` cannot be
used with descriptor wallets, so if your client code relies on these commands
without specifying `descriptors=false` during wallet creation, you will need
to update your code.
- Newly created descriptor wallets will contain an automatically generated `tr()`
descriptor which allows for creating single key Taproot receiving addresses.
- `upgradewallet` will now automatically flush the keypool if upgrading
from a non-HD wallet to an HD wallet, to immediately start using the
newly-generated HD keys. (#23093)
- a new RPC `newkeypool` has been added, which will flush (entirely
clear and refill) the keypool. (#23093)
- `listunspent` now includes `ancestorcount`, `ancestorsize`, and
`ancestorfees` for each transaction output that is still in the mempool.
(#12677)
- `lockunspent` now optionally takes a third parameter, `persistent`, which
causes the lock to be written persistently to the wallet database. This
allows UTXOs to remain locked even after node restarts or crashes. (#23065)
- `receivedby` RPCs now include coinbase transactions. Previously, the
following wallet RPCs excluded coinbase transactions: `getreceivedbyaddress`,
`getreceivedbylabel`, `listreceivedbyaddress`, `listreceivedbylabel`. This
release changes this behaviour and returns results accounting for received
coins from coinbase outputs. The previous behaviour can be restored using the
configuration `-deprecatedrpc=exclude_coinbase`, but may be removed in a
future release. (#14707)
- A new option in the same `receivedby` RPCs, `include_immature_coinbase`
(default=`false`), determines whether to account for immature coinbase
transactions. Immature coinbase transactions are coinbase transactions that
have 100 or fewer confirmations, and are not spendable. (#14707)
GUI changes
-----------
- UTXOs which are locked via the GUI are now stored persistently in the
wallet database, so are not lost on node shutdown or crash. (#23065)
- The Bech32 checkbox has been replaced with a dropdown for all address types, including the new Bech32m (BIP-350) standard for Taproot enabled wallets.
Low-level changes
=================
RPC
---
- `getblockchaininfo` now returns a new `time` field, that provides the chain tip time. (#22407)
Tests
-----
- For the `regtest` network the activation heights of several softforks were
set to block height 1. They can be changed by the runtime setting
`-testactivationheight=name@height`. (#22818)
Credits
=======
Thanks to everyone who directly contributed to this release:
- 0xb10c
- 0xree
- Aaron Clauson
- Adrian-Stefan Mares
- agroce
- aitorjs
- Alex Groce
- amadeuszpawlik
- Amiti Uttarwar
- Andrew Chow
- Andrew Poelstra
- Andrew Toth
- anouar kappitou
- Anthony Towns
- Antoine Poinsot
- Arnab Sen
- Ben Woosley
- benthecarman
- Bitcoin Hodler
- BitcoinTsunami
- brianddk
- Bruno Garcia
- CallMeMisterOwl
- Calvin Kim
- Carl Dong
- Cory Fields
- Cuong V. Nguyen
- Darius Parvin
- Dhruv Mehta
- Dimitri Deijs
- Dimitris Apostolou
- Dmitry Goncharov
- Douglas Chimento
- eugene
- Fabian Jahr
- fanquake
- Florian Baumgartl
- fyquah
- Gleb Naumenko
- glozow
- Gregory Sanders
- Heebs
- Hennadii Stepanov
- hg333
- HiLivin
- Igor Cota
- Jadi
- James O'Beirne
- Jameson Lopp
- Jarol Rodriguez
- Jeremy Rand
- Jeremy Rubin
- Joan Karadimov
- John Newbery
- Jon Atack
- João Barbosa
- josibake
- junderw
- Karl-Johan Alm
- katesalazar
- Kennan Mell
- Kiminuo
- Kittywhiskers Van Gogh
- Klement Tan
- Kristaps Kaupe
- Kuro
- Larry Ruane
- lsilva01
- lucash-dev
- Luke Dashjr
- MarcoFalke
- Martin Leitner-Ankerl
- Martin Zumsande
- Matt Corallo
- Matt Whitlock
- MeshCollider
- Michael Dietz
- Murch
- naiza
- Nathan Garabedian
- Nelson Galdeman
- NikhilBartwal
- Niklas Gögge
- node01
- nthumann
- Pasta
- Patrick Kamin
- Pavel Safronov
- Pavol Rusnak
- Perlover
- Pieter Wuille
- practicalswift
- pradumnasaraf
- pranabp-bit
- Prateek Sancheti
- Prayank
- Rafael Sadowski
- rajarshimaitra
- randymcmillan
- ritickgoenka
- Rob Fielding
- Rojar Smith
- Russell Yanofsky
- S3RK
- Saibato
- Samuel Dobson
- sanket1729
- seaona
- Sebastian Falbesoner
- sh15h4nk
- Shashwat
- Shorya
- ShubhamPalriwala
- Shubhankar Gambhir
- Sjors Provoost
- sogoagain
- sstone
- stratospher
- Suriyaa Rocky Sundararuban
- Taeik Lim
- TheCharlatan
- Tim Ruffing
- Tobin Harding
- Troy Giorshev
- Tyler Chambers
- Vasil Dimov
- W. J. van der Laan
- w0xlt
- willcl-ark
- William Casarin
- zealsham
- Zero-1729
As well as to everyone that helped with translations on
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).

View File

@@ -0,0 +1,90 @@
23.1 Release Notes
==================
Bitcoin Core version 23.1 is now available from:
<https://bitcoincore.org/bin/bitcoin-core-23.1/>
This release includes new features, various bug fixes and performance
improvements, as well as updated translations.
Please report bugs using the issue tracker at GitHub:
<https://github.com/bitcoin/bitcoin/issues>
To receive security and update notifications, please subscribe to:
<https://bitcoincore.org/en/list/announcements/join/>
How to Upgrade
==============
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on macOS)
or `bitcoind`/`bitcoin-qt` (on Linux).
Upgrading directly from a version of Bitcoin Core that has reached its EOL is
possible, but it might take some time if the data directory needs to be migrated. Old
wallet versions of Bitcoin Core are generally supported.
Compatibility
==============
Bitcoin Core is supported and extensively tested on operating systems
using the Linux kernel, macOS 10.15+, and Windows 7 and newer. Bitcoin
Core should also work on most other Unix-like systems but is not as
frequently tested on them. It is not recommended to use Bitcoin Core on
unsupported systems.
### P2P
- #25314 p2p: always set nTime for self-advertisements
### RPC and other APIs
- #25220 rpc: fix incorrect warning for address type p2sh-segwit in createmultisig
- #25237 rpc: Capture UniValue by ref for rpcdoccheck
- #25983 Prevent data race for pathHandlers
- #26275 Fix crash on deriveaddresses when index is 2147483647 (2^31-1)
### Build system
- #25201 windeploy: Renewed windows code signing certificate
- #25788 guix: patch NSIS to remove .reloc sections from installer stubs
- #25861 guix: use --build={arch}-guix-linux-gnu in cross toolchain
- #25985 Revert "build: Use Homebrew's sqlite package if it is available"
### GUI
- #24668 build, qt: bump Qt5 version to 5.15.3
- gui#631 Disallow encryption of watchonly wallets
- gui#680 Fixes MacOS 13 segfault by preventing certain notifications
### Tests
- #24454 tests: Fix calculation of external input weights
### Miscellaneous
- #26321 Adjust .tx/config for new Transifex CLI
Credits
=======
Thanks to everyone who directly contributed to this release:
- Andrew Chow
- brunoerg
- Hennadii Stepanov
- John Moffett
- MacroFake
- Martin Zumsande
- Michael Ford
- muxator
- Pavol Rusnak
- Sebastian Falbesoner
- W. J. van der Laan
As well as to everyone that helped with translations on
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).

View File

@@ -0,0 +1,72 @@
23.2 Release Notes
==================
Bitcoin Core version 23.2 is now available from:
<https://bitcoincore.org/bin/bitcoin-core-23.2/>
This release includes various bug fixes and performance
improvements, as well as updated translations.
Please report bugs using the issue tracker at GitHub:
<https://github.com/bitcoin/bitcoin/issues>
To receive security and update notifications, please subscribe to:
<https://bitcoincore.org/en/list/announcements/join/>
How to Upgrade
==============
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on macOS)
or `bitcoind`/`bitcoin-qt` (on Linux).
Upgrading directly from a version of Bitcoin Core that has reached its EOL is
possible, but it might take some time if the data directory needs to be migrated. Old
wallet versions of Bitcoin Core are generally supported.
Compatibility
==============
Bitcoin Core is supported and extensively tested on operating systems
using the Linux kernel, macOS 10.15+, and Windows 7 and newer. Bitcoin
Core should also work on most other Unix-like systems but is not as
frequently tested on them. It is not recommended to use Bitcoin Core on
unsupported systems.
### P2P
- #26909 net: prevent peers.dat corruptions by only serializing once
- #27608 p2p: Avoid prematurely clearing download state for other peers
- #27610 Improve performance of p2p inv to send queues
### Build system
- #25436 build: suppress array-bounds errors in libxkbcommon
- #25763 bdb: disable Werror for format-security
- #26944 depends: fix systemtap download URL
- #27462 depends: fix compiling bdb with clang-16 on aarch64
### Miscellaneous
- #25444 ci: macOS task imrovements
- #26388 ci: Use macos-ventura-xcode:14.1 image for "macOS native" task
- #26924 refactor: Add missing includes to fix gcc-13 compile error
Credits
=======
Thanks to everyone who directly contributed to this release:
- Anthony Towns
- Hennadii Stepanov
- MacroFake
- Martin Zumsande
- Michael Ford
- Suhas Daftuar
As well as to everyone that helped with translations on
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).

View File

@@ -16,9 +16,9 @@ configure Tor.
## How to see information about your Tor configuration via Bitcoin Core
There are several ways to see your local onion address in Bitcoin Core:
- in the debug log (grep for "tor:" or "AddLocal")
- in the output of RPC `getnetworkinfo` in the "localaddresses" section
- in the output of the CLI `-netinfo` peer connections dashboard
- in the "Local addresses" output of CLI `-netinfo`
- in the "localaddresses" output of RPC `getnetworkinfo`
- in the debug log (grep for "AddLocal"; the Tor address ends in `.onion`)
You may set the `-debug=tor` config logging option to have additional
information in the debug log about your Tor configuration.
@@ -27,6 +27,9 @@ CLI `-addrinfo` returns the number of addresses known to your node per
network. This can be useful to see how many onion peers your node knows,
e.g. for `-onlynet=onion`.
To fetch a number of onion addresses that your node knows, for example seven
addresses, use the `getnodeaddresses 7 onion` RPC.
## 1. Run Bitcoin Core behind a Tor proxy
The first step is running Bitcoin Core behind a Tor proxy. This will already anonymize all
@@ -55,10 +58,10 @@ outgoing connections, but more is possible.
-seednode=X SOCKS5. In Tor mode, such addresses can also be exchanged with
other P2P nodes.
-onlynet=onion Make outgoing connections only to .onion addresses. Incoming
connections are not affected by this option. This option can be
specified multiple times to allow multiple network types, e.g.
onlynet=onion, onlynet=i2p.
-onlynet=onion Make automatic outbound connections only to .onion addresses.
Inbound and manual connections are not affected by this option.
It can be specified multiple times to allow multiple networks,
e.g. onlynet=onion, onlynet=i2p, onlynet=cjdns.
In a typical situation, this suffices to run behind a Tor proxy:

View File

@@ -18,7 +18,6 @@ QT_TS = \
qt/locale/bitcoin_es_CL.ts \
qt/locale/bitcoin_es_CO.ts \
qt/locale/bitcoin_es_DO.ts \
qt/locale/bitcoin_es_MX.ts \
qt/locale/bitcoin_es_VE.ts \
qt/locale/bitcoin_et.ts \
qt/locale/bitcoin_eu.ts \
@@ -31,7 +30,9 @@ QT_TS = \
qt/locale/bitcoin_gl.ts \
qt/locale/bitcoin_gl_ES.ts \
qt/locale/bitcoin_gu.ts \
qt/locale/bitcoin_ha.ts \
qt/locale/bitcoin_he.ts \
qt/locale/bitcoin_hi.ts \
qt/locale/bitcoin_hr.ts \
qt/locale/bitcoin_hu.ts \
qt/locale/bitcoin_id.ts \
@@ -43,6 +44,7 @@ QT_TS = \
qt/locale/bitcoin_kl.ts \
qt/locale/bitcoin_km.ts \
qt/locale/bitcoin_ko.ts \
qt/locale/bitcoin_ku.ts \
qt/locale/bitcoin_ku_IQ.ts \
qt/locale/bitcoin_ky.ts \
qt/locale/bitcoin_la.ts \
@@ -58,6 +60,7 @@ QT_TS = \
qt/locale/bitcoin_ne.ts \
qt/locale/bitcoin_nl.ts \
qt/locale/bitcoin_no.ts \
qt/locale/bitcoin_pa.ts \
qt/locale/bitcoin_pam.ts \
qt/locale/bitcoin_pl.ts \
qt/locale/bitcoin_pt.ts \
@@ -79,10 +82,12 @@ QT_TS = \
qt/locale/bitcoin_te.ts \
qt/locale/bitcoin_th.ts \
qt/locale/bitcoin_tk.ts \
qt/locale/bitcoin_tl.ts \
qt/locale/bitcoin_tr.ts \
qt/locale/bitcoin_ug.ts \
qt/locale/bitcoin_uk.ts \
qt/locale/bitcoin_ur.ts \
qt/locale/bitcoin_uz.ts \
qt/locale/bitcoin_uz@Cyrl.ts \
qt/locale/bitcoin_uz@Latn.ts \
qt/locale/bitcoin_vi.ts \

View File

@@ -7,6 +7,7 @@ TESTS += qt/test/test_bitcoin-qt
TEST_QT_MOC_CPP = \
qt/test/moc_apptests.cpp \
qt/test/moc_optiontests.cpp \
qt/test/moc_rpcnestedtests.cpp \
qt/test/moc_uritests.cpp
@@ -19,6 +20,7 @@ endif # ENABLE_WALLET
TEST_QT_H = \
qt/test/addressbooktests.h \
qt/test/apptests.h \
qt/test/optiontests.h \
qt/test/rpcnestedtests.h \
qt/test/uritests.h \
qt/test/util.h \
@@ -30,6 +32,7 @@ qt_test_test_bitcoin_qt_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BITCOIN_
qt_test_test_bitcoin_qt_SOURCES = \
init/bitcoin-qt.cpp \
qt/test/apptests.cpp \
qt/test/optiontests.cpp \
qt/test/rpcnestedtests.cpp \
qt/test/test_main.cpp \
qt/test/uritests.cpp \

View File

@@ -33,10 +33,9 @@ bool SerializeDB(Stream& stream, const Data& data)
{
// Write and commit header, data
try {
CHashWriter hasher(stream.GetType(), stream.GetVersion());
stream << Params().MessageStart() << data;
hasher << Params().MessageStart() << data;
stream << hasher.GetHash();
HashedSourceWriter hashwriter{stream};
hashwriter << Params().MessageStart() << data;
stream << hashwriter.GetHash();
} catch (const std::exception& e) {
return error("%s: Serialize or I/O error - %s", __func__, e.what());
}

View File

@@ -1171,8 +1171,7 @@ void AddrMan::Unserialize(Stream& s_)
}
// explicit instantiation
template void AddrMan::Serialize(CHashWriter& s) const;
template void AddrMan::Serialize(CAutoFile& s) const;
template void AddrMan::Serialize(HashedSourceWriter<CAutoFile>& s) const;
template void AddrMan::Serialize(CDataStream& s) const;
template void AddrMan::Unserialize(CAutoFile& s);
template void AddrMan::Unserialize(CHashVerifier<CAutoFile>& s);

View File

@@ -397,7 +397,7 @@ public:
consensus.BIP65Height = 1; // Always active unless overridden
consensus.BIP66Height = 1; // Always active unless overridden
consensus.CSVHeight = 1; // Always active unless overridden
consensus.SegwitHeight = 1; // Always active unless overridden
consensus.SegwitHeight = 0; // Always active unless overridden
consensus.MinBIP9WarningHeight = 0;
consensus.powLimit = uint256S("7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
consensus.nPowTargetTimespan = 14 * 24 * 60 * 60; // two weeks

View File

@@ -153,7 +153,9 @@ void ScriptPubKeyToUniv(const CScript& scriptPubKey, UniValue& out, bool include
CTxDestination address;
out.pushKV("asm", ScriptToAsmStr(scriptPubKey));
out.pushKV("desc", InferDescriptor(scriptPubKey, DUMMY_SIGNING_PROVIDER)->ToString());
if (include_address) {
out.pushKV("desc", InferDescriptor(scriptPubKey, DUMMY_SIGNING_PROVIDER)->ToString());
}
if (include_hex) out.pushKV("hex", HexStr(scriptPubKey));
std::vector<std::vector<unsigned char>> solns;

View File

@@ -188,6 +188,30 @@ public:
}
};
/** Writes data to an underlying source stream, while hashing the written data. */
template <typename Source>
class HashedSourceWriter : public CHashWriter
{
private:
Source& m_source;
public:
explicit HashedSourceWriter(Source& source LIFETIMEBOUND) : CHashWriter{source.GetType(), source.GetVersion()}, m_source{source} {}
void write(Span<const std::byte> src)
{
m_source.write(src);
CHashWriter::write(src);
}
template <typename T>
HashedSourceWriter& operator<<(const T& obj)
{
::Serialize(*this, obj);
return *this;
}
};
/** Compute the 256-bit hash of an object's serialization. */
template<typename T>
uint256 SerializeHash(const T& obj, int nType=SER_GETHASH, int nVersion=PROTOCOL_VERSION)

View File

@@ -143,7 +143,8 @@ static std::vector<CSubNet> rpc_allow_subnets;
//! Work queue for handling longer requests off the event loop thread
static std::unique_ptr<WorkQueue<HTTPClosure>> g_work_queue{nullptr};
//! Handlers for (sub)paths
static std::vector<HTTPPathHandler> pathHandlers;
static Mutex g_httppathhandlers_mutex;
static std::vector<HTTPPathHandler> pathHandlers GUARDED_BY(g_httppathhandlers_mutex);
//! Bound listening sockets
static std::vector<evhttp_bound_socket *> boundSockets;
@@ -244,6 +245,7 @@ static void http_request_cb(struct evhttp_request* req, void* arg)
// Find registered handler for prefix
std::string strURI = hreq->GetURI();
std::string path;
LOCK(g_httppathhandlers_mutex);
std::vector<HTTPPathHandler>::const_iterator i = pathHandlers.begin();
std::vector<HTTPPathHandler>::const_iterator iend = pathHandlers.end();
for (; i != iend; ++i) {
@@ -642,11 +644,13 @@ HTTPRequest::RequestMethod HTTPRequest::GetRequestMethod() const
void RegisterHTTPHandler(const std::string &prefix, bool exactMatch, const HTTPRequestHandler &handler)
{
LogPrint(BCLog::HTTP, "Registering HTTP handler for %s (exactmatch %d)\n", prefix, exactMatch);
LOCK(g_httppathhandlers_mutex);
pathHandlers.push_back(HTTPPathHandler(prefix, exactMatch, handler));
}
void UnregisterHTTPHandler(const std::string &prefix, bool exactMatch)
{
LOCK(g_httppathhandlers_mutex);
std::vector<HTTPPathHandler>::iterator i = pathHandlers.begin();
std::vector<HTTPPathHandler>::iterator iend = pathHandlers.end();
for (; i != iend; ++i)

View File

@@ -444,7 +444,7 @@ void SetupServerArgs(ArgsManager& argsman)
argsman.AddArg("-asmap=<file>", strprintf("Specify asn mapping used for bucketing of the peers (default: %s). Relative paths will be prefixed by the net-specific datadir location.", DEFAULT_ASMAP_FILENAME), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-bantime=<n>", strprintf("Default duration (in seconds) of manually configured bans (default: %u)", DEFAULT_MISBEHAVING_BANTIME), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-bind=<addr>[:<port>][=onion]", strprintf("Bind to given address and always listen on it (default: 0.0.0.0). Use [host]:port notation for IPv6. Append =onion to tag any incoming connections to that address and port as incoming Tor connections (default: 127.0.0.1:%u=onion, testnet: 127.0.0.1:%u=onion, signet: 127.0.0.1:%u=onion, regtest: 127.0.0.1:%u=onion)", defaultBaseParams->OnionServiceTargetPort(), testnetBaseParams->OnionServiceTargetPort(), signetBaseParams->OnionServiceTargetPort(), regtestBaseParams->OnionServiceTargetPort()), ArgsManager::ALLOW_ANY | ArgsManager::NETWORK_ONLY, OptionsCategory::CONNECTION);
argsman.AddArg("-cjdnsreachable", "If set then this host is configured for CJDNS (connecting to fc00::/8 addresses would lead us to the CJDNS network) (default: 0)", ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-cjdnsreachable", "If set, then this host is configured for CJDNS (connecting to fc00::/8 addresses would lead us to the CJDNS network, see doc/cjdns.md) (default: 0)", ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-connect=<ip>", "Connect only to the specified node; -noconnect disables automatic connections (the rules for this peer are the same as for -addnode). This option can be specified multiple times to connect to multiple nodes.", ArgsManager::ALLOW_ANY | ArgsManager::NETWORK_ONLY, OptionsCategory::CONNECTION);
argsman.AddArg("-discover", "Discover own IP addresses (default: 1 when listening and no -externalip or -proxy)", ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-dns", strprintf("Allow DNS lookups for -addnode, -seednode and -connect (default: %u)", DEFAULT_NAME_LOOKUP), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
@@ -457,12 +457,12 @@ void SetupServerArgs(ArgsManager& argsman)
argsman.AddArg("-maxconnections=<n>", strprintf("Maintain at most <n> connections to peers (default: %u). This limit does not apply to connections manually added via -addnode or the addnode RPC, which have a separate limit of %u.", DEFAULT_MAX_PEER_CONNECTIONS, MAX_ADDNODE_CONNECTIONS), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-maxreceivebuffer=<n>", strprintf("Maximum per-connection receive buffer, <n>*1000 bytes (default: %u)", DEFAULT_MAXRECEIVEBUFFER), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-maxsendbuffer=<n>", strprintf("Maximum per-connection send buffer, <n>*1000 bytes (default: %u)", DEFAULT_MAXSENDBUFFER), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-maxtimeadjustment", strprintf("Maximum allowed median peer time offset adjustment. Local perspective of time may be influenced by peers forward or backward by this amount. (default: %u seconds)", DEFAULT_MAX_TIME_ADJUSTMENT), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-maxtimeadjustment", strprintf("Maximum allowed median peer time offset adjustment. Local perspective of time may be influenced by outbound peers forward or backward by this amount (default: %u seconds).", DEFAULT_MAX_TIME_ADJUSTMENT), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-maxuploadtarget=<n>", strprintf("Tries to keep outbound traffic under the given target per 24h. Limit does not apply to peers with 'download' permission or blocks created within past week. 0 = no limit (default: %s). Optional suffix units [k|K|m|M|g|G|t|T] (default: M). Lowercase is 1000 base while uppercase is 1024 base", DEFAULT_MAX_UPLOAD_TARGET), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-onion=<ip:port>", "Use separate SOCKS5 proxy to reach peers via Tor onion services, set -noonion to disable (default: -proxy)", ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-i2psam=<ip:port>", "I2P SAM proxy to reach I2P peers and accept I2P connections (default: none)", ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-i2pacceptincoming", "If set and -i2psam is also set then incoming I2P connections are accepted via the SAM proxy. If this is not set but -i2psam is set then only outgoing connections will be made to the I2P network. Ignored if -i2psam is not set. Listening for incoming I2P connections is done through the SAM proxy, not by binding to a local address and port (default: 1)", ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-onlynet=<net>", "Make automatic outgoing connections only through network <net> (" + Join(GetNetworkNames(), ", ") + "). Incoming connections are not affected by this option. This option can be specified multiple times to allow multiple networks.", ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-onlynet=<net>", "Make automatic outbound connections only to network <net> (" + Join(GetNetworkNames(), ", ") + "). Inbound and manual connections are not affected by this option. It can be specified multiple times to allow multiple networks.", ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-peerbloomfilters", strprintf("Support filtering of blocks and transaction with bloom filters (default: %u)", DEFAULT_PEERBLOOMFILTERS), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-peerblockfilters", strprintf("Serve compact block filters to peers per BIP 157 (default: %u)", DEFAULT_PEERBLOCKFILTERS), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-permitbaremultisig", strprintf("Relay non-P2SH multisig (default: %u)", DEFAULT_PERMIT_BAREMULTISIG), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);

View File

@@ -109,13 +109,13 @@ CTxDestination DecodeDestination(const std::string& str, const CChainParams& par
std::equal(pubkey_prefix.begin(), pubkey_prefix.end(), data.begin()))) {
error_str = "Invalid length for Base58 address";
} else {
error_str = "Invalid prefix for Base58-encoded address";
error_str = "Invalid or unsupported Base58-encoded address.";
}
return CNoDestination();
} else if (!is_bech32) {
// Try Base58 decoding without the checksum, using a much larger max length
if (!DecodeBase58(str, data, 100)) {
error_str = "Not a valid Bech32 or Base58 encoding";
error_str = "Invalid or unsupported Segwit (Bech32) or Base58 encoding.";
} else {
error_str = "Invalid checksum or length of Base58 address";
}
@@ -124,7 +124,11 @@ CTxDestination DecodeDestination(const std::string& str, const CChainParams& par
data.clear();
const auto dec = bech32::Decode(str);
if ((dec.encoding == bech32::Encoding::BECH32 || dec.encoding == bech32::Encoding::BECH32M) && dec.data.size() > 0) {
if (dec.encoding == bech32::Encoding::BECH32 || dec.encoding == bech32::Encoding::BECH32M) {
if (dec.data.empty()) {
error_str = "Empty Bech32 data section";
return CNoDestination();
}
// Bech32 decoding
if (dec.hrp != params.Bech32HRP()) {
error_str = "Invalid prefix for Bech32 address";
@@ -158,7 +162,7 @@ CTxDestination DecodeDestination(const std::string& str, const CChainParams& par
}
}
error_str = "Invalid Bech32 v0 address data size";
error_str = strprintf("Invalid Bech32 v0 address program size (%s byte), per BIP141", data.size());
return CNoDestination();
}
@@ -175,7 +179,7 @@ CTxDestination DecodeDestination(const std::string& str, const CChainParams& par
}
if (data.size() < 2 || data.size() > BECH32_WITNESS_PROG_MAX_LEN) {
error_str = "Invalid Bech32 address data size";
error_str = strprintf("Invalid Bech32 address program size (%s byte)", data.size());
return CNoDestination();
}
@@ -184,6 +188,9 @@ CTxDestination DecodeDestination(const std::string& str, const CChainParams& par
std::copy(data.begin(), data.end(), unk.program);
unk.length = data.size();
return unk;
} else {
error_str = strprintf("Invalid padding in Bech32 data section");
return CNoDestination();
}
}

View File

@@ -160,7 +160,9 @@ const CLogCategoryDesc LogCategories[] =
{BCLog::VALIDATION, "validation"},
{BCLog::I2P, "i2p"},
{BCLog::IPC, "ipc"},
#ifdef DEBUG_LOCKCONTENTION
{BCLog::LOCK, "lock"},
#endif
{BCLog::UTIL, "util"},
{BCLog::BLOCKSTORE, "blockstorage"},
{BCLog::ALL, "1"},

View File

@@ -60,7 +60,9 @@ namespace BCLog {
VALIDATION = (1 << 21),
I2P = (1 << 22),
IPC = (1 << 23),
#ifdef DEBUG_LOCKCONTENTION
LOCK = (1 << 24),
#endif
UTIL = (1 << 25),
BLOCKSTORE = (1 << 26),
ALL = ~(uint32_t)0,

View File

@@ -249,7 +249,7 @@ std::optional<CAddress> GetLocalAddrForPeer(CNode *pnode)
if (pnode->IsInboundConn()) {
// For inbound connections, assume both the address and the port
// as seen from the peer.
addrLocal = CAddress{pnode->GetAddrLocal(), addrLocal.nServices};
addrLocal = CAddress{pnode->GetAddrLocal(), addrLocal.nServices, addrLocal.nTime};
} else {
// For outbound connections, assume just the address as seen from
// the peer and leave the port in `addrLocal` as returned by

View File

@@ -13,6 +13,7 @@
#include <crypto/siphash.h>
#include <hash.h>
#include <i2p.h>
#include <logging.h>
#include <net_permissions.h>
#include <netaddress.h>
#include <netbase.h>
@@ -32,6 +33,7 @@
#include <cstdint>
#include <deque>
#include <functional>
#include <list>
#include <map>
#include <memory>
#include <optional>

View File

@@ -541,8 +541,11 @@ private:
/** Remove this block from our tracked requested blocks. Called if:
* - the block has been received from a peer
* - the request for the block has timed out
* If "from_peer" is specified, then only remove the block if it is in
* flight from that peer (to avoid one peer's network traffic from
* affecting another's state).
*/
void RemoveBlockRequest(const uint256& hash) EXCLUSIVE_LOCKS_REQUIRED(cs_main);
void RemoveBlockRequest(const uint256& hash, std::optional<NodeId> from_peer) EXCLUSIVE_LOCKS_REQUIRED(cs_main);
/* Mark a block as in flight
* Returns false, still setting pit, if the block was already in flight from the same peer
@@ -853,7 +856,7 @@ bool PeerManagerImpl::IsBlockRequested(const uint256& hash)
return mapBlocksInFlight.find(hash) != mapBlocksInFlight.end();
}
void PeerManagerImpl::RemoveBlockRequest(const uint256& hash)
void PeerManagerImpl::RemoveBlockRequest(const uint256& hash, std::optional<NodeId> from_peer)
{
auto it = mapBlocksInFlight.find(hash);
if (it == mapBlocksInFlight.end()) {
@@ -862,6 +865,12 @@ void PeerManagerImpl::RemoveBlockRequest(const uint256& hash)
}
auto [node_id, list_it] = it->second;
if (from_peer && node_id != *from_peer) {
// Block was requested by another peer
return;
}
CNodeState *state = State(node_id);
assert(state != nullptr);
@@ -897,7 +906,7 @@ bool PeerManagerImpl::BlockRequested(NodeId nodeid, const CBlockIndex& block, st
}
// Make sure it's not listed somewhere already.
RemoveBlockRequest(hash);
RemoveBlockRequest(hash, std::nullopt);
std::list<QueuedBlock>::iterator it = state->vBlocksInFlight.insert(state->vBlocksInFlight.end(),
{&block, std::unique_ptr<PartiallyDownloadedBlock>(pit ? new PartiallyDownloadedBlock(&m_mempool) : nullptr)});
@@ -2545,6 +2554,11 @@ void PeerManagerImpl::ProcessBlock(CNode& node, const std::shared_ptr<const CBlo
m_chainman.ProcessNewBlock(m_chainparams, block, force_processing, &new_block);
if (new_block) {
node.m_last_block_time = GetTime<std::chrono::seconds>();
// In case this block came from a different peer than we requested
// from, we can erase the block request now anyway (as we just stored
// this block to disk).
LOCK(cs_main);
RemoveBlockRequest(block->GetHash(), std::nullopt);
} else {
LOCK(cs_main);
mapBlockSource.erase(block->GetHash());
@@ -3604,7 +3618,7 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
PartiallyDownloadedBlock& partialBlock = *(*queuedBlockIt)->partialBlock;
ReadStatus status = partialBlock.InitData(cmpctblock, vExtraTxnForCompact);
if (status == READ_STATUS_INVALID) {
RemoveBlockRequest(pindex->GetBlockHash()); // Reset in-flight state in case Misbehaving does not result in a disconnect
RemoveBlockRequest(pindex->GetBlockHash(), pfrom.GetId()); // Reset in-flight state in case Misbehaving does not result in a disconnect
Misbehaving(pfrom.GetId(), 100, "invalid compact block");
return;
} else if (status == READ_STATUS_FAILED) {
@@ -3699,7 +3713,7 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
// process from some other peer. We do this after calling
// ProcessNewBlock so that a malleated cmpctblock announcement
// can't be used to interfere with block relay.
RemoveBlockRequest(pblock->GetHash());
RemoveBlockRequest(pblock->GetHash(), std::nullopt);
}
}
return;
@@ -3731,7 +3745,7 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
PartiallyDownloadedBlock& partialBlock = *it->second.second->partialBlock;
ReadStatus status = partialBlock.FillBlock(*pblock, resp.txn);
if (status == READ_STATUS_INVALID) {
RemoveBlockRequest(resp.blockhash); // Reset in-flight state in case Misbehaving does not result in a disconnect
RemoveBlockRequest(resp.blockhash, pfrom.GetId()); // Reset in-flight state in case Misbehaving does not result in a disconnect
Misbehaving(pfrom.GetId(), 100, "invalid compact block/non-matching block transactions");
return;
} else if (status == READ_STATUS_FAILED) {
@@ -3757,7 +3771,7 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
// though the block was successfully read, and rely on the
// handling in ProcessNewBlock to ensure the block index is
// updated, etc.
RemoveBlockRequest(resp.blockhash); // it is now an empty pointer
RemoveBlockRequest(resp.blockhash, pfrom.GetId()); // it is now an empty pointer
fBlockRead = true;
// mapBlockSource is used for potentially punishing peers and
// updating which peers send us compact blocks, so the race
@@ -3825,7 +3839,7 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
// Always process the block if we requested it, since we may
// need it even when it's not a candidate for a new best tip.
forceProcessing = IsBlockRequested(hash);
RemoveBlockRequest(hash);
RemoveBlockRequest(hash, pfrom.GetId());
// mapBlockSource is only used for punishing peers and setting
// which peers send us compact blocks, so the race between here and
// cs_main in ProcessNewBlock is fine.
@@ -4876,7 +4890,9 @@ bool PeerManagerImpl::SendMessages(CNode* pto)
// especially since we have many peers and some will draw much shorter delays.
unsigned int nRelayedTransactions = 0;
LOCK(pto->m_tx_relay->cs_filter);
while (!vInvTx.empty() && nRelayedTransactions < INVENTORY_BROADCAST_MAX) {
size_t broadcast_max{INVENTORY_BROADCAST_MAX + (pto->m_tx_relay->setInventoryTxToSend.size()/1000)*5};
broadcast_max = std::min<size_t>(1000, broadcast_max);
while (!vInvTx.empty() && nRelayedTransactions < broadcast_max) {
// Fetch the top element from the heap
std::pop_heap(vInvTx.begin(), vInvTx.end(), compareInvMempoolOrder);
std::set<uint256>::iterator it = vInvTx.back();

View File

@@ -19,7 +19,6 @@
<file alias="es_CL">locale/bitcoin_es_CL.qm</file>
<file alias="es_CO">locale/bitcoin_es_CO.qm</file>
<file alias="es_DO">locale/bitcoin_es_DO.qm</file>
<file alias="es_MX">locale/bitcoin_es_MX.qm</file>
<file alias="es_VE">locale/bitcoin_es_VE.qm</file>
<file alias="et">locale/bitcoin_et.qm</file>
<file alias="eu">locale/bitcoin_eu.qm</file>
@@ -32,7 +31,9 @@
<file alias="gl">locale/bitcoin_gl.qm</file>
<file alias="gl_ES">locale/bitcoin_gl_ES.qm</file>
<file alias="gu">locale/bitcoin_gu.qm</file>
<file alias="ha">locale/bitcoin_ha.qm</file>
<file alias="he">locale/bitcoin_he.qm</file>
<file alias="hi">locale/bitcoin_hi.qm</file>
<file alias="hr">locale/bitcoin_hr.qm</file>
<file alias="hu">locale/bitcoin_hu.qm</file>
<file alias="id">locale/bitcoin_id.qm</file>
@@ -44,6 +45,7 @@
<file alias="kl">locale/bitcoin_kl.qm</file>
<file alias="km">locale/bitcoin_km.qm</file>
<file alias="ko">locale/bitcoin_ko.qm</file>
<file alias="ku">locale/bitcoin_ku.qm</file>
<file alias="ku_IQ">locale/bitcoin_ku_IQ.qm</file>
<file alias="ky">locale/bitcoin_ky.qm</file>
<file alias="la">locale/bitcoin_la.qm</file>
@@ -59,6 +61,7 @@
<file alias="ne">locale/bitcoin_ne.qm</file>
<file alias="nl">locale/bitcoin_nl.qm</file>
<file alias="no">locale/bitcoin_no.qm</file>
<file alias="pa">locale/bitcoin_pa.qm</file>
<file alias="pam">locale/bitcoin_pam.qm</file>
<file alias="pl">locale/bitcoin_pl.qm</file>
<file alias="pt">locale/bitcoin_pt.qm</file>
@@ -80,10 +83,12 @@
<file alias="te">locale/bitcoin_te.qm</file>
<file alias="th">locale/bitcoin_th.qm</file>
<file alias="tk">locale/bitcoin_tk.qm</file>
<file alias="tl">locale/bitcoin_tl.qm</file>
<file alias="tr">locale/bitcoin_tr.qm</file>
<file alias="ug">locale/bitcoin_ug.qm</file>
<file alias="uk">locale/bitcoin_uk.qm</file>
<file alias="ur">locale/bitcoin_ur.qm</file>
<file alias="uz">locale/bitcoin_uz.qm</file>
<file alias="uz@Cyrl">locale/bitcoin_uz@Cyrl.qm</file>
<file alias="uz@Latn">locale/bitcoin_uz@Latn.qm</file>
<file alias="vi">locale/bitcoin_vi.qm</file>

View File

@@ -476,7 +476,7 @@ void BitcoinGUI::createMenuBar()
connect(minimize_action, &QAction::triggered, [] {
QApplication::activeWindow()->showMinimized();
});
connect(qApp, &QApplication::focusWindowChanged, [minimize_action] (QWindow* window) {
connect(qApp, &QApplication::focusWindowChanged, this, [minimize_action] (QWindow* window) {
minimize_action->setEnabled(window != nullptr && (window->flags() & Qt::Dialog) != Qt::Dialog && window->windowState() != Qt::WindowMinimized);
});
@@ -491,7 +491,7 @@ void BitcoinGUI::createMenuBar()
}
});
connect(qApp, &QApplication::focusWindowChanged, [zoom_action] (QWindow* window) {
connect(qApp, &QApplication::focusWindowChanged, this, [zoom_action] (QWindow* window) {
zoom_action->setEnabled(window != nullptr);
});
#endif
@@ -1316,6 +1316,12 @@ void BitcoinGUI::setEncryptionStatus(int status)
{
switch(status)
{
case WalletModel::NoKeys:
labelWalletEncryptionIcon->hide();
encryptWalletAction->setChecked(false);
changePassphraseAction->setEnabled(false);
encryptWalletAction->setEnabled(false);
break;
case WalletModel::Unencrypted:
labelWalletEncryptionIcon->hide();
encryptWalletAction->setChecked(false);

View File

@@ -14,6 +14,10 @@ QT_TRANSLATE_NOOP("bitcoin-core", ""
"%s corrupt. Try using the wallet tool bitcoin-wallet to salvage or restoring "
"a backup."),
QT_TRANSLATE_NOOP("bitcoin-core", ""
"%s request to listen on port %u. This port is considered \"bad\" and thus it "
"is unlikely that any Bitcoin Core peers connect to it. See doc/p2p-bad-ports."
"md for details and a full list."),
QT_TRANSLATE_NOOP("bitcoin-core", ""
"-maxtxfee is set very high! Fees this large could be paid on a single "
"transaction."),
QT_TRANSLATE_NOOP("bitcoin-core", ""
@@ -53,6 +57,9 @@ QT_TRANSLATE_NOOP("bitcoin-core", ""
QT_TRANSLATE_NOOP("bitcoin-core", ""
"Error: Listening for incoming connections failed (listen returned error %s)"),
QT_TRANSLATE_NOOP("bitcoin-core", ""
"Failed to rename invalid peers.dat file. Please move or delete it and try "
"again."),
QT_TRANSLATE_NOOP("bitcoin-core", ""
"Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -"
"fallbackfee."),
QT_TRANSLATE_NOOP("bitcoin-core", ""
@@ -77,6 +84,10 @@ QT_TRANSLATE_NOOP("bitcoin-core", ""
"No wallet file format provided. To use createfromdump, -format=<format> must "
"be provided."),
QT_TRANSLATE_NOOP("bitcoin-core", ""
"Outbound connections restricted to Tor (-onlynet=onion) but the proxy for "
"reaching the Tor network is not provided (no -proxy= and no -onion= given) "
"or it is explicitly forbidden (-onion=0)"),
QT_TRANSLATE_NOOP("bitcoin-core", ""
"Please check that your computer's date and time are correct! If your clock "
"is wrong, %s will not work properly."),
QT_TRANSLATE_NOOP("bitcoin-core", ""

View File

@@ -255,6 +255,16 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</context>
<context>
<name>QObject</name>
<message>
<source>Do you want to reset settings to default values, or to abort without making changes?</source>
<extracomment>Explanatory text shown on startup when the settings file cannot be read. Prompts user to make a choice between resetting or aborting.</extracomment>
<translation type="unfinished">هل تريد اعادة الاعدادت الى القيم الافتراضية ، او الايقاف دون القيام بالتغيير</translation>
</message>
<message>
<source>A fatal error occurred. Check that settings file is writable, or try running with -nosettings.</source>
<extracomment>Explanatory text shown on startup when the settings file could not be written. Prompts user to check that we have the ability to write to the file. Explains that the user has the option of running without a settings file.</extracomment>
<translation type="unfinished">خطأ كارثي قد حصل .تحقق من ان ملف الاعدادت قابل للكتابة، او حاول التشغيل دون اعدادات</translation>
</message>
<message>
<source>Error: Specified data directory "%1" does not exist.</source>
<translation type="unfinished">خطأ: دليل البيانات المحدد "%1" غير موجود.</translation>
@@ -353,56 +363,56 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message numerus="yes">
<source>%n second(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform>%n second(s)</numerusform>
<numerusform>%n second(s)</numerusform>
<numerusform>%n second(s)</numerusform>
<numerusform>%n second(s)</numerusform>
<numerusform>%n second(s)</numerusform>
<numerusform>%n second(s)</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n minute(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform>%n minute(s)</numerusform>
<numerusform>%n minute(s)</numerusform>
<numerusform>%n minute(s)</numerusform>
<numerusform>%n minute(s)</numerusform>
<numerusform>%n minute(s)</numerusform>
<numerusform>%n minute(s)</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n hour(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform>%n hour(s)</numerusform>
<numerusform>%n hour(s)</numerusform>
<numerusform>%n hour(s)</numerusform>
<numerusform>%n hour(s)</numerusform>
<numerusform>%n hour(s)</numerusform>
<numerusform>%n hour(s)</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n day(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform>%n day(s)</numerusform>
<numerusform>%n day(s)</numerusform>
<numerusform>%n day(s)</numerusform>
<numerusform>%n day(s)</numerusform>
<numerusform>%n day(s)</numerusform>
<numerusform>%n day(s)</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n week(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform>%n week(s)</numerusform>
<numerusform>%n week(s)</numerusform>
<numerusform>%n week(s)</numerusform>
<numerusform>%n week(s)</numerusform>
<numerusform>%n week(s)</numerusform>
<numerusform>%n week(s)</numerusform>
</translation>
</message>
<message>
@@ -412,12 +422,12 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message numerus="yes">
<source>%n year(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform>%n year(s)</numerusform>
<numerusform>%n year(s)</numerusform>
<numerusform>%n year(s)</numerusform>
<numerusform>%n year(s)</numerusform>
<numerusform>%n year(s)</numerusform>
<numerusform>%n year(s)</numerusform>
</translation>
</message>
<message>
@@ -439,6 +449,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</context>
<context>
<name>bitcoin-core</name>
<message>
<source>Settings file could not be read</source>
<translation type="unfinished">ملف الاعدادات لا يمكن قرأته </translation>
</message>
<message>
<source>The %s developers</source>
<translation type="unfinished">%s المبرمجون</translation>
@@ -539,6 +553,18 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Cannot write to data directory '%s'; check permissions.</source>
<translation type="unfinished">لايمكن الكتابة على دليل البيانات '%s'؛ تحقق من السماحيات. </translation>
</message>
<message>
<source>%s request to listen on port %u. This port is considered "bad" and thus it is unlikely that any Bitcoin Core peers connect to it. See doc/p2p-bad-ports.md for details and a full list.</source>
<translation type="unfinished">%s طلب الاستماع على منفذ %u. يعتبر منفذه "سيئًا" وبالتالي فمن غير المحتمل أن يتصل به أي من أقران Bitcoin Core. انظر الى doc / p2p-bad-ports.md للحصول على التفاصيل والقائمة الكاملة.</translation>
</message>
<message>
<source>Failed to rename invalid peers.dat file. Please move or delete it and try again.</source>
<translation type="unfinished">فشل في إعادة تسمية ملف peers.dat غير صالح. يرجى نقلها أو حذفها وحاول مرة أخرى.</translation>
</message>
<message>
<source>Outbound connections restricted to Tor (-onlynet=onion) but the proxy for reaching the Tor network is not provided (no -proxy= and no -onion= given) or it is explicitly forbidden (-onion=0)</source>
<translation type="unfinished">الاتصالات الصادرة مقصورة على Tor (onion) ولكن لم يتم توفير الوكيل للوصول إلى شبكة Tor (لا يوجد وكيل (Proxy) ولا يوجد Onion), أو أنه محظور حتما (onion = 0).</translation>
</message>
<message>
<source>Copyright (C) %i-%i</source>
<translation type="unfinished">حقوق الطبع والنشر (C) %i-%i</translation>
@@ -1024,12 +1050,12 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message numerus="yes">
<source>Processed %n block(s) of transaction history.</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform>Processed %n block(s) of transaction history.</numerusform>
<numerusform>Processed %n block(s) of transaction history.</numerusform>
<numerusform>Processed %n block(s) of transaction history.</numerusform>
<numerusform>Processed %n block(s) of transaction history.</numerusform>
<numerusform>Processed %n block(s) of transaction history.</numerusform>
<numerusform>Processed %n block(s) of transaction history.</numerusform>
</translation>
</message>
<message>
@@ -1144,16 +1170,24 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>%1 client</source>
<translation type="unfinished">الزبون %1</translation>
</message>
<message>
<source>&amp;Hide</source>
<translation type="unfinished">إخفاء</translation>
</message>
<message>
<source>S&amp;how</source>
<translation type="unfinished">إظهار</translation>
</message>
<message numerus="yes">
<source>%n active connection(s) to Bitcoin network.</source>
<extracomment>A substring of the tooltip.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform>%n active connection(s) to Bitcoin network.</numerusform>
<numerusform>%n active connection(s) to Bitcoin network.</numerusform>
<numerusform>%n active connection(s) to Bitcoin network.</numerusform>
<numerusform>%n active connection(s) to Bitcoin network.</numerusform>
<numerusform>%n active connection(s) to Bitcoin network.</numerusform>
<numerusform>%nاتصالات نشطة بشبكة البيتكوين</numerusform>
</translation>
</message>
<message>
@@ -1657,12 +1691,12 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>(sufficient to restore backups %n day(s) old)</source>
<extracomment>Explanatory text on the capability of the current prune target.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform>(sufficient to restore backups %n day(s) old)</numerusform>
<numerusform>(sufficient to restore backups %n day(s) old)</numerusform>
<numerusform>(sufficient to restore backups %n day(s) old)</numerusform>
<numerusform>(sufficient to restore backups %n day(s) old)</numerusform>
<numerusform>(sufficient to restore backups %n day(s) old)</numerusform>
<numerusform>(sufficient to restore backups %n day(s) old)</numerusform>
</translation>
</message>
<message>
@@ -3295,12 +3329,12 @@ If you are receiving this error you should request the merchant provide a BIP21
<message numerus="yes">
<source>Estimated to begin confirmation within %n block(s).</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform>Estimated to begin confirmation within %n block(s).</numerusform>
<numerusform>Estimated to begin confirmation within %n block(s).</numerusform>
<numerusform>Estimated to begin confirmation within %n block(s).</numerusform>
<numerusform>Estimated to begin confirmation within %n block(s).</numerusform>
<numerusform>Estimated to begin confirmation within %n block(s).</numerusform>
<numerusform>Estimated to begin confirmation within %n block(s).</numerusform>
</translation>
</message>
<message>
@@ -3633,12 +3667,12 @@ If you are receiving this error you should request the merchant provide a BIP21
<message numerus="yes">
<source>matures in %n more block(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform />
<numerusform>matures in %n more block(s)</numerusform>
<numerusform>matures in %n more block(s)</numerusform>
<numerusform>matures in %n more block(s)</numerusform>
<numerusform>matures in %n more block(s)</numerusform>
<numerusform>matures in %n more block(s)</numerusform>
<numerusform>matures in %n more block(s)</numerusform>
</translation>
</message>
<message>

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
<translation type="unfinished">Клик с десен бутон на мишката за промяна на адрес или етикет</translation>
<translation type="unfinished">Десен клик за промяна на адреса или името</translation>
</message>
<message>
<source>Create a new address</source>
@@ -17,6 +17,10 @@
<source>Copy the currently selected address to the system clipboard</source>
<translation type="unfinished">Копирай текущо избрания адрес към клипборда</translation>
</message>
<message>
<source>&amp;Copy</source>
<translation type="unfinished">Копирай</translation>
</message>
<message>
<source>C&amp;lose</source>
<translation type="unfinished">Затвори</translation>
@@ -39,7 +43,7 @@
</message>
<message>
<source>&amp;Delete</source>
<translation type="unfinished">&amp;Изтрий</translation>
<translation type="unfinished">Изтрий</translation>
</message>
<message>
<source>Choose the address to send coins to</source>
@@ -55,20 +59,20 @@
</message>
<message>
<source>Sending addresses</source>
<translation type="unfinished">Адрес за пращане</translation>
<translation type="unfinished">Адреси за изпращане</translation>
</message>
<message>
<source>Receiving addresses</source>
<translation type="unfinished">Адрес за получаване</translation>
<translation type="unfinished">Адреси за получаване</translation>
</message>
<message>
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
<translation type="unfinished">Тези са вашите Биткойн адреси за изпращане на монети. Винаги проверявайте количеството и получаващия адрес преди изпращане. </translation>
<translation type="unfinished">Тези са вашите Биткойн адреси за изпращане на плащания. Винаги проверявайте количеството и получаващите адреси преди изпращане на монети. </translation>
</message>
<message>
<source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
Signing is only possible with addresses of the type 'legacy'.</source>
<translation type="unfinished">създавам</translation>
<translation type="unfinished">Това са вашите биткойн адреси за получаване на плащания. Използвайте бутона Създаване на нови адреси в раздела за получаване, за да създадете нови адреси. Подписването е възможно само с адреси от типа наследени.</translation>
</message>
<message>
<source>&amp;Copy Address</source>
@@ -86,6 +90,11 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Export Address List</source>
<translation type="unfinished">Изнеси лист с адреси</translation>
</message>
<message>
<source>Comma separated file</source>
<extracomment>Expanded name of the CSV file format. See: https://en.wikipedia.org/wiki/Comma-separated_values.</extracomment>
<translation type="unfinished">Файл, разделен със запетая</translation>
</message>
<message>
<source>There was an error trying to save the address list to %1. Please try again.</source>
<extracomment>An error message. %1 is a stand-in argument for the name of the file we attempted to save to.</extracomment>
@@ -173,6 +182,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Enter the old passphrase and new passphrase for the wallet.</source>
<translation type="unfinished">Въведете старата и новата паролна фраза за портфейла.</translation>
</message>
<message>
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
<translation type="unfinished">Не забравяйте, че криптирането на вашия портфейл не може напълно да защити вашите биткойни от кражба от зловреден софтуер, заразяващ компютъра ви.</translation>
</message>
<message>
<source>Wallet to be encrypted</source>
<translation type="unfinished">Портфейл за криптиране</translation>
@@ -231,6 +244,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</context>
<context>
<name>BitcoinApplication</name>
<message>
<source>Runaway exception</source>
<translation type="unfinished">Изключи бягащите</translation>
</message>
<message>
<source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
<translation type="unfinished">Фатална грешка се появи. %1 не може да продължи безопастно и ще се затвори.</translation>
@@ -239,7 +256,11 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Internal error</source>
<translation type="unfinished">Вътрешна грешка.</translation>
</message>
</context>
<message>
<source>An internal error occurred. %1 will attempt to continue safely. This is an unexpected bug which can be reported as described below.</source>
<translation type="unfinished">Възникна вътрешна грешка. %1 ще се опита да продължи безопасно. Това е неочакван бъг, който може да бъде докладван, както е описано по-долу.</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
@@ -256,6 +277,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Error: Specified data directory "%1" does not exist.</source>
<translation type="unfinished">Грешка:Избраната "%1" директория не съществува.</translation>
</message>
<message>
<source>Error: Cannot parse configuration file: %1.</source>
<translation type="unfinished">Грешка: Не може да се анализира конфигурационния файл: %1.</translation>
</message>
<message>
<source>Error: %1</source>
<translation type="unfinished">Грешка: %1</translation>
@@ -439,7 +464,31 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Transaction too large</source>
<translation type="unfinished">Транзакцията е твърде голяма</translation>
</message>
</context>
<message>
<source>Unknown new rules activated (versionbit %i)</source>
<translation type="unfinished">Активирани са неизвестни нови правила (versionbit %i)</translation>
</message>
<message>
<source>Unsupported logging category %s=%s.</source>
<translation type="unfinished">Неподдържана logging категория%s=%s.</translation>
</message>
<message>
<source>User Agent comment (%s) contains unsafe characters.</source>
<translation type="unfinished">Коментар потребителски агент (%s) съдържа не безопасни знаци. </translation>
</message>
<message>
<source>Verifying blocks…</source>
<translation type="unfinished">Секторите се проверяват...</translation>
</message>
<message>
<source>Verifying wallet(s)…</source>
<translation type="unfinished">Потвърждаване на портфейл(и)...</translation>
</message>
<message>
<source>Wallet needed to be rewritten: restart %s to complete</source>
<translation type="unfinished">Портфейлът трябва да бъде презаписан : рестартирай %s , за да завърши</translation>
</message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
@@ -521,19 +570,19 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>&amp;Send</source>
<translation type="unfinished">&amp;изпращам</translation>
<translation type="unfinished">Изпрати</translation>
</message>
<message>
<source>&amp;Receive</source>
<translation type="unfinished">&amp;получавам</translation>
<translation type="unfinished">Получи</translation>
</message>
<message>
<source>&amp;Options…</source>
<translation type="unfinished">&amp;Опции</translation>
<translation type="unfinished">Опций</translation>
</message>
<message>
<source>&amp;Encrypt Wallet…</source>
<translation type="unfinished">&amp;Крипритай уолет..</translation>
<translation type="unfinished">Шифровай портфейла</translation>
</message>
<message>
<source>Encrypt the private keys that belong to your wallet</source>
@@ -567,6 +616,18 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>&amp;Load PSBT from file…</source>
<translation type="unfinished">&amp;Зареди PSBT от файл…</translation>
</message>
<message>
<source>Open &amp;URI…</source>
<translation type="unfinished">Отвори &amp;URI...</translation>
</message>
<message>
<source>Close Wallet…</source>
<translation type="unfinished">Затвори Портфейл...</translation>
</message>
<message>
<source>Create Wallet…</source>
<translation type="unfinished">Създай Портфейл...</translation>
</message>
<message>
<source>Close All Wallets…</source>
<translation type="unfinished">Затвори всички уолети</translation>
@@ -587,10 +648,30 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Tabs toolbar</source>
<translation type="unfinished">Лентата с инструменти</translation>
</message>
<message>
<source>Syncing Headers (%1%)…</source>
<translation type="unfinished">Синхронизиране на хедъри (%1%)</translation>
</message>
<message>
<source>Synchronizing with network…</source>
<translation type="unfinished">Синхронизиране с мрежа</translation>
</message>
<message>
<source>Indexing blocks on disk…</source>
<translation type="unfinished">Индексиране на блокове от диска...</translation>
</message>
<message>
<source>Processing blocks on disk…</source>
<translation type="unfinished">Обработване на сектори от диска...</translation>
</message>
<message>
<source>Reindexing blocks on disk…</source>
<translation type="unfinished">Преиндексиране на блокове от диска...</translation>
</message>
<message>
<source>Connecting to peers…</source>
<translation type="unfinished">Свързване с рояк...</translation>
</message>
<message>
<source>Request payments (generates QR codes and bitcoin: URIs)</source>
<translation type="unfinished">Изискване на плащания(генерира QR кодове и биткойн: URIs)</translation>
@@ -610,14 +691,18 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message numerus="yes">
<source>Processed %n block(s) of transaction history.</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>Обработени %n сектори от историята с трансакции.</numerusform>
<numerusform>Обработени %n сектори от историята с трансакции.</numerusform>
</translation>
</message>
<message>
<source>%1 behind</source>
<translation type="unfinished">%1 зад</translation>
</message>
<message>
<source>Catching up…</source>
<translation type="unfinished">Наваксвам...</translation>
</message>
<message>
<source>Last received block was generated %1 ago.</source>
<translation type="unfinished">Последния получен блок е генериран преди %1.</translation>
@@ -642,10 +727,38 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Up to date</source>
<translation type="unfinished">Актуално</translation>
</message>
<message>
<source>Load Partially Signed Bitcoin Transaction</source>
<translation type="unfinished">Заредете частично подписана Bitcoin трансакция</translation>
</message>
<message>
<source>Load PSBT from &amp;clipboard…</source>
<translation type="unfinished">Заредете PSBT от &amp;клипборд...</translation>
</message>
<message>
<source>Load Partially Signed Bitcoin Transaction from clipboard</source>
<translation type="unfinished">Заредете частично подписана Bitcoin трансакция от клипборд</translation>
</message>
<message>
<source>Node window</source>
<translation type="unfinished">Прозорец на възела</translation>
</message>
<message>
<source>Open node debugging and diagnostic console</source>
<translation type="unfinished">Отвори конзола за отстраняване на грешки и диагностика на възела</translation>
</message>
<message>
<source>&amp;Sending addresses</source>
<translation type="unfinished">&amp;Изпращане на адреси</translation>
</message>
<message>
<source>&amp;Receiving addresses</source>
<translation type="unfinished">&amp;Получаване на адреси</translation>
</message>
<message>
<source>Open a bitcoin: URI</source>
<translation type="unfinished">Отвори bitcoin: URI</translation>
</message>
<message>
<source>Open Wallet</source>
<translation type="unfinished">Отворете портфейл</translation>
@@ -666,6 +779,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
<translation type="unfinished">Покажи %1 помощно съобщение за да получиш лист с възможни Биткойн команди</translation>
</message>
<message>
<source>&amp;Mask values</source>
<translation type="unfinished">§Маскирай стойностите</translation>
</message>
<message>
<source>Mask the values in the Overview tab</source>
<translation type="unfinished">Маскирай стойностите в раздела Преглед</translation>
</message>
<message>
<source>default wallet</source>
<translation type="unfinished">Портфейл по подразбиране</translation>
@@ -690,12 +811,20 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>%1 client</source>
<translation type="unfinished">%1 клиент</translation>
</message>
<message>
<source>&amp;Hide</source>
<translation type="unfinished">&amp;Скрий</translation>
</message>
<message>
<source>S&amp;how</source>
<translation type="unfinished">&amp;Покажи</translation>
</message>
<message numerus="yes">
<source>%n active connection(s) to Bitcoin network.</source>
<extracomment>A substring of the tooltip.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n свързани активно към Bitcoin мрежата.</numerusform>
<numerusform>%n активно свързани към Биткойн мрежата. </numerusform>
</translation>
</message>
<message>
@@ -703,6 +832,11 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<extracomment>A substring of the tooltip. "More actions" are available via the context menu.</extracomment>
<translation type="unfinished">Клик за повече действия</translation>
</message>
<message>
<source>Show Peers tab</source>
<extracomment>A context menu item. The "Peers tab" is an element of the "Node window".</extracomment>
<translation type="unfinished">Показване на раздела с Пиъри</translation>
</message>
<message>
<source>Disable network activity</source>
<extracomment>A context menu item.</extracomment>
@@ -790,6 +924,13 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<translation type="unfinished">Оригинално съобщение:</translation>
</message>
</context>
<context>
<name>UnitDisplayStatusBarControl</name>
<message>
<source>Unit to show amounts in. Click to select another unit.</source>
<translation type="unfinished">Елемент за показване на суми. Щракнете, за да изберете друга единица.</translation>
</message>
</context>
<context>
<name>CoinControlDialog</name>
<message>
@@ -868,10 +1009,18 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>&amp;Copy address</source>
<translation type="unfinished">&amp;Копирай адрес</translation>
</message>
<message>
<source>Copy &amp;label</source>
<translation type="unfinished">Копиране на етикет</translation>
</message>
<message>
<source>Copy &amp;amount</source>
<translation type="unfinished">Копирай сума</translation>
</message>
<message>
<source>Copy transaction &amp;ID and output index</source>
<translation type="unfinished">Копирайте идентификатора &amp;ID на трансакцията и изходния индекс</translation>
</message>
<message>
<source>L&amp;ock unspent</source>
<translation type="unfinished">Заключи неизхарчено</translation>
@@ -953,7 +1102,15 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Create wallet failed</source>
<translation type="unfinished">Създаването на портфейл не бе успешен</translation>
</message>
</context>
<message>
<source>Create wallet warning</source>
<translation type="unfinished">Създайте предупредителен портфейл </translation>
</message>
<message>
<source>Can't list signers</source>
<translation type="unfinished">Не мога да изброя подписите</translation>
</message>
</context>
<context>
<name>LoadWalletsActivity</name>
<message>
@@ -973,6 +1130,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Open wallet failed</source>
<translation type="unfinished">Отварянето на уолет неупсешно</translation>
</message>
<message>
<source>Open wallet warning</source>
<translation type="unfinished">Внимание, отворен портфейл</translation>
</message>
<message>
<source>default wallet</source>
<translation type="unfinished">Портфейл по подразбиране</translation>
@@ -982,18 +1143,35 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<extracomment>Title of window indicating the progress of opening of a wallet.</extracomment>
<translation type="unfinished">Отворете портфейл</translation>
</message>
</context>
<message>
<source>Opening Wallet &lt;b&gt;%1&lt;/b&gt;</source>
<extracomment>Descriptive text of the open wallet progress window which indicates to the user which wallet is currently being opened.</extracomment>
<translation type="unfinished">Отваряне на портфейл &lt;b&gt;%1&lt;/b&gt;</translation>
</message>
</context>
<context>
<name>WalletController</name>
<message>
<source>Close wallet</source>
<translation type="unfinished">Затвори портфейла</translation>
</message>
<message>
<source>Are you sure you wish to close the wallet &lt;i&gt;%1&lt;/i&gt;?</source>
<translation type="unfinished">Сигурни ли сте, че искате да затворите портфейла&lt;i&gt;%1&lt;/i&gt;?</translation>
</message>
<message>
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
<translation type="unfinished">Затварянето на портфейла за твърде дълго може да доведе до необходимост от повторно синхронизиране на цялата верига, ако съкращаването е активирано.</translation>
</message>
<message>
<source>Close all wallets</source>
<translation type="unfinished">Затвори всички портфейли</translation>
</message>
</context>
<message>
<source>Are you sure you wish to close all wallets?</source>
<translation type="unfinished">Сигурни ли сте, че искате да затворите всички портфейли?</translation>
</message>
</context>
<context>
<name>CreateWalletDialog</name>
<message>
@@ -1008,15 +1186,64 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Wallet</source>
<translation type="unfinished">портфейл</translation>
</message>
<message>
<source>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</source>
<translation type="unfinished">Кодиране на портфейла. Портфейлът ще бъде криптиран с парола по ваш избор.</translation>
</message>
<message>
<source>Encrypt Wallet</source>
<translation type="unfinished">Криптирай портфейла</translation>
</message>
<message>
<source>Advanced Options</source>
<translation type="unfinished">Разширени настройки</translation>
</message>
<message>
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
<translation type="unfinished">Деактивирайте частните ключове за този портфейл. Портфейлите с деактивирани частни ключове няма да имат частни ключове и не могат да имат HD seed или импортирани частни ключове. Това е идеално за портфейли, които служат само за наблюдение на баланса.</translation>
</message>
<message>
<source>Disable Private Keys</source>
<translation type="unfinished">Изключете частните (тайните) ключове</translation>
</message>
<message>
<source>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</source>
<translation type="unfinished">Създайте празен портфейл. Празните портфейли първоначално нямат частни ключове или скриптове. Частните ключове и адреси могат да бъдат импортирани или може да се зададе HD seed по-късно. </translation>
</message>
<message>
<source>Make Blank Wallet</source>
<translation type="unfinished">Създайте празен портфейл</translation>
</message>
<message>
<source>Use descriptors for scriptPubKey management</source>
<translation type="unfinished">Използвайте декодери за управление на scriptPubKey</translation>
</message>
<message>
<source>Descriptor Wallet</source>
<translation type="unfinished">Декодер за портфейл</translation>
</message>
<message>
<source>Use an external signing device such as a hardware wallet. Configure the external signer script in wallet preferences first.</source>
<translation type="unfinished">Използвайте външно устройство за подписване, като хардуерен портфейл. Конфигурирайте първо външния скрипт на подписа в предпочитания портфейл.</translation>
</message>
<message>
<source>External signer</source>
<translation type="unfinished">Външен подпис</translation>
</message>
<message>
<source>Create</source>
<translation type="unfinished">Създай</translation>
</message>
</context>
<message>
<source>Compiled without sqlite support (required for descriptor wallets)</source>
<translation type="unfinished">Компилиран без поддръжка на sqlite (изисква се за декодер на портфейли)</translation>
</message>
<message>
<source>Compiled without external signing support (required for external signing)</source>
<extracomment>"External signing" means using devices such as hardware wallets.</extracomment>
<translation type="unfinished">Компилиран без поддръжка на външни подписи (изисква се за външно подписване)</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -1055,6 +1282,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>The entered address "%1" is not a valid Bitcoin address.</source>
<translation type="unfinished">"%1" не е валиден Биткоин адрес.</translation>
</message>
<message>
<source>Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address.</source>
<translation type="unfinished">Адресът "%1" вече съществува като адрес за получаване с етикет "%2" и затова не може да бъде добавен като адрес за изпращане.</translation>
</message>
<message>
<source>The entered address "%1" is already in the address book with label "%2".</source>
<translation type="unfinished">Въведеният адрес "%1" вече е в адресната книга с етикет "%2".</translation>
</message>
<message>
<source>Could not unlock wallet.</source>
<translation type="unfinished">Не може да отключите портфейла.</translation>
@@ -1093,6 +1328,18 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Bitcoin</source>
<translation type="unfinished">Биткоин</translation>
</message>
<message>
<source>%1 GB of space available</source>
<translation type="unfinished">%1 GB налично пространство</translation>
</message>
<message>
<source>(of %1 GB needed)</source>
<translation type="unfinished">(от необходимите %1 GB )</translation>
</message>
<message>
<source>(%1 GB needed for full chain)</source>
<translation type="unfinished">(%1 GB необходими за пълна верига)</translation>
</message>
<message>
<source>At least %1 GB of data will be stored in this directory, and it will grow over time.</source>
<translation type="unfinished">Най малко %1 GB данни ще бъдат запаметени в тази директория, и ще нарастват през времето.</translation>
@@ -1105,14 +1352,22 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>(sufficient to restore backups %n day(s) old)</source>
<extracomment>Explanatory text on the capability of the current prune target.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>(достатъчно за възстановяване на резервните копия %n от преди дни)</numerusform>
<numerusform>(достатъчно за възстановяване на резервните копия %n от преди дни)</numerusform>
</translation>
</message>
<message>
<source>%1 will download and store a copy of the Bitcoin block chain.</source>
<translation type="unfinished">%1 ще свали и съхрани копие на биткойн блокчейна.</translation>
</message>
<message>
<source>The wallet will also be stored in this directory.</source>
<translation type="unfinished">Портфейлът ще се съхранява и в тази директория.</translation>
</message>
<message>
<source>Error: Specified data directory "%1" cannot be created.</source>
<translation type="unfinished">Грешка: Не може да се създаде посочената директория за данни "%1"</translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished">грешка</translation>
@@ -1129,10 +1384,30 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>As this is the first time the program is launched, you can choose where %1 will store its data.</source>
<translation type="unfinished">Програмата се стартира за първи път вие може да изберете къде %1 ще се запаметят данните.</translation>
</message>
<message>
<source>When you click OK, %1 will begin to download and process the full %4 block chain (%2GB) starting with the earliest transactions in %3 when %4 initially launched.</source>
<translation type="unfinished">Когато щракнете върху OK, %1 ще започне да изтегля и обработва пълната %4 блокова верига (%2GB) започвайки с най-ранните трансакции %3 когато %4 първоначално стартира.</translation>
</message>
<message>
<source>Limit block chain storage to</source>
<translation type="unfinished">Ограничете блокчейнното съхранение</translation>
</message>
<message>
<source>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</source>
<translation type="unfinished">Връщането на тази настройка изисква повторно изтегляне на цялата секторна верига. По-бързо е първо да изтеглите пълната верига и да я подрязвате по-късно. Деактивира някои разширени функции.</translation>
</message>
<message>
<source> GB</source>
<translation type="unfinished">ГБ</translation>
</message>
<message>
<source>This initial synchronisation is very demanding, and may expose hardware problems with your computer that had previously gone unnoticed. Each time you run %1, it will continue downloading where it left off.</source>
<translation type="unfinished">Първоначалната синхронизация е изключително взискателна, и може да разкрие хардуерни проблеми с вашия компютър, които до сега са били незабелязани. Всеки път, когато включите %1, свалянето ще започне от където е приключило.</translation>
</message>
<message>
<source>If you have chosen to limit block chain storage (pruning), the historical data must still be downloaded and processed, but will be deleted afterward to keep your disk usage low.</source>
<translation type="unfinished">Ако сте избрали да ограничите съхранението на блокови вериги (подрязване), историческите данни все още трябва да бъдат изтеглени и обработени, но ще бъдат изтрити след това, за да поддържате използването на вашия диск.</translation>
</message>
<message>
<source>Use the default data directory</source>
<translation type="unfinished">Използване на директория по подразбиране</translation>
@@ -1159,6 +1434,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</context>
<context>
<name>ShutdownWindow</name>
<message>
<source>%1 is shutting down</source>
<translation type="unfinished">%1 изключва се...</translation>
</message>
<message>
<source>Do not shut down the computer until this window disappears.</source>
<translation type="unfinished">Не изключвайте компютъра докато този прозорец не изчезне.</translation>
@@ -1170,6 +1449,26 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Form</source>
<translation type="unfinished">форма</translation>
</message>
<message>
<source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the bitcoin network, as detailed below.</source>
<translation type="unfinished">Последните трансакции все още не могат да се виждат и следователно балансът на портфейла ви може да бъде неправилен. Тази информация ще бъде правилна, след като портфейлът ви приключи синхронизирането с Bitcoin мрежата, както е подробно описано по-долу.</translation>
</message>
<message>
<source>Attempting to spend bitcoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
<translation type="unfinished">Опитът да се изразходват биткойни, които са засегнати от все още показаните трансакции, няма да бъдат приети от мрежата.</translation>
</message>
<message>
<source>Number of blocks left</source>
<translation type="unfinished">Брой останали блокове</translation>
</message>
<message>
<source>Unknown…</source>
<translation type="unfinished">Неизвестно...</translation>
</message>
<message>
<source>calculating…</source>
<translation type="unfinished">изчисляване...</translation>
</message>
<message>
<source>Last block time</source>
<translation type="unfinished">Време на последния блок</translation>
@@ -1178,13 +1477,37 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Progress</source>
<translation type="unfinished">прогрес</translation>
</message>
<message>
<source>Progress increase per hour</source>
<translation type="unfinished">Увеличаване на напредъка на час</translation>
</message>
<message>
<source>Estimated time left until synced</source>
<translation type="unfinished">Прогнозираното време остава до синхронизиране</translation>
</message>
<message>
<source>Hide</source>
<translation type="unfinished">Скрий</translation>
</message>
</context>
<message>
<source>Esc</source>
<translation type="unfinished">избягай</translation>
</message>
<message>
<source>%1 is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.</source>
<translation type="unfinished">%1 в момента синхронизира. Той ще изтегля заглавия и блокове от рояка и ще ги утвърди, докато достигне върха на секторната верига.</translation>
</message>
<message>
<source>Unknown. Syncing Headers (%1, %2%)…</source>
<translation type="unfinished">Неизвестно. Синхронизиране на Глави (%1, %2%)...</translation>
</message>
</context>
<context>
<name>OpenURIDialog</name>
<message>
<source>Open bitcoin URI</source>
<translation type="unfinished">Отвори bitcoin URI </translation>
</message>
<message>
<source>Paste address from clipboard</source>
<extracomment>Tooltip text for button that allows you to paste an address that is in your clipboard.</extracomment>
@@ -1201,6 +1524,18 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>&amp;Main</source>
<translation type="unfinished">&amp;Основни</translation>
</message>
<message>
<source>Automatically start %1 after logging in to the system.</source>
<translation type="unfinished">Автоматично стартиране %1 след влизане в системата.</translation>
</message>
<message>
<source>&amp;Start %1 on system login</source>
<translation type="unfinished">&amp;Стартиране %1 при влизане в системата</translation>
</message>
<message>
<source>Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain.</source>
<translation type="unfinished">Активирането на подрязването значително намалява дисковото пространство, необходимо за съхраняване на трансакции. Всички блокове все още са напълно валидирани. Връщането на тази настройка изисква повторно изтегляне на целия блокчейн.</translation>
</message>
<message>
<source>Size of &amp;database cache</source>
<translation type="unfinished">Размер на кеша в &amp;базата данни</translation>
@@ -1213,6 +1548,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source>
<translation type="unfinished">IP адрес на прокси (напр. за IPv4: 127.0.0.1 / за IPv6: ::1)</translation>
</message>
<message>
<source>Shows if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source>
<translation type="unfinished">Показва дали предоставеният proxy по подразбиране Socks5 се използва за достигане до рояк чрез този тип мрежа.</translation>
</message>
<message>
<source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Exit in the menu.</source>
<translation type="unfinished">Минимизиране вместо излизане от приложението, когато прозорецът е затворен. Когато тази опция е активирана, приложението ще се затвори само след избиране на Изход от менюто.</translation>
</message>
<message>
<source>Open Configuration File</source>
<translation type="unfinished">Отворете конфигурационния файл</translation>
@@ -1229,14 +1572,56 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>&amp;Network</source>
<translation type="unfinished">&amp;Мрежа</translation>
</message>
<message>
<source>Prune &amp;block storage to</source>
<translation type="unfinished">Съкратете &amp;блоковото хранилище до</translation>
</message>
<message>
<source>GB</source>
<translation type="unfinished">ГБ</translation>
</message>
<message>
<source>Reverting this setting requires re-downloading the entire blockchain.</source>
<translation type="unfinished">Връщането на тази настройка изисква повторно изтегляне на цялата блокова верига.</translation>
</message>
<message>
<source>Maximum database cache size. A larger cache can contribute to faster sync, after which the benefit is less pronounced for most use cases. Lowering the cache size will reduce memory usage. Unused mempool memory is shared for this cache.</source>
<extracomment>Tooltip text for Options window setting that sets the size of the database cache. Explains the corresponding effects of increasing/decreasing this value.</extracomment>
<translation type="unfinished">Максимален размер кеш за базата данни. По-големият кеш може да допринесе за по-бърза синхронизация, след което ползата е по-малко изразена за повечето случаи на употреба. Намаляването на размера на кеша ще намали използването на паметта. Неизползваната mempool памет се споделя за този кеш.</translation>
</message>
<message>
<source>Set the number of script verification threads. Negative values correspond to the number of cores you want to leave free to the system.</source>
<extracomment>Tooltip text for Options window setting that sets the number of script verification threads. Explains that negative values mean to leave these many cores free to the system.</extracomment>
<translation type="unfinished">Задайте броя на нишките за проверка на скрипта. Отрицателните стойности съответстват на броя ядра, които искате да оставите свободни за системата.</translation>
</message>
<message>
<source>(0 = auto, &lt;0 = leave that many cores free)</source>
<translation type="unfinished">(0 = авто, &lt;0 = оставете толкова свободни ядра) </translation>
</message>
<message>
<source>This allows you or a third party tool to communicate with the node through command-line and JSON-RPC commands.</source>
<extracomment>Tooltip text for Options window setting that enables the RPC server.</extracomment>
<translation type="unfinished">Това позволява на вас или на инструмент на трета страна да комуникирате с възела чрез команден ред и JSON-RPC команди.</translation>
</message>
<message>
<source>Enable R&amp;PC server</source>
<extracomment>An Options window setting to enable the RPC server.</extracomment>
<translation type="unfinished">Активиране на R&amp;PC сървър</translation>
</message>
<message>
<source>W&amp;allet</source>
<translation type="unfinished">По&amp;ртфейл</translation>
</message>
<message>
<source>Whether to set subtract fee from amount as default or not.</source>
<extracomment>Tooltip text for Options window setting that sets subtracting the fee from a sending amount as default.</extracomment>
<translation type="unfinished">Дали да зададете изваждане на такса от сумата по подразбиране или не.</translation>
</message>
<message>
<source>Subtract &amp;fee from amount by default</source>
<extracomment>An Options window setting to set subtracting the fee from a sending amount as default.</extracomment>
<translation type="unfinished">Изваждане &amp;такса от сума по подразбиране</translation>
</message>
<message>
<source>Expert</source>
<translation type="unfinished">Експерт</translation>
@@ -1245,10 +1630,36 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Enable coin &amp;control features</source>
<translation type="unfinished">Позволяване на монетите и &amp;техните възможности</translation>
</message>
<message>
<source>If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed.</source>
<translation type="unfinished">Ако деактивирате разходите за непотвърдена промяна, промяната от трансакция не може да се използва, докато тази транзакция няма поне едно потвърждение. Това се отразява и на това как се изчислява вашият баланс.</translation>
</message>
<message>
<source>&amp;Spend unconfirmed change</source>
<translation type="unfinished">&amp;Похарчете непотвърденото ресто</translation>
</message>
<message>
<source>Enable &amp;PSBT controls</source>
<extracomment>An options window setting to enable PSBT controls.</extracomment>
<translation type="unfinished">Активиране &amp;PSBT контроли</translation>
</message>
<message>
<source>Whether to show PSBT controls.</source>
<extracomment>Tooltip text for options window setting that enables PSBT controls.</extracomment>
<translation type="unfinished">Дали да покажа PSBT контроли.</translation>
</message>
<message>
<source>External Signer (e.g. hardware wallet)</source>
<translation type="unfinished">Външен подпис (например хардуерен портфейл)</translation>
</message>
<message>
<source>&amp;External signer script path</source>
<translation type="unfinished">&amp;Външен път на скрипта на подписващия</translation>
</message>
<message>
<source>Full path to a Bitcoin Core compatible script (e.g. C:\Downloads\hwi.exe or /Users/you/Downloads/hwi.py). Beware: malware can steal your coins!</source>
<translation type="unfinished">Пълен път към съвместим с биткойн основен скрипт (например C: \ Downloads \ hwi.exe или /users/you/downloads/hwi.py). Внимавайте: злонамерен софтуер може да открадне вашите монети!</translation>
</message>
<message>
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation type="unfinished">Автоматично отваряне на входящия Bitcoin порт. Работи само с рутери поддържащи UPnP.</translation>
@@ -1325,6 +1736,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Whether to show coin control features or not.</source>
<translation type="unfinished">Дали да покаже възможностите за контрол на монетите или не.</translation>
</message>
<message>
<source>Monospaced font in the Overview tab:</source>
<translation type="unfinished">Моноширинен шрифт в раздела Общ преглед:</translation>
</message>
<message>
<source>&amp;OK</source>
<translation type="unfinished">ОК</translation>
@@ -1333,6 +1748,11 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>&amp;Cancel</source>
<translation type="unfinished">Отказ</translation>
</message>
<message>
<source>Compiled without external signing support (required for external signing)</source>
<extracomment>"External signing" means using devices such as hardware wallets.</extracomment>
<translation type="unfinished">Компилиран без поддръжка на външни подписи (изисква се за външно подписване)</translation>
</message>
<message>
<source>default</source>
<translation type="unfinished">подразбиране</translation>
@@ -1428,6 +1848,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</context>
<context>
<name>PSBTOperationsDialog</name>
<message>
<source>Save…</source>
<translation type="unfinished">Запази...</translation>
</message>
<message>
<source>Close</source>
<translation type="unfinished">Затвори</translation>
</message>
<message>
<source>or</source>
<translation type="unfinished">или</translation>
@@ -1750,6 +2178,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>&amp;Copy address</source>
<translation type="unfinished">&amp;Копирай адрес</translation>
</message>
<message>
<source>Copy &amp;label</source>
<translation type="unfinished">Копиране на етикет</translation>
</message>
<message>
<source>Copy &amp;amount</source>
<translation type="unfinished">Копирай сума</translation>
@@ -2411,6 +2843,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>&amp;Copy address</source>
<translation type="unfinished">&amp;Копирай адрес</translation>
</message>
<message>
<source>Copy &amp;label</source>
<translation type="unfinished">Копиране на етикет</translation>
</message>
<message>
<source>Copy &amp;amount</source>
<translation type="unfinished">Копирай сума</translation>
@@ -2419,6 +2855,11 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Export Transaction History</source>
<translation type="unfinished">Изнасяне историята на транзакциите</translation>
</message>
<message>
<source>Comma separated file</source>
<extracomment>Expanded name of the CSV file format. See: https://en.wikipedia.org/wiki/Comma-separated_values.</extracomment>
<translation type="unfinished">Файл, разделен със запетая</translation>
</message>
<message>
<source>Confirmed</source>
<translation type="unfinished">Потвърдено</translation>
@@ -2508,6 +2949,11 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Backup Wallet</source>
<translation type="unfinished">Запазване на портфейла</translation>
</message>
<message>
<source>Wallet Data</source>
<extracomment>Name of the wallet data file format.</extracomment>
<translation type="unfinished">Данни от портфейла</translation>
</message>
<message>
<source>Backup Failed</source>
<translation type="unfinished">Неуспешно запазване на портфейла</translation>

View File

@@ -73,6 +73,16 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</context>
<context>
<name>QObject</name>
<message>
<source>Do you want to reset settings to default values, or to abort without making changes?</source>
<extracomment>Explanatory text shown on startup when the settings file cannot be read. Prompts user to make a choice between resetting or aborting.</extracomment>
<translation type="unfinished">ি ি ি ি ি ি , ি ি ি ?</translation>
</message>
<message>
<source>A fatal error occurred. Check that settings file is writable, or try running with -nosettings.</source>
<extracomment>Explanatory text shown on startup when the settings file could not be written. Prompts user to check that we have the ability to write to the file. Explains that the user has the option of running without a settings file.</extracomment>
<translation type="unfinished">ি ি ি ি ি ি , -nosettings ি </translation>
</message>
<message>
<source>%1 didn't yet exit safely</source>
<translation type="unfinished">%1 ি ি</translation>
@@ -132,6 +142,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</context>
<context>
<name>bitcoin-core</name>
<message>
<source>Settings file could not be read</source>
<translation type="unfinished">Settingsসি fileসি couldসি notসি beসি read</translation>
</message>
<message>
<source>SQLiteDatabase: Unexpected application id. Expected %u, got %u</source>
<translation type="unfinished">. ি. : অপ্রত্যি ি .ি. ি %u, %u </translation>

View File

@@ -264,6 +264,16 @@ Només és possible firmar amb adreces del tipus "legacy".</translation>
</context>
<context>
<name>QObject</name>
<message>
<source>Do you want to reset settings to default values, or to abort without making changes?</source>
<extracomment>Explanatory text shown on startup when the settings file cannot be read. Prompts user to make a choice between resetting or aborting.</extracomment>
<translation type="unfinished">Voleu restablir la configuració als valors predeterminats o sortir sense desar els canvis?</translation>
</message>
<message>
<source>A fatal error occurred. Check that settings file is writable, or try running with -nosettings.</source>
<extracomment>Explanatory text shown on startup when the settings file could not be written. Prompts user to check that we have the ability to write to the file. Explains that the user has the option of running without a settings file.</extracomment>
<translation type="unfinished">S'ha produit un error fatal. Revisa que l'arxiu de preferències sigui d'escriptura, o torna-ho a intentar amb -nosettings</translation>
</message>
<message>
<source>Error: Specified data directory "%1" does not exist.</source>
<translation type="unfinished">Error: El directori de dades especificat «%1» no existeix.</translation>
@@ -383,6 +393,14 @@ Només és possible firmar amb adreces del tipus "legacy".</translation>
</context>
<context>
<name>bitcoin-core</name>
<message>
<source>Settings file could not be read</source>
<translation type="unfinished">El fitxer de configuració no es pot llegir</translation>
</message>
<message>
<source>Settings file could not be written</source>
<translation type="unfinished">El fitxer de configuració no pot ser escrit</translation>
</message>
<message>
<source>The %s developers</source>
<translation type="unfinished">Els desenvolupadors %s</translation>
@@ -1031,6 +1049,10 @@ Només és possible firmar amb adreces del tipus "legacy".</translation>
<source>Create a new wallet</source>
<translation type="unfinished">Crear una nova cartera</translation>
</message>
<message>
<source>&amp;Minimize</source>
<translation type="unfinished">&amp;Minimitza</translation>
</message>
<message>
<source>Wallet:</source>
<translation type="unfinished">Moneder:</translation>
@@ -1179,8 +1201,8 @@ Només és possible firmar amb adreces del tipus "legacy".</translation>
<message numerus="yes">
<source>Processed %n block(s) of transaction history.</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>Processat(s) %n bloc(s) de l'historial de transaccions.</numerusform>
<numerusform>Processat(s) %n bloc(s) de l'historial de transaccions.</numerusform>
</translation>
</message>
<message>
@@ -1215,6 +1237,10 @@ Només és possible firmar amb adreces del tipus "legacy".</translation>
<source>Load Partially Signed Bitcoin Transaction</source>
<translation type="unfinished">Carrega la transacció Bitcoin signada parcialment</translation>
</message>
<message>
<source>Load PSBT from &amp;clipboard</source>
<translation type="unfinished">Carrega la PSBT des del porta-retalls.</translation>
</message>
<message>
<source>Load Partially Signed Bitcoin Transaction from clipboard</source>
<translation type="unfinished">Carrega la transacció de Bitcoin signada parcialment des del porta-retalls</translation>
@@ -1291,6 +1317,10 @@ Només és possible firmar amb adreces del tipus "legacy".</translation>
<source>%1 client</source>
<translation type="unfinished">Client de %1</translation>
</message>
<message>
<source>&amp;Hide</source>
<translation type="unfinished">&amp;Amaga</translation>
</message>
<message numerus="yes">
<source>%n active connection(s) to Bitcoin network.</source>
<extracomment>A substring of the tooltip.</extracomment>

View File

@@ -259,6 +259,16 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</context>
<context>
<name>QObject</name>
<message>
<source>Do you want to reset settings to default values, or to abort without making changes?</source>
<extracomment>Explanatory text shown on startup when the settings file cannot be read. Prompts user to make a choice between resetting or aborting.</extracomment>
<translation type="unfinished">Přeješ si obnovit výchozí nastavení, nebo odejít bez ukládání změn?</translation>
</message>
<message>
<source>A fatal error occurred. Check that settings file is writable, or try running with -nosettings.</source>
<extracomment>Explanatory text shown on startup when the settings file could not be written. Prompts user to check that we have the ability to write to the file. Explains that the user has the option of running without a settings file.</extracomment>
<translation type="unfinished">Nastala závažná chyba. Ověř zda-li je možné do souboru s nastavením zapisovat a nebo vyzkoušej aplikaci spustit s parametrem -nosettings.</translation>
</message>
<message>
<source>Error: Specified data directory "%1" does not exist.</source>
<translation type="unfinished">Chyba: Zadaný adresář pro data %1 neexistuje.</translation>
@@ -341,41 +351,41 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message numerus="yes">
<source>%n second(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform>%n sekund</numerusform>
<numerusform>%n sekundy</numerusform>
<numerusform>%n sekund</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n minute(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform>%n minuta</numerusform>
<numerusform>%n minuty</numerusform>
<numerusform>%n minut</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n hour(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform>%n hodina</numerusform>
<numerusform>%n hodiny</numerusform>
<numerusform>%n hodin</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n day(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform>%n dn</numerusform>
<numerusform>%n dny</numerusform>
<numerusform>%n dní</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n week(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform>%n týden</numerusform>
<numerusform>%n týdny</numerusform>
<numerusform>%n týdnů</numerusform>
</translation>
</message>
<message>
@@ -385,14 +395,22 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message numerus="yes">
<source>%n year(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform>%n rok</numerusform>
<numerusform>%n roky</numerusform>
<numerusform>%n let</numerusform>
</translation>
</message>
</context>
<context>
<name>bitcoin-core</name>
<message>
<source>Settings file could not be read</source>
<translation type="unfinished">Soubor s nastavením není možné přečíst</translation>
</message>
<message>
<source>Settings file could not be written</source>
<translation type="unfinished">Do souboru s nastavením není možné zapisovat</translation>
</message>
<message>
<source>The %s developers</source>
<translation type="unfinished">Vývojáři %s</translation>
@@ -425,6 +443,11 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation type="unfinished">Nastala chyba při čtení souboru %s! Všechny klíče se přečetly správně, ale data o transakcích nebo záznamy v adresáři mohou chybět či být nesprávné.</translation>
</message>
<message>
<source>Error reading %s! Transaction data may be missing or incorrect. Rescanning wallet.</source>
<translation type="unfinished">Chyba při čtení %s! Data o transakci mohou chybět a nebo být chybná.
Ověřuji peněženku.</translation>
</message>
<message>
<source>Error: Dumpfile format record is incorrect. Got "%s", expected "format".</source>
<translation type="unfinished">Chyba: záznam formátu souboru výpisu je nesprávný. Získáno "%s", očekáváno "format".</translation>
@@ -457,6 +480,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Invalid amount for -maxtxfee=&lt;amount&gt;: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
<translation type="unfinished">Neplatná částka pro -maxtxfee=&lt;amount&gt;: '%s' (musí být alespoň jako poplatek minrelay %s, aby transakce nezůstávaly trčet)</translation>
</message>
<message>
<source>Invalid or corrupt peers.dat (%s). If you believe this is a bug, please report it to %s. As a workaround, you can move the file (%s) out of the way (rename, move, or delete) to have a new one created on the next start.</source>
<translation type="unfinished">Neplatný nebo poškozený soubor peers.dat (%s). Pokud věříš, že se jedná o chybu, prosím nahlas ji na %s. Jako řešení lze přesunout soubor (%s) z cesty (přejmenovat, přesunout nebo odstranit), aby se při dalším spuštění vytvořil nový.</translation>
</message>
<message>
<source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
<translation type="unfinished">Byla zadána více než jedna onion adresa. Použiju %s pro automaticky vytvořenou službu sítě Tor.</translation>
@@ -497,6 +524,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
<translation type="unfinished">Databáze bloků obsahuje blok, který vypadá jako z budoucnosti, což může být kvůli špatně nastavenému datu a času na tvém počítači. Nech databázi bloků přestavět pouze v případě, že si jsi jistý, že máš na počítači správný datum a čas</translation>
</message>
<message>
<source>The block index db contains a legacy 'txindex'. To clear the occupied disk space, run a full -reindex, otherwise ignore this error. This error message will not be displayed again.</source>
<translation type="unfinished">Databáze indexu bloků obsahuje starší 'txindex'. Pro vyčištění obsazeného místa na disku, spusťte úplný -reindex, v opačném případě tuto chybu ignorujte. Tato chybová zpráva nebude znovu zobrazena.</translation>
</message>
<message>
<source>The transaction amount is too small to send after the fee has been deducted</source>
<translation type="unfinished">Částka v transakci po odečtení poplatku je příliš malá na odeslání</translation>
@@ -569,6 +600,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Cannot resolve -%s address: '%s'</source>
<translation type="unfinished">Nemohu přeložit -%s adresu: '%s'</translation>
</message>
<message>
<source>Cannot set -forcednsseed to true when setting -dnsseed to false.</source>
<translation type="unfinished">Nelze nastavit -forcednsseed na hodnotu true, když je nastaveno -dnsseed na hodnotu false.</translation>
</message>
<message>
<source>Cannot set -peerblockfilters without -blockfilterindex.</source>
<translation type="unfinished">Nelze nastavit -peerblockfilters bez -blockfilterindex.</translation>
@@ -577,6 +612,30 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Cannot write to data directory '%s'; check permissions.</source>
<translation type="unfinished">Není možné zapisovat do adresáře ' %s'; zkontrolujte oprávnění.</translation>
</message>
<message>
<source>The -txindex upgrade started by a previous version cannot be completed. Restart with the previous version or run a full -reindex.</source>
<translation type="unfinished">Aktualizaci -txindex zahájenou předchozí verzí není možné dokončit. Restartujte s předchozí verzí a nebo spusťte úplný -reindex.</translation>
</message>
<message>
<source>%s request to listen on port %u. This port is considered "bad" and thus it is unlikely that any Bitcoin Core peers connect to it. See doc/p2p-bad-ports.md for details and a full list.</source>
<translation type="unfinished">%s požadavek pro naslouchání na portu %u. Tento port je považován za "špatný" a z tohoto důvodu je nepravděpodobné, že by se k němu připojovali některé uzly Bitcoin Core. Podrobnosti a úplný seznam špatných portů nalezneš v dokumentu doc/p2p-bad-ports.md</translation>
</message>
<message>
<source>Cannot provide specific connections and have addrman find outgoing connections at the same time.</source>
<translation type="unfinished">Nelze poskytovat konkrétní spojení a zároveň mít vyhledávání addrman odchozích spojení ve stejný čas.</translation>
</message>
<message>
<source>Error loading %s: External signer wallet being loaded without external signer support compiled</source>
<translation type="unfinished">Chyba při načtení %s: Externí podepisovací peněženka se načítá bez zkompilované podpory externího podpisovatele.</translation>
</message>
<message>
<source>Failed to rename invalid peers.dat file. Please move or delete it and try again.</source>
<translation type="unfinished">Nelze přejmenovat neplatný peers.dat soubor. Prosím přesuňte jej, nebo odstraňte a zkuste znovu.</translation>
</message>
<message>
<source>Outbound connections restricted to Tor (-onlynet=onion) but the proxy for reaching the Tor network is not provided (no -proxy= and no -onion= given) or it is explicitly forbidden (-onion=0)</source>
<translation type="unfinished">Odchozí spojení omezená na Tor (-onlynet=onion), ale proxy server pro přístup do sítě Tor není poskytnut (není zadán parametr -proxy= a -onion=) nebo je výslovně zakázán (-onion=0)</translation>
</message>
<message>
<source>Config setting for %s only applied on %s network when in [%s] section.</source>
<translation type="unfinished">Nastavení pro %s je nastaveno pouze na síťi %s pokud jste v sekci [%s]</translation>
@@ -733,6 +792,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Initialization sanity check failed. %s is shutting down.</source>
<translation type="unfinished">Selhala úvodní zevrubná prověrka. %s se ukončuje.</translation>
</message>
<message>
<source>Input not found or already spent</source>
<translation type="unfinished">Vstup nenalezen a nebo je již utracen</translation>
</message>
<message>
<source>Insufficient funds</source>
<translation type="unfinished">Nedostatek prostředků</translation>
@@ -789,10 +852,22 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Loading wallet…</source>
<translation type="unfinished">Načítám peněženku...</translation>
</message>
<message>
<source>Missing amount</source>
<translation type="unfinished">Chybějící částka</translation>
</message>
<message>
<source>Missing solving data for estimating transaction size</source>
<translation type="unfinished">Chybí data pro vyřešení odhadnutí velikosti transakce</translation>
</message>
<message>
<source>Need to specify a port with -whitebind: '%s'</source>
<translation type="unfinished">V rámci -whitebind je třeba specifikovat i port: '%s'</translation>
</message>
<message>
<source>No addresses available</source>
<translation type="unfinished">Není k dispozici žádná adresa</translation>
</message>
<message>
<source>No proxy server specified. Use -proxy=&lt;ip&gt; or -proxy=&lt;ip:port&gt;.</source>
<translation type="unfinished">Není specifikován proxy server. Použijte -proxy=&lt;ip&gt; nebo -proxy=&lt;ip:port&gt;.</translation>
@@ -909,6 +984,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Transaction amounts must not be negative</source>
<translation type="unfinished">Částky v transakci nemohou být záporné</translation>
</message>
<message>
<source>Transaction change output index out of range</source>
<translation type="unfinished">Výstupní index změny transakce mimo rozsah</translation>
</message>
<message>
<source>Transaction has too long of a mempool chain</source>
<translation type="unfinished">Transakce má v transakčním zásobníku příliš dlouhý řetězec</translation>
@@ -917,6 +996,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Transaction must have at least one recipient</source>
<translation type="unfinished">Transakce musí mít alespoň jednoho příjemce</translation>
</message>
<message>
<source>Transaction needs a change address, but we can't generate it.</source>
<translation type="unfinished">Transakce potřebuje změnu adresy, ale ta se nepodařila vygenerovat.</translation>
</message>
<message>
<source>Transaction too large</source>
<translation type="unfinished">Transakce je příliš velká</translation>
@@ -945,6 +1028,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Unable to open %s for writing</source>
<translation type="unfinished">Nelze otevřít %s pro zápis</translation>
</message>
<message>
<source>Unable to parse -maxuploadtarget: '%s'</source>
<translation type="unfinished">Nelze rozebrat -maxuploadtarget: '%s'</translation>
</message>
<message>
<source>Unable to start HTTP server. See debug log for details.</source>
<translation type="unfinished">Nemohu spustit HTTP server. Detaily viz v debug.log.</translation>
@@ -1044,6 +1131,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Create a new wallet</source>
<translation type="unfinished">Vytvoř novou peněženku</translation>
</message>
<message>
<source>&amp;Minimize</source>
<translation type="unfinished">&amp;Minimalizovat</translation>
</message>
<message>
<source>Wallet:</source>
<translation type="unfinished">Peněženka:</translation>
@@ -1192,9 +1283,9 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message numerus="yes">
<source>Processed %n block(s) of transaction history.</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform>Zpracován %n blok transakční historie.</numerusform>
<numerusform>Zpracovány %n bloky transakční historie.</numerusform>
<numerusform>Zpracováno %n bloků transakční historie.</numerusform>
</translation>
</message>
<message>
@@ -1233,6 +1324,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Load Partially Signed Bitcoin Transaction</source>
<translation type="unfinished">Načíst částečně podepsanou Bitcoinovou transakci</translation>
</message>
<message>
<source>Load PSBT from &amp;clipboard</source>
<translation type="unfinished">Načíst PSBT ze &amp;schránky</translation>
</message>
<message>
<source>Load Partially Signed Bitcoin Transaction from clipboard</source>
<translation type="unfinished">Načíst částečně podepsanou Bitcoinovou transakci ze schránky</translation>
@@ -1309,13 +1404,21 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>%1 client</source>
<translation type="unfinished">%1 klient</translation>
</message>
<message>
<source>&amp;Hide</source>
<translation type="unfinished">Skryj</translation>
</message>
<message>
<source>S&amp;how</source>
<translation type="unfinished">Zobraz</translation>
</message>
<message numerus="yes">
<source>%n active connection(s) to Bitcoin network.</source>
<extracomment>A substring of the tooltip.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform>%n aktivní spojení s Bitcoinovou sítí.</numerusform>
<numerusform>%n aktivní spojení s Bitcoinovou sítí.</numerusform>
<numerusform>%n aktivních spojení s Bitcoinovou sítí.</numerusform>
</translation>
</message>
<message>
@@ -1508,6 +1611,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Copy &amp;amount</source>
<translation type="unfinished">Zkopírovat &amp;částku</translation>
</message>
<message>
<source>Copy transaction &amp;ID and output index</source>
<translation type="unfinished">Zkopíruj &amp;ID transakce a výstupní index</translation>
</message>
<message>
<source>L&amp;ock unspent</source>
<translation type="unfinished">&amp;zamknout neutracené</translation>
@@ -1598,6 +1705,19 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<translation type="unfinished">Nelze vypsat podepisovatele</translation>
</message>
</context>
<context>
<name>LoadWalletsActivity</name>
<message>
<source>Load Wallets</source>
<extracomment>Title of progress window which is displayed when wallets are being loaded.</extracomment>
<translation type="unfinished">Načíst peněženky</translation>
</message>
<message>
<source>Loading wallets…</source>
<extracomment>Descriptive text of the load wallets progress window which indicates to the user that wallets are currently being loaded.</extracomment>
<translation type="unfinished">Načítám peněženky...</translation>
</message>
</context>
<context>
<name>OpenWalletActivity</name>
<message>
@@ -1798,6 +1918,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</context>
<context>
<name>Intro</name>
<message>
<source>%1 GB of space available</source>
<translation type="unfinished">%1 GB místa k dispozici</translation>
</message>
<message>
<source>(of %1 GB needed)</source>
<translation type="unfinished">(z požadovaných %1 GB )</translation>
@@ -1814,9 +1938,9 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>(sufficient to restore backups %n day(s) old)</source>
<extracomment>Explanatory text on the capability of the current prune target.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform>(Dostačující k obnovení záloh %n den staré)</numerusform>
<numerusform>(Dostačující k obnovení záloh %n dny staré)</numerusform>
<numerusform>(Dostačující k obnovení záloh %n dnů staré)</numerusform>
</translation>
</message>
<message>
@@ -2047,13 +2171,43 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Reverting this setting requires re-downloading the entire blockchain.</source>
<translation type="unfinished">Obnovení tohoto nastavení vyžaduje opětovné stažení celého blockchainu.</translation>
</message>
<message>
<source>Maximum database cache size. A larger cache can contribute to faster sync, after which the benefit is less pronounced for most use cases. Lowering the cache size will reduce memory usage. Unused mempool memory is shared for this cache.</source>
<extracomment>Tooltip text for Options window setting that sets the size of the database cache. Explains the corresponding effects of increasing/decreasing this value.</extracomment>
<translation type="unfinished">Maximální velikost vyrovnávací paměti databáze. Větší vyrovnávací paměť může přispět k rychlejší synchronizaci, avšak přínos pro většinu případů použití je méně výrazný. Snížení velikosti vyrovnávací paměti sníží využití paměti. Nevyužívaná paměť mempoolu je pro tuto vyrovnávací paměť sdílená.</translation>
</message>
<message>
<source>Set the number of script verification threads. Negative values correspond to the number of cores you want to leave free to the system.</source>
<extracomment>Tooltip text for Options window setting that sets the number of script verification threads. Explains that negative values mean to leave these many cores free to the system.</extracomment>
<translation type="unfinished">Nastaví počet vláken pro ověřování skriptů. Negativní hodnota odpovídá počtu jader procesoru, které chcete ponechat volné pro systém. </translation>
</message>
<message>
<source>(0 = auto, &lt;0 = leave that many cores free)</source>
<translation type="unfinished">(0 = automaticky, &lt;0 = nechat daný počet jader volný, výchozí: 0)</translation>
</message>
<message>
<source>This allows you or a third party tool to communicate with the node through command-line and JSON-RPC commands.</source>
<extracomment>Tooltip text for Options window setting that enables the RPC server.</extracomment>
<translation type="unfinished">Toto povolí tobě nebo nástrojům třetích stran komunikovat pomocí uzlu skrz příkazový řádek a JSON-RPC příkazy.</translation>
</message>
<message>
<source>Enable R&amp;PC server</source>
<extracomment>An Options window setting to enable the RPC server.</extracomment>
<translation type="unfinished">Povolit R&amp;PC server</translation>
</message>
<message>
<source>W&amp;allet</source>
<translation type="unfinished">P&amp;eněženka</translation>
<translation type="unfinished">&amp;Peněženka</translation>
</message>
<message>
<source>Whether to set subtract fee from amount as default or not.</source>
<extracomment>Tooltip text for Options window setting that sets subtracting the fee from a sending amount as default.</extracomment>
<translation type="unfinished">Zda nastavit odečtení poplatku od částky jako výchozí či nikoliv.</translation>
</message>
<message>
<source>Subtract &amp;fee from amount by default</source>
<extracomment>An Options window setting to set subtracting the fee from a sending amount as default.</extracomment>
<translation type="unfinished">Odečíst &amp;poplatek od výchozí částky</translation>
</message>
<message>
<source>Expert</source>
@@ -2071,6 +2225,16 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>&amp;Spend unconfirmed change</source>
<translation type="unfinished">&amp;Utrácet i ještě nepotvrzené drobné</translation>
</message>
<message>
<source>Enable &amp;PSBT controls</source>
<extracomment>An options window setting to enable PSBT controls.</extracomment>
<translation type="unfinished">Povolit &amp;PSBT kontrolu</translation>
</message>
<message>
<source>Whether to show PSBT controls.</source>
<extracomment>Tooltip text for options window setting that enables PSBT controls.</extracomment>
<translation type="unfinished">Zobrazit ovládací prvky PSBT.</translation>
</message>
<message>
<source>External Signer (e.g. hardware wallet)</source>
<translation type="unfinished">Externí podepisovatel (například hardwarová peněženka)</translation>
@@ -2097,7 +2261,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Map port using NA&amp;T-PMP</source>
<translation type="unfinished">Namapovat port s využitím NA&amp;T-PMP.</translation>
<translation type="unfinished">Namapovat port s využitím &amp;NAT-PMP.</translation>
</message>
<message>
<source>Accept connections from outside.</source>
@@ -2105,7 +2269,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Allow incomin&amp;g connections</source>
<translation type="unfinished">Přijí&amp;mat příchozí spojení</translation>
<translation type="unfinished">&amp;Přijímat příchozí spojení</translation>
</message>
<message>
<source>Connect to the Bitcoin network through a SOCKS5 proxy.</source>
@@ -2175,6 +2339,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
<translation type="unfinished">Zvol výchozí podjednotku, která se bude zobrazovat v programu a při posílání mincí.</translation>
</message>
<message>
<source>Third-party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |.</source>
<translation type="unfinished">URL třetích stran (např. block exploreru), která se zobrazí v kontextovém menu v záložce Transakce. %s v URL se nahradí hashem transakce. Více URL odděl svislítkem |.</translation>
</message>
<message>
<source>&amp;Third-party transaction URLs</source>
<translation type="unfinished">&amp;URL třetích stran pro transakce</translation>
</message>
<message>
<source>Whether to show coin control features or not.</source>
<translation type="unfinished">Zda ukazovat možnosti pro ruční správu mincí nebo ne.</translation>
@@ -2246,6 +2418,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<extracomment>Explanatory text about the priority order of instructions considered by client. The order from high to low being: command-line, configuration file, GUI settings.</extracomment>
<translation type="unfinished">Konfigurační soubor slouží k nastavování uživatelsky pokročilých možností, které mají přednost před konfigurací z GUI. Parametry z příkazové řádky však mají před konfiguračním souborem přednost.</translation>
</message>
<message>
<source>Continue</source>
<translation type="unfinished">Pokračovat</translation>
</message>
<message>
<source>Cancel</source>
<translation type="unfinished">Zrušit</translation>
@@ -2376,6 +2552,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Failed to sign transaction: %1</source>
<translation type="unfinished">Nepodařilo se podepsat transakci: %1</translation>
</message>
<message>
<source>Cannot sign inputs while wallet is locked.</source>
<translation type="unfinished">Nelze podepsat vstup, když je peněženka uzamčena.</translation>
</message>
<message>
<source>Could not sign any more inputs.</source>
<translation type="unfinished">Nelze podepsat další vstupy.</translation>
@@ -2449,6 +2629,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Transaction still needs signature(s).</source>
<translation type="unfinished">Transakce stále potřebuje podpis(y).</translation>
</message>
<message>
<source>(But no wallet is loaded.)</source>
<translation type="unfinished">(Ale žádná peněženka není načtená.)</translation>
</message>
<message>
<source>(But this wallet cannot sign transactions.)</source>
<translation type="unfinished">(Ale tato peněženka nemůže podepisovat transakce.)</translation>
@@ -2701,6 +2885,10 @@ Pokud vidíte tuto chybu, měli byste požádat, aby obchodník poskytl adresu k
<source>Synced Blocks</source>
<translation type="unfinished">Aktuálně bloků</translation>
</message>
<message>
<source>Last Transaction</source>
<translation type="unfinished">Poslední transakce</translation>
</message>
<message>
<source>The mapped Autonomous System used for diversifying peer selection.</source>
<translation type="unfinished">Mapovaný nezávislý - Autonomní Systém používaný pro rozšírení vzájemného výběru protějsků.</translation>
@@ -2709,6 +2897,33 @@ Pokud vidíte tuto chybu, měli byste požádat, aby obchodník poskytl adresu k
<source>Mapped AS</source>
<translation type="unfinished">Mapovaný AS</translation>
</message>
<message>
<source>Whether we relay addresses to this peer.</source>
<extracomment>Tooltip text for the Address Relay field in the peer details area.</extracomment>
<translation type="unfinished">Zda předáváme adresy tomuto uzlu.</translation>
</message>
<message>
<source>Address Relay</source>
<translation type="unfinished">Přenášení adres</translation>
</message>
<message>
<source>Total number of addresses processed, excluding those dropped due to rate-limiting.</source>
<extracomment>Tooltip text for the Addresses Processed field in the peer details area.</extracomment>
<translation type="unfinished">Celkový počet zpracovaných adres, vyjma těch, které byly zahozeny z důvodu omezení ovládání toku provozu.</translation>
</message>
<message>
<source>Addresses Processed</source>
<translation type="unfinished">Zpracováno adres</translation>
</message>
<message>
<source>Total number of addresses dropped due to rate-limiting.</source>
<extracomment>Tooltip text for the Addresses Rate-Limited field in the peer details area.</extracomment>
<translation type="unfinished">Celkový počet adres zahozených z důvodu omezení ovládání toku provozu.</translation>
</message>
<message>
<source>Addresses Rate-Limited</source>
<translation type="unfinished">Adresy s omezením počtu přijatých adres</translation>
</message>
<message>
<source>User Agent</source>
<translation type="unfinished">Typ klienta</translation>
@@ -2917,6 +3132,11 @@ Pokud vidíte tuto chybu, měli byste požádat, aby obchodník poskytl adresu k
<source>1 &amp;year</source>
<translation type="unfinished">1 &amp;rok</translation>
</message>
<message>
<source>&amp;Copy IP/Netmask</source>
<extracomment>Context menu action to copy the IP/Netmask of a banned peer. IP/Netmask is the combination of a peer's IP address and its Netmask. For IP address, see: https://en.wikipedia.org/wiki/IP_address.</extracomment>
<translation type="unfinished">&amp;Zkopíruj IP/Masku</translation>
</message>
<message>
<source>&amp;Unban</source>
<translation type="unfinished">&amp;Odblokuj</translation>
@@ -3424,6 +3644,16 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<extracomment>Text to inform a user attempting to create a transaction of their current options. At this stage, a user can only create a PSBT. This string is displayed when private keys are disabled and an external signer is not available.</extracomment>
<translation type="unfinished">Zkontrolujte prosím svůj návrh transakce. Výsledkem bude částečně podepsaná bitcoinová transakce (PSBT), kterou můžete uložit nebo kopírovat a poté podepsat např. pomocí offline %1 peněženky nebo hardwarové peněženky kompatibilní s PSBT.</translation>
</message>
<message>
<source>Do you want to create this transaction?</source>
<extracomment>Message displayed when attempting to create a transaction. Cautionary text to prompt the user to verify that the displayed transaction details represent the transaction the user intends to create.</extracomment>
<translation type="unfinished">Přejete si vytvořit tuto transakci?</translation>
</message>
<message>
<source>Please, review your transaction. You can create and send this transaction or create a Partially Signed Bitcoin Transaction (PSBT), which you can save or copy and then sign with, e.g., an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
<extracomment>Text to inform a user attempting to create a transaction of their current options. At this stage, a user can send their transaction or create a PSBT. This string is displayed when both private keys and PSBT controls are enabled.</extracomment>
<translation type="unfinished">Prosím ověř svojí transakci. Můžeš vytvořit a odeslat tuto transakci nebo vytvořit Částečně Podepsanou Bitcoinovou Transakci (PSBT), kterou můžeš uložit nebo zkopírovat a poté podepsat např. v offline %1 peněžence, nebo hardwarové peněžence kompatibilní s PSBT.</translation>
</message>
<message>
<source>Please, review your transaction.</source>
<extracomment>Text to prompt a user to review the details of the transaction they are attempting to send.</extracomment>
@@ -3484,9 +3714,9 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<message numerus="yes">
<source>Estimated to begin confirmation within %n block(s).</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform>Potvrzování by podle odhadu mělo začít během %n bloku.</numerusform>
<numerusform>Potvrzování by podle odhadu mělo začít během %n bloků.</numerusform>
<numerusform>Potvrzování by podle odhadu mělo začít během %n bloků.</numerusform>
</translation>
</message>
<message>
@@ -3745,7 +3975,11 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<source>(press q to shutdown and continue later)</source>
<translation type="unfinished">(stiskni q pro ukončení a pokračování později)</translation>
</message>
</context>
<message>
<source>press q to shutdown</source>
<translation type="unfinished">stiskněte q pro vypnutí</translation>
</message>
</context>
<context>
<name>TransactionDesc</name>
<message>
@@ -3823,9 +4057,9 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<message numerus="yes">
<source>matures in %n more block(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform />
<numerusform>dozraje za %n další blok</numerusform>
<numerusform>dozraje za %n další bloky</numerusform>
<numerusform>dozraje za %n dalších bloků</numerusform>
</translation>
</message>
<message>
@@ -4109,6 +4343,11 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<source>&amp;Edit address label</source>
<translation type="unfinished">&amp;Upravit označení adresy</translation>
</message>
<message>
<source>Show in %1</source>
<extracomment>Transactions table context menu action to show the selected transaction in a third-party block explorer. %1 is a stand-in argument for the URL of the explorer.</extracomment>
<translation type="unfinished">Zobraz v %1</translation>
</message>
<message>
<source>Export Transaction History</source>
<translation type="unfinished">Exportuj transakční historii</translation>

View File

@@ -621,6 +621,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Error loading %s: External signer wallet being loaded without external signer support compiled</source>
<translation type="unfinished">Fejlindlæsning %s: Ekstern underskriver-tegnebog indlæses uden ekstern underskriverunderstøttelse kompileret</translation>
</message>
<message>
<source>Failed to rename invalid peers.dat file. Please move or delete it and try again.</source>
<translation type="unfinished">Kunne ikke omdøbe ugyldig peers.dat fil. Flyt eller slet den venligst og prøv igen.</translation>
</message>
<message>
<source>Config setting for %s only applied on %s network when in [%s] section.</source>
<translation type="unfinished">Opsætningen af %s bliver kun udført %s-netværk under [%s]-sektionen.</translation>

View File

@@ -264,6 +264,16 @@ Das Signieren ist nur mit Adressen vom Typ 'Legacy' möglich.</translation>
</context>
<context>
<name>QObject</name>
<message>
<source>Do you want to reset settings to default values, or to abort without making changes?</source>
<extracomment>Explanatory text shown on startup when the settings file cannot be read. Prompts user to make a choice between resetting or aborting.</extracomment>
<translation type="unfinished">Möchten Sie die Einstellungen auf die Standardwerte zurücksetzen oder den Vorgang abbrechen, ohne Änderungen vorzunehmen?</translation>
</message>
<message>
<source>A fatal error occurred. Check that settings file is writable, or try running with -nosettings.</source>
<extracomment>Explanatory text shown on startup when the settings file could not be written. Prompts user to check that we have the ability to write to the file. Explains that the user has the option of running without a settings file.</extracomment>
<translation type="unfinished">Ein schwerwiegender Fehler ist aufgetreten. Prüfen Sie, ob die Einstellungsdatei beschreibbar ist, oder versuchen Sie, das Programm mit "-nosettings" auszuführen.</translation>
</message>
<message>
<source>Error: Specified data directory "%1" does not exist.</source>
<translation type="unfinished">Fehler: Angegebenes Datenverzeichnis "%1" existiert nicht.</translation>
@@ -323,7 +333,7 @@ Das Signieren ist nur mit Adressen vom Typ 'Legacy' möglich.</translation>
<message>
<source>Manual</source>
<extracomment>Peer connection type established manually through one of several methods.</extracomment>
<translation type="unfinished">Anleitung</translation>
<translation type="unfinished">Manuell</translation>
</message>
<message>
<source>Feeler</source>
@@ -354,36 +364,36 @@ Das Signieren ist nur mit Adressen vom Typ 'Legacy' möglich.</translation>
<message numerus="yes">
<source>%n second(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n Sekunde(n)</numerusform>
<numerusform>%n Sekunde(n)</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n minute(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n Minute(n)</numerusform>
<numerusform>%n Minute(n)</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n hour(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%nStunde(n)</numerusform>
<numerusform>%nStunde(n)</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n day(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%nTag(e)</numerusform>
<numerusform>%nTag(e)</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n week(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n Woche(n)</numerusform>
<numerusform>%n Woche(n)</numerusform>
</translation>
</message>
<message>
@@ -393,8 +403,8 @@ Das Signieren ist nur mit Adressen vom Typ 'Legacy' möglich.</translation>
<message numerus="yes">
<source>%n year(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n Jahr(e)</numerusform>
<numerusform>%n Jahr(e)</numerusform>
</translation>
</message>
</context>
@@ -440,6 +450,10 @@ Das Signieren ist nur mit Adressen vom Typ 'Legacy' möglich.</translation>
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation type="unfinished">Lesen von %s fehlgeschlagen! Alle Schlüssel wurden korrekt gelesen, Transaktionsdaten bzw. Adressbucheinträge fehlen aber möglicherweise oder sind inkorrekt.</translation>
</message>
<message>
<source>Error reading %s! Transaction data may be missing or incorrect. Rescanning wallet.</source>
<translation type="unfinished">Fehler beim Lesen von %s! Transaktionsdaten fehlen oder sind nicht korrekt. Wallet wird erneut gescannt.</translation>
</message>
<message>
<source>Error: Dumpfile format record is incorrect. Got "%s", expected "format".</source>
<translation type="unfinished">Fehler: Dumpdatei Format Eintrag ist Ungültig. Habe "%s" bekommen, aber "format" erwartet.</translation>
@@ -472,6 +486,10 @@ Das Signieren ist nur mit Adressen vom Typ 'Legacy' möglich.</translation>
<source>Invalid amount for -maxtxfee=&lt;amount&gt;: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
<translation type="unfinished">Ungültiger Betrag für -maxtxfee=&lt;amount&gt;: '%s' (muss mindestens die minimale Weiterleitungsgebühr in Höhe von %s sein, um zu verhindern, dass Transaktionen nicht bearbeitet werden)</translation>
</message>
<message>
<source>Invalid or corrupt peers.dat (%s). If you believe this is a bug, please report it to %s. As a workaround, you can move the file (%s) out of the way (rename, move, or delete) to have a new one created on the next start.</source>
<translation type="unfinished">Ungültige oder beschädigte peers.dat (%s). Wenn Sie glauben, dass dies ein Fehler ist, melden Sie ihn bitte an %s. Zur Abhilfe können Sie die Datei (%s) aus dem Weg räumen (umbenennen, verschieben oder löschen), so dass beim nächsten Start eine neue Datei erstellt wird.</translation>
</message>
<message>
<source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
<translation type="unfinished">Mehr als eine Onion-Bindungsadresse angegeben. Verwende %s für den automatisch erstellten Tor-Onion-Dienst.</translation>
@@ -512,6 +530,10 @@ Das Signieren ist nur mit Adressen vom Typ 'Legacy' möglich.</translation>
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
<translation type="unfinished">Die Block-Datenbank enthält einen Block, der in der Zukunft auftaucht. Dies kann daran liegen, dass die Systemzeit Ihres Computers falsch eingestellt ist. Stellen Sie die Block-Datenbank nur wieder her, wenn Sie sich sicher sind, dass Ihre Systemzeit korrekt eingestellt ist.</translation>
</message>
<message>
<source>The block index db contains a legacy 'txindex'. To clear the occupied disk space, run a full -reindex, otherwise ignore this error. This error message will not be displayed again.</source>
<translation type="unfinished">Die Blockindexdatenbank enthält einen veralteten 'txindex'. Um den belegten Speicherplatz frei zu geben, führen Sie ein vollständiges -reindex aus, ansonsten ignorieren Sie diesen Fehler. Diese Fehlermeldung wird nicht noch einmal angezeigt.</translation>
</message>
<message>
<source>The transaction amount is too small to send after the fee has been deducted</source>
<translation type="unfinished">Der Transaktionsbetrag ist zu klein, um ihn nach Abzug der Gebühr zu senden.</translation>
@@ -585,6 +607,10 @@ Bitte nutzen Sie entweder "bdb" oder "sqlite".</translation>
<source>Cannot resolve -%s address: '%s'</source>
<translation type="unfinished">Kann Adresse in -%s nicht auflösen: '%s'</translation>
</message>
<message>
<source>Cannot set -forcednsseed to true when setting -dnsseed to false.</source>
<translation type="unfinished">Kann -forcednsseed nicht auf true setzen, wenn -dnsseed auf false gesetzt ist.</translation>
</message>
<message>
<source>Cannot set -peerblockfilters without -blockfilterindex.</source>
<translation type="unfinished">Kann -peerblockfilters nicht ohne -blockfilterindex setzen.</translation>
@@ -593,6 +619,30 @@ Bitte nutzen Sie entweder "bdb" oder "sqlite".</translation>
<source>Cannot write to data directory '%s'; check permissions.</source>
<translation type="unfinished">Es konnte nicht in das Datenverzeichnis '%s' geschrieben werden; Überprüfen Sie die Berechtigungen.</translation>
</message>
<message>
<source>The -txindex upgrade started by a previous version cannot be completed. Restart with the previous version or run a full -reindex.</source>
<translation type="unfinished">Das von einer früheren Version gestartete -txindex-Upgrade kann nicht abgeschlossen werden. Starten Sie mit der vorherigen Version neu oder führen Sie ein vollständiges -reindex aus.</translation>
</message>
<message>
<source>%s request to listen on port %u. This port is considered "bad" and thus it is unlikely that any Bitcoin Core peers connect to it. See doc/p2p-bad-ports.md for details and a full list.</source>
<translation type="unfinished">%s Aufforderung, auf Port %u zu lauschen. Dieser Port wird als "schlecht" eingeschätzt und es ist daher unwahrscheinlich, dass sich Bitcoin Core Peers mit ihm verbinden. Siehe doc/p2p-bad-ports.md für Details und eine vollständige Liste.</translation>
</message>
<message>
<source>Cannot provide specific connections and have addrman find outgoing connections at the same time.</source>
<translation type="unfinished">Es ist nicht möglich, bestimmte Verbindungen anzubieten und gleichzeitig addrman ausgehende Verbindungen finden zu lassen.</translation>
</message>
<message>
<source>Error loading %s: External signer wallet being loaded without external signer support compiled</source>
<translation type="unfinished">Fehler beim Laden von %s: Externe Unterzeichner-Brieftasche wird geladen, ohne dass die Unterstützung für externe Unterzeichner kompiliert wurde</translation>
</message>
<message>
<source>Failed to rename invalid peers.dat file. Please move or delete it and try again.</source>
<translation type="unfinished">Kann ungültige Datei peers.dat nicht umbenennen. Bitte Verschieben oder Löschen und noch einmal versuchen.</translation>
</message>
<message>
<source>Outbound connections restricted to Tor (-onlynet=onion) but the proxy for reaching the Tor network is not provided (no -proxy= and no -onion= given) or it is explicitly forbidden (-onion=0)</source>
<translation type="unfinished">Ausgehende Verbindungen sind eingeschränkt auf Tor (-onlynet=onion), aber der Proxy, um das Tor-Netzwerk zu erreichen ist nicht vorhanden (no -proxy= and no -onion= given) oder ausdrücklich verboten (-onion=0)</translation>
</message>
<message>
<source>Config setting for %s only applied on %s network when in [%s] section.</source>
<translation type="unfinished">Konfigurationseinstellungen für %s sind nur auf %s network gültig, wenn in Sektion [%s]</translation>
@@ -811,6 +861,10 @@ Berechnet: %s, erwartet: %s</translation>
<source>Missing amount</source>
<translation type="unfinished">Fehlender Betrag</translation>
</message>
<message>
<source>Missing solving data for estimating transaction size</source>
<translation type="unfinished">Fehlende Auflösungsdaten zur Schätzung der Transaktionsgröße</translation>
</message>
<message>
<source>Need to specify a port with -whitebind: '%s'</source>
<translation type="unfinished">Angabe eines Ports benötigt für -whitebind: '%s'</translation>
@@ -936,6 +990,10 @@ Verifikations-Error: %s</translation>
<source>Transaction amounts must not be negative</source>
<translation type="unfinished">Transaktionsbeträge dürfen nicht negativ sein.</translation>
</message>
<message>
<source>Transaction change output index out of range</source>
<translation type="unfinished">Ausgangsindex der Transaktionsänderung außerhalb des Bereichs</translation>
</message>
<message>
<source>Transaction has too long of a mempool chain</source>
<translation type="unfinished">Die Speicherpoolkette der Transaktion ist zu lang.</translation>
@@ -944,6 +1002,10 @@ Verifikations-Error: %s</translation>
<source>Transaction must have at least one recipient</source>
<translation type="unfinished">Die Transaktion muss mindestens einen Empfänger enthalten.</translation>
</message>
<message>
<source>Transaction needs a change address, but we can't generate it.</source>
<translation type="unfinished">Für die Transaktion wird eine neue Adresse benötigt, aber wir können sie nicht generieren.</translation>
</message>
<message>
<source>Transaction too large</source>
<translation type="unfinished">Transaktion zu groß</translation>
@@ -972,6 +1034,10 @@ Verifikations-Error: %s</translation>
<source>Unable to open %s for writing</source>
<translation type="unfinished">Unfähig %s zum Schreiben zu öffnen</translation>
</message>
<message>
<source>Unable to parse -maxuploadtarget: '%s'</source>
<translation type="unfinished">Kann -maxuploadtarget: '%s' nicht parsen</translation>
</message>
<message>
<source>Unable to start HTTP server. See debug log for details.</source>
<translation type="unfinished">Kann HTTP-Server nicht starten. Siehe Debug-Log für Details.</translation>
@@ -1094,7 +1160,7 @@ Verifikations-Error: %s</translation>
</message>
<message>
<source>Backup wallet to another location</source>
<translation type="unfinished">Eine Wallet-Sicherungskopie erstellen und abspeichern</translation>
<translation type="unfinished">Wallet an einem anderen Ort sichern</translation>
</message>
<message>
<source>Change the passphrase used for wallet encryption</source>
@@ -1223,8 +1289,8 @@ Verifikations-Error: %s</translation>
<message numerus="yes">
<source>Processed %n block(s) of transaction history.</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform> %n Blöcke der Transaktionshistorie verarbeitet.</numerusform>
<numerusform> %n Blöcke der Transaktionshistorie verarbeitet.</numerusform>
</translation>
</message>
<message>
@@ -1263,6 +1329,10 @@ Verifikations-Error: %s</translation>
<source>Load Partially Signed Bitcoin Transaction</source>
<translation type="unfinished">Lade teilsignierte Bitcoin-Transaktion</translation>
</message>
<message>
<source>Load PSBT from &amp;clipboard</source>
<translation type="unfinished">PSBT von &amp;Zwischenablage laden...</translation>
</message>
<message>
<source>Load Partially Signed Bitcoin Transaction from clipboard</source>
<translation type="unfinished">Lade teilsignierte Bitcoin-Transaktion aus Zwischenablage</translation>
@@ -1339,12 +1409,20 @@ Verifikations-Error: %s</translation>
<source>%1 client</source>
<translation type="unfinished">%1 Client</translation>
</message>
<message>
<source>&amp;Hide</source>
<translation type="unfinished">&amp;Ausblenden</translation>
</message>
<message>
<source>S&amp;how</source>
<translation type="unfinished">S&amp;Wie</translation>
</message>
<message numerus="yes">
<source>%n active connection(s) to Bitcoin network.</source>
<extracomment>A substring of the tooltip.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n aktive Verbindung zum Bitcoin-Netzwerk.</numerusform>
<numerusform>%n aktive Verbindungen zum Bitcoin-Netzwerk.</numerusform>
</translation>
</message>
<message>
@@ -1537,6 +1615,10 @@ Verifikations-Error: %s</translation>
<source>Copy &amp;amount</source>
<translation type="unfinished">Betrag kopieren</translation>
</message>
<message>
<source>Copy transaction &amp;ID and output index</source>
<translation type="unfinished">Transaktion &amp;ID und Ausgabeindex kopieren</translation>
</message>
<message>
<source>L&amp;ock unspent</source>
<translation type="unfinished">Nicht ausgegebenen Betrag sperren</translation>
@@ -1864,8 +1946,8 @@ Verifikations-Error: %s</translation>
<source>(sufficient to restore backups %n day(s) old)</source>
<extracomment>Explanatory text on the capability of the current prune target.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>(ausreichend um %n Tag(e) alte Backups wiederherzustellen)</numerusform>
<numerusform>(ausreichend um %n Tag(e) alte Backups wiederherzustellen)</numerusform>
</translation>
</message>
<message>
@@ -2088,10 +2170,25 @@ Verifikations-Error: %s</translation>
<source>Reverting this setting requires re-downloading the entire blockchain.</source>
<translation type="unfinished">Wenn diese Einstellung rückgängig gemacht wird, muss die komplette Blockchain erneut heruntergeladen werden.</translation>
</message>
<message>
<source>Maximum database cache size. A larger cache can contribute to faster sync, after which the benefit is less pronounced for most use cases. Lowering the cache size will reduce memory usage. Unused mempool memory is shared for this cache.</source>
<extracomment>Tooltip text for Options window setting that sets the size of the database cache. Explains the corresponding effects of increasing/decreasing this value.</extracomment>
<translation type="unfinished">Maximale Größe des Datenbank-Caches. Ein größerer Cache kann zu einer schnelleren Synchronisierung beitragen, danach ist der Vorteil für die meisten Anwendungsfälle weniger ausgeprägt. Eine Verringerung der Cache-Größe reduziert den Speicherverbrauch. Ungenutzter Mempool-Speicher wird für diesen Cache gemeinsam genutzt.</translation>
</message>
<message>
<source>Set the number of script verification threads. Negative values correspond to the number of cores you want to leave free to the system.</source>
<extracomment>Tooltip text for Options window setting that sets the number of script verification threads. Explains that negative values mean to leave these many cores free to the system.</extracomment>
<translation type="unfinished">Legen Sie die Anzahl der Skriptüberprüfungs-Threads fest. Negative Werte entsprechen der Anzahl der Kerne, die Sie für das System frei lassen möchten.</translation>
</message>
<message>
<source>(0 = auto, &lt;0 = leave that many cores free)</source>
<translation type="unfinished">(0 = automatisch, &lt;0 = so viele Kerne frei lassen)</translation>
</message>
<message>
<source>This allows you or a third party tool to communicate with the node through command-line and JSON-RPC commands.</source>
<extracomment>Tooltip text for Options window setting that enables the RPC server.</extracomment>
<translation type="unfinished">Dies ermöglicht Ihnen oder einem Drittanbieter-Tool die Kommunikation mit dem Knoten über Befehlszeilen- und JSON-RPC-Befehle.</translation>
</message>
<message>
<source>Enable R&amp;PC server</source>
<extracomment>An Options window setting to enable the RPC server.</extracomment>
@@ -2101,6 +2198,16 @@ Verifikations-Error: %s</translation>
<source>W&amp;allet</source>
<translation type="unfinished">B&amp;rieftasche</translation>
</message>
<message>
<source>Whether to set subtract fee from amount as default or not.</source>
<extracomment>Tooltip text for Options window setting that sets subtracting the fee from a sending amount as default.</extracomment>
<translation type="unfinished">Wählen Sie, ob die Gebühr standardmäßig vom Betrag abgezogen werden soll oder nicht.</translation>
</message>
<message>
<source>Subtract &amp;fee from amount by default</source>
<extracomment>An Options window setting to set subtracting the fee from a sending amount as default.</extracomment>
<translation type="unfinished">Standardmäßig die Gebühr vom Betrag abziehen</translation>
</message>
<message>
<source>Expert</source>
<translation type="unfinished">Experten-Optionen</translation>
@@ -2117,6 +2224,16 @@ Verifikations-Error: %s</translation>
<source>&amp;Spend unconfirmed change</source>
<translation type="unfinished">&amp;Unbestätigtes Wechselgeld darf ausgegeben werden</translation>
</message>
<message>
<source>Enable &amp;PSBT controls</source>
<extracomment>An options window setting to enable PSBT controls.</extracomment>
<translation type="unfinished">&amp;PBST-Kontrollen aktivieren</translation>
</message>
<message>
<source>Whether to show PSBT controls.</source>
<extracomment>Tooltip text for options window setting that enables PSBT controls.</extracomment>
<translation type="unfinished">Ob PSBT-Kontrollen angezeigt werden sollen. </translation>
</message>
<message>
<source>External Signer (e.g. hardware wallet)</source>
<translation type="unfinished">Gerät für externe Signierung (z. B.: Hardware wallet)</translation>
@@ -2217,6 +2334,14 @@ Verifikations-Error: %s</translation>
<source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
<translation type="unfinished">Wählen Sie die standardmäßige Untereinheit, die in der Benutzeroberfläche und beim Überweisen von Bitcoins angezeigt werden soll.</translation>
</message>
<message>
<source>Third-party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |.</source>
<translation type="unfinished">URLs von Drittanbietern (z. B. eines Block-Explorers), erscheinen als Kontextmenüpunkte auf der Registerkarte. 1%s in der URL wird durch den Transaktionshash ersetzt. Mehrere URLs werden durch senkrechte Striche | getrennt.</translation>
</message>
<message>
<source>&amp;Third-party transaction URLs</source>
<translation type="unfinished">&amp;Transaktions-URLs von Drittanbietern</translation>
</message>
<message>
<source>Whether to show coin control features or not.</source>
<translation type="unfinished">Legt fest, ob die "Coin Control"-Funktionen angezeigt werden.</translation>
@@ -2418,6 +2543,10 @@ Verifikations-Error: %s</translation>
<source>Failed to sign transaction: %1</source>
<translation type="unfinished">Signieren der Transaktion fehlgeschlagen: %1</translation>
</message>
<message>
<source>Cannot sign inputs while wallet is locked.</source>
<translation type="unfinished">Eingaben können nicht unterzeichnet werden, wenn die Brieftasche gesperrt ist.</translation>
</message>
<message>
<source>Could not sign any more inputs.</source>
<translation type="unfinished">Konnte keinerlei weitere Eingaben signieren.</translation>
@@ -2750,6 +2879,15 @@ Wenn Sie diese Fehlermeldung erhalten, sollten Sie den Händler bitten, einen BI
<extracomment>Tooltip text for the Address Relay field in the peer details area.</extracomment>
<translation type="unfinished">Ob wir Adressen an diese Gegenstelle weiterleiten.</translation>
</message>
<message>
<source>Address Relay</source>
<translation type="unfinished">Adress-Relay</translation>
</message>
<message>
<source>Total number of addresses processed, excluding those dropped due to rate-limiting.</source>
<extracomment>Tooltip text for the Addresses Processed field in the peer details area.</extracomment>
<translation type="unfinished">Gesamtzahl der Adressen, die wegen Ratenbeschränkung verworfen wurden.</translation>
</message>
<message>
<source>Addresses Processed</source>
<translation type="unfinished">Verarbeitete Adressen</translation>
@@ -2759,6 +2897,10 @@ Wenn Sie diese Fehlermeldung erhalten, sollten Sie den Händler bitten, einen BI
<extracomment>Tooltip text for the Addresses Rate-Limited field in the peer details area.</extracomment>
<translation type="unfinished">Gesamtzahl der Adressen, die wegen Ratenbeschränkungen verworfen wurden.</translation>
</message>
<message>
<source>Addresses Rate-Limited</source>
<translation type="unfinished">Ratenbeschränkte Adressen</translation>
</message>
<message>
<source>User Agent</source>
<translation type="unfinished">User-Agent</translation>
@@ -3505,6 +3647,11 @@ Hinweis: Da die Gebühr auf Basis der Bytes berechnet wird, führt eine Gebühre
<extracomment>Message displayed when attempting to create a transaction. Cautionary text to prompt the user to verify that the displayed transaction details represent the transaction the user intends to create.</extracomment>
<translation type="unfinished">Möchtest du diese Transaktion erstellen?</translation>
</message>
<message>
<source>Please, review your transaction. You can create and send this transaction or create a Partially Signed Bitcoin Transaction (PSBT), which you can save or copy and then sign with, e.g., an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
<extracomment>Text to inform a user attempting to create a transaction of their current options. At this stage, a user can send their transaction or create a PSBT. This string is displayed when both private keys and PSBT controls are enabled.</extracomment>
<translation type="unfinished">Bitte überprüfen Sie Ihre Transaktion. Sie können diese Transaktion erstellen und versenden oder eine Partially Signed Bitcoin Transaction (PSBT) erstellen, die Sie speichern oder kopieren und dann z.B. mit einer offline %1 Wallet oder einer PSBT-kompatiblen Hardware-Wallet signieren können.</translation>
</message>
<message>
<source>Please, review your transaction.</source>
<extracomment>Text to prompt a user to review the details of the transaction they are attempting to send.</extracomment>
@@ -3565,8 +3712,8 @@ Hinweis: Da die Gebühr auf Basis der Bytes berechnet wird, führt eine Gebühre
<message numerus="yes">
<source>Estimated to begin confirmation within %n block(s).</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>Beginnt voraussichtlich in %n Block mit der Bestätigung.</numerusform>
<numerusform>Beginnt voraussichtlich in %n Blöcken mit der Bestätigung.</numerusform>
</translation>
</message>
<message>
@@ -3817,7 +3964,11 @@ Hinweis: Da die Gebühr auf Basis der Bytes berechnet wird, führt eine Gebühre
<source>(press q to shutdown and continue later)</source>
<translation type="unfinished">(drücke q, um herunterzufahren und später fortzuführen)</translation>
</message>
</context>
<message>
<source>press q to shutdown</source>
<translation type="unfinished">q zum Herunterfahren drücken</translation>
</message>
</context>
<context>
<name>TransactionDesc</name>
<message>
@@ -3891,8 +4042,8 @@ Hinweis: Da die Gebühr auf Basis der Bytes berechnet wird, führt eine Gebühre
<message numerus="yes">
<source>matures in %n more block(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>reift noch %n weiteren Block</numerusform>
<numerusform>reift noch %n weitere Blöcke.</numerusform>
</translation>
</message>
<message>
@@ -4188,6 +4339,11 @@ Hinweis: Da die Gebühr auf Basis der Bytes berechnet wird, führt eine Gebühre
<source>&amp;Edit address label</source>
<translation type="unfinished">Adressbezeichnung bearbeiten</translation>
</message>
<message>
<source>Show in %1</source>
<extracomment>Transactions table context menu action to show the selected transaction in a third-party block explorer. %1 is a stand-in argument for the URL of the explorer.</extracomment>
<translation type="unfinished">Zeige in %1</translation>
</message>
<message>
<source>Export Transaction History</source>
<translation type="unfinished">Transaktionsverlauf exportieren</translation>

View File

@@ -327,6 +327,11 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<extracomment>Peer connection type established manually through one of several methods.</extracomment>
<translation type="unfinished">Χειροκίνητα</translation>
</message>
<message>
<source>Address Fetch</source>
<extracomment>Short-lived peer connection type that solicits known addresses from a peer.</extracomment>
<translation type="unfinished">Λήψη Διεύθυνσης</translation>
</message>
<message>
<source>None</source>
<translation type="unfinished">Κανένα</translation>
@@ -472,6 +477,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source>
<translation type="unfinished">Κλάδεμα: ο τελευταίος συγχρονισμός πορτοφολιού ξεπερνά τα κλαδεμένα δεδομένα. Πρέπει να κάνετε -reindex (κατεβάστε ολόκληρο το blockchain και πάλι σε περίπτωση κλαδέματος κόμβου)</translation>
</message>
<message>
<source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
<translation type="unfinished">SQLiteDatabase: Άγνωστη sqlite έκδοση %d του schema πορτοφολιού . Υποστηρίζεται μόνο η έκδοση %d.</translation>
</message>
<message>
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
<translation type="unfinished">Η βάση δεδομένων μπλοκ περιέχει ένα μπλοκ που φαίνεται να είναι από το μέλλον. Αυτό μπορεί να οφείλεται στην εσφαλμένη ρύθμιση της ημερομηνίας και της ώρας του υπολογιστή σας. Αποκαταστήστε μόνο τη βάση δεδομένων μπλοκ αν είστε βέβαιοι ότι η ημερομηνία και η ώρα του υπολογιστή σας είναι σωστές</translation>
@@ -704,6 +713,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Need to specify a port with -whitebind: '%s'</source>
<translation type="unfinished">Πρέπει να καθορίσετε μια θύρα με -whitebind: '%s'</translation>
</message>
<message>
<source>No addresses available</source>
<translation type="unfinished">Καμμία διαθέσιμη διεύθυνση</translation>
</message>
<message>
<source>No proxy server specified. Use -proxy=&lt;ip&gt; or -proxy=&lt;ip:port&gt;.</source>
<translation type="unfinished">Δεν ορίστηκε διακομιστής μεσολάβησης. Χρησιμοποιήστε -proxy=&lt;ip&gt; ή -proxy=&lt;ip:port&gt;.</translation>
@@ -728,6 +741,18 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Rescanning</source>
<translation type="unfinished">Σάρωση εκ νέου...</translation>
</message>
<message>
<source>SQLiteDatabase: Failed to execute statement to verify database: %s</source>
<translation type="unfinished">SQLite βάση δεδομένων: Απέτυχε η εκτέλεση της δήλωσης για την επαλήθευση της βάσης δεδομένων: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Failed to prepare statement to verify database: %s</source>
<translation type="unfinished">SQLite βάση δεδομένων: Απέτυχε η προετοιμασία της δήλωσης για την επαλήθευση της βάσης δεδομένων: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Failed to read database verification error: %s</source>
<translation type="unfinished">SQLite βάση δεδομένων: Απέτυχε η ανάγνωση της επαλήθευσης του σφάλματος της βάσης δεδομένων: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Unexpected application id. Expected %u, got %u</source>
<translation type="unfinished">SQLiteDatabase: Μη αναμενόμενο αναγνωριστικό εφαρμογής. Αναμενόταν: %u, ελήφθη: %u</translation>
@@ -756,6 +781,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Specified blocks directory "%s" does not exist.</source>
<translation type="unfinished">Δεν υπάρχει κατάλογος καθορισμένων μπλοκ "%s".</translation>
</message>
<message>
<source>Starting network threads</source>
<translation type="unfinished">Εκκίνηση των threads δικτύου...</translation>
</message>
<message>
<source>The source code is available from %s.</source>
<translation type="unfinished"> Ο πηγαίος κώδικας είναι διαθέσιμος από το %s.</translation>
@@ -844,6 +873,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Unknown network specified in -onlynet: '%s'</source>
<translation type="unfinished">Έχει οριστεί άγνωστo δίκτυο στο -onlynet: '%s'</translation>
</message>
<message>
<source>Unknown new rules activated (versionbit %i)</source>
<translation type="unfinished">Ενεργοποιήθηκαν άγνωστοι νέοι κανόνες (bit έκδοσης %i)</translation>
</message>
<message>
<source>Unsupported logging category %s=%s.</source>
<translation type="unfinished">Μη υποστηριζόμενη κατηγορία καταγραφής %s=%s.</translation>
@@ -856,6 +889,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>User Agent comment (%s) contains unsafe characters.</source>
<translation type="unfinished">Το σχόλιο του παράγοντα χρήστη (%s) περιέχει μη ασφαλείς χαρακτήρες.</translation>
</message>
<message>
<source>Verifying blocks</source>
<translation type="unfinished">Επαλήθευση των blocks</translation>
</message>
<message>
<source>Verifying wallet(s)</source>
<translation type="unfinished">Επαλήθευση πορτοφολιού/ιών...</translation>
@@ -1187,12 +1224,20 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>%1 client</source>
<translation type="unfinished">%1 πελάτης</translation>
</message>
<message>
<source>&amp;Hide</source>
<translation type="unfinished">$Απόκρυψη</translation>
</message>
<message>
<source>S&amp;how</source>
<translation type="unfinished">Ε&amp;μφάνιση</translation>
</message>
<message numerus="yes">
<source>%n active connection(s) to Bitcoin network.</source>
<extracomment>A substring of the tooltip.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n active connection(s) to Bitcoin network.</numerusform>
<numerusform>%n active connection(s) to Bitcoin network.</numerusform>
</translation>
</message>
<message>
@@ -1389,6 +1434,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>L&amp;ock unspent</source>
<translation type="unfinished">L&amp;ock διαθέσιμο</translation>
</message>
<message>
<source>&amp;Unlock unspent</source>
<translation type="unfinished">&amp;Ξεκλείδωμα διαθέσιμου υπολοίπου</translation>
</message>
<message>
<source>Copy quantity</source>
<translation type="unfinished">Αντιγραφή ποσότητας</translation>
@@ -1582,6 +1631,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Descriptor Wallet</source>
<translation type="unfinished">Πορτοφόλι Περιγραφέα </translation>
</message>
<message>
<source>Use an external signing device such as a hardware wallet. Configure the external signer script in wallet preferences first.</source>
<translation type="unfinished">Χρησιμοποιήστε μια εξωτερική συσκευή υπογραφής, όπως ένα πορτοφόλι υλικού. Ρυθμίστε πρώτα στις προτιμήσεις του πορτοφολιού το εξωτερικό script υπογραφής.</translation>
</message>
<message>
<source>External signer</source>
<translation type="unfinished">Εξωτερικός υπογράφων</translation>
@@ -1594,7 +1647,12 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Compiled without sqlite support (required for descriptor wallets)</source>
<translation type="unfinished">Μεταγλωτίστηκε χωρίς την υποστήριξη sqlite (απαραίτητη για περιγραφικά πορτοφόλια )</translation>
</message>
</context>
<message>
<source>Compiled without external signing support (required for external signing)</source>
<extracomment>"External signing" means using devices such as hardware wallets.</extracomment>
<translation type="unfinished">Συντάχθηκε χωρίς την υποστήριξη εξωτερικής υπογραφής (απαιτείται για εξωτερική υπογραφή)</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -1923,6 +1981,11 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>(0 = auto, &lt;0 = leave that many cores free)</source>
<translation type="unfinished">(0 = αυτόματο, &lt;0 = ελεύθεροι πυρήνες)</translation>
</message>
<message>
<source>Enable R&amp;PC server</source>
<extracomment>An Options window setting to enable the RPC server.</extracomment>
<translation type="unfinished">Ενεργοποίηση R&amp;PC σέρβερ</translation>
</message>
<message>
<source>W&amp;allet</source>
<translation type="unfinished">Π&amp;ορτοφόλι</translation>
@@ -1943,6 +2006,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>&amp;Spend unconfirmed change</source>
<translation type="unfinished">&amp;Ξόδεμα μη επικυρωμένων ρέστων</translation>
</message>
<message>
<source>External Signer (e.g. hardware wallet)</source>
<translation type="unfinished">Εξωτερική συσκευή υπογραφής (π.χ. πορτοφόλι υλικού)</translation>
</message>
<message>
<source>Full path to a Bitcoin Core compatible script (e.g. C:\Downloads\hwi.exe or /Users/you/Downloads/hwi.py). Beware: malware can steal your coins!</source>
<translation type="unfinished">Πλήρης διαδρομή ενός script συμβατού με το Bitcoin Core (π.χ.: C:\Downloads\hwi.exe ή /Users/you/Downloads/hwi.py). Προσοχή: το κακόβουλο λογισμικό μπορεί να κλέψει τα νομίσματά σας!</translation>
@@ -1955,6 +2022,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Map port using &amp;UPnP</source>
<translation type="unfinished">Απόδοση θυρών με χρήση &amp;UPnP</translation>
</message>
<message>
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random.</source>
<translation type="unfinished">Ανοίξτε αυτόματα τη πόρτα του Bitcoin client στο router. Αυτό λειτουργεί μόνο όταν το router σας υποστηρίζει NAT-PMP και είναι ενεργοποιημένο. Η εξωτερική πόρτα μπορεί να είναι τυχαία.</translation>
</message>
<message>
<source>Map port using NA&amp;T-PMP</source>
<translation type="unfinished">Δρομολόγηση θύρας με χρήση NA&amp;T-PMP</translation>
@@ -2051,6 +2122,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>embedded "%1"</source>
<translation type="unfinished">ενσωματωμένο "%1"</translation>
</message>
<message>
<source>closest matching "%1"</source>
<translation type="unfinished">πλησιέστερη αντιστοίχιση "%1"</translation>
</message>
<message>
<source>Options set in this dialog are overridden by the command line or in the configuration file:</source>
<translation type="unfinished">Οι επιλογές που έχουν οριστεί σε αυτό το παράθυρο διαλόγου παραβλέπονται από τη γραμμή εντολών ή από το αρχείο διαμόρφωσης:</translation>
@@ -2063,6 +2138,11 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>&amp;Cancel</source>
<translation type="unfinished">&amp;Ακύρωση</translation>
</message>
<message>
<source>Compiled without external signing support (required for external signing)</source>
<extracomment>"External signing" means using devices such as hardware wallets.</extracomment>
<translation type="unfinished">Συντάχθηκε χωρίς την υποστήριξη εξωτερικής υπογραφής (απαιτείται για εξωτερική υπογραφή)</translation>
</message>
<message>
<source>default</source>
<translation type="unfinished">προεπιλογή</translation>
@@ -2094,6 +2174,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<extracomment>Explanatory text about the priority order of instructions considered by client. The order from high to low being: command-line, configuration file, GUI settings.</extracomment>
<translation type="unfinished">Το αρχείο ρυθμίσεων χρησιμοποιείται για τον προσδιορισμό των προχωρημένων επιλογών χρηστών που παρακάμπτουν τις ρυθμίσεις GUI. Επιπλέον, όλες οι επιλογές γραμμής εντολών θα αντικαταστήσουν αυτό το αρχείο ρυθμίσεων.</translation>
</message>
<message>
<source>Continue</source>
<translation type="unfinished">Συνεχίστε</translation>
</message>
<message>
<source>Cancel</source>
<translation type="unfinished">Ακύρωση</translation>
@@ -2302,6 +2386,10 @@ ID Συναλλαγής: %1</translation>
<source>Transaction still needs signature(s).</source>
<translation type="unfinished">Η συναλλαγή απαιτεί υπογραφή/ές</translation>
</message>
<message>
<source>(But no wallet is loaded.)</source>
<translation type="unfinished">(Δεν έχει γίνει φόρτωση πορτοφολιού)</translation>
</message>
<message>
<source>(But this wallet cannot sign transactions.)</source>
<translation type="unfinished">(Αλλά αυτό το πορτοφόλι δεν μπορεί να υπογράψει συναλλαγές.)</translation>
@@ -2541,6 +2629,10 @@ ID Συναλλαγής: %1</translation>
<source>Synced Blocks</source>
<translation type="unfinished">Συγχρονισμένα Μπλοκς</translation>
</message>
<message>
<source>Last Transaction</source>
<translation type="unfinished">Τελευταία Συναλλαγή</translation>
</message>
<message>
<source>The mapped Autonomous System used for diversifying peer selection.</source>
<translation type="unfinished">Το χαρτογραφημένο Αυτόνομο Σύστημα που χρησιμοποιείται για τη διαφοροποίηση της επιλογής ομοτίμων.</translation>
@@ -2597,6 +2689,10 @@ ID Συναλλαγής: %1</translation>
<source>Connection Time</source>
<translation type="unfinished">Χρόνος σύνδεσης</translation>
</message>
<message>
<source>Last Block</source>
<translation type="unfinished">Τελευταίο Block</translation>
</message>
<message>
<source>Last Send</source>
<translation type="unfinished">Τελευταία αποστολή</translation>
@@ -2661,6 +2757,11 @@ ID Συναλλαγής: %1</translation>
<source>Out:</source>
<translation type="unfinished">Εξερχόμενα:</translation>
</message>
<message>
<source>Inbound: initiated by peer</source>
<extracomment>Explanatory text for an inbound peer connection.</extracomment>
<translation type="unfinished">Εισερχόμενo: Ξεκίνησε από peer</translation>
</message>
<message>
<source>the peer selected us for high bandwidth relay</source>
<translation type="unfinished">ο ομότιμος μας επέλεξε για υψηλής ταχύτητας αναμετάδοση </translation>
@@ -2686,6 +2787,11 @@ ID Συναλλαγής: %1</translation>
<source>1 &amp;year</source>
<translation type="unfinished">1 &amp;χρόνος</translation>
</message>
<message>
<source>&amp;Copy IP/Netmask</source>
<extracomment>Context menu action to copy the IP/Netmask of a banned peer. IP/Netmask is the combination of a peer's IP address and its Netmask. For IP address, see: https://en.wikipedia.org/wiki/IP_address.</extracomment>
<translation type="unfinished">&amp;Αντιγραφή IP/Netmask</translation>
</message>
<message>
<source>&amp;Unban</source>
<translation type="unfinished">&amp;Ακύρωση Απαγόρευσης</translation>
@@ -3138,6 +3244,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<source>%1 to %2</source>
<translation type="unfinished">%1 προς το %2</translation>
</message>
<message>
<source>To review recipient list click "Show Details…"</source>
<translation type="unfinished">Για να αναθεωρήσετε τη λίστα παραληπτών, κάντε κλικ στην επιλογή "Εμφάνιση λεπτομερειών..."</translation>
</message>
<message>
<source>Sign failed</source>
<translation type="unfinished">H εγγραφή απέτυχε</translation>
@@ -3160,6 +3270,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<source>PSBT saved</source>
<translation type="unfinished">Το PSBT αποθηκεύτηκε</translation>
</message>
<message>
<source>External balance:</source>
<translation type="unfinished">Εξωτερικό υπόλοιπο:</translation>
</message>
<message>
<source>or</source>
<translation type="unfinished">ή</translation>
@@ -3173,6 +3287,11 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<extracomment>Text to inform a user attempting to create a transaction of their current options. At this stage, a user can only create a PSBT. This string is displayed when private keys are disabled and an external signer is not available.</extracomment>
<translation type="unfinished">Παρακαλούμε, ελέγξτε την πρόταση συναλλαγής. Θα παραχθεί μια συναλλαγή Bitcoin με μερική υπογραφή (PSBT), την οποία μπορείτε να αντιγράψετε και στη συνέχεια να υπογράψετε με π.χ. ένα πορτοφόλι %1 εκτός σύνδεσης ή ένα πορτοφόλι υλικού συμβατό με το PSBT.</translation>
</message>
<message>
<source>Do you want to create this transaction?</source>
<extracomment>Message displayed when attempting to create a transaction. Cautionary text to prompt the user to verify that the displayed transaction details represent the transaction the user intends to create.</extracomment>
<translation type="unfinished">Θέλετε να δημιουργήσετε αυτήν τη συναλλαγή;</translation>
</message>
<message>
<source>Please, review your transaction.</source>
<extracomment>Text to prompt a user to review the details of the transaction they are attempting to send.</extracomment>
@@ -3484,6 +3603,17 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<translation type="unfinished">Το μήνυμα επαληθεύτηκε.</translation>
</message>
</context>
<context>
<name>SplashScreen</name>
<message>
<source>(press q to shutdown and continue later)</source>
<translation type="unfinished">(πατήστε q για κλείσιμο και συνεχίστε αργότερα)</translation>
</message>
<message>
<source>press q to shutdown</source>
<translation type="unfinished">πατήστε q για κλείσιμο</translation>
</message>
</context>
<context>
<name>TransactionDesc</name>
<message>

View File

@@ -3470,7 +3470,7 @@ For more information on using this console, type %6.
<name>SendCoinsDialog</name>
<message>
<location filename="../forms/sendcoinsdialog.ui" line="+14"/>
<location filename="../sendcoinsdialog.cpp" line="+752"/>
<location filename="../sendcoinsdialog.cpp" line="+771"/>
<source>Send Coins</source>
<translation>Send Coins</translation>
</message>
@@ -3657,7 +3657,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of &quot;100
<translation>S&amp;end</translation>
</message>
<message>
<location filename="../sendcoinsdialog.cpp" line="-653"/>
<location filename="../sendcoinsdialog.cpp" line="-672"/>
<source>Copy quantity</source>
<translation type="unfinished"></translation>
</message>
@@ -3744,24 +3744,24 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of &quot;100
<translation type="unfinished"></translation>
</message>
<message>
<location line="+44"/>
<location line="+60"/>
<source>Sign failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<location line="+5"/>
<source>External signer not found</source>
<extracomment>&quot;External signer&quot; means using devices such as hardware wallets.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<location line="+5"/>
<source>External signer failure</source>
<extracomment>&quot;External signer&quot; means using devices such as hardware wallets.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+58"/>
<location line="-34"/>
<source>Save Transaction Data</source>
<translation type="unfinished"></translation>
</message>
@@ -3777,12 +3777,12 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of &quot;100
<translation type="unfinished"></translation>
</message>
<message>
<location line="+176"/>
<location line="+273"/>
<source>External balance:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-303"/>
<location line="-322"/>
<source>or</source>
<translation type="unfinished"></translation>
</message>
@@ -3831,12 +3831,12 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of &quot;100
<translation type="unfinished"></translation>
</message>
<message>
<location line="+25"/>
<location line="+99"/>
<source>Confirm send coins</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+284"/>
<location line="+229"/>
<source>Watch-only balance:</source>
<translation type="unfinished"></translation>
</message>
@@ -4027,7 +4027,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of &quot;100
<context>
<name>SendConfirmationDialog</name>
<message>
<location filename="../sendcoinsdialog.h" line="+131"/>
<location filename="../sendcoinsdialog.h" line="+144"/>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
@@ -5060,7 +5060,7 @@ Go to File &gt; Open Wallet to load a wallet.
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<location line="+7"/>
<source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source>
<translation type="unfinished"></translation>
</message>
@@ -5120,7 +5120,7 @@ Go to File &gt; Open Wallet to load a wallet.
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<location line="+5"/>
<source>Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee.</source>
<translation type="unfinished"></translation>
</message>
@@ -5160,7 +5160,7 @@ Go to File &gt; Open Wallet to load a wallet.
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<location line="+7"/>
<source>Please check that your computer&apos;s date and time are correct! If your clock is wrong, %s will not work properly.</source>
<translation type="unfinished"></translation>
</message>
@@ -5305,7 +5305,12 @@ Go to File &gt; Open Wallet to load a wallet.
<translation type="unfinished"></translation>
</message>
<message>
<location line="-69"/>
<location line="-88"/>
<source>%s request to listen on port %u. This port is considered &quot;bad&quot; and thus it is unlikely that any Bitcoin Core peers connect to it. See doc/p2p-bad-ports.md for details and a full list.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>Cannot provide specific connections and have addrman find outgoing connections at the same time.</source>
<translation type="unfinished"></translation>
</message>
@@ -5315,7 +5320,17 @@ Go to File &gt; Open Wallet to load a wallet.
<translation type="unfinished"></translation>
</message>
<message>
<location line="+118"/>
<location line="+21"/>
<source>Failed to rename invalid peers.dat file. Please move or delete it and try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+27"/>
<source>Outbound connections restricted to Tor (-onlynet=onion) but the proxy for reaching the Tor network is not provided (no -proxy= and no -onion= given) or it is explicitly forbidden (-onion=0)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+77"/>
<source>Config setting for %s only applied on %s network when in [%s] section.</source>
<translation type="unfinished"></translation>
</message>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -161,6 +161,14 @@
<source>Wallet encrypted</source>
<translation type="unfinished">Monedero cifrado</translation>
</message>
<message>
<source>Your wallet is about to be encrypted. </source>
<translation type="unfinished">Tu monedero va a ser cifrado</translation>
</message>
<message>
<source>Your wallet is now encrypted. </source>
<translation type="unfinished">Tu monedero está ahora cifrado</translation>
</message>
<message>
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation type="unfinished">IMPORTANTE: Cualquier copia de seguridad que haya realizado previamente de su archivo de monedero debe reemplazarse con el nuevo archivo de monedero cifrado. Por razones de seguridad, las copias de seguridad previas del archivo de monedero no cifradas serán inservibles en cuanto comience a usar el nuevo monedero cifrado.</translation>
@@ -194,6 +202,13 @@
<translation type="unfinished">Aviso: ¡La tecla de bloqueo de mayúsculas está activada!</translation>
</message>
</context>
<context>
<name>BitcoinApplication</name>
<message>
<source>Internal error</source>
<translation type="unfinished">Error interno</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
@@ -384,6 +399,14 @@
<source>Show information about Qt</source>
<translation type="unfinished">Mostrar información acerca de Qt</translation>
</message>
<message>
<source>Create a new wallet</source>
<translation type="unfinished">Crear monedero nuevo</translation>
</message>
<message>
<source>&amp;Minimize</source>
<translation type="unfinished">Minimizar</translation>
</message>
<message>
<source>Send coins to a Bitcoin address</source>
<translation type="unfinished">Enviar monedas a una dirección Bitcoin</translation>
@@ -404,6 +427,10 @@
<source>&amp;Receive</source>
<translation type="unfinished">&amp;Recibir</translation>
</message>
<message>
<source>&amp;Encrypt Wallet</source>
<translation type="unfinished">&amp;Cifrar monedero</translation>
</message>
<message>
<source>Encrypt the private keys that belong to your wallet</source>
<translation type="unfinished">Encriptar las llaves privadas que pertenecen a tu billetera</translation>
@@ -1753,6 +1780,13 @@
<translation type="unfinished">para</translation>
</message>
</context>
<context>
<name>WalletFrame</name>
<message>
<source>Create a new wallet</source>
<translation type="unfinished">Crear monedero nuevo</translation>
</message>
</context>
<context>
<name>WalletModel</name>
<message>

File diff suppressed because it is too large Load Diff

View File

@@ -69,6 +69,12 @@
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
<translation type="unfinished">Estas son sus direcciones Bitcoin para enviar pagos. Compruebe siempre la cantidad y la dirección de recibo antes de transferir monedas.</translation>
</message>
<message>
<source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
Signing is only possible with addresses of the type 'legacy'.</source>
<translation type="unfinished">lista de tus direcciones de Bitcoin para recibir pagos. Para crear una nueva direccion elija en la pestana recibir la opcion "Crear una nueva direccion"
Registrarse solo es posible utilizando una direccion tipo "Legal"</translation>
</message>
<message>
<source>&amp;Copy Address</source>
<translation type="unfinished">Copiar dirección</translation>

View File

@@ -527,6 +527,10 @@
<source>Up to date</source>
<translation type="unfinished">Ajakohane</translation>
</message>
<message>
<source>Open Wallet</source>
<translation type="unfinished">Ava Rahakott</translation>
</message>
<message>
<source>&amp;Window</source>
<translation type="unfinished">&amp;Aken</translation>
@@ -701,6 +705,14 @@
<translation type="unfinished">(vahetusraha)</translation>
</message>
</context>
<context>
<name>OpenWalletActivity</name>
<message>
<source>Open Wallet</source>
<extracomment>Title of window indicating the progress of opening of a wallet.</extracomment>
<translation type="unfinished">Ava Rahakott</translation>
</message>
</context>
<context>
<name>CreateWalletDialog</name>
<message>

File diff suppressed because it is too large Load Diff

View File

@@ -1,13 +1,9 @@
<TS version="2.1" language="fa">
<context>
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
<translation type="unfinished">برای ویرایش نشانی یا برچسب زدن کلیک راست کنید</translation>
</message>
<message>
<source>Create a new address</source>
<translation type="unfinished">آدرس جدید ایجاد کنید</translation>
<translation type="unfinished">یک آدرس جدید ایجاد کنید</translation>
</message>
<message>
<source>&amp;New</source>
@@ -39,12 +35,20 @@
</message>
<message>
<source>&amp;Export</source>
<translation type="unfinished">صدور</translation>
<translation type="unfinished">&amp;صدور</translation>
</message>
<message>
<source>&amp;Delete</source>
<translation type="unfinished">حذف</translation>
</message>
<message>
<source>Choose the address to send coins to</source>
<translation type="unfinished">آدرس را برای ارسال کوین وارد کنید</translation>
</message>
<message>
<source>Choose the address to receive coins with</source>
<translation type="unfinished">آدرس را برای دریافت کوین وارد کنید</translation>
</message>
<message>
<source>C&amp;hoose</source>
<translation type="unfinished">انتخاب</translation>
@@ -160,7 +164,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
<translation type="unfinished">هشدار: اگر کیف پول خود را رمزگذاری کنید و عبارت خود را گام کنید ، این کار را انجام می دهید &lt;b&gt;تمام کویت های خود را از دست &lt;/b&gt;استفاده کنید!
<translation type="unfinished">هشدار: اگر کیف پول خود را رمزگذاری کنید و عبارت خود را گم کنید ، &lt;b&gt;تمام کویت های خود را از دست &lt;/b&gt;خواهید داد!
</translation>
</message>
<message>
@@ -367,31 +371,31 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message numerus="yes">
<source>%n second(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n second(s)</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n minute(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n minute(s)</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n hour(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n hour(s)</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n day(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n day(s)</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n week(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n week(s)</numerusform>
</translation>
</message>
<message>
@@ -401,7 +405,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message numerus="yes">
<source>%n year(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n year(s)</numerusform>
</translation>
</message>
<message>
@@ -1012,7 +1016,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message numerus="yes">
<source>Processed %n block(s) of transaction history.</source>
<translation type="unfinished">
<numerusform />
<numerusform>Processed %n block(s) of transaction history.</numerusform>
</translation>
</message>
<message>
@@ -1114,11 +1118,15 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>%1 client</source>
<translation type="unfinished">کلاینت: %1</translation>
</message>
<message>
<source>&amp;Hide</source>
<translation type="unfinished">مخفی کن</translation>
</message>
<message numerus="yes">
<source>%n active connection(s) to Bitcoin network.</source>
<extracomment>A substring of the tooltip.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform>%n active connection(s) to Bitcoin network.</numerusform>
</translation>
</message>
<message>
@@ -1472,7 +1480,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</source>
<translation type="unfinished">کیف پول را رمز نگاری نمائید. کیف پول با کلمات رمز انتخاب خودتان رمز نگاری خواهد شد</translation>
<translation type="unfinished">کیف پول را رمز نگاری نمائید. کیف پول با کلمات رمز دلخواه شما رمز نگاری خواهد شد</translation>
</message>
<message>
<source>Encrypt Wallet</source>
@@ -1613,7 +1621,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>(sufficient to restore backups %n day(s) old)</source>
<extracomment>Explanatory text on the capability of the current prune target.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform>(sufficient to restore backups %n day(s) old)</numerusform>
</translation>
</message>
<message>
@@ -3174,7 +3182,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<message numerus="yes">
<source>Estimated to begin confirmation within %n block(s).</source>
<translation type="unfinished">
<numerusform />
<numerusform>Estimated to begin confirmation within %n block(s).</numerusform>
</translation>
</message>
<message>
@@ -3478,7 +3486,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<message numerus="yes">
<source>matures in %n more block(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>matures in %n more block(s)</numerusform>
</translation>
</message>
<message>

View File

@@ -332,36 +332,36 @@ Allekirjoitus on mahdollista vain 'legacy'-tyyppisillä osoitteilla.</translatio
<message numerus="yes">
<source>%n second(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n sekunti</numerusform>
<numerusform>%n sekuntia</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n minute(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n minuutti</numerusform>
<numerusform>%n minuuttia</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n hour(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n tunti</numerusform>
<numerusform>%n tuntia</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n day(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n päivä</numerusform>
<numerusform>%n päivää</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n week(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n viikko</numerusform>
<numerusform>%n viikkoa</numerusform>
</translation>
</message>
<message>
@@ -371,8 +371,8 @@ Allekirjoitus on mahdollista vain 'legacy'-tyyppisillä osoitteilla.</translatio
<message numerus="yes">
<source>%n year(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n vuosi</numerusform>
<numerusform>%n vuotta</numerusform>
</translation>
</message>
</context>
@@ -714,6 +714,10 @@ Allekirjoitus on mahdollista vain 'legacy'-tyyppisillä osoitteilla.</translatio
<source>Need to specify a port with -whitebind: '%s'</source>
<translation type="unfinished">Pitää määritellä portti argumentilla -whitebind: '%s'</translation>
</message>
<message>
<source>No addresses available</source>
<translation type="unfinished">Osoitteita ei ole saatavilla</translation>
</message>
<message>
<source>No proxy server specified. Use -proxy=&lt;ip&gt; or -proxy=&lt;ip:port&gt;.</source>
<translation type="unfinished">Välityspalvelinta ei ole määritetty. Käytä -proxy=&lt;ip&gt; tai -proxy=&lt;ip:port&gt;.</translation>
@@ -1221,6 +1225,10 @@ Allekirjoitus on mahdollista vain 'legacy'-tyyppisillä osoitteilla.</translatio
<source>%1 client</source>
<translation type="unfinished">%1-asiakas</translation>
</message>
<message>
<source>&amp;Hide</source>
<translation type="unfinished">&amp;Piilota</translation>
</message>
<message numerus="yes">
<source>%n active connection(s) to Bitcoin network.</source>
<extracomment>A substring of the tooltip.</extracomment>
@@ -2373,6 +2381,10 @@ Allekirjoitus on mahdollista vain 'legacy'-tyyppisillä osoitteilla.</translatio
<source>Transaction still needs signature(s).</source>
<translation type="unfinished">Siirto tarvitsee vielä allekirjoituksia.</translation>
</message>
<message>
<source>(But no wallet is loaded.)</source>
<translation type="unfinished">(Mutta lompakkoa ei ole ladattu.)</translation>
</message>
<message>
<source>(But this wallet cannot sign transactions.)</source>
<translation type="unfinished">(Mutta tämä lompakko ei voi allekirjoittaa siirtoja.)</translation>

View File

@@ -1,6 +1,14 @@
<TS version="2.1" language="fil">
<context>
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
<translation type="unfinished">Mag-right click para ibahin ang address o label</translation>
</message>
<message>
<source>Create a new address</source>
<translation type="unfinished">Gumawa ng bagong address</translation>
</message>
<message>
<source>&amp;New</source>
<translation type="unfinished">Bago</translation>
@@ -11,7 +19,7 @@
</message>
<message>
<source>&amp;Copy</source>
<translation type="unfinished">Kopyahin</translation>
<translation type="unfinished">gayahin</translation>
</message>
<message>
<source>C&amp;lose</source>
@@ -23,15 +31,15 @@
</message>
<message>
<source>Enter address or label to search</source>
<translation type="unfinished">I-enter ang address o label upang maghanap</translation>
<translation type="unfinished">Maglagay ng address o label upang maghanap</translation>
</message>
<message>
<source>Export the data in the current tab to a file</source>
<translation type="unfinished">Angkatin ang datos sa kasalukuyang tab sa talaksan</translation>
<translation type="unfinished">I-exporte yung datos sa kasalukuyang tab doon sa pila</translation>
</message>
<message>
<source>&amp;Export</source>
<translation type="unfinished">I-export</translation>
<translation type="unfinished">I-exporte</translation>
</message>
<message>
<source>&amp;Delete</source>
@@ -64,12 +72,11 @@
<message>
<source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
Signing is only possible with addresses of the type 'legacy'.</source>
<translation type="unfinished">Ito ang iyong Bitcoin addresses upang makatanggap ng salapi. Gamitin ang 'Create new receiving address' button sa receive tab upang lumikha ng bagong address. Ang signing ay posible lamang sa mga addresses na nasa anyong 'legacy'.
</translation>
<translation type="unfinished">Ito ang iyong mga Bitcoin address upang makatanggap ng mga salapi. Gamitin niyo ang 'Gumawa ng bagong address' na pindutan sa 'Tumanggap' na tab upang makagawa ng bagong address. Ang pagpirma ay posible lamang sa mga address na may uring 'legacy'.</translation>
</message>
<message>
<source>&amp;Copy Address</source>
<translation type="unfinished">Kopyahin ang address</translation>
<translation type="unfinished">Kopyahin ang Address</translation>
</message>
<message>
<source>Copy &amp;Label</source>
@@ -77,20 +84,20 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>&amp;Edit</source>
<translation type="unfinished">I-edit</translation>
<translation type="unfinished">Ibahin</translation>
</message>
<message>
<source>Export Address List</source>
<translation type="unfinished">I-export ang Listahan ng Address</translation>
<translation type="unfinished">I-exporte ang Listahan ng Address</translation>
</message>
<message>
<source>There was an error trying to save the address list to %1. Please try again.</source>
<extracomment>An error message. %1 is a stand-in argument for the name of the file we attempted to save to.</extracomment>
<translation type="unfinished">Mayroong error sa pag-save ng listahan ng address sa %1. Subukang muli.</translation>
<translation type="unfinished">Mayroong error sa pag-save ng listahan ng address sa %1. Subukan muli.</translation>
</message>
<message>
<source>Exporting Failed</source>
<translation type="unfinished">Nabigo ang Pag-export</translation>
<translation type="unfinished">Nabigo ang pag-exporte</translation>
</message>
</context>
<context>
@@ -102,9 +109,13 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</context>
<context>
<name>AskPassphraseDialog</name>
<message>
<source>Passphrase Dialog</source>
<translation type="unfinished">Diyalogo ng passphrase</translation>
</message>
<message>
<source>Enter passphrase</source>
<translation type="unfinished">Ipasok ang passphrase</translation>
<translation type="unfinished">Maglagay ng passphrase</translation>
</message>
<message>
<source>New passphrase</source>
@@ -116,19 +127,19 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Show passphrase</source>
<translation type="unfinished">Ipakita ang Passphrase</translation>
<translation type="unfinished">Ipakita ang passphrase</translation>
</message>
<message>
<source>Encrypt wallet</source>
<translation type="unfinished">I-encrypt ang walet.</translation>
<translation type="unfinished">I-enkripto ang pitaka</translation>
</message>
<message>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation type="unfinished">Kailangan ng operasyong ito ang passphrase ng iyong walet upang mai-unlock ang walet.</translation>
<translation type="unfinished">Kailangan ng operasyong ito and inyong wallet passphrase upang mai-unlock ang wallet.</translation>
</message>
<message>
<source>Unlock wallet</source>
<translation type="unfinished">I-unlock ang walet.</translation>
<translation type="unfinished">I-unlock ang pitaka</translation>
</message>
<message>
<source>Change passphrase</source>
@@ -136,7 +147,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Confirm wallet encryption</source>
<translation type="unfinished">Kumpirmahin ang pag-encrypt ng walet.</translation>
<translation type="unfinished">Kumpirmahin ang pag-enkripto ng pitaka</translation>
</message>
<message>
<source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
@@ -148,11 +159,11 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Wallet encrypted</source>
<translation type="unfinished">Naka-encrypt ang walet.</translation>
<translation type="unfinished">Naka-enkripto na ang pitaka</translation>
</message>
<message>
<source>Enter the new passphrase for the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;ten or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation type="unfinished">Ipasok ang bagong passphrase para sa wallet. &lt;br/&gt;Mangyaring gumamit ng isang passphrase na may &lt;b&gt;sampu o higit pang mga random na character&lt;/b&gt;, o &lt;b&gt;walo o higit pang mga salita&lt;/b&gt;.</translation>
<translation type="unfinished">Ipasok ang bagong passphrase para sa wallet. &lt;br/&gt;Mangyaring gumamit ng isang passphrase na may &lt;b&gt;sampu o higit pang mga random na karakter, o &lt;b&gt;walo o higit pang mga salita&lt;/b&gt;.</translation>
</message>
<message>
<source>Enter the old passphrase and new passphrase for the wallet.</source>
@@ -160,51 +171,51 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
<translation type="unfinished">Tandaan na ang pag-encrypt ng iyong pitaka ay hindi maaaring ganap na maprotektahan ang iyong mga bitcoin mula sa pagnanakaw ng malware na nahahawa sa iyong computer.</translation>
<translation type="unfinished">Tandaan na ang pag-eenkripto ng iyong pitaka ay hindi buong makakaprotekta sa inyong mga bitcoin mula sa pagnanakaw ng mga nag-iimpektong malware.</translation>
</message>
<message>
<source>Wallet to be encrypted</source>
<translation type="unfinished">Ang naka-encrypt na wallet</translation>
<translation type="unfinished">Ang naka-enkripto na pitaka</translation>
</message>
<message>
<source>Your wallet is about to be encrypted. </source>
<translation type="unfinished">Malapit na ma-encrypt ang iyong pitaka.</translation>
<translation type="unfinished">Malapit na ma-enkripto ang iyong pitaka.</translation>
</message>
<message>
<source>Your wallet is now encrypted. </source>
<translation type="unfinished">Ang iyong wallet ay naka-encrypt na ngayon.</translation>
<translation type="unfinished">Na-ienkripto na ang iyong pitaka.</translation>
</message>
<message>
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation type="unfinished">MAHALAGA: Anumang nakaraang mga backup na ginawa mo sa iyong walet file ay dapat mapalitan ng bagong-buong, naka-encrypt na walet file. Para sa mga kadahilanang pangseguridad, ang mga nakaraang pag-backup ng hindi naka-encrypt na walet file ay mapagwawalang-silbi sa sandaling simulan mong gamitin ang bagong naka-encrypt na walet.</translation>
<translation type="unfinished">MAHALAGA: Anumang nakaraang mga backup na ginawa mo sa iyong wallet file ay dapat mapalitan ng bagong-buong, naka-encrypt na wallet file. Para sa mga kadahilanang pangseguridad, ang mga nakaraang pag-backup ng hindi naka-encrypt na wallet file ay mapagwawalang-silbi sa sandaling simulan mong gamitin ang bagong naka-encrypt na wallet.</translation>
</message>
<message>
<source>Wallet encryption failed</source>
<translation type="unfinished">Nabigo ang pag-encrypt ng walet</translation>
<translation type="unfinished">Nabigo ang pag-enkripto ng pitaka</translation>
</message>
<message>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation type="unfinished">Nabigo ang pag-encrypt ng walet dahil sa isang panloob na error. Hindi na-encrypt ang iyong walet.</translation>
<translation type="unfinished">Nabigo ang pag-enkripto ng iyong pitaka dahil sa isang internal error. Hindi na-enkripto ang iyong pitaka.</translation>
</message>
<message>
<source>The supplied passphrases do not match.</source>
<translation type="unfinished">Ang mga ibinigay na passphrase ay hindi tumutugma.</translation>
<translation type="unfinished">Ang mga ibinigay na passphrase ay hindi nakatugma.</translation>
</message>
<message>
<source>Wallet unlock failed</source>
<translation type="unfinished">Nabigo ang pag-unlock ng walet</translation>
<translation type="unfinished">Nabigo ang pag-unlock ng pitaka</translation>
</message>
<message>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation type="unfinished">Ang passphrase na ipinasok para sa pag-decrypt ng walet ay hindi tama.</translation>
<translation type="unfinished">Ang passphrase na inilagay para sa pag-dedekripto ng pitaka ay hindi tama</translation>
</message>
<message>
<source>Wallet passphrase was successfully changed.</source>
<translation type="unfinished">Matagumpay na nabago ang passphrase ng walet.</translation>
<translation type="unfinished">Maayos na nabago ang inyong pitaka.</translation>
</message>
<message>
<source>Warning: The Caps Lock key is on!</source>
<translation type="unfinished">Babala: Ang Caps Lock key ay nakabukas!</translation>
<translation type="unfinished">Babala: Ang Caps Lock key ay naka-on!</translation>
</message>
</context>
<context>
@@ -656,7 +667,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Show general overview of wallet</source>
<translation type="unfinished">Ipakita ang pangkalahatan ng walet</translation>
<translation type="unfinished">Ipakita ang pangkalahatan ng pitaka</translation>
</message>
<message>
<source>&amp;Transactions</source>
@@ -668,15 +679,15 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>E&amp;xit</source>
<translation type="unfinished">Labasan</translation>
<translation type="unfinished">Umalis</translation>
</message>
<message>
<source>Quit application</source>
<translation type="unfinished">Ihinto ang application</translation>
<translation type="unfinished">Isarado ang aplikasyon</translation>
</message>
<message>
<source>&amp;About %1</source>
<translation type="unfinished">Mga %1</translation>
<translation type="unfinished">&amp;Mga %1</translation>
</message>
<message>
<source>Show information about %1</source>
@@ -684,7 +695,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>About &amp;Qt</source>
<translation type="unfinished">Tungkol &amp;QT</translation>
<translation type="unfinished">Mga &amp;Qt</translation>
</message>
<message>
<source>Show information about Qt</source>
@@ -696,32 +707,36 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Create a new wallet</source>
<translation type="unfinished">Gumawa ng Bagong Pitaka</translation>
<translation type="unfinished">Gumawa ng baong pitaka</translation>
</message>
<message>
<source>&amp;Minimize</source>
<translation type="unfinished">&amp;Pagliitin</translation>
</message>
<message>
<source>Wallet:</source>
<translation type="unfinished">Walet:</translation>
<translation type="unfinished">Pitaka:</translation>
</message>
<message>
<source>Network activity disabled.</source>
<extracomment>A substring of the tooltip.</extracomment>
<translation type="unfinished">Ang aktibidad ng network ay hindi pinagana.</translation>
<translation type="unfinished">Ang aktibidad ng network ay dinisable.</translation>
</message>
<message>
<source>Proxy is &lt;b&gt;enabled&lt;/b&gt;: %1</source>
<translation type="unfinished">Ang proxy ay &lt;b&gt;pinagana&lt;/b&gt;: %1</translation>
<translation type="unfinished">Ang proxy ay &lt;b&gt;in-inable&lt;/b&gt;: %1</translation>
</message>
<message>
<source>Send coins to a Bitcoin address</source>
<translation type="unfinished">Magpadala ng coins sa Bitcoin address</translation>
<translation type="unfinished">Magpadala ng coins sa isang Bitcoin address</translation>
</message>
<message>
<source>Backup wallet to another location</source>
<translation type="unfinished">I-backup ang walet sa isa pang lokasyon</translation>
<translation type="unfinished">I-backup ang pitaka sa isa pang lokasyon</translation>
</message>
<message>
<source>Change the passphrase used for wallet encryption</source>
<translation type="unfinished">Palitan ang passphrase na ginamit para sa pag-encrypt ng walet</translation>
<translation type="unfinished">Palitan ang passphrase na ginamit para sa pag-enkripto ng pitaka</translation>
</message>
<message>
<source>&amp;Send</source>
@@ -731,6 +746,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>&amp;Receive</source>
<translation type="unfinished">Tumanggap</translation>
</message>
<message>
<source>&amp;Options…</source>
<translation type="unfinished">&amp;Opsyon</translation>
</message>
<message>
<source>Encrypt the private keys that belong to your wallet</source>
<translation type="unfinished">I-encrypt ang private keys na kabilang sa iyong walet</translation>
@@ -866,8 +885,8 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>%n active connection(s) to Bitcoin network.</source>
<extracomment>A substring of the tooltip.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n aktibong konekyson sa network ng Bitcoin</numerusform>
<numerusform>%n mga aktibong koneksyon sa network ng Bitcoin</numerusform>
</translation>
</message>
<message>
@@ -877,7 +896,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message>
<source>Date: %1
</source>
<translation type="unfinished">Petsa: %1
<translation type="unfinished">Datiles: %1
</translation>
</message>
<message>
@@ -912,30 +931,30 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>HD key generation is &lt;b&gt;disabled&lt;/b&gt;</source>
<translation type="unfinished">Ang HD key generation ay &lt;b&gt;hindi gumagana&lt;/b&gt;</translation>
<translation type="unfinished">Ang HD key generation ay &lt;b&gt;pinatigil&lt;/b&gt;</translation>
</message>
<message>
<source>Private key &lt;b&gt;disabled&lt;/b&gt;</source>
<translation type="unfinished">Private key ay &lt;b&gt;hindi gumagana&lt;/b&gt;</translation>
<translation type="unfinished">Ang private key ay &lt;b&gt;pinatigil&lt;/b&gt;</translation>
</message>
<message>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation type="unfinished">Walet ay &lt;b&gt;na-encrypt&lt;/b&gt; at kasalukuyang &lt;b&gt;naka-unlock&lt;/b&gt;</translation>
<translation type="unfinished">Ang pitaka ay &lt;b&gt;na-enkriptuhan&lt;/b&gt; at kasalukuyang &lt;b&gt;naka-lock&lt;/b&gt;</translation>
</message>
<message>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation type="unfinished">Walet ay na-encrypt at kasalukuyang naka-lock.</translation>
<translation type="unfinished">Ang pitaka ay &lt;b&gt;na-enkriptuhan&lt;/b&gt; at kasalukuyang &lt;b&gt;nakasarado&lt;/b&gt;</translation>
</message>
<message>
<source>Original message:</source>
<translation type="unfinished">Orihinal na mensahe:</translation>
<translation type="unfinished">Ang orihinal na mensahe:</translation>
</message>
</context>
<context>
<name>UnitDisplayStatusBarControl</name>
<message>
<source>Unit to show amounts in. Click to select another unit.</source>
<translation type="unfinished">Unit na gamit upang ipakita ang mga halaga. I-klik upang pumili ng isa pang yunit.</translation>
<translation type="unfinished">Ang yunit na gamitin sa pagpapakita ng mga halaga. I-click upang pumili ng bagong yunit.</translation>
</message>
</context>
<context>
@@ -958,7 +977,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>After Fee:</source>
<translation type="unfinished">Pagkatapos ng Bayad:</translation>
<translation type="unfinished">Bayad sa pagtapusan:</translation>
</message>
<message>
<source>Change:</source>
@@ -966,7 +985,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>(un)select all</source>
<translation type="unfinished">(huwag)piliin lahat</translation>
<translation type="unfinished">(huwag) piliin ang lahat</translation>
</message>
<message>
<source>Amount</source>
@@ -982,7 +1001,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Date</source>
<translation type="unfinished">Petsa</translation>
<translation type="unfinished">Datiles</translation>
</message>
<message>
<source>Confirmations</source>
@@ -996,6 +1015,22 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Copy amount</source>
<translation type="unfinished">Kopyahin ang halaga</translation>
</message>
<message>
<source>&amp;Copy address</source>
<translation type="unfinished">&amp;Kopyahin and address</translation>
</message>
<message>
<source>Copy &amp;label</source>
<translation type="unfinished">Kopyahin ang &amp;label</translation>
</message>
<message>
<source>Copy &amp;amount</source>
<translation type="unfinished">Kopyahin ang &amp;halaga</translation>
</message>
<message>
<source>Copy transaction &amp;ID and output index</source>
<translation type="unfinished">Kopyahin ang &amp;ID ng transaksyon at output index</translation>
</message>
<message>
<source>Copy quantity</source>
<translation type="unfinished">Kopyahin ang dami</translation>
@@ -1022,7 +1057,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>(%1 locked)</source>
<translation type="unfinished">(%1 ay naka-lock)</translation>
<translation type="unfinished">(%1 Naka-lock)</translation>
</message>
<message>
<source>yes</source>
@@ -1971,6 +2006,11 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Out:</source>
<translation type="unfinished">Labas:</translation>
</message>
<message>
<source>&amp;Copy address</source>
<extracomment>Context menu action to copy the address of a peer.</extracomment>
<translation type="unfinished">&amp;Kopyahin and address</translation>
</message>
<message>
<source>&amp;Disconnect</source>
<translation type="unfinished">Idiskonekta</translation>
@@ -2106,6 +2146,18 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Copy &amp;URI</source>
<translation type="unfinished">Kopyahin ang URI</translation>
</message>
<message>
<source>&amp;Copy address</source>
<translation type="unfinished">&amp;Kopyahin and address</translation>
</message>
<message>
<source>Copy &amp;label</source>
<translation type="unfinished">Kopyahin ang &amp;label</translation>
</message>
<message>
<source>Copy &amp;amount</source>
<translation type="unfinished">Kopyahin ang &amp;halaga</translation>
</message>
<message>
<source>Could not unlock wallet.</source>
<translation type="unfinished">Hindi magawang ma-unlock ang walet.</translation>
@@ -2931,6 +2983,18 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Min amount</source>
<translation type="unfinished">Minimum na halaga</translation>
</message>
<message>
<source>&amp;Copy address</source>
<translation type="unfinished">&amp;Kopyahin and address</translation>
</message>
<message>
<source>Copy &amp;label</source>
<translation type="unfinished">Kopyahin ang &amp;label</translation>
</message>
<message>
<source>Copy &amp;amount</source>
<translation type="unfinished">Kopyahin ang &amp;halaga</translation>
</message>
<message>
<source>Export Transaction History</source>
<translation type="unfinished">I-export ang Kasaysayan ng Transaksyon</translation>

View File

@@ -229,7 +229,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Warning: The Caps Lock key is on!</source>
<translation type="unfinished">Avertissement : La touche Verr. Maj. est activée!</translation>
<translation type="unfinished">Avertissement : La touche Verr. Maj. est activée</translation>
</message>
</context>
<context>
@@ -247,7 +247,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
<name>BitcoinApplication</name>
<message>
<source>Runaway exception</source>
<translation type="unfinished">Exception fugitive</translation>
<translation type="unfinished">Exception excessive</translation>
</message>
<message>
<source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
@@ -444,7 +444,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source>
<translation type="unfinished">La valeur -maxtxfee est très élevée! Des frais aussi élevés pourraient être payés en une seule transaction.</translation>
<translation type="unfinished">La valeur -maxtxfee est très élevée. Des frais aussi élevés pourraient être payés en une seule transaction.</translation>
</message>
<message>
<source>Cannot downgrade wallet from version %i to version %i. Wallet version unchanged.</source>
@@ -456,7 +456,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Cannot upgrade a non HD split wallet from version %i to version %i without upgrading to support pre-split keypool. Please use version %i or no version specified.</source>
<translation type="unfinished">Impossible de mettre à niveau un porte-monnaie divisé non-HD de la version %i vers la version %i sans mettre à niveau pour prendre en charge la réserve de clés antérieure à la division. Veuillez utiliser la version %i ou ne pas indiquer de version.</translation>
<translation type="unfinished">Impossible de mettre à niveau un porte-monnaie divisé non-HD de la version %i vers la version %i sans mise à niveau pour prendre en charge la réserve de clés antérieure à la division. Veuillez utiliser la version %i ou ne pas indiquer de version.</translation>
</message>
<message>
<source>Distributed under the MIT software license, see the accompanying file %s or %s</source>
@@ -468,19 +468,23 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Error reading %s! Transaction data may be missing or incorrect. Rescanning wallet.</source>
<translation type="unfinished">Erreur de lecture de %s : soit les données de la transaction manquent soit elles sont incorrectes. Réanalysez le porte-monnaie.</translation>
<translation type="unfinished">Erreur de lecture de %s : soit les données de la transaction manquent soit elles sont incorrectes. Réanalyse du porte-monnaie.</translation>
</message>
<message>
<source>Error: Dumpfile format record is incorrect. Got "%s", expected "format".</source>
<translation type="unfinished">Erreur : Lenregistrement du format du fichier de vidage est incorrect. Est « %s », mais « format » est attendu. </translation>
</message>
<message>
<source>Error: Dumpfile identifier record is incorrect. Got "%s", expected "%s".</source>
<translation type="unfinished">Erreur : Lenregistrement de lidentificateur du fichier de vidage est incorrect. Est « %s », mais « %s » est attendu. </translation>
</message>
<message>
<source>Error: Dumpfile version is not supported. This version of bitcoin-wallet only supports version 1 dumpfiles. Got dumpfile with version %s</source>
<translation type="unfinished">Erreur : La version du fichier de vidage nest pas prise en charge. Cette version de bitcoin-wallet ne prend en charge que les fichiers de vidage version 1. Le fichier de vidage obtenu est de la version %s.</translation>
</message>
<message>
<source>Error: Legacy wallets only support the "legacy", "p2sh-segwit", and "bech32" address types</source>
<translation type="unfinished">Erreur : les porte-monnaie hérités ne prennent en charge que les types dadresse « legacy », « p2sh-segwit », et « bech32 ».</translation>
<translation type="unfinished">Erreur : les porte-monnaie hérités ne prennent en charge que les types dadresse « legacy », « p2sh-segwit », et « bech32 »</translation>
</message>
<message>
<source>Error: Listening for incoming connections failed (listen returned error %s)</source>
@@ -532,7 +536,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source>
<translation type="unfinished">Élagage : la dernière synchronisation de porte-monnaie va par-delà les données élaguées. Vous devez -reindex (réindexer, télécharger de nouveau toute la chaîne de blocs en cas de nœud élagué)</translation>
<translation type="unfinished">Élagage : la dernière synchronisation de porte-monnaie va par-delà les données élaguées. Vous devez -reindex (réindexer, télécharger de nouveau toute la chaîne de blocs en cas de nœud élagué)</translation>
</message>
<message>
<source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
@@ -544,19 +548,19 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>The block index db contains a legacy 'txindex'. To clear the occupied disk space, run a full -reindex, otherwise ignore this error. This error message will not be displayed again.</source>
<translation type="unfinished">La base de données dindexation des blocs comprend un « txindex » hérité. Pour libérer lespace disque occupé, exécuter un -reindex complet ou ignorez cette erreur. Ce message derreur ne sera pas affiché de nouveau.</translation>
<translation type="unfinished">La base de données dindexation des blocs comprend un « txindex » hérité. Pour libérer lespace disque occupé, exécutez un -reindex complet ou ignorez cette erreur. Ce message derreur ne sera pas affiché de nouveau.</translation>
</message>
<message>
<source>The transaction amount is too small to send after the fee has been deducted</source>
<translation type="unfinished">Le montant transactionnel est trop bas pour être envoyé une fois que les frais ont é déduits</translation>
<translation type="unfinished">Le montant de la transaction est trop bas pour être envoyé une fois que les frais ont é déduits</translation>
</message>
<message>
<source>This error could occur if this wallet was not shutdown cleanly and was last loaded using a build with a newer version of Berkeley DB. If so, please use the software that last loaded this wallet</source>
<translation type="unfinished">Cette erreur pourrait survenir si ce porte-monnaie navait pas é fermé proprement et sil avait é chargé en dernier avec une nouvelle version de Berkeley DB. Si cest le cas, veuillez utiliser le logiciel qui a chargé ce porte-monnaie en dernier.</translation>
<translation type="unfinished">Cette erreur pourrait survenir si ce porte-monnaie na pas é fermé proprement et sil a é chargé en dernier avec une nouvelle version de Berkeley DB. Si cest le cas, veuillez utiliser le logiciel qui a chargé ce porte-monnaie en dernier.</translation>
</message>
<message>
<source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source>
<translation type="unfinished">Ceci est une préversion de test - son utilisation est entièrement à vos risques - ne pas lutiliser pour miner ou pour des applications marchandes</translation>
<translation type="unfinished">Ceci est une préversion de test son utilisation est entièrement à vos risques ne lutilisez pour miner ou pour des applications marchandes</translation>
</message>
<message>
<source>This is the maximum transaction fee you pay (in addition to the normal fee) to prioritize partial spend avoidance over regular coin selection.</source>
@@ -578,13 +582,17 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
<source>Unable to replay blocks. You will need to rebuild the database using -reindex-chainstate.</source>
<translation type="unfinished">Impossible de relire les blocs. Vous devrez reconstruire la base de données avec -reindex-chainstate.</translation>
</message>
<message>
<source>Unknown wallet file format "%s" provided. Please provide one of "bdb" or "sqlite".</source>
<translation type="unfinished">Le format de fichier porte-monnaie « %s » indiqué est inconnu. Veuillez soit indiquer « bdb » soit « sqlite ».</translation>
</message>
<message>
<source>Warning: Dumpfile wallet format "%s" does not match command line specified format "%s".</source>
<translation type="unfinished">Avertissement : Le format du fichier de vidage de porte-monnaie « %s » ne correspond pas au format « %s » indiqué dans la ligne de commande.</translation>
</message>
<message>
<source>Warning: Private keys detected in wallet {%s} with disabled private keys</source>
<translation type="unfinished">Avertissement : Des clés privées ont é détectées dans le porte-monnaie {%s}, dont les clés privées sont désactivées</translation>
<translation type="unfinished">Avertissement : Des clés privées ont é détectées dans le porte-monnaie {%s} avec des clés privées désactivées</translation>
</message>
<message>
<source>Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade.</source>
@@ -600,7 +608,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>%s is set very high!</source>
<translation type="unfinished">La valeur %s est très élevée!</translation>
<translation type="unfinished">La valeur %s est très élevée</translation>
</message>
<message>
<source>-maxmempool must be at least %d MB</source>
@@ -630,21 +638,33 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
<source>The -txindex upgrade started by a previous version cannot be completed. Restart with the previous version or run a full -reindex.</source>
<translation type="unfinished">La mise à niveau -txindex lancée par une version précédente ne peut pas être achevée. Redémarrez la version précédente ou exécutez un -reindex complet.</translation>
</message>
<message>
<source>%s request to listen on port %u. This port is considered "bad" and thus it is unlikely that any Bitcoin Core peers connect to it. See doc/p2p-bad-ports.md for details and a full list.</source>
<translation type="unfinished">%s a demandé découter sur le port %u. Ce port est considéré comme « mauvais » et il est par conséquent improbable que des pairs Bitcoin Core y soient connectés. Consulter doc/p2p-bad-ports.md pour plus de précisions et une liste complète.</translation>
</message>
<message>
<source>Cannot provide specific connections and have addrman find outgoing connections at the same time.</source>
<translation type="unfinished">Il est impossible de fournir des connexions particulières et en même temps demander à addrman de trouver les connexions sortantes.</translation>
<translation type="unfinished">Il est impossible dindiquer des connexions précises et en même temps de demander à addrman de trouver les connexions sortantes.</translation>
</message>
<message>
<source>Error loading %s: External signer wallet being loaded without external signer support compiled</source>
<translation type="unfinished">Erreur de chargement de %s : le porte-monnaie signataire externe est chargé sans que la prise en charge de signataires externes soit compilée</translation>
</message>
<message>
<source>Failed to rename invalid peers.dat file. Please move or delete it and try again.</source>
<translation type="unfinished">Échec de renommage du fichier peers.dat invalide. Veuillez le déplacer ou le supprimer, puis réessayer.</translation>
</message>
<message>
<source>Outbound connections restricted to Tor (-onlynet=onion) but the proxy for reaching the Tor network is not provided (no -proxy= and no -onion= given) or it is explicitly forbidden (-onion=0)</source>
<translation type="unfinished">Les connexions sortantes sont limitées à Tor (-onlynet=onion), mais le relais pour accéder à Tor nest pas indiqué (aucun -proxy= et aucun no -onion= nest indiqué), ou il est explicitement interdit (-onion=0)</translation>
</message>
<message>
<source>Config setting for %s only applied on %s network when in [%s] section.</source>
<translation type="unfinished">Paramètre de configuration pour %s qui nest appliqué sur le réseau %s que sil se trouve dans la section [%s].</translation>
</message>
<message>
<source>Copyright (C) %i-%i</source>
<translation type="unfinished">Tous droits réservés (C) %i-%i</translation>
<translation type="unfinished">Tous droits réservés © %i à %i</translation>
</message>
<message>
<source>Corrupted block database detected</source>
@@ -660,7 +680,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Disk space is too low!</source>
<translation type="unfinished">Lespace disqueest trop faible!</translation>
<translation type="unfinished">Lespace disqueest trop faible</translation>
</message>
<message>
<source>Do you want to rebuild the block database now?</source>
@@ -672,7 +692,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Dump file %s does not exist.</source>
<translation type="unfinished">Le fichier de vidage %s nexiste pas</translation>
<translation type="unfinished">Le fichier de vidage %s nexiste pas.</translation>
</message>
<message>
<source>Error creating %s</source>
@@ -684,7 +704,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Error initializing wallet database environment %s!</source>
<translation type="unfinished">Erreur dinitialisation de lenvironnement de la base de données du porte-monnaie %s!</translation>
<translation type="unfinished">Erreur dinitialisation de lenvironnement de la base de données du porte-monnaie %s</translation>
</message>
<message>
<source>Error loading %s</source>
@@ -712,7 +732,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Error reading from database, shutting down.</source>
<translation type="unfinished">Erreur de lecture de la base de données, fermeture en cours.</translation>
<translation type="unfinished">Erreur de lecture de la base de données, fermeture en cours</translation>
</message>
<message>
<source>Error reading next record from wallet database</source>
@@ -752,7 +772,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Error: No %s addresses available.</source>
<translation type="unfinished">Erreur : Aucune adresse %s nest disponible</translation>
<translation type="unfinished">Erreur : Aucune adresse %s nest disponible.</translation>
</message>
<message>
<source>Error: Unable to parse version %u as a uint32_t</source>
@@ -764,7 +784,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Failed to listen on any port. Use -listen=0 if you want this.</source>
<translation type="unfinished">Échec d'écoute sur nimporte quel port. Utiliser -listen=0 si vous voulez le faire.</translation>
<translation type="unfinished">Échec d'écoute sur tous les ports. Si cela est voulu, utiliser -listen=0.</translation>
</message>
<message>
<source>Failed to rescan the wallet during initialization</source>
@@ -790,6 +810,10 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
<source>Incorrect or no genesis block found. Wrong datadir for network?</source>
<translation type="unfinished">Bloc de genèse incorrect ou introuvable. Mauvais datadir pour le réseau?</translation>
</message>
<message>
<source>Initialization sanity check failed. %s is shutting down.</source>
<translation type="unfinished">Échec dinitialisation du test de cohérence. %s est en cours de fermeture.</translation>
</message>
<message>
<source>Input not found or already spent</source>
<translation type="unfinished">Lentrée est introuvable ou a déjà é dépensée</translation>
@@ -800,7 +824,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Invalid -i2psam address or hostname: '%s'</source>
<translation type="unfinished">Ladresse ou le nom dhôte -i2psam est invalide :« %s »</translation>
<translation type="unfinished">Ladresse ou le nom dhôte -i2psam est invalide : « %s »</translation>
</message>
<message>
<source>Invalid -onion address or hostname: '%s'</source>
@@ -828,7 +852,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Invalid amount for -paytxfee=&lt;amount&gt;: '%s' (must be at least %s)</source>
<translation type="unfinished">Le montant est invalide pour -paytxfee=&lt;montant&gt; : « %s » (doit être au moins %s)</translation>
<translation type="unfinished">Le montant est invalide pour -paytxfee=&lt;amount&gt; : « %s » (doit être au moins %s)</translation>
</message>
<message>
<source>Invalid netmask specified in -whitelist: '%s'</source>
@@ -836,7 +860,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Loading P2P addresses</source>
<translation type="unfinished">Chargement des adresses P2P</translation>
<translation type="unfinished">Chargement des adresses P2P</translation>
</message>
<message>
<source>Loading banlist</source>
@@ -860,7 +884,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Need to specify a port with -whitebind: '%s'</source>
<translation type="unfinished">Un port doit être précisé avec -whitebind : « %s »</translation>
<translation type="unfinished">Un port doit être indiqué avec -whitebind : « %s »</translation>
</message>
<message>
<source>No addresses available</source>
@@ -868,7 +892,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>No proxy server specified. Use -proxy=&lt;ip&gt; or -proxy=&lt;ip:port&gt;.</source>
<translation type="unfinished">Aucun serveur mandataire nest indiqué. Utilisez -proxy=&lt;ip&gt; ou -proxy=&lt;ip:port&gt;</translation>
<translation type="unfinished">Aucun serveur mandataire nest indiqué. Utiliser -proxy=&lt;ip&gt; ou -proxy=&lt;ip:port&gt;</translation>
</message>
<message>
<source>Not enough file descriptors available.</source>
@@ -876,7 +900,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Prune cannot be configured with a negative value.</source>
<translation type="unfinished">Lélagage ne peut pas être configuré avec une valeur négative.</translation>
<translation type="unfinished">Lélagage ne peut pas être configuré avec une valeur négative</translation>
</message>
<message>
<source>Prune mode is incompatible with -coinstatsindex.</source>
@@ -884,7 +908,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Prune mode is incompatible with -txindex.</source>
<translation type="unfinished">Le mode élagage nest pas compatible avec -txindex.</translation>
<translation type="unfinished">Le mode élagage nest pas compatible avec -txindex</translation>
</message>
<message>
<source>Pruning blockstore</source>
@@ -916,11 +940,11 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>SQLiteDatabase: Unexpected application id. Expected %u, got %u</source>
<translation type="unfinished">SQLiteDatabase : lID de lapplication est inattendu. %u était attendu, %u é retourné</translation>
<translation type="unfinished">SQLiteDatabase : lID de lapplication est inattendu. %u attendu, %u retourné</translation>
</message>
<message>
<source>Section [%s] is not recognized.</source>
<translation type="unfinished">La section [%s] nest pas reconnue.</translation>
<translation type="unfinished">La section [%s] nest pas reconnue</translation>
</message>
<message>
<source>Signing transaction failed</source>
@@ -940,7 +964,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Specified blocks directory "%s" does not exist.</source>
<translation type="unfinished">Le répertoire des blocs indiqué « %s » nexiste pas.</translation>
<translation type="unfinished">Le répertoire des blocs indiqué « %s » nexiste pas</translation>
</message>
<message>
<source>Starting network threads</source>
@@ -952,7 +976,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>The specified config file %s does not exist</source>
<translation type="unfinished">Le fichier de configuration %s nexiste pas</translation>
<translation type="unfinished">Le fichier de configuration indiqué %s nexiste pas</translation>
</message>
<message>
<source>The transaction amount is too small to pay the fee</source>
@@ -1004,11 +1028,11 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Unable to bind to %s on this computer (bind returned error %s)</source>
<translation type="unfinished">Impossible de se lier à %s sur cet ordinateur (bind a retourné lerreur %s)</translation>
<translation type="unfinished">Impossible de se lier à %s sur cet ordinateur (la liaison a retourné lerreur %s)</translation>
</message>
<message>
<source>Unable to bind to %s on this computer. %s is probably already running.</source>
<translation type="unfinished">Impossible de se lier à %s sur cet ordinateur. %s fonctionne probablement déjà.</translation>
<translation type="unfinished">Impossible de se lier à %s sur cet ordinateur. %s fonctionne probablement déjà</translation>
</message>
<message>
<source>Unable to create the PID file '%s': %s</source>
@@ -1036,15 +1060,15 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Unknown -blockfilterindex value %s.</source>
<translation type="unfinished">Valeur -blockfilterindex inconnue %s.</translation>
<translation type="unfinished">La valeur -blockfilterindex %s est inconnue.</translation>
</message>
<message>
<source>Unknown address type '%s'</source>
<translation type="unfinished">Type dadresse inconnu « %s »</translation>
<translation type="unfinished">Le type dadresse « %s » est inconnu</translation>
</message>
<message>
<source>Unknown change type '%s'</source>
<translation type="unfinished">Le type de monnaie est inconnu « %s »</translation>
<translation type="unfinished">Le type de monnaie « %s » est inconnu</translation>
</message>
<message>
<source>Unknown network specified in -onlynet: '%s'</source>
@@ -1056,7 +1080,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Unsupported logging category %s=%s.</source>
<translation type="unfinished">La catégorie de journalisation nest pas prise en charge %s=%s.</translation>
<translation type="unfinished">La catégorie de journalisation %s=%s nest pas prise en charge</translation>
</message>
<message>
<source>Upgrading UTXO database</source>
@@ -1064,7 +1088,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>User Agent comment (%s) contains unsafe characters.</source>
<translation type="unfinished">Le commentaire de lagent utilisateur (%s) comporte des caractères dangereux.</translation>
<translation type="unfinished">Le commentaire de lagent utilisateur (%s) comporte des caractères dangereux</translation>
</message>
<message>
<source>Verifying blocks…</source>
@@ -1172,7 +1196,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>&amp;Backup Wallet…</source>
<translation type="unfinished">&amp;auvegarder le porte-monnaie…</translation>
<translation type="unfinished">&amp;Sauvegarder le porte-monnaie…</translation>
</message>
<message>
<source>&amp;Change Passphrase…</source>
@@ -1184,7 +1208,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Sign messages with your Bitcoin addresses to prove you own them</source>
<translation type="unfinished">Signer les messages avec vos adresses Bitcoin pour prouver que vous les détenez</translation>
<translation type="unfinished">Signer les messages avec vos adresses Bitcoin pour prouver que vous les détenez</translation>
</message>
<message>
<source>&amp;Verify message…</source>
@@ -1196,7 +1220,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>&amp;Load PSBT from file…</source>
<translation type="unfinished">&amp;Charger une TBSP dun fichier…</translation>
<translation type="unfinished">&amp;Charger la TBSP dun fichier…</translation>
</message>
<message>
<source>Open &amp;URI…</source>
@@ -1204,15 +1228,15 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Close Wallet…</source>
<translation type="unfinished">Fermer le portefeuille...</translation>
<translation type="unfinished">Fermer le porte-monnaie…</translation>
</message>
<message>
<source>Create Wallet…</source>
<translation type="unfinished">Créer le portefeuille...</translation>
<translation type="unfinished">Créer un porte-monnaie…</translation>
</message>
<message>
<source>Close All Wallets…</source>
<translation type="unfinished">Fermer tous les portefeuilles...</translation>
<translation type="unfinished">Fermer tous les porte-monnaie…</translation>
</message>
<message>
<source>&amp;File</source>
@@ -1232,7 +1256,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Syncing Headers (%1%)…</source>
<translation type="unfinished">Synchronisation des en-têtes (%1)…</translation>
<translation type="unfinished">Synchronisation des en-têtes (%1%)…</translation>
</message>
<message>
<source>Synchronizing with network…</source>
@@ -1283,7 +1307,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Catching up…</source>
<translation type="unfinished">Rattrapage en cours…</translation>
<translation type="unfinished">Rattrapage…</translation>
</message>
<message>
<source>Last received block was generated %1 ago.</source>
@@ -1327,7 +1351,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Open node debugging and diagnostic console</source>
<translation type="unfinished">Ouvrir une console de débogage de nœuds et de diagnostic</translation>
<translation type="unfinished">Ouvrir une console de débogage des nœuds et de diagnostic</translation>
</message>
<message>
<source>&amp;Sending addresses</source>
@@ -1343,7 +1367,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Open Wallet</source>
<translation type="unfinished">Ouvrir le porte-monnaie</translation>
<translation type="unfinished">Ouvrir un porte-monnaie</translation>
</message>
<message>
<source>Open a wallet</source>
@@ -1359,7 +1383,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
<translation type="unfinished">Afficher le message daide de %1 pour obtenir la liste des options possibles de ligne de commande Bitcoin</translation>
<translation type="unfinished">Afficher le message daide de %1 pour obtenir la liste des options possibles en ligne de commande Bitcoin</translation>
</message>
<message>
<source>&amp;Mask values</source>
@@ -2025,7 +2049,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Unknown…</source>
<translation type="unfinished">Inconnus…</translation>
<translation type="unfinished">Inconnu…</translation>
</message>
<message>
<source>calculating…</source>
@@ -2336,7 +2360,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Use separate SOCKS&amp;5 proxy to reach peers via Tor onion services:</source>
<translation type="unfinished">Utiliser un mandataire SOCKS&amp;5 séparé pour atteindre les pairs par les services oignon de Tor.</translation>
<translation type="unfinished">Utiliser un mandataire SOCKS&amp;5 séparé pour atteindre les pairs par les services oignon de Tor :</translation>
</message>
<message>
<source>Monospaced font in the Overview tab:</source>
@@ -2553,7 +2577,7 @@ Il nest possible de signer quavec les adresses de type « legacy ».</tr
</message>
<message>
<source>Unknown error processing transaction.</source>
<translation type="unfinished">Erreur inconnue lors de traitement de la transaction.</translation>
<translation type="unfinished">Erreur inconnue lors de traitement de la transaction</translation>
</message>
<message>
<source>Transaction broadcast successfully! Transaction ID: %1</source>
@@ -2659,7 +2683,7 @@ If you are receiving this error you should request the merchant provide a BIP21
</message>
<message>
<source>URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
<translation type="unfinished">LURI ne peut pas être analysée! Cela peut être causé par une adresse Bitcoin invalide ou par des paramètres dURI mal formés.</translation>
<translation type="unfinished">LURI ne peut pas être analysée. Cela peut être causé par une adresse Bitcoin invalide ou par des paramètres dURI mal formés.</translation>
</message>
<message>
<source>Payment request file handling</source>
@@ -2932,7 +2956,7 @@ If you are receiving this error you should request the merchant provide a BIP21
</message>
<message>
<source>Wants Tx Relay</source>
<translation type="unfinished">Veut Tx relai</translation>
<translation type="unfinished">Veut relayer les transactions</translation>
</message>
<message>
<source>High bandwidth BIP152 compact block relay: %1</source>
@@ -3358,7 +3382,7 @@ Pour plus de précisions sur cette console, tapez %6.
</message>
<message>
<source>Insufficient funds!</source>
<translation type="unfinished">Les fonds sont insuffisants!</translation>
<translation type="unfinished">Les fonds sont insuffisants</translation>
</message>
<message>
<source>Quantity:</source>
@@ -3663,7 +3687,7 @@ Note : Les frais étant calculés par octet, un taux de frais de « 100 satoshi
</message>
<message>
<source>Transaction creation failed!</source>
<translation type="unfinished">Échec de création de la transaction!</translation>
<translation type="unfinished">Échec de création de la transaction</translation>
</message>
<message>
<source>A fee higher than %1 is considered an absurdly high fee.</source>
@@ -3927,7 +3951,7 @@ Note : Les frais étant calculés par octet, un taux de frais de « 100 satoshi
</message>
<message>
<source>press q to shutdown</source>
<translation type="unfinished">appuyer sur q pour fermer</translation>
<translation type="unfinished">Appuyer sur q pour fermer</translation>
</message>
</context>
<context>

164
src/qt/locale/bitcoin_ha.ts Normal file
View File

@@ -0,0 +1,164 @@
<TS version="2.1" language="ha">
<context>
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
<translation type="unfinished">Danna dama don gyara adireshi ko labil</translation>
</message>
<message>
<source>Create a new address</source>
<translation type="unfinished">Ƙirƙiri sabon adireshi</translation>
</message>
<message>
<source>&amp;New</source>
<translation type="unfinished">&amp;Sabontawa</translation>
</message>
<message>
<source>Copy the currently selected address to the system clipboard</source>
<translation type="unfinished">Kwafi adireshin da aka zaɓa a halin yanzu domin yin amfani dashi</translation>
</message>
<message>
<source>Delete the currently selected address from the list</source>
<translation type="unfinished">Share adireshin da aka zaɓa a halin yanzu daga jerin </translation>
</message>
<message>
<source>Enter address or label to search</source>
<translation type="unfinished">Shigar da adireshi ko lakabi don bincika</translation>
</message>
<message>
<source>Export the data in the current tab to a file</source>
<translation type="unfinished">Fitar da bayanan da ke cikin shafin na yanzu zuwa fayil</translation>
</message>
<message>
<source>&amp;Export</source>
<translation type="unfinished">&amp; Fitarwa</translation>
</message>
<message>
<source>&amp;Delete</source>
<translation type="unfinished">$Sharewa</translation>
</message>
<message>
<source>Choose the address to receive coins with</source>
<translation type="unfinished">Zaɓi adireshin don karɓar kuɗi internet da shi</translation>
</message>
<message>
<source>Receiving addresses</source>
<translation type="unfinished">Adireshi da za a karba dashi</translation>
</message>
<message>
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
<translation type="unfinished">Waɗannan adiresoshin Bitcoin ne don tura kuɗi bitcoin . ka tabbatar da cewa adreshin daidai ne kamin ka tura abua a ciki</translation>
</message>
<message>
<source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
Signing is only possible with addresses of the type 'legacy'.</source>
<translation type="unfinished">Waɗannan adiresoshin Bitcoin ne don karɓar kuɗi. Yi amfani da maɓallin 'Ƙirƙiri sabon adireshin karɓa' a cikin shafin karɓa don ƙirƙirar sababbin adireshi.
zaka iya shiga ne kawai da adiresoshin 'na musamman' kawai.</translation>
</message>
</context>
<context>
<name>QObject</name>
<message numerus="yes">
<source>%n second(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
<message numerus="yes">
<source>%n minute(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
<message numerus="yes">
<source>%n hour(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
<message numerus="yes">
<source>%n day(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
<message numerus="yes">
<source>%n week(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
<message numerus="yes">
<source>%n year(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
</context>
<context>
<name>BitcoinGUI</name>
<message numerus="yes">
<source>Processed %n block(s) of transaction history.</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
<message numerus="yes">
<source>%n active connection(s) to Bitcoin network.</source>
<extracomment>A substring of the tooltip.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
</context>
<context>
<name>Intro</name>
<message numerus="yes">
<source>(sufficient to restore backups %n day(s) old)</source>
<extracomment>Explanatory text on the capability of the current prune target.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message numerus="yes">
<source>Estimated to begin confirmation within %n block(s).</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
</context>
<context>
<name>TransactionDesc</name>
<message numerus="yes">
<source>matures in %n more block(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
</context>
<context>
<name>WalletView</name>
<message>
<source>&amp;Export</source>
<translation type="unfinished">&amp; Fitarwa</translation>
</message>
<message>
<source>Export the data in the current tab to a file</source>
<translation type="unfinished">Fitar da bayanan da ke cikin shafin na yanzu zuwa fayil</translation>
</message>
</context>
</TS>

2198
src/qt/locale/bitcoin_hi.ts Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
<translation type="unfinished">A cím vagy címke szerkeszteséhez kattintson a jobb gombbal</translation>
<translation type="unfinished">A cím vagy címke szerkesztéséhez kattintson a jobb gombbal</translation>
</message>
<message>
<source>Create a new address</source>
@@ -47,11 +47,11 @@
</message>
<message>
<source>Choose the address to send coins to</source>
<translation type="unfinished">Kedvezményezett címének kiválasztása</translation>
<translation type="unfinished">Válassza ki a küldési címet kimenő utalásokhoz</translation>
</message>
<message>
<source>Choose the address to receive coins with</source>
<translation type="unfinished">Jóváírási cím kiválasztása</translation>
<translation type="unfinished">Válassza ki a fogadó címet beérkező utalásokhoz</translation>
</message>
<message>
<source>C&amp;hoose</source>
@@ -76,11 +76,11 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>&amp;Copy Address</source>
<translation type="unfinished">&amp;Cím másolása</translation>
<translation type="unfinished">Cím &amp;másolása</translation>
</message>
<message>
<source>Copy &amp;Label</source>
<translation type="unfinished">Másolás és Címkézés</translation>
<translation type="unfinished">Másolás és &amp;címkézés</translation>
</message>
<message>
<source>&amp;Edit</source>
@@ -98,7 +98,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message>
<source>There was an error trying to save the address list to %1. Please try again.</source>
<extracomment>An error message. %1 is a stand-in argument for the name of the file we attempted to save to.</extracomment>
<translation type="unfinished">Hiba történt a címlista %1 mentésekor. Kérem próbálja újra.</translation>
<translation type="unfinished">Hiba történt a címlista %1 mentésekor. Kérem próbálja újra.</translation>
</message>
<message>
<source>Exporting Failed</source>
@@ -176,7 +176,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Enter the new passphrase for the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;ten or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation type="unfinished">Írja be a tárca új jelszavát. &lt;br/&gt;A jelszó összetétele a következő: &lt;b&gt;tíz vagy annál több véletlenszerű karakter&lt;/b&gt;, vagy &lt;b&gt;nyolc vagy annál több szó&lt;/b&gt;. </translation>
<translation type="unfinished">Írja be a tárca új jelszavát. &lt;br/&gt;Használjon &lt;b&gt;legalább tíz véletlenszerű karakterből&lt;/b&gt;, vagy &lt;b&gt;legalább nyolc szóból&lt;/b&gt; álló jelszót.</translation>
</message>
<message>
<source>Enter the old passphrase and new passphrase for the wallet.</source>
@@ -619,6 +619,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>The -txindex upgrade started by a previous version cannot be completed. Restart with the previous version or run a full -reindex.</source>
<translation type="unfinished">A -txindex frissítése nem fejezhető be mivel egy korábbi verzió kezdte el. Indítsa újra az előző verziót vagy futtassa a teljes -reindex parancsot.</translation>
</message>
<message>
<source>%s request to listen on port %u. This port is considered "bad" and thus it is unlikely that any Bitcoin Core peers connect to it. See doc/p2p-bad-ports.md for details and a full list.</source>
<translation type="unfinished">%s kérés figyel a(z) %u porton. Ennek a portnak a megítélése "rossz" ezért valószínűtlen, hogy más Bitcoin Core partner ezen keresztül csatlakozna. Részletekért és teljes listáért lásd doc/p2p-bad-ports.md.</translation>
</message>
<message>
<source>Cannot provide specific connections and have addrman find outgoing connections at the same time.</source>
<translation type="unfinished">Nem lehetséges a megadott kapcsolatok és az addrman által felderített kapcsolatok egyidejű használata.</translation>
@@ -627,6 +631,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Error loading %s: External signer wallet being loaded without external signer support compiled</source>
<translation type="unfinished">Hiba %s betöltése közben: Külső aláíró tárca betöltése külső aláírók támogatása nélkül</translation>
</message>
<message>
<source>Failed to rename invalid peers.dat file. Please move or delete it and try again.</source>
<translation type="unfinished">Az érvénytelen peers.dat fájl átnevezése sikertelen. Kérjük mozgassa vagy törölje, majd próbálja újra.</translation>
</message>
<message>
<source>Outbound connections restricted to Tor (-onlynet=onion) but the proxy for reaching the Tor network is not provided (no -proxy= and no -onion= given) or it is explicitly forbidden (-onion=0)</source>
<translation type="unfinished">A kilépő kapcsolatok a Tor-ra korlátozottak (-onlynet=onion) de nincs megadva a Tor hálózatot elérő proxy (hiányzó -proxy= és -onion= paraméterek) vagy kifejezetten tiltva van (-onion=0)</translation>
</message>
<message>
<source>Config setting for %s only applied on %s network when in [%s] section.</source>
<translation type="unfinished">A konfigurációs beálltás %s kizárólag az %s hálózatra vonatkozik amikor a [%s] szekcióban van.</translation>
@@ -733,7 +745,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Error: Keypool ran out, please call keypoolrefill first</source>
<translation type="unfinished">A címraktár kiürült, kérjük előbb adja ki a keypoolrefill parancsot.</translation>
<translation type="unfinished">A címraktár kiürült, előbb adja ki a keypoolrefill parancsot.</translation>
</message>
<message>
<source>Error: Missing checksum</source>
@@ -769,7 +781,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Ignoring duplicate -wallet %s.</source>
<translation type="unfinished">A duplikált -wallet %s figyelmen kívül hagyva.</translation>
<translation type="unfinished">Az ismétlődő -wallet %s figyelmen kívül hagyva.</translation>
</message>
<message>
<source>Importing…</source>
@@ -1116,7 +1128,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Modify configuration options for %1</source>
<translation type="unfinished">%1 beállítások módosítása</translation>
<translation type="unfinished">%1 beállításainak módosítása</translation>
</message>
<message>
<source>Create a new wallet</source>
@@ -1161,7 +1173,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>&amp;Options</source>
<translation type="unfinished">&amp;Opciók</translation>
<translation type="unfinished">&amp;Beállítások</translation>
</message>
<message>
<source>&amp;Encrypt Wallet</source>
@@ -1185,7 +1197,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Sign messages with your Bitcoin addresses to prove you own them</source>
<translation type="unfinished">Üzenetek aláírása a Bitcoin-címeivel, amivel bizonyíthatja hogy a cím az Ö</translation>
<translation type="unfinished">Üzenetek aláírása a Bitcoin-címeivel, amivel bizonyíthatja, hogy az Ö</translation>
</message>
<message>
<source>&amp;Verify message</source>
@@ -1486,15 +1498,15 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>HD key generation is &lt;b&gt;disabled&lt;/b&gt;</source>
<translation type="unfinished">HD kulcs generálás &lt;b&gt;tiltva&lt;/b&gt;</translation>
<translation type="unfinished">HD kulcs generálás &lt;b&gt;letiltva&lt;/b&gt;</translation>
</message>
<message>
<source>Private key &lt;b&gt;disabled&lt;/b&gt;</source>
<translation type="unfinished">Privát kulcs &lt;b&gt;inaktív&lt;/b&gt;</translation>
<translation type="unfinished">Privát kulcs &lt;b&gt;letiltva&lt;/b&gt;</translation>
</message>
<message>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation type="unfinished">A tárca &lt;b&gt;titkosítva&lt;/b&gt; és jelenleg &lt;b&gt;nyitva&lt;/b&gt;.</translation>
<translation type="unfinished">A tárca &lt;b&gt;titkosítva&lt;/b&gt; és jelenleg &lt;b&gt;feloldva&lt;/b&gt;.</translation>
</message>
<message>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
@@ -1509,7 +1521,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<name>UnitDisplayStatusBarControl</name>
<message>
<source>Unit to show amounts in. Click to select another unit.</source>
<translation type="unfinished">Egység, amelyben az összegek meg lesznek jelenítve. Kattintson ide, ha másik egységet szeretne kiválasztani.</translation>
<translation type="unfinished">Egység, amelyben az összegek lesznek megjelenítve. Kattintson ide másik egység kiválasztásához.</translation>
</message>
</context>
<context>
@@ -1789,7 +1801,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</source>
<translation type="unfinished">Üres tárca készítése. Az üres tárcák kezdetben nem tartalmaznak privát kulcsokat vagy szkripteket. Később lehetséges a privát kulcsok vagy címek importálása avagy egy HD mag beállítása.</translation>
<translation type="unfinished">Üres tárca készítése. Az üres tárcák kezdetben nem tartalmaznak privát kulcsokat vagy szkripteket. Később lehetséges a privát kulcsok vagy címek importálása illetve egy HD mag beállítása.</translation>
</message>
<message>
<source>Make Blank Wallet</source>
@@ -1873,7 +1885,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Could not unlock wallet.</source>
<translation type="unfinished">Nem sikerült a tárca felnyitása</translation>
<translation type="unfinished">Nem sikerült a tárca feloldása</translation>
</message>
<message>
<source>New key generation failed.</source>
@@ -1888,7 +1900,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>name</source>
<translation type="unfinished">Név</translation>
<translation type="unfinished">név</translation>
</message>
<message>
<source>Directory already exists. Add %1 if you intend to create a new directory here.</source>
@@ -1938,7 +1950,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>The wallet will also be stored in this directory.</source>
<translation type="unfinished">A tárcát is ebben a könyvtárban tároljuk.</translation>
<translation type="unfinished">A tárca is ebben a könyvtárban tárolódik.</translation>
</message>
<message>
<source>Error: Specified data directory "%1" cannot be created.</source>
@@ -2238,7 +2250,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation type="unfinished">A Bitcoin-kliens portjának automatikus megnyitása a routeren. Ez csak akkor működik, ha a routered támogatja az UPnP-t és az engedélyezve is van rajta.</translation>
<translation type="unfinished">A Bitcoin-kliens portjának automatikus megnyitása a routeren. Ez csak akkor működik, ha a router támogatja az UPnP-t és az engedélyezve is van rajta.</translation>
</message>
<message>
<source>Map port using &amp;UPnP</source>
@@ -2940,7 +2952,7 @@ If you are receiving this error you should request the merchant provide a BIP21
</message>
<message>
<source>The network protocol this peer is connected through: IPv4, IPv6, Onion, I2P, or CJDNS.</source>
<translation type="unfinished">A hálózati protokoll amin keresztül ez a csomópont kapcsolódik: IPv4, IPv6, Onion, I2P vagy CJDNS.</translation>
<translation type="unfinished">A hálózati protokoll amin keresztül ez a partner kapcsolódik: IPv4, IPv6, Onion, I2P vagy CJDNS.</translation>
</message>
<message>
<source>Services</source>
@@ -2968,7 +2980,7 @@ If you are receiving this error you should request the merchant provide a BIP21
</message>
<message>
<source>Elapsed time since a novel block passing initial validity checks was received from this peer.</source>
<translation type="unfinished">A csomóponttól érkező új blokkokra vonatkozó érvényességet igazoló ellenőrzések óta eltelt idő.</translation>
<translation type="unfinished">A partnertől érkező új blokkokra vonatkozó érvényességet igazoló ellenőrzések óta eltelt idő.</translation>
</message>
<message>
<source>Last Block</source>
@@ -2977,7 +2989,7 @@ If you are receiving this error you should request the merchant provide a BIP21
<message>
<source>Elapsed time since a novel transaction accepted into our mempool was received from this peer.</source>
<extracomment>Tooltip text for the Last Transaction field in the peer details area.</extracomment>
<translation type="unfinished">Az eltelt idő, amióta egy új, a mempoolunkba elfogadott tranzakció érkezett ettől a társtulajdonostól.</translation>
<translation type="unfinished">Az eltelt idő, amióta egy új, a saját memóriahalomba elfogadott tranzakció érkezett ettől a partnertől.</translation>
</message>
<message>
<source>Last Send</source>
@@ -3414,7 +3426,7 @@ If you are receiving this error you should request the merchant provide a BIP21
</message>
<message>
<source>Using the fallbackfee can result in sending a transaction that will take several hours or days (or never) to confirm. Consider choosing your fee manually or wait until you have validated the complete chain.</source>
<translation type="unfinished">A tartalék díj (failback fee) használata egy órákig, napokig tartó, vagy akár sosem végbemenő tranzakciót eredményezhet. Fontolja meg, hogy Ön adja meg a díjat, vagy várjon amíg a teljes láncot érvényesíti.</translation>
<translation type="unfinished">A tartalék díj (fallback fee) használata egy órákig, napokig tartó, vagy akár sosem végbemenő tranzakciót eredményezhet. Fontolja meg, hogy Ön adja meg a díjat, vagy várjon amíg a teljes láncot érvényesíti.</translation>
</message>
<message>
<source>Warning: Fee estimation is currently not possible.</source>
@@ -3814,7 +3826,7 @@ Megjegyzés: Mivel a díj bájtonként van kiszámítva, egy "100 satoshi kvB-nk
</message>
<message>
<source>&amp;Sign Message</source>
<translation type="unfinished">Üzenet aláírása...</translation>
<translation type="unfinished">Üzenet &amp;Aláírása</translation>
</message>
<message>
<source>You can sign messages/agreements with your addresses to prove you can receive bitcoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
@@ -3846,11 +3858,11 @@ Megjegyzés: Mivel a díj bájtonként van kiszámítva, egy "100 satoshi kvB-nk
</message>
<message>
<source>Sign the message to prove you own this Bitcoin address</source>
<translation type="unfinished">Üzenet</translation>
<translation type="unfinished">Üzenet aláírása, ezzel bizonyítva, hogy Öné ez a Bitcoin cím</translation>
</message>
<message>
<source>Sign &amp;Message</source>
<translation type="unfinished">Üzenet &amp;aláírása</translation>
<translation type="unfinished">Üzenet &amp;Aláírása</translation>
</message>
<message>
<source>Reset all sign message fields</source>
@@ -3874,7 +3886,7 @@ Megjegyzés: Mivel a díj bájtonként van kiszámítva, egy "100 satoshi kvB-nk
</message>
<message>
<source>The signed message to verify</source>
<translation type="unfinished">Az aláírt üzenet ellenőrzésre</translation>
<translation type="unfinished">Az ellenőrizni kívánt aláírt üzenet</translation>
</message>
<message>
<source>The signature given when the message was signed</source>
@@ -3886,7 +3898,7 @@ Megjegyzés: Mivel a díj bájtonként van kiszámítva, egy "100 satoshi kvB-nk
</message>
<message>
<source>Verify &amp;Message</source>
<translation type="unfinished">Üzenet ellenőrzése</translation>
<translation type="unfinished">Üzenet &amp;Ellenőrzése</translation>
</message>
<message>
<source>Reset all verify message fields</source>
@@ -3902,7 +3914,7 @@ Megjegyzés: Mivel a díj bájtonként van kiszámítva, egy "100 satoshi kvB-nk
</message>
<message>
<source>Please check the address and try again.</source>
<translation type="unfinished">Kérem ellenőrizze a címet és próbálja meg újra.</translation>
<translation type="unfinished">Ellenőrizze a címet és próbálja meg újra.</translation>
</message>
<message>
<source>The entered address does not refer to a key.</source>
@@ -3934,7 +3946,7 @@ Megjegyzés: Mivel a díj bájtonként van kiszámítva, egy "100 satoshi kvB-nk
</message>
<message>
<source>Please check the signature and try again.</source>
<translation type="unfinished">Kérem ellenőrizze az aláírást és próbálja újra.</translation>
<translation type="unfinished">Ellenőrizze az aláírást és próbálja újra.</translation>
</message>
<message>
<source>The signature did not match the message digest.</source>
@@ -4168,7 +4180,7 @@ Megjegyzés: Mivel a díj bájtonként van kiszámítva, egy "100 satoshi kvB-nk
</message>
<message>
<source>Conflicted</source>
<translation type="unfinished">Konfliktusos</translation>
<translation type="unfinished">Ellentmondásos</translation>
</message>
<message>
<source>Immature (%1 confirmations, will be available after %2)</source>

View File

@@ -347,31 +347,31 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message numerus="yes">
<source>%n second(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%ndetik</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n minute(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n menit</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n hour(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%njam</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n day(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n hari</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n week(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%nminggu</numerusform>
</translation>
</message>
<message>
@@ -381,7 +381,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message numerus="yes">
<source>%n year(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n tahun</numerusform>
</translation>
</message>
</context>
@@ -423,6 +423,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation type="unfinished">Kesalahan membaca %s! Semua kunci dibaca dengan benar, tetapi data transaksi atau entri buku alamat mungkin hilang atau salah.</translation>
</message>
<message>
<source>Error reading %s! Transaction data may be missing or incorrect. Rescanning wallet.</source>
<translation type="unfinished">Kesalahan membaca %s! Data transaksi mungkin hilang atau salah. Memindai ulang dompet.</translation>
</message>
<message>
<source>Error: Dumpfile format record is incorrect. Got "%s", expected "format".</source>
<translation type="unfinished">Kesalahan: Rekaman pengenal dumpfile salah. Mendapat "%s", diharapkan "format". </translation>
@@ -779,6 +783,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Need to specify a port with -whitebind: '%s'</source>
<translation type="unfinished">Perlu menentukan port dengan -whitebind: '%s'</translation>
</message>
<message>
<source>No addresses available</source>
<translation type="unfinished">Tidak ada alamat tersedia</translation>
</message>
<message>
<source>No proxy server specified. Use -proxy=&lt;ip&gt; or -proxy=&lt;ip:port&gt;.</source>
<translation type="unfinished">Tidak ada server proxy yang ditentukan. Gunakan -proxy=&lt;ip&gt; atau -proxy=&lt;ip:port&gt;.</translation>
@@ -1178,7 +1186,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message numerus="yes">
<source>Processed %n block(s) of transaction history.</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n blok riwayat transaksi diproses.</numerusform>
</translation>
</message>
<message>
@@ -1293,11 +1301,19 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>%1 client</source>
<translation type="unfinished">%1 klien</translation>
</message>
<message>
<source>&amp;Hide</source>
<translation type="unfinished">Sembunyi</translation>
</message>
<message>
<source>S&amp;how</source>
<translation type="unfinished">Tampilkan</translation>
</message>
<message numerus="yes">
<source>%n active connection(s) to Bitcoin network.</source>
<extracomment>A substring of the tooltip.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform>%n koneksi yang aktif ke jaringan Bitcoin</numerusform>
</translation>
</message>
<message>
@@ -1769,6 +1785,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</context>
<context>
<name>Intro</name>
<message>
<source>%1 GB of space available</source>
<translation type="unfinished">%1 GB ruang tersedia</translation>
</message>
<message>
<source>(of %1 GB needed)</source>
<translation type="unfinished">(dari %1 GB yang dibutuhkan)</translation>
@@ -1789,7 +1809,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>(sufficient to restore backups %n day(s) old)</source>
<extracomment>Explanatory text on the capability of the current prune target.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform>(cukup untuk memulihkan cadangan %n hari)</numerusform>
</translation>
</message>
<message>
@@ -2026,10 +2046,30 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<extracomment>Tooltip text for Options window setting that sets the number of script verification threads. Explains that negative values mean to leave these many cores free to the system.</extracomment>
<translation type="unfinished">Set nomor thread script verifikasi. Nilai negatif sesuai dengan core yang tidak ingin digunakan di dalam system.</translation>
</message>
<message>
<source>This allows you or a third party tool to communicate with the node through command-line and JSON-RPC commands.</source>
<extracomment>Tooltip text for Options window setting that enables the RPC server.</extracomment>
<translation type="unfinished">Ini memungkinkan Anda atau alat pihak ketiga untuk berkomunikasi dengan node melalui perintah baris perintah dan JSON-RPC.</translation>
</message>
<message>
<source>Enable R&amp;PC server</source>
<extracomment>An Options window setting to enable the RPC server.</extracomment>
<translation type="unfinished">Aktifkan server R&amp;PC</translation>
</message>
<message>
<source>W&amp;allet</source>
<translation type="unfinished">D&amp;ompet</translation>
</message>
<message>
<source>Whether to set subtract fee from amount as default or not.</source>
<extracomment>Tooltip text for Options window setting that sets subtracting the fee from a sending amount as default.</extracomment>
<translation type="unfinished">Apakah akan menetapkan biaya pengurangan dari jumlah sebagai default atau tidak.</translation>
</message>
<message>
<source>Subtract &amp;fee from amount by default</source>
<extracomment>An Options window setting to set subtracting the fee from a sending amount as default.</extracomment>
<translation type="unfinished">Kurangi biaya dari jumlah secara default</translation>
</message>
<message>
<source>Expert</source>
<translation type="unfinished">Ahli</translation>
@@ -2046,6 +2086,16 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>&amp;Spend unconfirmed change</source>
<translation type="unfinished">&amp;Perubahan saldo untuk transaksi yang belum dikonfirmasi</translation>
</message>
<message>
<source>Enable &amp;PSBT controls</source>
<extracomment>An options window setting to enable PSBT controls.</extracomment>
<translation type="unfinished">Aktifkan kontrol &amp;PSBT</translation>
</message>
<message>
<source>Whether to show PSBT controls.</source>
<extracomment>Tooltip text for options window setting that enables PSBT controls.</extracomment>
<translation type="unfinished">Apakah akan menampilkan kontrol PSBT.</translation>
</message>
<message>
<source>External Signer (e.g. hardware wallet)</source>
<translation type="unfinished">Penandatangan eksternal (seperti dompet perangkat keras)</translation>
@@ -2146,6 +2196,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
<translation type="unfinished">Pilihan standar unit yang ingin ditampilkan pada layar aplikasi dan saat mengirim koin.</translation>
</message>
<message>
<source>Third-party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |.</source>
<translation type="unfinished">URL pihak ketika (misalnya sebuah block explorer) yang mumcul dalam tab transaksi sebagai konteks menu. %s dalam URL diganti dengan kode transaksi. URL dipisahkan dengan tanda vertikal |.</translation>
</message>
<message>
<source>&amp;Third-party transaction URLs</source>
<translation type="unfinished">&amp;URL transaksi Pihak Ketiga</translation>
</message>
<message>
<source>Whether to show coin control features or not.</source>
<translation type="unfinished">Ingin menunjukkan cara pengaturan koin atau tidak.</translation>
@@ -2209,6 +2267,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<extracomment>Explanatory text about the priority order of instructions considered by client. The order from high to low being: command-line, configuration file, GUI settings.</extracomment>
<translation type="unfinished">File konfigurasi digunakan untuk menspesifikkan pilihan khusus pengguna yang akan menimpa pengaturan GUI. Sebagai tambahan, pengaturan command-line apapun akan menimpa file konfigurasi itu.</translation>
</message>
<message>
<source>Continue</source>
<translation type="unfinished">Lanjutkan</translation>
</message>
<message>
<source>Cancel</source>
<translation type="unfinished">Batal</translation>
@@ -2335,6 +2397,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Failed to sign transaction: %1</source>
<translation type="unfinished">Gagal untuk menandatangani transaksi: %1</translation>
</message>
<message>
<source>Cannot sign inputs while wallet is locked.</source>
<translation type="unfinished">Tidak dapat menandatangani input saat dompet terkunci.</translation>
</message>
<message>
<source>Could not sign any more inputs.</source>
<translation type="unfinished">Tidak bisa menandatangani lagi input apapun.</translation>
@@ -2404,6 +2470,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Transaction still needs signature(s).</source>
<translation type="unfinished">Transaksi masih membutuhkan tanda tangan(s).</translation>
</message>
<message>
<source>(But no wallet is loaded.)</source>
<translation type="unfinished">(Tapi tidak ada dompet yang dimuat.)</translation>
</message>
<message>
<source>(But this wallet cannot sign transactions.)</source>
<translation type="unfinished">(Tetapi dompet ini tidak dapat menandatangani transaksi.)</translation>
@@ -2648,6 +2718,33 @@ Jika Anda menerima kesalahan ini, Anda harus meminta pedagang untuk memberikan U
<source>Mapped AS</source>
<translation type="unfinished">AS yang Dipetakan</translation>
</message>
<message>
<source>Whether we relay addresses to this peer.</source>
<extracomment>Tooltip text for the Address Relay field in the peer details area.</extracomment>
<translation type="unfinished">Apakah kita menyampaikan alamat ke rekan ini.</translation>
</message>
<message>
<source>Address Relay</source>
<translation type="unfinished">Alamat Relay</translation>
</message>
<message>
<source>Total number of addresses processed, excluding those dropped due to rate-limiting.</source>
<extracomment>Tooltip text for the Addresses Processed field in the peer details area.</extracomment>
<translation type="unfinished">Jumlah total alamat yang diproses, tidak termasuk yang dibatalkan karena pembatasan tarif.</translation>
</message>
<message>
<source>Addresses Processed</source>
<translation type="unfinished">Alamat Diproses</translation>
</message>
<message>
<source>Total number of addresses dropped due to rate-limiting.</source>
<extracomment>Tooltip text for the Addresses Rate-Limited field in the peer details area.</extracomment>
<translation type="unfinished">Jumlah total alamat turun karena pembatasan tarif.</translation>
</message>
<message>
<source>Addresses Rate-Limited</source>
<translation type="unfinished">Tarif Alamat Terbatas</translation>
</message>
<message>
<source>User Agent</source>
<translation type="unfinished">Agen Pengguna
@@ -2854,6 +2951,11 @@ Jika Anda menerima kesalahan ini, Anda harus meminta pedagang untuk memberikan U
<source>1 &amp;year</source>
<translation type="unfinished">1 &amp;tahun</translation>
</message>
<message>
<source>&amp;Copy IP/Netmask</source>
<extracomment>Context menu action to copy the IP/Netmask of a banned peer. IP/Netmask is the combination of a peer's IP address and its Netmask. For IP address, see: https://en.wikipedia.org/wiki/IP_address.</extracomment>
<translation type="unfinished">&amp;Salin IP/Netmask</translation>
</message>
<message>
<source>&amp;Unban</source>
<translation type="unfinished">&amp;Lepas ban</translation>
@@ -3337,6 +3439,16 @@ Catatan: Karena biaya dihitung berdasarkan per byte, tarif biaya "100 satoshi pe
<source>You can increase the fee later (signals Replace-By-Fee, BIP-125).</source>
<translation type="unfinished">Anda dapat menambah biaya kemudian (sinyal Replace-By-Fee, BIP-125).</translation>
</message>
<message>
<source>Do you want to create this transaction?</source>
<extracomment>Message displayed when attempting to create a transaction. Cautionary text to prompt the user to verify that the displayed transaction details represent the transaction the user intends to create.</extracomment>
<translation type="unfinished">Apakah Anda ingin membuat transaksi ini?</translation>
</message>
<message>
<source>Please, review your transaction. You can create and send this transaction or create a Partially Signed Bitcoin Transaction (PSBT), which you can save or copy and then sign with, e.g., an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
<extracomment>Text to inform a user attempting to create a transaction of their current options. At this stage, a user can send their transaction or create a PSBT. This string is displayed when both private keys and PSBT controls are enabled.</extracomment>
<translation type="unfinished">Harap untuk analisi proposal transaksi anda kembali. Anda dapat membuat dan mengirim transaksi ini atau membuat transaksi bitcoin yang ditandai tangani sebagaian (PSBT) yang bisa anda simpan atau salin dan tanda tangan dengan contoh dompet offline %1, atau dompet yang kompatibel dengan PSBT</translation>
</message>
<message>
<source>Please, review your transaction.</source>
<extracomment>Text to prompt a user to review the details of the transaction they are attempting to send.</extracomment>
@@ -3393,7 +3505,7 @@ Catatan: Karena biaya dihitung berdasarkan per byte, tarif biaya "100 satoshi pe
<message numerus="yes">
<source>Estimated to begin confirmation within %n block(s).</source>
<translation type="unfinished">
<numerusform />
<numerusform>Diperkirakan akan memulai konfirmasi dalam %n blok.</numerusform>
</translation>
</message>
<message>
@@ -3650,6 +3762,17 @@ Catatan: Karena biaya dihitung berdasarkan per byte, tarif biaya "100 satoshi pe
<translation type="unfinished">Pesan diverifikasi.</translation>
</message>
</context>
<context>
<name>SplashScreen</name>
<message>
<source>(press q to shutdown and continue later)</source>
<translation type="unfinished">(tekan q untuk mematikan dan melanjutkan nanti)</translation>
</message>
<message>
<source>press q to shutdown</source>
<translation type="unfinished">tekan q untuk mematikan</translation>
</message>
</context>
<context>
<name>TransactionDesc</name>
<message>
@@ -3719,7 +3842,7 @@ Catatan: Karena biaya dihitung berdasarkan per byte, tarif biaya "100 satoshi pe
<message numerus="yes">
<source>matures in %n more block(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>matang dalam %n blok lagi</numerusform>
</translation>
</message>
<message>
@@ -3991,6 +4114,11 @@ Catatan: Karena biaya dihitung berdasarkan per byte, tarif biaya "100 satoshi pe
<source>&amp;Edit address label</source>
<translation type="unfinished">&amp;Ubah label alamat</translation>
</message>
<message>
<source>Show in %1</source>
<extracomment>Transactions table context menu action to show the selected transaction in a third-party block explorer. %1 is a stand-in argument for the URL of the explorer.</extracomment>
<translation type="unfinished">Menunjukkan %1</translation>
</message>
<message>
<source>Export Transaction History</source>
<translation type="unfinished">Ekspor Riwayat Transaksi</translation>

View File

@@ -347,36 +347,36 @@ E' possibile firmare solo con indirizzi di tipo "legacy".</translation>
<message numerus="yes">
<source>%n second(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n secondo</numerusform>
<numerusform>%n secondi</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n minute(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n minuto</numerusform>
<numerusform>%n minuti</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n hour(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n ora</numerusform>
<numerusform>%n ore</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n day(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n giorno</numerusform>
<numerusform>%n giorni</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n week(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n settimana</numerusform>
<numerusform>%n settimane</numerusform>
</translation>
</message>
<message>
@@ -386,8 +386,8 @@ E' possibile firmare solo con indirizzi di tipo "legacy".</translation>
<message numerus="yes">
<source>%n year(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n anno</numerusform>
<numerusform>%n anni</numerusform>
</translation>
</message>
</context>
@@ -601,6 +601,30 @@ E' possibile firmare solo con indirizzi di tipo "legacy".</translation>
<source>Cannot write to data directory '%s'; check permissions.</source>
<translation type="unfinished">Impossibile scrivere nella directory dei dati ' %s'; controlla le autorizzazioni.</translation>
</message>
<message>
<source>The -txindex upgrade started by a previous version cannot be completed. Restart with the previous version or run a full -reindex.</source>
<translation type="unfinished">L'upgrade -txindex avviato su una versione precedente non può essere completato. Riavviare con la versione precedente o eseguire un -reindex completo.</translation>
</message>
<message>
<source>%s request to listen on port %u. This port is considered "bad" and thus it is unlikely that any Bitcoin Core peers connect to it. See doc/p2p-bad-ports.md for details and a full list.</source>
<translation type="unfinished">%s richiede di ascoltare sulla porta %u. Questa porta è considerata "cattiva" e quindi è improbabile che qualsiasi peer Bitcoin Core si colleghi ad essa. Guardare doc/p2p-bad-ports.md per i dettagli ed un elenco completo.</translation>
</message>
<message>
<source>Cannot provide specific connections and have addrman find outgoing connections at the same time.</source>
<translation type="unfinished">Non e' possibile fornire connessioni specifiche e contemporaneamente usare addrman per trovare connessioni uscenti. </translation>
</message>
<message>
<source>Error loading %s: External signer wallet being loaded without external signer support compiled</source>
<translation type="unfinished">Errore caricando %s: il wallet del dispositivo esterno di firma é stato caricato senza che il supporto del dispositivo esterno di firma sia stato compilato.</translation>
</message>
<message>
<source>Failed to rename invalid peers.dat file. Please move or delete it and try again.</source>
<translation type="unfinished">Mancata rinominazione del file peers.dat non valido. Per favore spostarlo o eliminarlo e provare di nuovo.</translation>
</message>
<message>
<source>Outbound connections restricted to Tor (-onlynet=onion) but the proxy for reaching the Tor network is not provided (no -proxy= and no -onion= given) or it is explicitly forbidden (-onion=0)</source>
<translation type="unfinished">Le connessioni in uscita sono state limitate a Tor (-onlynet=onion) ma il proxy per raggiungere la rete Tor non é stato fornito (ne -proxy= ne -onion= sono stati inseriti) oppure é espressamente vietato (-onion=0)</translation>
</message>
<message>
<source>Config setting for %s only applied on %s network when in [%s] section.</source>
<translation type="unfinished">La configurazione di %s si applica alla rete %s soltanto nella sezione [%s]</translation>
@@ -945,6 +969,10 @@ E' possibile firmare solo con indirizzi di tipo "legacy".</translation>
<source>Transaction amounts must not be negative</source>
<translation type="unfinished">Gli importi di transazione non devono essere negativi</translation>
</message>
<message>
<source>Transaction change output index out of range</source>
<translation type="unfinished">La transazione cambia l' indice dell'output fuori dal limite.</translation>
</message>
<message>
<source>Transaction has too long of a mempool chain</source>
<translation type="unfinished">La transazione ha una sequenza troppo lunga nella mempool</translation>
@@ -1236,8 +1264,8 @@ E' possibile firmare solo con indirizzi di tipo "legacy".</translation>
<message numerus="yes">
<source>Processed %n block(s) of transaction history.</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>Processato %n blocco dello storico delle transazioni.</numerusform>
<numerusform>Processati %n blocchi dello storico delle transazioni.</numerusform>
</translation>
</message>
<message>
@@ -1348,12 +1376,20 @@ E' possibile firmare solo con indirizzi di tipo "legacy".</translation>
<source>Main Window</source>
<translation type="unfinished">Finestra principale</translation>
</message>
<message>
<source>&amp;Hide</source>
<translation type="unfinished">&amp;Nascondi</translation>
</message>
<message>
<source>S&amp;how</source>
<translation type="unfinished">S&amp;come</translation>
</message>
<message numerus="yes">
<source>%n active connection(s) to Bitcoin network.</source>
<extracomment>A substring of the tooltip.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>%n connessione(i) attiva alla rete Bitcoin.</numerusform>
<numerusform>%n connessione(i) attive alla rete Bitcoin</numerusform>
</translation>
</message>
<message>
@@ -1849,6 +1885,10 @@ E' possibile firmare solo con indirizzi di tipo "legacy".</translation>
</context>
<context>
<name>Intro</name>
<message>
<source>%1 GB of space available</source>
<translation type="unfinished">%1 GB di spazio libero disponibile</translation>
</message>
<message>
<source>(of %1 GB needed)</source>
<translation type="unfinished">(di %1 GB necessari)</translation>
@@ -1869,8 +1909,8 @@ E' possibile firmare solo con indirizzi di tipo "legacy".</translation>
<source>(sufficient to restore backups %n day(s) old)</source>
<extracomment>Explanatory text on the capability of the current prune target.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>(sufficiente per ripristinare i backup di %n giorno fa)</numerusform>
<numerusform>(sufficiente per ripristinare i backup di %n giorni fa)</numerusform>
</translation>
</message>
<message>
@@ -2091,7 +2131,7 @@ E' possibile firmare solo con indirizzi di tipo "legacy".</translation>
</message>
<message>
<source>Prune &amp;block storage to</source>
<translation type="unfinished">Eliminare e bloccare l'archiviazione su</translation>
<translation type="unfinished">Modalità "prune": elimina i blocchi dal disco dopo</translation>
</message>
<message>
<source>Reverting this setting requires re-downloading the entire blockchain.</source>
@@ -3607,8 +3647,8 @@ Nota: poiché la commissione è calcolata su base per byte, una commissione di "
<message numerus="yes">
<source>Estimated to begin confirmation within %n block(s).</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>Inizio della conferma stimato entro %n blocco.</numerusform>
<numerusform>Inizio della conferma stimato entro %n blocchi.</numerusform>
</translation>
</message>
<message>
@@ -3945,8 +3985,8 @@ Nota: poiché la commissione è calcolata su base per byte, una commissione di "
<message numerus="yes">
<source>matures in %n more block(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
<numerusform>matura tra %n blocco</numerusform>
<numerusform>matura tra %n blocchi</numerusform>
</translation>
</message>
<message>

View File

@@ -629,6 +629,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>The -txindex upgrade started by a previous version cannot be completed. Restart with the previous version or run a full -reindex.</source>
<translation type="unfinished"> -txindex -reindex </translation>
</message>
<message>
<source>Error loading %s: External signer wallet being loaded without external signer support compiled</source>
<translation type="unfinished">%s </translation>
</message>
<message>
<source>Config setting for %s only applied on %s network when in [%s] section.</source>
<translation type="unfinished">%s [%s] %s </translation>

View File

@@ -3,19 +3,15 @@
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
<translation type="unfinished"> </translation>
<translation type="unfinished"> </translation>
</message>
<message>
<source>Create a new address</source>
<translation type="unfinished"> </translation>
</message>
<message>
<source>&amp;New</source>
<translation type="unfinished">&amp;</translation>
</message>
<message>
<source>Copy the currently selected address to the system clipboard</source>
<translation type="unfinished"> </translation>
<translation type="unfinished"> </translation>
</message>
<message>
<source>&amp;Copy</source>
@@ -31,11 +27,11 @@
</message>
<message>
<source>Enter address or label to search</source>
<translation type="unfinished"> </translation>
<translation type="unfinished">  </translation>
</message>
<message>
<source>Export the data in the current tab to a file</source>
<translation type="unfinished"> </translation>
<translation type="unfinished"> </translation>
</message>
<message>
<source>&amp;Export</source>
@@ -47,11 +43,11 @@
</message>
<message>
<source>Choose the address to send coins to</source>
<translation type="unfinished"> </translation>
<translation type="unfinished"> </translation>
</message>
<message>
<source>Choose the address to receive coins with</source>
<translation type="unfinished"> </translation>
<translation type="unfinished"> </translation>
</message>
<message>
<source>C&amp;hoose</source>
@@ -59,19 +55,25 @@
</message>
<message>
<source>Sending addresses</source>
<translation type="unfinished"> </translation>
<translation type="unfinished"> </translation>
</message>
<message>
<source>Receiving addresses</source>
<translation type="unfinished"> </translation>
<translation type="unfinished"> </translation>
</message>
<message>
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
<translation type="unfinished"> -, . .</translation>
<translation type="unfinished"> - . .</translation>
</message>
<message>
<source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
Signing is only possible with addresses of the type 'legacy'.</source>
<translation type="unfinished"> . "შექმენით ახალი მიმღები მისამართები", .
"მემკვიდრეობის" .</translation>
</message>
<message>
<source>&amp;Copy Address</source>
<translation type="unfinished"> </translation>
<translation type="unfinished">&amp; </translation>
</message>
<message>
<source>Copy &amp;Label</source>
@@ -85,10 +87,15 @@
<source>Export Address List</source>
<translation type="unfinished"> </translation>
</message>
<message>
<source>Comma separated file</source>
<extracomment>Expanded name of the CSV file format. See: https://en.wikipedia.org/wiki/Comma-separated_values.</extracomment>
<translation type="unfinished">CSV ( )</translation>
</message>
<message>
<source>There was an error trying to save the address list to %1. Please try again.</source>
<extracomment>An error message. %1 is a stand-in argument for the name of the file we attempted to save to.</extracomment>
<translation type="unfinished"> %1 . .</translation>
<translation type="unfinished"> %1 . .</translation>
</message>
<message>
<source>Exporting Failed</source>
@@ -114,19 +121,19 @@
<name>AskPassphraseDialog</name>
<message>
<source>Passphrase Dialog</source>
<translation type="unfinished">- </translation>
<translation type="unfinished"> </translation>
</message>
<message>
<source>Enter passphrase</source>
<translation type="unfinished"> -</translation>
<translation type="unfinished"> </translation>
</message>
<message>
<source>New passphrase</source>
<translation type="unfinished"> -</translation>
<translation type="unfinished"> </translation>
</message>
<message>
<source>Repeat new passphrase</source>
<translation type="unfinished"> -</translation>
<translation type="unfinished"> </translation>
</message>
<message>
<source>Show passphrase</source>
@@ -1962,6 +1969,11 @@
<source>Export Transaction History</source>
<translation type="unfinished"> </translation>
</message>
<message>
<source>Comma separated file</source>
<extracomment>Expanded name of the CSV file format. See: https://en.wikipedia.org/wiki/Comma-separated_values.</extracomment>
<translation type="unfinished">CSV ( )</translation>
</message>
<message>
<source>Confirmed</source>
<translation type="unfinished"></translation>

View File

@@ -605,6 +605,10 @@
<source>Confirmed</source>
<translation type="unfinished">Растық</translation>
</message>
<message>
<source>yes</source>
<translation type="unfinished">Иа</translation>
</message>
<message>
<source>(no label)</source>
<translation type="unfinished">(белгі жоқ)</translation>

View File

@@ -153,7 +153,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Unlock wallet</source>
<translation type="unfinished"> </translation>
<translation type="unfinished"> </translation>
</message>
<message>
<source>Change passphrase</source>
@@ -169,7 +169,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Are you sure you wish to encrypt your wallet?</source>
<translation type="unfinished"> ?</translation>
<translation type="unfinished"> ?</translation>
</message>
<message>
<source>Wallet encrypted</source>
@@ -264,6 +264,16 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</context>
<context>
<name>QObject</name>
<message>
<source>Do you want to reset settings to default values, or to abort without making changes?</source>
<extracomment>Explanatory text shown on startup when the settings file cannot be read. Prompts user to make a choice between resetting or aborting.</extracomment>
<translation type="unfinished"> ?</translation>
</message>
<message>
<source>A fatal error occurred. Check that settings file is writable, or try running with -nosettings.</source>
<extracomment>Explanatory text shown on startup when the settings file could not be written. Prompts user to check that we have the ability to write to the file. Explains that the user has the option of running without a settings file.</extracomment>
<translation type="unfinished"> . .</translation>
</message>
<message>
<source>Error: Specified data directory "%1" does not exist.</source>
<translation type="unfinished">오류: 지정한 "%1" .</translation>
@@ -358,31 +368,31 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message numerus="yes">
<source>%n second(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n초</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n minute(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n분</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n hour(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n시간</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n day(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n일</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n week(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n주</numerusform>
</translation>
</message>
<message>
@@ -392,7 +402,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message numerus="yes">
<source>%n year(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n년</numerusform>
</translation>
</message>
<message>
@@ -430,10 +440,18 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source>
<translation type="unfinished">-maxtxfee 값이 너무 큽니다! 하나의 거래에 너무 큰 수수료가 지불 됩니다.</translation>
</message>
<message>
<source>Cannot downgrade wallet from version %i to version %i. Wallet version unchanged.</source>
<translation type="unfinished">%i버젼에서 %i버젼으로 다운그레이드 할 수 없습니다. 월렛 버젼은 변경되지 않았습니다.</translation>
</message>
<message>
<source>Cannot obtain a lock on data directory %s. %s is probably already running.</source>
<translation type="unfinished">데이터 디렉토리 %s 에 락을 걸 수 없었습니다. %s가 이미 실행 중인 것으로 보입니다.</translation>
</message>
<message>
<source>Cannot upgrade a non HD split wallet from version %i to version %i without upgrading to support pre-split keypool. Please use version %i or no version specified.</source>
<translation type="unfinished">사전분리 키풀를 지원하기 위해서 업그레이드 하지 않고는 Non HD split 지갑의 %i버젼을 %i버젼으로 업그레이드 할 수 없습니다. %i버젼을 활용하거나 구체화되지 않은 버젼을 활용하세요.</translation>
</message>
<message>
<source>Distributed under the MIT software license, see the accompanying file %s or %s</source>
<translation type="unfinished">MIT 소프트웨어 라이센스에 따라 배포되었습니다. 첨부 파일 %s 또는 %s을 참조하십시오.</translation>
@@ -442,6 +460,26 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation type="unfinished">%s 불러오기 오류! 주소 키는 모두 정확하게 로드되었으나 거래 데이터와 주소록 필드에서 누락이나 오류가 존재할 수 있습니다.</translation>
</message>
<message>
<source>Error reading %s! Transaction data may be missing or incorrect. Rescanning wallet.</source>
<translation type="unfinished">%s를 읽는데 에러가 생겼습니다. 트랜잭션 데이터가 잘못되었거나 누락되었습니다. 지갑을 다시 스캐닝합니다.</translation>
</message>
<message>
<source>Error: Dumpfile format record is incorrect. Got "%s", expected "format".</source>
<translation type="unfinished">오류 : 덤프파일 포맷 기록이 잘못되었습니다. "포맷"이 아니라 "%s"를 얻었습니다.</translation>
</message>
<message>
<source>Error: Dumpfile identifier record is incorrect. Got "%s", expected "%s".</source>
<translation type="unfinished">오류 : 덤프파일 식별자 기록이 잘못되었습니다. "%s"이 아닌 "%s"를 얻었습니다.</translation>
</message>
<message>
<source>Error: Dumpfile version is not supported. This version of bitcoin-wallet only supports version 1 dumpfiles. Got dumpfile with version %s</source>
<translation type="unfinished">오류 : 덤프파일 버젼이 지원되지 않습니다. 이 비트코인 지갑 버젼은 오직 버젼1의 덤프파일을 지원합니다. %s버젼의 덤프파일을 얻었습니다.</translation>
</message>
<message>
<source>Error: Legacy wallets only support the "legacy", "p2sh-segwit", and "bech32" address types</source>
<translation type="unfinished">오류 : 레거시 지갑주소는 "레거시", "p2sh-segwit", "bech32" 지갑 주소의 타입만 지원합니다.</translation>
</message>
<message>
<source>Error: Listening for incoming connections failed (listen returned error %s)</source>
<translation type="unfinished">오류: 들어오는 연결을 허용하는데 실패했습니다 (리슨 오류: %s)</translation>
@@ -450,14 +488,30 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee.</source>
<translation type="unfinished">수수료 추정이 실패했습니다. 고장 대체 수수료가 비활성화 상태입니다. 몇 블록을 기다리거나 -fallbackfee를 활성화 하십시오.</translation>
</message>
<message>
<source>File %s already exists. If you are sure this is what you want, move it out of the way first.</source>
<translation type="unfinished">%s 파일이 이미 존재합니다. 무엇을 하고자 하는지 확실하시다면, 파일을 먼저 다른 곳으로 옮기십시오.</translation>
</message>
<message>
<source>Invalid amount for -maxtxfee=&lt;amount&gt;: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
<translation type="unfinished">유효하지 않은 금액 -maxtxfee=&lt;amount&gt;: '%s' (거래가 막히는 상황을 방지하게 위해 적어도 %s 의 중계 수수료를 지정해야 합니다)</translation>
</message>
<message>
<source>Invalid or corrupt peers.dat (%s). If you believe this is a bug, please report it to %s. As a workaround, you can move the file (%s) out of the way (rename, move, or delete) to have a new one created on the next start.</source>
<translation type="unfinished">유효하지 않거나 손상된 peers.dat(%s). 만약 이게 버그인 경우에, %s이쪽으로 리포트해주세요. 새로 만들어서 시작하기 위한 해결방법으로 %s파일을 옮길 수 있습니다. (이름 재설정, 파일 옮기기 혹은 삭제).</translation>
</message>
<message>
<source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
<translation type="unfinished">하나 이상의 양파 바인딩 주소가 제공됩니다. 자동으로 생성 된 Tor onion 서비스에 %s 사용.</translation>
</message>
<message>
<source>No dump file provided. To use createfromdump, -dumpfile=&lt;filename&gt; must be provided.</source>
<translation type="unfinished">덤프파일이 입력되지 않았습니다. 덤프파일을 사용하기 위해서는 -dumpfile=&lt;filename&gt;이 반드시 입력되어야 합니다. </translation>
</message>
<message>
<source>No dump file provided. To use dump, -dumpfile=&lt;filename&gt; must be provided.</source>
<translation type="unfinished">덤프파일이 입력되지 않았습니다. 덤프를 사용하기 위해서는 -dumpfile=&lt;filename&gt;이 반드시 입력되어야 합니다.</translation>
</message>
<message>
<source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
<translation type="unfinished"> ! %s은 .</translation>
@@ -576,7 +630,17 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Done loading</source>
<translation type="unfinished"> </translation>
<translation type="unfinished"> </translation>
</message>
<message>
<source>Dump file %s does not exist.</source>
<translation type="unfinished"> 1%s
</translation>
</message>
<message>
<source>Error creating %s</source>
<translation type="unfinished"> 1%s
</translation>
</message>
<message>
<source>Error initializing block database</source>
@@ -592,7 +656,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Error loading %s: Private keys can only be disabled during creation</source>
<translation type="unfinished">%s 실패: 개인키는 </translation>
<translation type="unfinished">%s 오류: 개인키는 </translation>
</message>
<message>
<source>Error loading %s: Wallet corrupted</source>
@@ -612,7 +676,11 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Error reading from database, shutting down.</source>
<translation type="unfinished"> , .</translation>
<translation type="unfinished"> , .</translation>
</message>
<message>
<source>Error reading next record from wallet database</source>
<translation type="unfinished"> .</translation>
</message>
<message>
<source>Error upgrading chainstate database</source>
@@ -626,6 +694,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Error: Keypool ran out, please call keypoolrefill first</source>
<translation type="unfinished">오류: 키풀이 , </translation>
</message>
<message>
<source>Error: Missing checksum</source>
<translation type="unfinished">오류: 체크섬 </translation>
</message>
<message>
<source>Error: Unable to write record to new wallet</source>
<translation type="unfinished">오류: 새로운 .</translation>
</message>
<message>
<source>Failed to listen on any port. Use -listen=0 if you want this.</source>
<translation type="unfinished"> . -=0 .</translation>
@@ -850,6 +926,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Unable to generate keys</source>
<translation type="unfinished">키 생성 불가</translation>
</message>
<message>
<source>Unable to open %s for writing</source>
<translation type="unfinished">%s을 쓰기 위하여 열 수 없습니다.</translation>
</message>
<message>
<source>Unable to start HTTP server. See debug log for details.</source>
<translation type="unfinished">HTTP 서버를 시작할 수 없습니다. 자세한 사항은 디버그 로그를 확인 하세요.</translation>
@@ -866,6 +946,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Unknown network specified in -onlynet: '%s'</source>
<translation type="unfinished">-onlynet: '%s' 에 알수없는 네트워크가 지정되었습니다</translation>
</message>
<message>
<source>Unknown new rules activated (versionbit %i)</source>
<translation type="unfinished">알 수 없는 새로운 규칙이 활성화 되었스 (versionbit %i)</translation>
</message>
<message>
<source>Unsupported logging category %s=%s.</source>
<translation type="unfinished">지원되지 않는 로깅 카테고리 %s = %s.</translation>
@@ -1093,7 +1177,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<message numerus="yes">
<source>Processed %n block(s) of transaction history.</source>
<translation type="unfinished">
<numerusform />
<numerusform>처리된 %n블록의 거래 내역</numerusform>
</translation>
</message>
<message>
@@ -1132,6 +1216,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Load Partially Signed Bitcoin Transaction</source>
<translation type="unfinished">부분적으로 서명된 비트코인 트랜잭션 불러오기</translation>
</message>
<message>
<source>Load PSBT from &amp;clipboard…</source>
<translation type="unfinished">PSBT 혹은 클립보드에서 불러오기</translation>
</message>
<message>
<source>Load Partially Signed Bitcoin Transaction from clipboard</source>
<translation type="unfinished">클립보드로부터 부분적으로 서명된 비트코인 트랜잭션 불러오기</translation>
@@ -1212,11 +1300,15 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>&amp;Hide</source>
<translation type="unfinished">&amp;숨기기</translation>
</message>
<message>
<source>S&amp;how</source>
<translation type="unfinished">보여주기</translation>
</message>
<message numerus="yes">
<source>%n active connection(s) to Bitcoin network.</source>
<extracomment>A substring of the tooltip.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform>비트코인 네트워크에 활성화된 %n연결</numerusform>
</translation>
</message>
<message>
@@ -1409,6 +1501,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Copy &amp;amount</source>
<translation type="unfinished">복사 &amp; 금액</translation>
</message>
<message>
<source>Copy transaction &amp;ID and output index</source>
<translation type="unfinished">거래 &amp; 결과 인덱스값 혹은 ID 복사</translation>
</message>
<message>
<source>L&amp;ock unspent</source>
<translation type="unfinished">L&amp;ock 미사용</translation>
@@ -1499,6 +1595,19 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<translation type="unfinished"> .</translation>
</message>
</context>
<context>
<name>LoadWalletsActivity</name>
<message>
<source>Load Wallets</source>
<extracomment>Title of progress window which is displayed when wallets are being loaded.</extracomment>
<translation type="unfinished"> </translation>
</message>
<message>
<source>Loading wallets</source>
<extracomment>Descriptive text of the load wallets progress window which indicates to the user that wallets are currently being loaded.</extracomment>
<translation type="unfinished"> ...</translation>
</message>
</context>
<context>
<name>OpenWalletActivity</name>
<message>
@@ -1703,6 +1812,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%1 GB of space available</source>
<translation type="unfinished">%1 GB </translation>
</message>
<message>
<source>(of %1 GB needed)</source>
<translation type="unfinished">( %1GB )</translation>
@@ -1723,7 +1836,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>(sufficient to restore backups %n day(s) old)</source>
<extracomment>Explanatory text on the capability of the current prune target.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform>%n일차 .</numerusform>
</translation>
</message>
<message>
@@ -1950,14 +2063,44 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Reverting this setting requires re-downloading the entire blockchain.</source>
<translation type="unfinished">이 설정을 되돌리려면 처음부터 블록체인을 다시 다운로드 받아야 합니다.</translation>
</message>
<message>
<source>Maximum database cache size. A larger cache can contribute to faster sync, after which the benefit is less pronounced for most use cases. Lowering the cache size will reduce memory usage. Unused mempool memory is shared for this cache.</source>
<extracomment>Tooltip text for Options window setting that sets the size of the database cache. Explains the corresponding effects of increasing/decreasing this value.</extracomment>
<translation type="unfinished">최대 데이터베이스 캐시 사이즈에 도달했습니다. 더 큰 용량의 캐시는 더 빠르게 싱크를 맞출 수 있으며 대부분의 유저 경우에 유리합니다. 캐시 사이즈를 작게 만드는 것은 메모리 사용을 줄입니다. 미사용 멤풀의 메모리는 이 캐시를 위해 공유됩니다.</translation>
</message>
<message>
<source>Set the number of script verification threads. Negative values correspond to the number of cores you want to leave free to the system.</source>
<extracomment>Tooltip text for Options window setting that sets the number of script verification threads. Explains that negative values mean to leave these many cores free to the system.</extracomment>
<translation type="unfinished">스크립트 검증 수명의 숫자를 설정하세요. 음수는 시스템에 묶이지 않는 자유로운 코어의 수를 뜻합니다.</translation>
</message>
<message>
<source>(0 = auto, &lt;0 = leave that many cores free)</source>
<translation type="unfinished">(0 = 자동, &lt;0 = 지정된 코어 개수만큼 사용 안함)</translation>
</message>
<message>
<source>This allows you or a third party tool to communicate with the node through command-line and JSON-RPC commands.</source>
<extracomment>Tooltip text for Options window setting that enables the RPC server.</extracomment>
<translation type="unfinished">당신 혹은 3자의 개발툴이 JSON-RPC 명령과 커맨드라인을 통해 노드와 소통하는 것을 허락합니다.</translation>
</message>
<message>
<source>Enable R&amp;PC server</source>
<extracomment>An Options window setting to enable the RPC server.</extracomment>
<translation type="unfinished">R&amp;PC 서버를 가능하게 합니다.</translation>
</message>
<message>
<source>W&amp;allet</source>
<translation type="unfinished">지갑(&amp;A)</translation>
</message>
<message>
<source>Whether to set subtract fee from amount as default or not.</source>
<extracomment>Tooltip text for Options window setting that sets subtracting the fee from a sending amount as default.</extracomment>
<translation type="unfinished">수수료 감면을 초기값으로 할지 혹은 설정하지 않을지를 결정합니다.</translation>
</message>
<message>
<source>Subtract &amp;fee from amount by default</source>
<extracomment>An Options window setting to set subtracting the fee from a sending amount as default.</extracomment>
<translation type="unfinished">초기 설정값으로 수수료를 뺍니다.</translation>
</message>
<message>
<source>Expert</source>
<translation type="unfinished">전문가</translation>
@@ -1974,10 +2117,25 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>&amp;Spend unconfirmed change</source>
<translation type="unfinished">검증되지 않은 잔돈 쓰기 (&amp;S)</translation>
</message>
<message>
<source>Enable &amp;PSBT controls</source>
<extracomment>An options window setting to enable PSBT controls.</extracomment>
<translation type="unfinished">PSBT 컨트롤을 가능하게 합니다.</translation>
</message>
<message>
<source>Whether to show PSBT controls.</source>
<extracomment>Tooltip text for options window setting that enables PSBT controls.</extracomment>
<translation type="unfinished">PSBT 컨트롤을 보여줄지를 결정합니다.</translation>
</message>
<message>
<source>External Signer (e.g. hardware wallet)</source>
<translation type="unfinished">외부 서명자 (예: 하드웨어 지갑)</translation>
</message>
<message>
<source>&amp;External signer script path</source>
<translation type="unfinished">외부 서명자 스크립트 경로
 </translation>
</message>
<message>
<source>Full path to a Bitcoin Core compatible script (e.g. C:\Downloads\hwi.exe or /Users/you/Downloads/hwi.py). Beware: malware can steal your coins!</source>
<translation type="unfinished">비트코인 코어 호환 스크립트의 전체 경로 (예: C:\Downloads\whi.exe 또는 /Users/you/Downloads/hwi.py). 주의: 악성 프로그램이 코인을 훔칠 수 있습니다!</translation>
@@ -2074,6 +2232,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
<translation type="unfinished">인터페이스에 표시하고 코인을 보낼때 사용할 기본 최소화 단위를 선택하십시오.</translation>
</message>
<message>
<source>Third-party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |.</source>
<translation type="unfinished">내용 메뉴 아이템으로 거래내역 탭이 보이는 제3자 URL (블록익스프로러). URL에 %s는 트랜잭션 해시값으로 대체됩니다. 복수의 URL은 수직항목으로부터 분리됩니다. </translation>
</message>
<message>
<source>&amp;Third-party transaction URLs</source>
<translation type="unfinished">제3자 트랜잭션 URL</translation>
</message>
<message>
<source>Whether to show coin control features or not.</source>
<translation type="unfinished">코인 상세 제어기능에 대한 표시 여부를 선택할 수 있습니다.</translation>
@@ -2279,9 +2445,13 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Failed to sign transaction: %1</source>
<translation type="unfinished">거래 서명 실패: %1</translation>
</message>
<message>
<source>Cannot sign inputs while wallet is locked.</source>
<translation type="unfinished">지갑이 잠겨있는 동안 입력을 서명할 수 없습니다.</translation>
</message>
<message>
<source>Could not sign any more inputs.</source>
<translation type="unfinished">더 이상 추가적인 인풋에 대해 서명할 수 없</translation>
<translation type="unfinished">더 이상 추가적인 입력에 대해 서명할 수 없습니다.</translation>
</message>
<message>
<source>Signed transaction successfully. Transaction is ready to broadcast.</source>
@@ -2348,6 +2518,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Transaction still needs signature(s).</source>
<translation type="unfinished">거래가 아직 서명(들)을 필요로 합니다.</translation>
</message>
<message>
<source>(But no wallet is loaded.)</source>
<translation type="unfinished">하지만 지갑 로딩이 되지 않았습니다.</translation>
</message>
<message>
<source>(But this wallet cannot sign transactions.)</source>
<translation type="unfinished">(그러나 이 지갑은 거래에 서명이 불가능합니다.)</translation>
@@ -2608,6 +2782,33 @@ BIP70의 광범위한 보안 결함으로 인해 모든 가맹점에서는 지
<source>Mapped AS</source>
<translation type="unfinished">매핑된 AS</translation>
</message>
<message>
<source>Whether we relay addresses to this peer.</source>
<extracomment>Tooltip text for the Address Relay field in the peer details area.</extracomment>
<translation type="unfinished">이 피어에게 지갑주소를 릴레이할지를 결정합니다.</translation>
</message>
<message>
<source>Address Relay</source>
<translation type="unfinished">지갑주소를 릴레이합니다.</translation>
</message>
<message>
<source>Total number of addresses processed, excluding those dropped due to rate-limiting.</source>
<extracomment>Tooltip text for the Addresses Processed field in the peer details area.</extracomment>
<translation type="unfinished">Rate한계치 때문에 제외된 것들을 미포함하여 처리된 총 지갑 개수</translation>
</message>
<message>
<source>Addresses Processed</source>
<translation type="unfinished">처리된 지갑</translation>
</message>
<message>
<source>Total number of addresses dropped due to rate-limiting.</source>
<extracomment>Tooltip text for the Addresses Rate-Limited field in the peer details area.</extracomment>
<translation type="unfinished">Rate제한으로 누락된 지갑의 총 개수</translation>
</message>
<message>
<source>Addresses Rate-Limited</source>
<translation type="unfinished">지갑의 Rate제한</translation>
</message>
<message>
<source>User Agent</source>
<translation type="unfinished">유저 에이전트</translation>
@@ -2745,6 +2946,37 @@ BIP70의 광범위한 보안 결함으로 인해 모든 가맹점에서는 지
<source>Out:</source>
<translation type="unfinished">출력:</translation>
</message>
<message>
<source>Inbound: initiated by peer</source>
<extracomment>Explanatory text for an inbound peer connection.</extracomment>
<translation type="unfinished">시작점 : 동기에 의해 시작됨</translation>
</message>
<message>
<source>Outbound Full Relay: default</source>
<extracomment>Explanatory text for an outbound peer connection that relays all network information. This is the default behavior for outbound connections.</extracomment>
<translation type="unfinished">아웃바운드 전체 릴레이: 기본값</translation>
</message>
<message>
<source>Outbound Block Relay: does not relay transactions or addresses</source>
<extracomment>Explanatory text for an outbound peer connection that relays network information about blocks and not transactions or addresses.</extracomment>
<translation type="unfinished">아웃바운드 블록 릴레이: 트랜잭션 또는 주소를 릴레이하지 않음</translation>
</message>
<message>
<source>Outbound Manual: added using RPC %1 or %2/%3 configuration options</source>
<extracomment>Explanatory text for an outbound peer connection that was established manually through one of several methods. The numbered arguments are stand-ins for the methods available to establish manual connections.</extracomment>
<translation type="unfinished">아웃바운드 매뉴얼 : RPC 1%1 이나 2%2/3%3 을 사용해서 환경설정 옵션을 추가</translation>
</message>
<message>
<source>Outbound Feeler: short-lived, for testing addresses</source>
<extracomment>Explanatory text for a short-lived outbound peer connection that is used to test the aliveness of known addresses.</extracomment>
<translation type="unfinished">Outbound Feeler: 짧은 용도, 주소 테스트용</translation>
</message>
<message>
<source>Outbound Address Fetch: short-lived, for soliciting addresses</source>
<extracomment>Explanatory text for a short-lived outbound peer connection that is used to request addresses from a peer.</extracomment>
<translation type="unfinished">아웃바운드 주소 가져오기: 단기, 주소 요청용
 </translation>
</message>
<message>
<source>we selected the peer for high bandwidth relay</source>
<translation type="unfinished">저희는 가장 빠른 대역폭을 가지고 있는 피어를 선택합니다.</translation>
@@ -2753,6 +2985,10 @@ BIP70의 광범위한 보안 결함으로 인해 모든 가맹점에서는 지
<source>the peer selected us for high bandwidth relay</source>
<translation type="unfinished">피어는 높은 대역폭을 위해 우리를 선택합니다</translation>
</message>
<message>
<source>no high bandwidth relay selected</source>
<translation type="unfinished">고대역폭 릴레이가 선택되지 않음</translation>
</message>
<message>
<source>&amp;Copy address</source>
<extracomment>Context menu action to copy the address of a peer.</extracomment>
@@ -2778,6 +3014,11 @@ BIP70의 광범위한 보안 결함으로 인해 모든 가맹점에서는 지
<source>1 &amp;year</source>
<translation type="unfinished">1년(&amp;Y)</translation>
</message>
<message>
<source>&amp;Copy IP/Netmask</source>
<extracomment>Context menu action to copy the IP/Netmask of a banned peer. IP/Netmask is the combination of a peer's IP address and its Netmask. For IP address, see: https://en.wikipedia.org/wiki/IP_address.</extracomment>
<translation type="unfinished">IP/Netmask </translation>
</message>
<message>
<source>&amp;Unban</source>
<translation type="unfinished"> (&amp;U)</translation>
@@ -2794,6 +3035,23 @@ BIP70의 광범위한 보안 결함으로 인해 모든 가맹점에서는 지
<source>Executing command using "%1" wallet</source>
<translation type="unfinished">"%1" </translation>
</message>
<message>
<source>Welcome to the %1 RPC console.
Use up and down arrows to navigate history, and %2 to clear screen.
Use %3 and %4 to increase or decrease the font size.
Type %5 for an overview of available commands.
For more information on using this console, type %6.
%7WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command.%8</source>
<extracomment>RPC console welcome message. Placeholders %7 and %8 are style tags for the warning content, and they are not space separated from the rest of the text intentionally.</extracomment>
<translation type="unfinished">1%1 RPC .
2%2 .
3%3 4%4
5%5 .
6%6 .
7%7 경고: 사기꾼들은 . . 8%8
</translation>
</message>
<message>
<source>Executing</source>
<extracomment>A console message indicating an entered command is currently being executed.</extracomment>
@@ -3241,6 +3499,14 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<source>%1 to %2</source>
<translation type="unfinished">%1 %2</translation>
</message>
<message>
<source>To review recipient list click "Show Details…"</source>
<translation type="unfinished"> "자세히 보기" </translation>
</message>
<message>
<source>Sign failed</source>
<translation type="unfinished"> </translation>
</message>
<message>
<source>External signer not found</source>
<extracomment>"External signer" means using devices such as hardware wallets.</extracomment>
@@ -3264,6 +3530,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<source>PSBT saved</source>
<translation type="unfinished">PSBT </translation>
</message>
<message>
<source>External balance:</source>
<translation type="unfinished"> </translation>
</message>
<message>
<source>or</source>
<translation type="unfinished"></translation>
@@ -3277,6 +3547,16 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<extracomment>Text to inform a user attempting to create a transaction of their current options. At this stage, a user can only create a PSBT. This string is displayed when private keys are disabled and an external signer is not available.</extracomment>
<translation type="unfinished"> . e.g. %1 PSBT PSBT ( ) .</translation>
</message>
<message>
<source>Do you want to create this transaction?</source>
<extracomment>Message displayed when attempting to create a transaction. Cautionary text to prompt the user to verify that the displayed transaction details represent the transaction the user intends to create.</extracomment>
<translation type="unfinished"> ?</translation>
</message>
<message>
<source>Please, review your transaction. You can create and send this transaction or create a Partially Signed Bitcoin Transaction (PSBT), which you can save or copy and then sign with, e.g., an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
<extracomment>Text to inform a user attempting to create a transaction of their current options. At this stage, a user can send their transaction or create a PSBT. This string is displayed when both private keys and PSBT controls are enabled.</extracomment>
<translation type="unfinished"> . . (PSBT, Partially Signed Bitcoin Transaction) , %1 . PSBT가 . </translation>
</message>
<message>
<source>Please, review your transaction.</source>
<extracomment>Text to prompt a user to review the details of the transaction they are attempting to send.</extracomment>
@@ -3337,7 +3617,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<message numerus="yes">
<source>Estimated to begin confirmation within %n block(s).</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n블록내로 .</numerusform>
</translation>
</message>
<message>
@@ -3590,6 +3870,17 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<translation type="unfinished">메시지가 검증되었습니다.</translation>
</message>
</context>
<context>
<name>SplashScreen</name>
<message>
<source>(press q to shutdown and continue later)</source>
<translation type="unfinished">q 를 눌러 종료하거나 나중에 계속하세요.</translation>
</message>
<message>
<source>press q to shutdown</source>
<translation type="unfinished">q를 눌러 종료하세요</translation>
</message>
</context>
<context>
<name>TransactionDesc</name>
<message>
@@ -3667,7 +3958,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<message numerus="yes">
<source>matures in %n more block(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform>%n개 이상 블록 이내에 완료됩니다.</numerusform>
</translation>
</message>
<message>
@@ -3939,10 +4230,35 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of "100 satos
<source>Copy transaction &amp;ID</source>
<translation type="unfinished"> &amp; </translation>
</message>
<message>
<source>Copy &amp;raw transaction</source>
<translation type="unfinished"> </translation>
</message>
<message>
<source>Copy full transaction &amp;details</source>
<translation type="unfinished"> </translation>
</message>
<message>
<source>&amp;Show transaction details</source>
<translation type="unfinished"> </translation>
</message>
<message>
<source>Increase transaction &amp;fee</source>
<translation type="unfinished"> </translation>
</message>
<message>
<source>A&amp;bandon transaction</source>
<translation type="unfinished"> </translation>
</message>
<message>
<source>&amp;Edit address label</source>
<translation type="unfinished">&amp; </translation>
</message>
<message>
<source>Show in %1</source>
<extracomment>Transactions table context menu action to show the selected transaction in a third-party block explorer. %1 is a stand-in argument for the URL of the explorer.</extracomment>
<translation type="unfinished">%1 </translation>
</message>
<message>
<source>Export Transaction History</source>
<translation type="unfinished"> </translation>

336
src/qt/locale/bitcoin_ku.ts Normal file
View File

@@ -0,0 +1,336 @@
<TS version="2.1" language="ku">
<context>
<name>AddressBookPage</name>
<message>
<source>&amp;New</source>
<translation type="unfinished">&amp;</translation>
</message>
<message>
<source>&amp;Copy</source>
<translation type="unfinished">&amp;Kopi bike</translation>
</message>
<message>
<source>C&amp;lose</source>
<translation type="unfinished">Bigire</translation>
</message>
<message>
<source>Delete the currently selected address from the list</source>
<translation type="unfinished">Navnîşana hilbijartî ji lîsteyê bibe</translation>
</message>
<message>
<source>Enter address or label to search</source>
<translation type="unfinished">Ji bo lêgerînê navnîşan an etîketê têkeve</translation>
</message>
<message>
<source>Export the data in the current tab to a file</source>
<translation type="unfinished">Daneya di hilpekîna niha de bi rêya dosyayekê derxîne</translation>
</message>
<message>
<source>&amp;Export</source>
<translation type="unfinished">&amp;Derxîne</translation>
</message>
<message>
<source>&amp;Delete</source>
<translation type="unfinished">&amp; bibe</translation>
</message>
<message>
<source>Choose the address to send coins to</source>
<translation type="unfinished">Navnîşana ku ew ê koîn werin şandin, hilbijêre</translation>
</message>
<message>
<source>Choose the address to receive coins with</source>
<translation type="unfinished">Navnîşana ku ew ê koînan bistîne, hilbijêre</translation>
</message>
<message>
<source>C&amp;hoose</source>
<translation type="unfinished">H&amp;ilbijêre</translation>
</message>
<message>
<source>Sending addresses</source>
<translation type="unfinished">Navnîşanên şandinê</translation>
</message>
<message>
<source>Receiving addresses</source>
<translation type="unfinished">Navnîşanên stendinê</translation>
</message>
<message>
<source>&amp;Copy Address</source>
<translation type="unfinished">&amp;Navnîşanê kopî bike</translation>
</message>
<message>
<source>Copy &amp;Label</source>
<translation type="unfinished">Etîketê &amp;kopî bike</translation>
</message>
<message>
<source>&amp;Edit</source>
<translation type="unfinished">&amp;Serrast bike</translation>
</message>
<message>
<source>Export Address List</source>
<translation type="unfinished">Lîsteya navnîşanan derxîne</translation>
</message>
</context>
<context>
<name>AddressTableModel</name>
<message>
<source>Label</source>
<translation type="unfinished">Etîket</translation>
</message>
<message>
<source>Address</source>
<translation type="unfinished">Navnîşan</translation>
</message>
<message>
<source>(no label)</source>
<translation type="unfinished">(etîket tune)</translation>
</message>
</context>
<context>
<name>AskPassphraseDialog</name>
<message>
<source>Enter passphrase</source>
<translation type="unfinished">Pêborîna xwe têkevê</translation>
</message>
<message>
<source>New passphrase</source>
<translation type="unfinished">Pêborîna </translation>
</message>
<message>
<source>Repeat new passphrase</source>
<translation type="unfinished">Pêborîna xwe ya dubare bike</translation>
</message>
<message>
<source>Show passphrase</source>
<translation type="unfinished">Pêborînê nîşan bide</translation>
</message>
<message>
<source>Encrypt wallet</source>
<translation type="unfinished">Şîfrekirina cizdên</translation>
</message>
<message>
<source>Unlock wallet</source>
<translation type="unfinished">Kilîda cizdên veke</translation>
</message>
<message>
<source>Change passphrase</source>
<translation type="unfinished">Pêborînê biguherîne</translation>
</message>
<message>
<source>Confirm wallet encryption</source>
<translation type="unfinished">Şîfrekirina cizdên bipejirîne</translation>
</message>
<message>
<source>Are you sure you wish to encrypt your wallet?</source>
<translation type="unfinished">Tu bi rastî dixwazî cizdanê xwe şîfre bikî?</translation>
</message>
<message>
<source>Wallet encrypted</source>
<translation type="unfinished">Cizdan hate şîfrekirin</translation>
</message>
</context>
<context>
<name>QObject</name>
<message numerus="yes">
<source>%n second(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
<message numerus="yes">
<source>%n minute(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
<message numerus="yes">
<source>%n hour(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
<message numerus="yes">
<source>%n day(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
<message numerus="yes">
<source>%n week(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
<message numerus="yes">
<source>%n year(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
<source>Wallet:</source>
<translation type="unfinished">Cizdan:</translation>
</message>
<message numerus="yes">
<source>Processed %n block(s) of transaction history.</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
<message>
<source>Information</source>
<translation type="unfinished">Agahî</translation>
</message>
<message numerus="yes">
<source>%n active connection(s) to Bitcoin network.</source>
<extracomment>A substring of the tooltip.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
</context>
<context>
<name>CoinControlDialog</name>
<message>
<source>Date</source>
<translation type="unfinished">Tarîx</translation>
</message>
<message>
<source>(no label)</source>
<translation type="unfinished">(etîket tune)</translation>
</message>
</context>
<context>
<name>Intro</name>
<message numerus="yes">
<source>(sufficient to restore backups %n day(s) old)</source>
<extracomment>Explanatory text on the capability of the current prune target.</extracomment>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
</context>
<context>
<name>PeerTableModel</name>
<message>
<source>Address</source>
<extracomment>Title of Peers Table column which contains the IP/Onion/I2P address of the connected peer.</extracomment>
<translation type="unfinished">Navnîşan</translation>
</message>
<message>
<source>Type</source>
<extracomment>Title of Peers Table column which describes the type of peer connection. The "type" describes why the connection exists.</extracomment>
<translation type="unfinished">Cure</translation>
</message>
</context>
<context>
<name>ReceiveRequestDialog</name>
<message>
<source>Wallet:</source>
<translation type="unfinished">Cizdan:</translation>
</message>
</context>
<context>
<name>RecentRequestsTableModel</name>
<message>
<source>Date</source>
<translation type="unfinished">Tarîx</translation>
</message>
<message>
<source>Label</source>
<translation type="unfinished">Etîket</translation>
</message>
<message>
<source>(no label)</source>
<translation type="unfinished">(etîket tune)</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message numerus="yes">
<source>Estimated to begin confirmation within %n block(s).</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
<message>
<source>(no label)</source>
<translation type="unfinished">(etîket tune)</translation>
</message>
</context>
<context>
<name>TransactionDesc</name>
<message>
<source>Date</source>
<translation type="unfinished">Tarîx</translation>
</message>
<message numerus="yes">
<source>matures in %n more block(s)</source>
<translation type="unfinished">
<numerusform />
<numerusform />
</translation>
</message>
</context>
<context>
<name>TransactionTableModel</name>
<message>
<source>Date</source>
<translation type="unfinished">Tarîx</translation>
</message>
<message>
<source>Type</source>
<translation type="unfinished">Cure</translation>
</message>
<message>
<source>Label</source>
<translation type="unfinished">Etîket</translation>
</message>
<message>
<source>(no label)</source>
<translation type="unfinished">(etîket tune)</translation>
</message>
</context>
<context>
<name>TransactionView</name>
<message>
<source>Date</source>
<translation type="unfinished">Tarîx</translation>
</message>
<message>
<source>Type</source>
<translation type="unfinished">Cure</translation>
</message>
<message>
<source>Label</source>
<translation type="unfinished">Etîket</translation>
</message>
<message>
<source>Address</source>
<translation type="unfinished">Navnîşan</translation>
</message>
</context>
<context>
<name>WalletView</name>
<message>
<source>&amp;Export</source>
<translation type="unfinished">Derxîne</translation>
</message>
<message>
<source>Export the data in the current tab to a file</source>
<translation type="unfinished">Daneya di hilpekîna niha de bi rêya dosyayekê derxîne</translation>
</message>
</context>
</TS>

View File

@@ -21,10 +21,6 @@
<source>&amp;Copy</source>
<translation type="unfinished">&amp;ڕوونووس</translation>
</message>
<message>
<source>C&amp;lose</source>
<translation type="unfinished">C&amp;داخستن</translation>
</message>
<message>
<source>Delete the currently selected address from the list</source>
<translation type="unfinished">سڕینەوەی ناونیشانی هەڵبژێردراوی ئێستا لە لیستەکە</translation>
@@ -113,9 +109,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>(no label)</source>
<translation type="unfinished">(بێ ناونیشان)
</translation>
<translation type="unfinished">(ناونیشان نییە)</translation>
</message>
</context>
<context>
@@ -136,9 +130,25 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Repeat new passphrase</source>
<translation type="unfinished">دووبارەکردنەوەی دەستەواژەی تێپەڕی نوێ</translation>
</message>
<message>
<source>Show passphrase</source>
<translation type="unfinished">نیشان دانا ناوه چونه</translation>
</message>
<message>
<source>Encrypt wallet</source>
<translation type="unfinished">کیف خو یه پاره رمزه دانینه بر</translation>
</message>
<message>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation type="unfinished">او شوله بو ور کرنا کیف پاره گرکه رمزا کیفه وؤ یه پاره بزانی</translation>
</message>
<message>
<source>Are you sure you wish to encrypt your wallet?</source>
<translation type="unfinished">به راستی اون هشیارن کا دخازن بو کیف خو یه پاره رمزه دانین</translation>
</message>
<message>
<source>Enter the new passphrase for the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;ten or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation type="unfinished">دەستەواژەی تێپەڕەوی نوێ تێبنووسە بۆ جزدان.1 تکایە دەستەواژەی تێپەڕێک بەکاربێنە لە 2ten یان زیاتر لە هێما هەڕەمەکیەکان2، یان 38 یان زیاتر ووشەکان3.</translation>
<translation type="unfinished">دەستەواژەی تێپەڕەوی نوێ بنووسە بۆ جزدان. &lt;br/&gt;تکایە دەستەواژەی تێپەڕێک بەکاربێنە لە &lt;b&gt;دە یان زیاتر لە هێما هەڕەمەکییەکان&lt;/b&gt;یان &lt;b&gt;هەشت یان وشەی زیاتر&lt;/b&gt;.</translation>
</message>
<message>
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
@@ -239,17 +249,21 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</context>
<context>
<name>BitcoinGUI</name>
<message>
<source>&amp;About %1</source>
<translation type="unfinished">&amp;دەربارەی %1</translation>
</message>
<message>
<source>&amp;Send</source>
<translation type="unfinished">&amp;ناردن</translation>
</message>
<message>
<source>&amp;File</source>
<translation type="unfinished">&amp;پەرگە</translation>
<translation type="unfinished">&amp;فایل</translation>
</message>
<message>
<source>&amp;Settings</source>
<translation type="unfinished">&amp;سازکارییەکان</translation>
<translation type="unfinished">&amp;ڕێکخستنەکان</translation>
</message>
<message>
<source>&amp;Help</source>
@@ -287,7 +301,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<name>UnitDisplayStatusBarControl</name>
<message>
<source>Unit to show amounts in. Click to select another unit.</source>
<translation type="unfinished">یەکە بۆ نیشاندانی بڕی کرتە بکە بۆ دیاریکردنی یەکەیەکی تر.</translation>
<translation type="unfinished">یەکە بۆ نیشاندانی بڕی لەناو. کرتە بکە بۆ دیاریکردنی یەکەیەکی تر.</translation>
</message>
</context>
<context>

View File

@@ -3,7 +3,7 @@
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
<translation type="unfinished">Spustelėkite dešinįjį klavišą norint keisti adresą arba etiketę</translation>
<translation type="unfinished">Spustelėkite dešinįjį pelės klavišą norint keisti adresą arba etiketę </translation>
</message>
<message>
<source>Create a new address</source>
@@ -69,6 +69,12 @@
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
<translation type="unfinished">Tai yra jūsų Bitcoin adresai išeinantiems mokėjimams. Visada pasitikrinkite sumą ir gavėjo adresą prieš siunčiant lėšas.</translation>
</message>
<message>
<source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
Signing is only possible with addresses of the type 'legacy'.</source>
<translation type="unfinished">Tai jūsų Bitcoin mokėjimų gavimo adresai. Naudokite 'Sukurti naują gavimo adresą' mygtuką gavimų skirtuke kad sukurtumėte naujus adresus.
Pasirašymas galimas tik su 'legacy' tipo adresais.</translation>
</message>
<message>
<source>&amp;Copy Address</source>
<translation type="unfinished">&amp;Kopijuoti adresą</translation>
@@ -85,6 +91,11 @@
<source>Export Address List</source>
<translation type="unfinished">Eksportuoti adresų sąrašą</translation>
</message>
<message>
<source>Comma separated file</source>
<extracomment>Expanded name of the CSV file format. See: https://en.wikipedia.org/wiki/Comma-separated_values.</extracomment>
<translation type="unfinished">Kableliais atskirtas failas</translation>
</message>
<message>
<source>There was an error trying to save the address list to %1. Please try again.</source>
<extracomment>An error message. %1 is a stand-in argument for the name of the file we attempted to save to.</extracomment>
@@ -190,7 +201,7 @@
</message>
<message>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation type="unfinished">Dėl vidinės klaidos nepavyko užšifruoti piniginę.Piniginė neužšifruota.</translation>
<translation type="unfinished">Dėl vidinės klaidos nepavyko užšifruoti piniginę. Piniginė neužšifruota.</translation>
</message>
<message>
<source>The supplied passphrases do not match.</source>
@@ -245,6 +256,10 @@
<source>Error: %1</source>
<translation type="unfinished">Klaida: %1</translation>
</message>
<message>
<source>%1 didn't yet exit safely…</source>
<translation type="unfinished">%1 dar saugiai neužbaigė darbo...</translation>
</message>
<message>
<source>unknown</source>
<translation type="unfinished">nežinomas</translation>
@@ -339,6 +354,14 @@
</context>
<context>
<name>bitcoin-core</name>
<message>
<source>Settings file could not be read</source>
<translation type="unfinished">Nustatymų failas negalėjo būti perskaitytas</translation>
</message>
<message>
<source>Settings file could not be written</source>
<translation type="unfinished">Nustatymų failas negalėjo būti parašytas</translation>
</message>
<message>
<source>The %s developers</source>
<translation type="unfinished">%s kūrėjai</translation>
@@ -538,6 +561,10 @@
<source>Create a new wallet</source>
<translation type="unfinished">Sukurti naują piniginę</translation>
</message>
<message>
<source>&amp;Minimize</source>
<translation type="unfinished">&amp;Sumažinti</translation>
</message>
<message>
<source>Wallet:</source>
<translation type="unfinished">Piniginė</translation>
@@ -571,6 +598,10 @@
<source>&amp;Receive</source>
<translation type="unfinished">&amp;Gauti</translation>
</message>
<message>
<source>&amp;Options…</source>
<translation type="unfinished">&amp;Nustatymai</translation>
</message>
<message>
<source>Encrypt the private keys that belong to your wallet</source>
<translation type="unfinished">Užšifruoti privačius raktus, kurie priklauso jūsų piniginei</translation>
@@ -2882,6 +2913,11 @@
<source>Export Transaction History</source>
<translation type="unfinished">Eksportuoti sandorių istoriją</translation>
</message>
<message>
<source>Comma separated file</source>
<extracomment>Expanded name of the CSV file format. See: https://en.wikipedia.org/wiki/Comma-separated_values.</extracomment>
<translation type="unfinished">Kableliais atskirtas failas</translation>
</message>
<message>
<source>Confirmed</source>
<translation type="unfinished">Patvirtinta</translation>

Some files were not shown because too many files have changed in this diff Show More