Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
a10eaf9
chore: update idea test configuration file
HashEngineering Mar 6, 2026
d682ec0
fix: support processing islocks on the background thread by default
HashEngineering Mar 6, 2026
9b5d098
fix: add parallelization to Wallet protobuf reading
HashEngineering Mar 14, 2026
c2b1771
fix: reduce processing for non-wallet transactions
HashEngineering Mar 19, 2026
54be7d1
fix: add DashSystem.removeWallet
HashEngineering Mar 19, 2026
5b4273d
fix: allow OP_RETURN with 0.00 value in DefaultRiskAnalysis.isOutputS…
HashEngineering Mar 21, 2026
3bfe56f
fix: use CopyOnWriteArrayList for wallet list in InstantSendManager
HashEngineering Mar 21, 2026
957b340
fix: add parallelization to reading a wallet (protobuf)
HashEngineering Mar 27, 2026
41413cd
fix: update Testnet masternode lists and add a masternode update pyth…
HashEngineering Mar 27, 2026
941d1dd
fix: decrease logging of quorum lists
HashEngineering Mar 27, 2026
bd2f7ed
fix: improve InstantSend lock processing
HashEngineering Mar 27, 2026
57def7b
tests: fix CoinJoinSessionTest intermittent failures
HashEngineering Mar 27, 2026
2c12ef5
feat: ad CoinJoinForwardingService example that simulates a large coi…
HashEngineering Mar 27, 2026
816c9e8
fix: more InstantSendManager improvements
HashEngineering Mar 27, 2026
28570f7
fix: improve CoinJoinForwardingService
HashEngineering Mar 27, 2026
2939dfb
fix: improve WalletProtobufSerializer.readWallet
HashEngineering Mar 27, 2026
d1c9d06
fix: add forceMerge to MasternodeSeedPeers
HashEngineering Apr 5, 2026
1e7e69b
fix: update hp masternode list
HashEngineering Apr 5, 2026
a1eb087
fix: update PortOpen to check seeds and masternode lists of the network
HashEngineering Apr 5, 2026
3044cc3
fix: prevent divide by zero bug in PortOpen
HashEngineering Apr 5, 2026
d88ddf8
fix: handle edge cases to ensure locks are set in the tx confidence
HashEngineering Apr 5, 2026
883b04d
fix: coderabbit fixes
HashEngineering Apr 5, 2026
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: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,5 @@ checkpoints-krupnik.txt
/*.chainlocks
*.gobjects
/*.log
.DS_Store
.DS_Store
*.inventory
3 changes: 2 additions & 1 deletion .run/Tests in 'dashj-master-three.core.test'.run.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,15 @@
</option>
<option name="taskNames">
<list>
<option value=":core:test" />
<option value=":dashj-core:test" />
</list>
</option>
<option name="vmOptions" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>false</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<RunAsTest>false</RunAsTest>
<method v="2" />
</configuration>
</component>
Original file line number Diff line number Diff line change
Expand Up @@ -1075,7 +1075,7 @@ public SimplifiedMasternodeList getMnListAtH() {

public SimplifiedQuorumList getQuorumListAtH() {
SimplifiedQuorumList topList = getTopActiveQuorumList();
log.warn("obtaining this quorum list: {} from {} quorum lists", topList, activeQuorumLists.size());
log.debug("obtaining this quorum list: {} from {} quorum lists", topList, activeQuorumLists.size());
return topList;
}

Expand Down Expand Up @@ -1106,7 +1106,7 @@ public SimplifiedQuorumList getQuorumListForBlock(StoredBlock block) {
if (topList.getHeight() == -1) {
topList = getTopActiveQuorumList();
}
log.warn("obtaining quorum list {}: {} from {} quorum lists", block.getHeight(), topList, activeQuorumLists.size());
log.debug("obtaining quorum list {}: {} from {} quorum lists", block.getHeight(), topList, activeQuorumLists.size());
return topList;
}

Expand Down
6 changes: 5 additions & 1 deletion core/src/main/java/org/bitcoinj/manager/DashSystem.java
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ public void initDash(boolean liteMode, boolean allowInstantX, @Nullable EnumSet<
signingManager = new SigningManager(context, recoveredSigsDB, quorumManager, masternodeSync);

instantSendDB = new SPVInstantSendDatabase(context);
instantSendManager = new InstantSendManager(context, instantSendDB, signingManager);
instantSendManager = new InstantSendManager(context, instantSendDB, signingManager, false);
chainLockHandler = new ChainLocksHandler(context);
llmqBackgroundThread = new LLMQBackgroundThread(context, instantSendManager, chainLockHandler, signingManager, masternodeListManager);
masternodeMetaDataManager = new MasternodeMetaDataManager(context);
Expand Down Expand Up @@ -444,4 +444,8 @@ public void triggerMnListDownloadComplete() {
public void addWallet(Wallet wallet) {
instantSendManager.addWallet(wallet);
}

public void removeWallet(Wallet wallet) {
instantSendManager.removeWallet(wallet);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ public class MasternodeSeedPeers implements PeerDiscovery {
private int pnseedIndex;

// if there are more than 20 masternodes, then don't use HP masternodes in peer discovery
private static String[] mergeArrays(String[] masternodeArray, String[] hpMasternodeArray) {
if (masternodeArray.length > ENOUGH_MASTERNODES || hpMasternodeArray.length == 0) {
private static String[] mergeArrays(String[] masternodeArray, String[] hpMasternodeArray, boolean forceMerge) {
if (!forceMerge && (masternodeArray.length > ENOUGH_MASTERNODES || hpMasternodeArray.length == 0)) {
return masternodeArray;
} else {
String[] result = Arrays.copyOf(masternodeArray, masternodeArray.length + hpMasternodeArray.length);
Expand All @@ -53,7 +53,17 @@ private static String[] mergeArrays(String[] masternodeArray, String[] hpMastern
* @param params Network parameters to be used for port information.
*/
public MasternodeSeedPeers(NetworkParameters params) {
this(mergeArrays(params.getDefaultMasternodeList(), params.getDefaultHPMasternodeList()), params);
this(mergeArrays(params.getDefaultMasternodeList(), params.getDefaultHPMasternodeList(), false), params);
}

