mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-02 09:46:52 -05:00
test: Replace satoshi_round with int() or Decimal()
satoshi_round will round down. To make the code easier to parse use Decimal() where possible, which does not round. Or use int(), which explicitly rounds down.
This commit is contained in:
parent
66d11b1435
commit
fa2ac5881e
3 changed files with 8 additions and 12 deletions
|
@ -24,7 +24,6 @@ from test_framework.util import (
|
|||
assert_equal,
|
||||
assert_greater_than,
|
||||
assert_raises_rpc_error,
|
||||
satoshi_round,
|
||||
softfork_active,
|
||||
)
|
||||
from test_framework.script_util import DUMMY_P2WPKH_SCRIPT
|
||||
|
@ -94,7 +93,7 @@ class BIP68Test(BitcoinTestFramework):
|
|||
utxo = utxos[0]
|
||||
|
||||
tx1 = CTransaction()
|
||||
value = int(satoshi_round(utxo["amount"] - self.relayfee)*COIN)
|
||||
value = int((utxo["amount"] - self.relayfee) * COIN)
|
||||
|
||||
# Check that the disable flag disables relative locktime.
|
||||
# If sequence locks were used, this would require 1 block for the
|
||||
|
|
|
@ -14,7 +14,6 @@ from test_framework.util import (
|
|||
assert_equal,
|
||||
assert_raises_rpc_error,
|
||||
chain_transaction,
|
||||
satoshi_round,
|
||||
)
|
||||
|
||||
# default limits
|
||||
|
@ -209,10 +208,10 @@ class MempoolPackagesTest(BitcoinTestFramework):
|
|||
entry = self.nodes[0].getmempoolentry(x)
|
||||
descendant_fees += entry['fee']
|
||||
if (x == chain[-1]):
|
||||
assert_equal(entry['modifiedfee'], entry['fee']+satoshi_round(0.00002))
|
||||
assert_equal(entry['fees']['modified'], entry['fee']+satoshi_round(0.00002))
|
||||
assert_equal(entry['modifiedfee'], entry['fee'] + Decimal("0.00002"))
|
||||
assert_equal(entry['fees']['modified'], entry['fee'] + Decimal("0.00002"))
|
||||
assert_equal(entry['descendantfees'], descendant_fees * COIN + 2000)
|
||||
assert_equal(entry['fees']['descendant'], descendant_fees+satoshi_round(0.00002))
|
||||
assert_equal(entry['fees']['descendant'], descendant_fees + Decimal("0.00002"))
|
||||
|
||||
# Check that node1's mempool is as expected (-> custom ancestor limit)
|
||||
mempool0 = self.nodes[0].getrawmempool(False)
|
||||
|
@ -308,7 +307,7 @@ class MempoolPackagesTest(BitcoinTestFramework):
|
|||
value = utxo[0]['amount']
|
||||
vout = utxo[0]['vout']
|
||||
|
||||
send_value = satoshi_round((value - fee)/2)
|
||||
send_value = (value - fee) / 2
|
||||
inputs = [ {'txid' : txid, 'vout' : vout} ]
|
||||
outputs = {}
|
||||
for _ in range(2):
|
||||
|
|
|
@ -32,7 +32,6 @@ from test_framework.script_util import key_to_p2wpkh_script
|
|||
from test_framework.util import (
|
||||
assert_equal,
|
||||
assert_greater_than_or_equal,
|
||||
satoshi_round,
|
||||
)
|
||||
|
||||
DEFAULT_FEE = Decimal("0.0001")
|
||||
|
@ -174,13 +173,12 @@ class MiniWallet:
|
|||
vsize = Decimal(96) # anyone-can-spend
|
||||
else:
|
||||
vsize = Decimal(168) # P2PK (73 bytes scriptSig + 35 bytes scriptPubKey + 60 bytes other)
|
||||
send_value = satoshi_round(utxo_to_spend['value'] - fee_rate * (vsize / 1000))
|
||||
fee = utxo_to_spend['value'] - send_value
|
||||
send_value = int(COIN * (utxo_to_spend['value'] - fee_rate * (vsize / 1000)))
|
||||
assert send_value > 0
|
||||
|
||||
tx = CTransaction()
|
||||
tx.vin = [CTxIn(COutPoint(int(utxo_to_spend['txid'], 16), utxo_to_spend['vout']), nSequence=sequence)]
|
||||
tx.vout = [CTxOut(int(send_value * COIN), self._scriptPubKey)]
|
||||
tx.vout = [CTxOut(send_value, self._scriptPubKey)]
|
||||
tx.nLockTime = locktime
|
||||
if not self._address:
|
||||
# raw script
|
||||
|
@ -199,7 +197,7 @@ class MiniWallet:
|
|||
assert_equal(mempool_valid, tx_info['allowed'])
|
||||
if mempool_valid:
|
||||
assert_equal(tx_info['vsize'], vsize)
|
||||
assert_equal(tx_info['fees']['base'], fee)
|
||||
assert_equal(tx_info['fees']['base'], utxo_to_spend['value'] - Decimal(send_value) / COIN)
|
||||
return {'txid': tx_info['txid'], 'wtxid': tx_info['wtxid'], 'hex': tx_hex, 'tx': tx}
|
||||
|
||||
def sendrawtransaction(self, *, from_node, tx_hex):
|
||||
|
|
Loading…
Add table
Reference in a new issue