Skip to content

Commit d75c232

Browse files
authored
Merge pull request #1361 from psgreco/elem-23.2.3-rc1
Prepare 23.2.3 rc1
2 parents 4b8daa9 + bb9e44d commit d75c232

File tree

11 files changed

+67
-25
lines changed

11 files changed

+67
-25
lines changed

configure.ac

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
AC_PREREQ([2.69])
22
define(_CLIENT_VERSION_MAJOR, 23)
33
define(_CLIENT_VERSION_MINOR, 2)
4-
define(_CLIENT_VERSION_BUILD, 2)
5-
define(_CLIENT_VERSION_RC, 0)
4+
define(_CLIENT_VERSION_BUILD, 3)
5+
define(_CLIENT_VERSION_RC, 1)
66
define(_CLIENT_VERSION_IS_RELEASE, true)
77
define(_COPYRIGHT_YEAR, 2024)
88
define(_COPYRIGHT_HOLDERS,[The %s developers])

doc/man/elements-cli.1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
2-
.TH ELEMENTS-CLI "1" "July 2024" "elements-cli v23.2.2" "User Commands"
2+
.TH ELEMENTS-CLI "1" "August 2024" "elements-cli v23.2.3" "User Commands"
33
.SH NAME
4-
elements-cli \- manual page for elements-cli v23.2.2
4+
elements-cli \- manual page for elements-cli v23.2.3
55
.SH SYNOPSIS
66
.B elements-cli
77
[\fI\,options\/\fR] \fI\,<command> \/\fR[\fI\,params\/\fR] \fI\,Send command to Elements Core\/\fR
@@ -15,7 +15,7 @@ elements-cli \- manual page for elements-cli v23.2.2
1515
.B elements-cli
1616
[\fI\,options\/\fR] \fI\,help <command> Get help for a command\/\fR
1717
.SH DESCRIPTION
18-
Elements Core RPC client version v23.2.2
18+
Elements Core RPC client version v23.2.3
1919
.SH OPTIONS
2020
.HP
2121
\-?

doc/man/elements-qt.1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
2-
.TH ELEMENTS-QT "1" "July 2024" "elements-qt v23.2.2" "User Commands"
2+
.TH ELEMENTS-QT "1" "August 2024" "elements-qt v23.2.3" "User Commands"
33
.SH NAME
4-
elements-qt \- manual page for elements-qt v23.2.2
4+
elements-qt \- manual page for elements-qt v23.2.3
55
.SH SYNOPSIS
66
.B elements-qt
77
[\fI\,command-line options\/\fR]
88
.SH DESCRIPTION
9-
Elements Core version v23.2.2
9+
Elements Core version v23.2.3
1010
.SH OPTIONS
1111
.HP
1212
\-?

doc/man/elements-tx.1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
2-
.TH ELEMENTS-TX "1" "July 2024" "elements-tx v23.2.2" "User Commands"
2+
.TH ELEMENTS-TX "1" "August 2024" "elements-tx v23.2.3" "User Commands"
33
.SH NAME
4-
elements-tx \- manual page for elements-tx v23.2.2
4+
elements-tx \- manual page for elements-tx v23.2.3
55
.SH SYNOPSIS
66
.B elements-tx
77
[\fI\,options\/\fR] \fI\,<hex-tx> \/\fR[\fI\,commands\/\fR] \fI\,Update hex-encoded Elements transaction\/\fR
88
.br
99
.B elements-tx
1010
[\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR] \fI\,Create hex-encoded Elements transaction\/\fR
1111
.SH DESCRIPTION
12-
Elements Core elements\-tx utility version v23.2.2
12+
Elements Core elements\-tx utility version v23.2.3
1313
.SH OPTIONS
1414
.HP
1515
\-?