/**
* Supports finding peers by IP addresses
*
* @param params Network parameters to be used for port information.
* @param forceMerge forces merging of all masternode lists
*/
public MasternodeSeedPeers(NetworkParameters params, boolean forceMerge) {
this(mergeArrays(params.getDefaultMasternodeList(), params.getDefaultHPMasternodeList(), forceMerge), params);
}

/**
Expand Down
195 changes: 82 additions & 113 deletions core/src/main/java/org/bitcoinj/params/TestNet3Params.java
Original file line number Diff line number Diff line change
Expand Up @@ -177,122 +177,91 @@ public String getPaymentProtocolId() {
}

public static String[] MASTERNODES = {
"54.213.94.216",
"35.165.156.159",
"35.90.157.206",
"35.91.197.218",
"54.212.91.148",
"54.202.231.195",
"35.88.122.202",
"54.186.145.18",
"35.90.193.169",
"34.212.161.186",
"34.220.155.3",
"54.212.138.75",
"54.188.69.89",
"54.190.131.8",
"34.220.194.253",
"54.191.28.44",
"35.87.238.118",
"35.90.217.208",
"34.220.243.24",
"35.161.222.74",
"54.190.61.70",
"34.210.26.195",
"34.217.191.164",
"54.189.125.235",
"34.220.175.29",
"52.36.20.123",
"54.185.69.133",
"54.68.48.149",
"34.210.84.163",
"54.202.190.181",
"35.91.239.75",
"34.222.21.14",
"34.220.134.30",
"35.90.252.3",
"35.89.166.118",
"18.237.170.32",
"35.162.18.116",
"35.91.208.56",
"34.219.33.231",
"52.34.250.214",
"35.91.134.89",
"50.112.58.114",
"54.191.146.137",
"34.218.66.37",
"34.221.196.103",
"35.91.157.30",
"34.221.102.51",
"18.237.165.242",
"52.37.61.9",
"54.212.89.127",
"34.209.238.228",
"35.92.143.7",
"35.89.113.195",
"52.12.54.89",
"34.219.153.30",
"34.215.171.237",
"54.70.243.3",
"54.184.126.25",
"34.222.85.18",
"34.221.252.179",
"35.85.33.152",
"54.200.220.105",
"54.245.75.47",
"54.214.59.174",
"35.164.77.177",
"35.89.66.84",
"35.91.150.34",
"35.92.219.124",
"34.222.82.127",
"34.220.171.156",
"35.90.42.64",
"35.89.53.128",
"35.93.151.188",
"34.211.172.212",
"34.220.118.79",
"34.220.187.233",
"34.220.85.81",
"35.167.165.224",
"34.210.26.93",
"35.90.53.180",
"68.67.122.30",
"68.67.122.31",
"68.67.122.32",
"68.67.122.33",
"68.67.122.34",
"68.67.122.35",
"68.67.122.36",
"68.67.122.37",
"68.67.122.38",
"68.67.122.39",
"68.67.122.40",
"68.67.122.41",
"68.67.122.42",
"68.67.122.43",
"68.67.122.44",
"68.67.122.45",
"68.67.122.46",
"68.67.122.47",
"68.67.122.48",
"68.67.122.49",
"68.67.122.50",
"68.67.122.51",
"68.67.122.52",
"68.67.122.53",
"68.67.122.54",
"68.67.122.55",
"68.67.122.56",
"68.67.122.57",
"68.67.122.58",
"68.67.122.59",
"68.67.122.60",
"68.67.122.61",
"68.67.122.62",
"68.67.122.63",
"68.67.122.64",
"68.67.122.65",
"68.67.122.66",
"68.67.122.67",
"68.67.122.68",
"68.67.122.69",
"68.67.122.70",
"68.67.122.71",
"68.67.122.72",
"68.67.122.73",
"68.67.122.74",
"68.67.122.75",
"68.67.122.76",
"68.67.122.77",
"68.67.122.78",
"68.67.122.79",
"68.67.122.80",
"68.67.122.81",
"68.67.122.82"
};

public String [] HP_MASTERNODES = {
"34.214.48.68",
"35.166.18.166",
"35.165.50.126",
"52.42.202.128",
"52.12.176.90",
"44.233.44.95",
"35.167.145.149",
"52.34.144.50",
"44.240.98.102",
"54.201.32.131",
"52.10.229.11",
"52.13.132.146",
"44.228.242.181",
"35.82.197.197",
"52.40.219.41",
"44.239.39.153",
"54.149.33.167",
"35.164.23.245",
"52.33.28.47",
"52.43.86.231",
"52.43.13.92",
"35.163.144.230",
"52.89.154.48",
"52.24.124.162",
"44.227.137.77",
"35.85.21.179",
"54.187.14.232",
"54.68.235.201",
"52.13.250.182",
"35.82.49.196",
"44.232.196.6",
"54.189.164.39",
"54.213.204.85",
"68.67.122.1",
"68.67.122.2",
"68.67.122.3",
"68.67.122.4",
"68.67.122.5",
"68.67.122.6",
"68.67.122.7",
"68.67.122.8",
"68.67.122.9",
"68.67.122.10",
"68.67.122.11",
"68.67.122.12",
"68.67.122.13",
"68.67.122.14",
"68.67.122.15",
"68.67.122.16",
"68.67.122.17",
"68.67.122.18",
"68.67.122.19",
"68.67.122.20",
"68.67.122.21",
"68.67.122.22",
"68.67.122.23",
"68.67.122.24",
"68.67.122.25",
"68.67.122.26",
"68.67.122.27",
"68.67.122.28",
"68.67.122.29"
};

@Override
Expand Down
Loading
Loading