Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
8b116de
feat: Add Hip 1261 Implementation
aceppaluni Mar 22, 2026
c9b197c
chore: Add Changelog Entry
aceppaluni Mar 22, 2026
65427d9
fix: Add New Version Of Execute
aceppaluni Mar 24, 2026
5e5f2ce
feat: Updating PR with commits
aceppaluni Mar 24, 2026
be43064
fix: Add Requested Changes
aceppaluni Apr 13, 2026
e5154b8
fix: Add New Fixes
aceppaluni Apr 13, 2026
76e159d
fix: Add Additional Fixes
aceppaluni Apr 13, 2026
0180eb9
feat: Make fixes
aceppaluni Apr 14, 2026
1e47c74
fix: Fix Errors
aceppaluni Apr 15, 2026
e44fa1b
fix: Updated attempt
aceppaluni Apr 17, 2026
0e79ad5
fix: apply codacy changes
aceppaluni Apr 17, 2026
e9c8061
fix: apply new codacy changes
aceppaluni Apr 17, 2026
2ccf028
Merge branch 'main' into Hip1261
aceppaluni Apr 19, 2026
4e65376
fix: Address Errors
aceppaluni Apr 19, 2026
d3ba4a1
fix: Address Test Erros and Codacy
aceppaluni Apr 19, 2026
2037aae
feat: Add new test
aceppaluni Apr 19, 2026
06b2d73
fix: Fix pre-commit-config file
aceppaluni Apr 20, 2026
bfaa7d4
fix: Update to fix errors
aceppaluni Apr 20, 2026
05cb55b
fix: Address CodeRabbit Changes
aceppaluni Apr 22, 2026
01d183a
fix: Fix Testing and Implementation
aceppaluni Apr 29, 2026
db1317a
fix: Fix Codacy Err
aceppaluni Apr 29, 2026
41bdd1f
fix: Fix Testing
aceppaluni Apr 29, 2026
c5cf184
fix: Fix New Codacy Errors
aceppaluni Apr 29, 2026
ab3e645
fix: Fix Final Codacy Err
aceppaluni Apr 29, 2026
b6547b0
fix: Apply New Changes
aceppaluni Apr 30, 2026
539c1aa
fix: Add New Requested Changes
aceppaluni May 1, 2026
9382372
fix: Fix Errors After Updates
aceppaluni May 1, 2026
55852d1
fix: Fix Test Errors
aceppaluni May 1, 2026
e30b8e8
fix: Fix New Test Errs
aceppaluni May 1, 2026
4a596c0
fix: Fix Workflow Errs
aceppaluni May 1, 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
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ jobs:
uses: hiero-ledger/hiero-solo-action@692b186bd2e4c8d46b9deb1c067dc6ddcf0abcd7 # v0.15.0
with:
installMirrorNode: true
mirrorNodeVersion: v0.153.0

- name: Run integration tests
id: integration
Expand Down
22 changes: 22 additions & 0 deletions src/hiero_sdk_python/fees/fee_estimate.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
"""Fee estimation models for calculating base and extra fees.

This module defines the FeeEstimate dataclass, which aggregates
a base fee with optional extra fee components.
"""

from __future__ import annotations

from dataclasses import dataclass, field

from hiero_sdk_python.fees.fee_extra import FeeExtra


@dataclass(frozen=True)
class FeeEstimate:
"""Represents a fee estimate composed of a base amount and optional extras."""

base: int
extras: list[FeeExtra] = field(default_factory=list)

def __post_init__(self) -> None:
object.__setattr__(self, "extras", tuple(self.extras))
15 changes: 15 additions & 0 deletions src/hiero_sdk_python/fees/fee_estimate_mode.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"""Enumeration of fee estimation modes.

Defines the available strategies for calculating fee estimates.
"""

from __future__ import annotations

from enum import Enum


class FeeEstimateMode(str, Enum):
"""Supported modes for fee estimation."""

STATE = "STATE"
INTRINSIC = "INTRINSIC"
25 changes: 25 additions & 0 deletions src/hiero_sdk_python/fees/fee_estimate_response.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
"""Response model for fee estimation results.

Contains the calculated fees across different categories along with
the estimation mode and optional notes.
"""

from __future__ import annotations

from dataclasses import dataclass

from hiero_sdk_python.fees.fee_estimate import FeeEstimate
from hiero_sdk_python.fees.fee_estimate_mode import FeeEstimateMode
from hiero_sdk_python.fees.network_fee import NetworkFee


@dataclass(frozen=True)
class FeeEstimateResponse:
"""Represents the result of a fee estimation operation."""

mode: FeeEstimateMode
network_fee: NetworkFee | None = None
node_fee: FeeEstimate | None = None
service_fee: FeeEstimate | None = None
total: int = 0
Comment thread
aceppaluni marked this conversation as resolved.
high_volume_multiplier: int = 0
17 changes: 17 additions & 0 deletions src/hiero_sdk_python/fees/fee_extra.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
from __future__ import annotations

from dataclasses import dataclass


@dataclass(frozen=True)
class FeeExtra:
"""
Represents additional fee details associated with a transaction or operation.
"""

name: str | None = None
included: int | None = None
count: int | None = None
charged: int | None = None
fee_per_unit: int | None = None
subtotal: int | None = None
9 changes: 9 additions & 0 deletions src/hiero_sdk_python/fees/network_fee.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
from __future__ import annotations

from dataclasses import dataclass


@dataclass(frozen=True)
class NetworkFee:
multiplier: int
subtotal: int
Loading
Loading