doc/man/elements-util.1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
2-
.TH ELEMENTS-UTIL "1" "July 2024" "elements-util v23.2.2" "User Commands"
2+
.TH ELEMENTS-UTIL "1" "August 2024" "elements-util v23.2.3" "User Commands"
33
.SH NAME
4-
elements-util \- manual page for elements-util v23.2.2
4+
elements-util \- manual page for elements-util v23.2.3
55
.SH SYNOPSIS
66
.B bitcoin-util
77
[\fI\,options\/\fR] [\fI\,commands\/\fR] \fI\,Do stuff\/\fR
88
.SH DESCRIPTION
9-
Elements Core bitcoin\-util utility version v23.2.2
9+
Elements Core bitcoin\-util utility version v23.2.3
1010
.SH OPTIONS
1111
.HP
1212
\-?

doc/man/elements-wallet.1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
2-
.TH ELEMENTS-WALLET "1" "July 2024" "elements-wallet v23.2.2" "User Commands"
2+
.TH ELEMENTS-WALLET "1" "August 2024" "elements-wallet v23.2.3" "User Commands"
33
.SH NAME
4-
elements-wallet \- manual page for elements-wallet v23.2.2
4+
elements-wallet \- manual page for elements-wallet v23.2.3
55
.SH DESCRIPTION
6-
Elements Core elements\-wallet version v23.2.2
6+
Elements Core elements\-wallet version v23.2.3
77
.PP
88
elements\-wallet is an offline tool for creating and interacting with Elements Core wallet files.
99
By default elements\-wallet will act on wallets in the default mainnet wallet directory in the datadir.

doc/man/elementsd.1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
2-
.TH ELEMENTSD "1" "July 2024" "elementsd v23.2.2" "User Commands"
2+
.TH ELEMENTSD "1" "August 2024" "elementsd v23.2.3" "User Commands"
33
.SH NAME
4-
elementsd \- manual page for elementsd v23.2.2
4+
elementsd \- manual page for elementsd v23.2.3
55
.SH SYNOPSIS
66
.B elementsd
77
[\fI\,options\/\fR] \fI\,Start Elements Core\/\fR
88
.SH DESCRIPTION
9-
Elements Core version v23.2.2
9+
Elements Core version v23.2.3
1010
.SH OPTIONS
1111
.HP
1212
\-?

