Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions examples/src/silentpaymentscanner.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ impl Log for MainLog {
}
}

fn setup_logging() -> Result<Logger<MainLog>, KernelError> {
fn setup_logging() -> Result<Logger, KernelError> {
let mut builder = Builder::from_default_env();
builder.filter(None, LevelFilter::Info).init();
Logger::new(MainLog {})
Expand All @@ -37,7 +37,7 @@ fn setup_logging() -> Result<Logger<MainLog>, KernelError> {
fn create_context() -> Arc<Context> {
Arc::new(
ContextBuilder::new()
.chain_type(ChainType::REGTEST)
.chain_type(ChainType::Regtest)
.build()
.unwrap(),
)
Expand Down
8 changes: 4 additions & 4 deletions fuzz/fuzz_targets/fuzz_target_chainman.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ pub enum FuzzChainType {
impl Into<ChainType> for FuzzChainType {
fn into(self) -> ChainType {
match self {
FuzzChainType::MAINNET => ChainType::MAINNET,
FuzzChainType::TESTNET => ChainType::TESTNET,
FuzzChainType::REGTEST => ChainType::REGTEST,
FuzzChainType::SIGNET => ChainType::SIGNET,
FuzzChainType::MAINNET => ChainType::Mainnet,
FuzzChainType::TESTNET => ChainType::Testnet,
FuzzChainType::REGTEST => ChainType::Regtest,
FuzzChainType::SIGNET => ChainType::Signet,
}
}
}
Expand Down
12 changes: 6 additions & 6 deletions libbitcoinkernel-sys/bitcoin/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
steps:
- name: Determine fetch depth
run: echo "FETCH_DEPTH=$((${{ github.event.pull_request.commits }} + 2))" >> "$GITHUB_ENV"
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: ${{ env.FETCH_DEPTH }}
Expand Down Expand Up @@ -116,7 +116,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Clang version
run: |
Expand Down Expand Up @@ -183,7 +183,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Configure Developer Command Prompt for Microsoft Visual C++
# Using microsoft/setup-msbuild is not enough.
Expand Down Expand Up @@ -294,7 +294,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Set CI directories
run: |
Expand Down Expand Up @@ -348,7 +348,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Download built executables
uses: actions/download-artifact@v4
Expand Down Expand Up @@ -417,7 +417,7 @@ jobs:
DANGER_CI_ON_HOST_FOLDERS: 1
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Set CI directories
run: |
Expand Down
3 changes: 0 additions & 3 deletions libbitcoinkernel-sys/bitcoin/contrib/guix/security-check.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,9 +123,6 @@ def check_ELF_CONTROL_FLOW(binary) -> bool:

def check_ELF_FORTIFY(binary) -> bool:

# bitcoin-util does not currently contain any fortified functions
if 'Bitcoin Core bitcoin-util utility version ' in binary.strings:
return True
# bitcoin wrapper does not currently contain any fortified functions
if '--monolithic' in binary.strings:
return True
Expand Down
2 changes: 1 addition & 1 deletion libbitcoinkernel-sys/bitcoin/contrib/guix/symbol-check.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
# See https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html for more info.

MAX_VERSIONS = {
'GCC': (4,3,0),
'GCC': (7,0,0),
'GLIBC': {
lief.ELF.ARCH.X86_64: (2,31),
lief.ELF.ARCH.ARM: (2,31),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
PROGRAM = """
# include <uapi/linux/ptrace.h>

// The longest rejection reason is 118 chars and is generated in case of SCRIPT_ERR_EVAL_FALSE by
// strprintf("mandatory-script-verify-flag-failed (%s)", ScriptErrorString(check.GetScriptError()))
#define MAX_REJECT_REASON_LENGTH 118
// The longest rejection reason is 114 chars and is generated in case of SCRIPT_ERR_EVAL_FALSE by
// strprintf("block-script-verify-flag-failed (%s)", ScriptErrorString(check.GetScriptError()))
#define MAX_REJECT_REASON_LENGTH 114
// The longest string returned by RemovalReasonToString() is 'sizelimit'
#define MAX_REMOVAL_REASON_LENGTH 9
#define HASH_LENGTH 32
Expand Down
21 changes: 9 additions & 12 deletions libbitcoinkernel-sys/bitcoin/doc/build-freebsd.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ Run the following as root to install the base dependencies for building.
pkg install boost-libs cmake git libevent pkgconf
```

SQLite is required for the wallet:

```bash
pkg install sqlite3
```

To build Bitcoin Core without the wallet, use `-DENABLE_WALLET=OFF`.

See [dependencies.md](dependencies.md) for a complete overview.

### 2. Clone Bitcoin Repo
Expand All @@ -23,17 +31,6 @@ git clone https://github.com/bitcoin/bitcoin.git

### 3. Install Optional Dependencies

#### Wallet Dependencies
It is not necessary to build wallet functionality to run either `bitcoind` or `bitcoin-qt`.

###### Descriptor Wallet Support

`sqlite3` is required to support [descriptor wallets](descriptors.md).
Skip if you don't intend to use descriptor wallets.
```bash
pkg install sqlite3
```

#### GUI Dependencies
###### Qt6

Expand Down Expand Up @@ -79,7 +76,7 @@ pkg install python3 databases/py-sqlite3 net/py-pyzmq

There are many ways to configure Bitcoin Core, here are a few common examples:

##### Descriptor Wallet and GUI:
##### Wallet and GUI:
This enables the GUI, assuming `sqlite` and `qt` are installed.
```bash
cmake -B build -DBUILD_GUI=ON
Expand Down
20 changes: 8 additions & 12 deletions libbitcoinkernel-sys/bitcoin/doc/build-netbsd.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,14 @@ cmake -B build
...
```

SQLite is required for the wallet:

```bash
pkgin sqlite3
```

To build Bitcoin Core without the wallet, use `-DENABLE_WALLET=OFF`.

See [dependencies.md](dependencies.md) for a complete overview.

### 2. Clone Bitcoin Repo
Expand All @@ -43,18 +51,6 @@ git clone https://github.com/bitcoin/bitcoin.git

### 3. Install Optional Dependencies

#### Wallet Dependencies

It is not necessary to build wallet functionality to run bitcoind or the GUI.

###### Descriptor Wallet Support

`sqlite3` is required to enable support for [descriptor wallets](https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md).

```bash
pkgin install sqlite3
```

#### GUI Dependencies
###### Qt6

Expand Down
22 changes: 10 additions & 12 deletions libbitcoinkernel-sys/bitcoin/doc/build-openbsd.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ Run the following as root to install the base dependencies for building.
pkg_add git cmake boost libevent
```

SQLite is required for the wallet:

```bash
pkg_add sqlite3
```

To build Bitcoin Core without the wallet, use `-DENABLE_WALLET=OFF`.

See [dependencies.md](dependencies.md) for a complete overview.

### 2. Clone Bitcoin Repo
Expand All @@ -23,16 +31,6 @@ git clone https://github.com/bitcoin/bitcoin.git

### 3. Install Optional Dependencies

#### Wallet Dependencies

It is not necessary to build wallet functionality to run either `bitcoind` or `bitcoin-qt`.
SQLite is required to build the wallet.


``` bash
pkg_add sqlite3
```

#### GUI Dependencies
###### Qt6

Expand Down Expand Up @@ -77,8 +75,8 @@ pkg_add python py3-zmq # Select the newest version of the python package if nec

There are many ways to configure Bitcoin Core, here are a few common examples:

##### Descriptor Wallet and GUI:
This enables descriptor wallet support and the GUI, assuming SQLite and Qt 6 are installed.
##### Wallet and GUI:
This enables wallet support and the GUI, assuming SQLite and Qt 6 are installed.

```bash
cmake -B build -DBUILD_GUI=ON
Expand Down
21 changes: 8 additions & 13 deletions libbitcoinkernel-sys/bitcoin/doc/build-osx.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,14 @@ To install, run the following from your terminal:
brew install cmake boost pkgconf libevent
```

#### Wallet Dependencies

If you do not need wallet functionality, you can use `-DENABLE_WALLET=OFF` in
the `cmake -B` step below.

SQLite is required, but since macOS ships with a useable `sqlite` package, you don't need to
install anything.

### 4. Clone Bitcoin repository

`git` should already be installed by default on your system.
Expand All @@ -63,19 +71,6 @@ git clone https://github.com/bitcoin/bitcoin.git

### 5. Install Optional Dependencies

#### Wallet Dependencies

It is not necessary to build wallet functionality to run `bitcoind` or `bitcoin-qt`.

###### Descriptor Wallet Support

`sqlite` is required to support for descriptor wallets.

macOS ships with a useable `sqlite` package, meaning you don't need to
install anything.

---

#### GUI Dependencies

###### Qt
Expand Down
12 changes: 6 additions & 6 deletions libbitcoinkernel-sys/bitcoin/doc/build-unix.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,11 @@ Now, you can either build from self-compiled [depends](#dependencies) or install

sudo apt-get install libevent-dev libboost-dev

SQLite is required for the descriptor wallet:
SQLite is required for the wallet:

sudo apt install libsqlite3-dev

To build Bitcoin Core without wallet, see [*Disable-wallet mode*](#disable-wallet-mode)
To build Bitcoin Core without the wallet, see [*Disable-wallet mode*](#disable-wallet-mode)

ZMQ-enabled binaries are compiled with `-DWITH_ZMQ=ON` and require the following dependency:

Expand Down Expand Up @@ -105,11 +105,11 @@ Now, you can either build from self-compiled [depends](#dependencies) or install

sudo dnf install libevent-devel boost-devel

SQLite is required for the descriptor wallet:
SQLite is required for the wallet:

sudo dnf install sqlite-devel

To build Bitcoin Core without wallet, see [*Disable-wallet mode*](#disable-wallet-mode)
To build Bitcoin Core without the wallet, see [*Disable-wallet mode*](#disable-wallet-mode)

ZMQ-enabled binaries are compiled with `-DWITH_ZMQ=ON` and require the following dependency:

Expand Down Expand Up @@ -155,11 +155,11 @@ Now, you can either build from self-compiled [depends](#dependencies) or install

apk add libevent-dev boost-dev

SQLite is required for the descriptor wallet:
SQLite is required for the wallet:

apk add sqlite-dev

To build Bitcoin Core without wallet, see [*Disable-wallet mode*](#disable-wallet-mode)
To build Bitcoin Core without the wallet, see [*Disable-wallet mode*](#disable-wallet-mode)

ZMQ dependencies (provides ZMQ API):

Expand Down
7 changes: 7 additions & 0 deletions libbitcoinkernel-sys/bitcoin/doc/files.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@

- [Installed Files](#installed-files)

- [Filesystem recommendations](#filesystem-recommendations)

## Data directory location

The data directory is the default location where the Bitcoin Core files are stored.
Expand Down Expand Up @@ -160,3 +162,8 @@ This table describes the files installed by Bitcoin Core across different platfo
- *Italicized* files are only installed in source builds if relevant CMake options are enabled. They are not included in binary releases.
- README and bitcoin.conf files are included in binary releases but not installed in source builds.
- On Windows, binaries have a `.exe` suffix (e.g., `bitcoin-cli.exe`).

## Filesystem recommendations

When choosing a filesystem for the data directory (`datadir`) or blocks directory (`blocksdir`) on **macOS**,the `exFAT` filesystem should be avoided.
There have been multiple reports of database corruption and data loss when using this filesystem with Bitcoin Core, see [Issue #31454](https://github.com/bitcoin/bitcoin/issues/31454) for more details.
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ other consensus and policy rules, each of the following conditions are met:
4. The additional fees (difference between absolute fee paid by the replacement transaction and the
sum paid by the original transactions) pays for the replacement transaction's bandwidth at or
above the rate set by the node's incremental relay feerate. For example, if the incremental relay
feerate is 1 satoshi/vB and the replacement transaction is 500 virtual bytes total, then the
replacement pays a fee at least 500 satoshis higher than the sum of the original transactions.
feerate is 0.1 satoshi/vB and the replacement transaction is 500 virtual bytes total, then the
replacement pays a fee at least 50 satoshis higher than the sum of the original transactions.

*Rationale*: Try to prevent DoS attacks where an attacker causes the network to repeatedly relay
transactions each paying a tiny additional amount in fees, e.g. just 1 satoshi.
Expand Down Expand Up @@ -77,3 +77,5 @@ This set of rules is similar but distinct from BIP125.
* Full replace-by-fee is the default policy as of **v28.0** ([PR #30493](https://github.com/bitcoin/bitcoin/pull/30493)).

* Signaling for replace-by-fee is no longer required as of [PR 30592](https://github.com/bitcoin/bitcoin/pull/30592).

* The incremental relay feerate default is 0.1sat/vB ([PR #33106](https://github.com/bitcoin/bitcoin/pull/33106)).
19 changes: 19 additions & 0 deletions libbitcoinkernel-sys/bitcoin/doc/release-notes-32896.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Updated RPCs
------------
The following RPCs now contain a `version` parameter that allows
the user to create transactions of any standard version number (1-3):
- `createrawtransaction`
- `createpsbt`
- `send`
- `sendall`
- `walletcreatefundedpsbt`

Wallet
------
Support has been added for spending TRUC transactions received by the
wallet, as well as creating TRUC transactions. The wallet ensures that
TRUC policy rules are being met. The wallet will throw an error if the
user is trying to spend TRUC utxos with utxos of other versions.
Additionally, the wallet will treat unconfirmed TRUC sibling
transactions as mempool conflicts. The wallet will also ensure that
transactions spending TRUC utxos meet the required size restrictions.
17 changes: 17 additions & 0 deletions libbitcoinkernel-sys/bitcoin/doc/release-notes-33106.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Mining and Transaction Relay Policy
=========================

The minimum block feerate (`-blockmintxfee`) has been changed to 1 satoshi per kvB. It can still be changed using the
configuration option.

The default minimum relay feerate (`-minrelaytxfee`) and incremental relay feerate (`-incrementalrelayfee`) have been
changed to 100 satoshis per kvB. They can still be changed using their respective configuration options, but it is
recommended to change both together if you decide to do so.

Other minimum feerates (e.g. the dust feerate, the minimum returned by the fee estimator, and all feerates used by the
wallet) remain unchanged. The mempool minimum feerate still changes in response to high volume but more gradually, as a
result of the change to the incremental relay feerate.

Note that unless these lower defaults are widely adopted across the network, transactions created with lower fee rates
are not guaranteed to propagate or confirm. The wallet feerates remain unchanged; `-mintxfee` must be changed before
attempting to create transactions with lower feerates using the wallet.
7 changes: 7 additions & 0 deletions libbitcoinkernel-sys/bitcoin/doc/release-notes-33183.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Updated RPCs
------------

Transaction Script validation errors used to return the reason for the error prefixed by either
"mandatory-script-verify-flag-failed" if it was a consensus error, or "non-mandatory-script-verify-flag"
(without "-failed") if it was a standardness error. This has been changed to "block-script-verify-flag-failed"
and "mempool-script-verify-flag-failed" for all block and mempool errors respectively.
Loading
Loading