Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
9e37c00
net: separate the listening socket from the permissions
vasild Jan 14, 2025
a044553
net: drop CConnman::ListenSocket
vasild Jan 28, 2025
fdbc6e8
net: split CConnman::BindListenPort() off CConnman
vasild Aug 23, 2024
8bba43b
style: modernize the style of SockMan::BindListenPort()
vasild Sep 17, 2024
c80f908
net: split CConnman::AcceptConnection() off CConnman
vasild Aug 26, 2024
7be3a45
style: modernize the style of SockMan::AcceptConnection()
vasild Sep 17, 2024
cb8e857
net: move the generation of ids for new nodes from CConnman to SockMan
vasild Aug 27, 2024
27e2411
net: move CConnman-specific parts away from ThreadI2PAcceptIncoming()
vasild Aug 27, 2024
82258ce
net: move I2P-accept-incoming code from CConnman to SockMan
vasild Aug 27, 2024
8f14eb6
net: index nodes in CConnman by id
vasild Sep 20, 2024
756d8cf
net: isolate P2P specifics from GenerateWaitSockets()
vasild Sep 21, 2024
03a5596
net: isolate P2P specifics from SocketHandlerConnected() and ThreadSo…
vasild Sep 21, 2024
97d4286
net: isolate all remaining P2P specifics from SocketHandlerConnected()
vasild Sep 22, 2024
a78fae4
net: split CConnman::ConnectNode()
vasild Sep 23, 2024
f8af2a4
net: tweak EventNewConnectionAccepted()
vasild Sep 24, 2024
45ee18d
net: move sockets from CNode to SockMan
vasild Sep 23, 2024
f2f9ff9
net: move-only: improve encapsulation of SockMan
vasild Sep 23, 2024
5283111
Add StandardTemplateHash definition
JeremyRubin Oct 16, 2019
47f9e11
Add SignatureChecker method for checking DefaultCheckTemplateVerifyHash.
JeremyRubin Oct 16, 2019
7b73bcb
Add OP_CHECKTEMPLATEVERIFY Opcode as OP_NOP4
JeremyRubin Oct 16, 2019
3a72874
Change printing of NOP4 to CheckTemplateVerify
JeremyRubin Sep 2, 2021
488ae6c
script: precompute the DefaultCheckTemplateVerifyHash
JeremyRubin Oct 16, 2019
f85f809
policy: make bare OP_CHECKTEMPLATEVERIFY standard
JeremyRubin Oct 16, 2019
3fe62c8
test: add tx_valid.json tests for BIP-119 CheckTemplateVerify
JeremyRubin Sep 2, 2021
08cad0c
test: add tx_invalid.json examples for CTV
JeremyRubin Sep 12, 2021
c983506
test: add CTV hash computation unit test & mutation tester
JeremyRubin Sep 12, 2021
aa546be
consensus: add a CTV deployment for regtest only
jamesob Mar 19, 2025
693bb52
test: add OP_CHECKTEMPLATEVERIFY functional tests
JeremyRubin Oct 16, 2019
829e90f
Add sv2 log category for Stratum v2
Sjors Nov 30, 2023
98776f1
Add sv2 noise protocol
Sjors Mar 20, 2025
cdb4a32
Add sv2 message CoinbaseOutputConstraints
Sjors Sep 19, 2024
acc5934
Move CNetMessage and Transport headers to common
Sjors Sep 20, 2024
5f7fff4
Convert between Sv2NetMsg and CSerializedNetMsg
Sjors Jun 21, 2024
cbeaee5
Introduce Sv2Transport
Sjors Sep 20, 2024
bde3e42
Merge remote-tracking branch 'vasild/sockman' into 2024/06/sv2_connec…
Sjors Apr 8, 2025
74ce674
Add sv2 SETUP_CONNECTION messages
Sjors Jul 15, 2024
cc24340
Add strings for Sv2MsgType
Sjors Jul 1, 2024
1a0f0f3
Add Sv2Connman
Sjors Mar 20, 2025
20e266e
Handle negative timeout for waitTipChanged()
Sjors Feb 19, 2025
130cde5
rpc: drop unneeded IsRPCRunning() guards
Sjors Feb 19, 2025
203fa7f
rpc: handle shutdown during long poll and wait methods
Sjors Feb 19, 2025
498bfef
Have createNewBlock() wait for a tip
Sjors Feb 3, 2025
1c2add1
rpc: clarify longpoll behavior
Sjors Feb 19, 2025
0fc6c4f
Stratum v2 template provider scaffold
Sjors Nov 15, 2024
2df5bb7
Chainparams: add default sv2 port
Sjors Nov 29, 2023
fde6962
Add remaining sv2 messages for TemplateProvider
Sjors Jun 24, 2024
1ebe16d
Sv2: construct and submit block templates
Sjors Nov 22, 2024
35fc723
Handle REQUEST_TRANSACTION_DATA
Sjors Jul 2, 2024
d981dd8
Handle SUBMIT_SOLUTION
Sjors Jul 2, 2024
eb3f78d
CKey: add Serialize and Unserialize
Sjors Feb 1, 2024
daf7082
Persist static key for Template Provider
Sjors Jan 11, 2024
dc0f901
fixup: close connection only if the send queue is empty
Sjors Mar 20, 2025
f269123
miner: set the coinbase nLockTime to block height-1
darosior Feb 19, 2025
06736e5
qa: sanity check mined block have their coinbase timelocked to height
darosior Mar 27, 2025
b2f6576
mining: add -coinbaselocktime
Sjors Apr 8, 2025
20d5a6b
Start Template Provider with -sv2
Sjors Jul 17, 2024
746f691
doc: explain Stratum v2 design, testing and usage
Sjors Dec 28, 2023
19674cc
Implement OP_CHECKSIGFROMSTACK
reardencode Nov 26, 2024
cb0c9f6
consensus: add a CSFS deployment for regtest only
jamesob Mar 19, 2025
a2c2a9e
Merge branch '2025-03-ctv' into merge
average-gary Apr 12, 2025
bb92c00
Merge branch '2025-04-csfs' into merge
average-gary Apr 12, 2025
15f9a88
Update chain parameters to include CTV and CSFS deployments, and corr…
average-gary Apr 13, 2025
770bed7
Refactor policy.h to verify CTV too
average-gary Apr 13, 2025
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
3 changes: 3 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,8 @@ if(ENABLE_IPC AND WITH_EXTERNAL_LIBMULTIPROCESS)
)
endif()