src/chainparams.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -895,8 +895,8 @@ class CCustomParams : public CRegTestParams {
895895
const CScript default_script(CScript() << OP_TRUE);
896896
consensus.fedpegScript = StrHexToScriptWithDefault(args.GetArg("-fedpegscript", ""), default_script);
897897
consensus.start_p2wsh_script = args.GetIntArg("-con_start_p2wsh_script", consensus.start_p2wsh_script);
898-
create_discount_ct = args.GetBoolArg("-creatediscountct", false);
899-
accept_discount_ct = args.GetBoolArg("-acceptdiscountct", false) || create_discount_ct;
898+
create_discount_ct = args.GetBoolArg("-creatediscountct", create_discount_ct);
899+
accept_discount_ct = args.GetBoolArg("-acceptdiscountct", accept_discount_ct) || create_discount_ct;
900900

901901
// Calculate pegged Bitcoin asset
902902
std::vector<unsigned char> commit = CommitToArguments(consensus, strNetworkID);
@@ -974,6 +974,8 @@ class CCustomParams : public CRegTestParams {
974974
consensus.vDeployments[Consensus::DEPLOYMENT_DYNA_FED].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT;
975975
consensus.vDeployments[Consensus::DEPLOYMENT_DYNA_FED].min_activation_height = 0; // No activation delay
976976

977+
create_discount_ct = false;
978+
accept_discount_ct = false;
977979
UpdateFromArgs(args);
978980
SetGenesisBlock();
979981
consensus.hashGenesisBlock = genesis.GetHash();
@@ -1017,6 +1019,8 @@ class CLiquidTestNetParams : public CCustomParams {
10171019

10181020
default_magic_str = "410EDD62";
10191021
default_signblockscript = "51210217e403ddb181872c32a0cd468c710040b2f53d8cac69f18dad07985ee37e9a7151ae";
1022+
create_discount_ct = false;
1023+
accept_discount_ct = true;
10201024
UpdateFromArgs(args);
10211025
multi_data_permitted = true;
10221026
SetGenesisBlock();

src/node/miner.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -441,15 +441,23 @@ void BlockAssembler::addPackageTxs(int& nPackagesSelected, int& nDescendantsUpda
441441
uint64_t packageSize = iter->GetSizeWithAncestors();
442442
CAmount packageFees = iter->GetModFeesWithAncestors();
443443
int64_t packageSigOpsCost = iter->GetSigOpCostWithAncestors();
444+
uint64_t discountSize = iter->GetDiscountSizeWithAncestors();
444445
if (fUsingModified) {
445446
packageSize = modit->nSizeWithAncestors;
446447
packageFees = modit->nModFeesWithAncestors;
447448
packageSigOpsCost = modit->nSigOpCostWithAncestors;
449+
discountSize = modit->discountSizeWithAncestors;
448450
}
449451

450452
if (packageFees < blockMinFeeRate.GetFee(packageSize)) {
451-
// Everything else we might consider has a lower fee rate
452-
return;
453+
if (Params().GetAcceptDiscountCT()) {
454+
if (packageFees < blockMinFeeRate.GetFee(discountSize)) {
455+
return;
456+
}
457+
} else {
458+
// Everything else we might consider has a lower fee rate
459+
return;
460+
}
453461
}
454462

455463
if (!TestPackage(packageSize, packageSigOpsCost)) {

src/wallet/rpc/elements.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -850,7 +850,7 @@ static UniValue createrawpegin(const JSONRPCRequest& request, T_tx_ref& txBTCRef
850850

851851
// Estimate fee for transaction, decrement fee output(including witness data)
852852
unsigned int nBytes = GetVirtualTransactionSize(CTransaction(mtx)) +
853-
(1+1+72+1+33/WITNESS_SCALE_FACTOR);
853+
(1+1+72+1+33)/WITNESS_SCALE_FACTOR;
854854
CCoinControl coin_control;
855855
FeeCalculation feeCalc;
856856
CAmount nFeeNeeded = GetMinimumFee(*pwallet, nBytes, coin_control, &feeCalc);

test/functional/feature_discount_ct.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ def set_test_params(self):
1919
"-con_connect_genesis_outputs=1",
2020
"-initialfreecoins=2100000000000000",
2121
"-txindex=1",
22+
"-minrelaytxfee=0.00000100",
23+
"-blockmintxfee=0.00000100",
24+
"-fallbackfee=0.00000100",
2225
]
2326
self.extra_args = [
2427
# node 0 does not accept nor create discounted CTs
@@ -154,6 +157,33 @@ def run_test(self):
154157
tx = node0.getrawtransaction(txid, True)
155158
assert_equal(tx['vsize'], 2575)
156159

160+
# check liquidv1 min feerate
161+
feerate = 0.1
162+
self.log.info(f"Send confidential (discounted) tx to node 1 at {feerate} sats/vb")
163+
addr = node1.getnewaddress()
164+
info = node1.getaddressinfo(addr)
165+
txid = node2.sendtoaddress(info['confidential'], 1.0, "", "", False, None, None, None, None, None, None, feerate)
166+
self.sync_mempools([node1, node2])
167+
assert_equal(node0.getrawmempool(), [])
168+
self.generate(node2, 1, sync_fun=self.sync_blocks)
169+
for node in [node2, node1]:
170+
tx = node.gettransaction(txid, True, True)
171+
assert_equal(tx["confirmations"], 1)
172+
decoded = tx['decoded']
173+
vin = decoded['vin']
174+
vout = decoded['vout']
175+
assert_equal(len(vin), 2)
176+
assert_equal(len(vout), 3)
177+
if 'bitcoin' in decoded['fee']:
178+
assert_equal(decoded['fee']['bitcoin'], Decimal('-0.00000041'))
179+
else:
180+
assert_equal(decoded['fee'][bitcoin], Decimal('0.00000041'))
181+
assert_equal(decoded['vsize'], 2575)
182+
assert_equal(decoded['discountvsize'], 410)
183+
# node0 only has vsize
184+
tx = node0.getrawtransaction(txid, True)
185+
assert_equal(tx['vsize'], 2575)
186+
157187

158188
if __name__ == '__main__':
159189
CTTest().main()

0 commit comments

Comments
 (0)