mirror of
https://github.com/aljazceru/nutshell.git
synced 2025-12-24 03:54:21 +01:00
use integer division as per https://github.com/cashubtc/nuts/pull/126\#discussion_r1625244955 (#549)
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
import math
|
||||
from typing import Dict, List, Literal, Optional, Tuple, Union
|
||||
|
||||
from loguru import logger
|
||||
@@ -256,7 +255,7 @@ class LedgerVerification(
|
||||
def get_fees_for_proofs(self, proofs: List[Proof]) -> int:
|
||||
if not len(set([self.keysets[p.id].unit for p in proofs])) == 1:
|
||||
raise TransactionUnitError("inputs have different units.")
|
||||
fee = math.ceil(sum([self.keysets[p.id].input_fee_ppk for p in proofs]) / 1000)
|
||||
fee = (sum([self.keysets[p.id].input_fee_ppk for p in proofs]) + 999) // 1000
|
||||
return fee
|
||||
|
||||
def _verify_equation_balanced(
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import math
|
||||
import uuid
|
||||
from typing import Dict, List, Tuple, Union
|
||||
|
||||
@@ -24,13 +23,13 @@ class WalletTransactions(SupportsDb, SupportsKeysets):
|
||||
unit: Unit
|
||||
|
||||
def get_fees_for_keyset(self, amounts: List[int], keyset: WalletKeyset) -> int:
|
||||
fees = max(math.ceil(sum([keyset.input_fee_ppk for a in amounts]) / 1000), 0)
|
||||
fees = max((sum([keyset.input_fee_ppk for a in amounts]) + 999) // 1000, 0)
|
||||
return fees
|
||||
|
||||
def get_fees_for_proofs(self, proofs: List[Proof]) -> int:
|
||||
# for each proof, find the keyset with the same id and sum the fees
|
||||
fees = max(
|
||||
math.ceil(sum([self.keysets[p.id].input_fee_ppk for p in proofs]) / 1000), 0
|
||||
(sum([self.keysets[p.id].input_fee_ppk for p in proofs]) + 999) // 1000, 0
|
||||
)
|
||||
return fees
|
||||
|
||||
|
||||
Reference in New Issue
Block a user