mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-22 14:28:07 +00:00
fix(solana): round up transaction fee
If `unit_price * unit_limit / 1000000` didn't result in an integer `int()` would round the number down. However on the blockchain the resulting fee was be rounded up.
This commit is contained in:
parent
9b84ecf833
commit
b61ed7c02a
@ -113,6 +113,8 @@ async def confirm_instructions(
|
||||
|
||||
|
||||
def calculate_fee(transaction: Transaction) -> int:
|
||||
import math
|
||||
|
||||
from .constants import SOLANA_BASE_FEE_LAMPORTS, SOLANA_COMPUTE_UNIT_LIMIT
|
||||
from .transaction.instructions import (
|
||||
COMPUTE_BUDGET_PROGRAM_ID,
|
||||
@ -150,4 +152,4 @@ def calculate_fee(transaction: Transaction) -> int:
|
||||
unit_price = instruction.lamports
|
||||
is_unit_price_set = True
|
||||
|
||||
return int(base_fee + unit_price * unit_limit / 1000000)
|
||||
return int(base_fee + math.ceil(unit_price * unit_limit / 1000000))
|
||||
|
Loading…
Reference in New Issue
Block a user