option(WITH_SV2 "Enable Stratum v2 functionality." ON)

cmake_dependent_option(BUILD_GUI_TESTS "Build test_bitcoin-qt executable." ON "BUILD_GUI;BUILD_TESTS" OFF)
if(BUILD_GUI)
set(qt_components Core Gui Widgets LinguistTools)
Expand Down Expand Up @@ -688,6 +690,7 @@ message(" IPC ................................. ${ipc_status}")
message(" USDT tracing ........................ ${WITH_USDT}")
message(" QR code (GUI) ....................... ${WITH_QRENCODE}")
message(" DBus (GUI, Linux only) .............. ${WITH_DBUS}")
message(" Stratum v2 .......................... ${WITH_SV2}")
message("Tests:")
message(" test_bitcoin ........................ ${BUILD_TESTS}")
message(" test_bitcoin-qt ..................... ${BUILD_GUI_TESTS}")
Expand Down
5 changes: 3 additions & 2 deletions contrib/signet/miner
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ PATH_BASE_TEST_FUNCTIONAL = os.path.abspath(os.path.join(PATH_BASE_CONTRIB_SIGNE
sys.path.insert(0, PATH_BASE_TEST_FUNCTIONAL)

from test_framework.blocktools import get_witness_script, script_BIP34_coinbase_height # noqa: E402
from test_framework.messages import CBlock, CBlockHeader, COutPoint, CTransaction, CTxIn, CTxInWitness, CTxOut, from_binary, from_hex, ser_string, ser_uint256, tx_from_hex # noqa: E402
from test_framework.messages import CBlock, CBlockHeader, COutPoint, CTransaction, CTxIn, CTxInWitness, CTxOut, from_binary, from_hex, ser_string, ser_uint256, tx_from_hex, MAX_SEQUENCE_NONFINAL # noqa: E402
from test_framework.psbt import PSBT, PSBTMap, PSBT_GLOBAL_UNSIGNED_TX, PSBT_IN_FINAL_SCRIPTSIG, PSBT_IN_FINAL_SCRIPTWITNESS, PSBT_IN_NON_WITNESS_UTXO, PSBT_IN_SIGHASH_TYPE # noqa: E402
from test_framework.script import CScript, CScriptOp # noqa: E402

Expand Down Expand Up @@ -102,7 +102,8 @@ def generate_psbt(tmpl, reward_spk, *, blocktime=None, poolid=None):
scriptSig = CScript(b"" + scriptSig + CScriptOp.encode_op_pushdata(poolid))

cbtx = CTransaction()
cbtx.vin = [CTxIn(COutPoint(0, 0xffffffff), scriptSig, 0xffffffff)]
cbtx.nLockTime = tmpl["height"] - 1
cbtx.vin = [CTxIn(COutPoint(0, 0xffffffff), scriptSig, MAX_SEQUENCE_NONFINAL)]
cbtx.vout = [CTxOut(tmpl["coinbasevalue"], reward_spk)]
cbtx.vin[0].nSequence = 2**32-2
cbtx.rehash()
Expand Down
1 change: 1 addition & 0 deletions doc/design/libraries.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
| *libbitcoin_wallet* | Wallet functionality used by *bitcoind* and *bitcoin-wallet* executables. |
| *libbitcoin_wallet_tool* | Lower-level wallet functionality used by *bitcoin-wallet* executable. |
| *libbitcoin_zmq* | [ZeroMQ](../zmq.md) functionality used by *bitcoind* and *bitcoin-qt* executables. |
| *libbitcoin_sv2* | Stratum v2 functionality (usage TBD) |

## Conventions

Expand Down
Loading
Loading