Test - #12
Conversation
Signed-off-by: aceppaluni <aceppaluni@gmail.com>
Signed-off-by: aceppaluni <aceppaluni@gmail.com>
Signed-off-by: aceppaluni <aceppaluni@gmail.com>
Signed-off-by: aceppaluni <aceppaluni@gmail.com>
|
@learnmore tell me about this PR |
5 similar comments
|
@learnmore tell me about this PR |
|
@learnmore tell me about this PR |
|
@learnmore tell me about this PR |
|
@learnmore tell me about this PR |
|
@learnmore tell me about this PR |
|
@learnmore Why was this change made? |
1 similar comment
|
@learnmore Why was this change made? |
|
@learnmore Why was the FeeEstimateQuery added? |
|
@learnmore Why was FeeEstimateQuery added? |
Why Was
|
|
@learnmore what is the difference between |
|
| Method | Public? | is_approved |
Purpose |
|---|---|---|---|
_add_hbar_transfer() |
❌ Internal | Configurable | Core logic & validation |
add_hbar_transfer() |
✅ Yes | Always False |
Standard transfer |
add_approved_hbar_transfer() |
✅ Yes | Always True |
Delegated/approved transfer |
The key change in this PR is that _add_hbar_transfer() now also accepts string account IDs (e.g., "0.0.1001") and converts them automatically, which is why the tests can do tx.add_hbar_transfer("0.0.1001", Hbar(-1)).
|
@learnmore what was discussed about FeeEstimateQuery in this PR? |
What Was Discussed About
|
| File | Purpose |
|---|---|
fee_estimate_query.py |
Main query class with execute(), set_mode(), set_transaction() |
fee_estimate.py |
Dataclass holding base + extras, with a subtotal property |
fee_estimate_response.py |
Response dataclass with node_fee, service_fee, network_fee, total |
fee_estimate_mode.py |
FeeEstimateMode enum (STATE / INTRINSIC) |
fee_extra.py / network_fee.py |
Supporting dataclasses |
transaction.py |
Added estimate_fee() convenience method |
test_fee_estimate_query.py |
17 unit tests covering the new feature |
Notable Implementation Details Visible in the Diff
- Commented-out freeze logic in
set_transaction()— there was clearly some back-and-forth about whether to auto-freeze the transaction before estimating, but it was left commented out:#if hasattr(transaction, "freeze") and not transaction.is_frozen: #transaction.freeze()
- The actual transaction bytes sent to the API are hardcoded as
b"dummy"— suggesting this is an incomplete/draft implementation - The fee formula is:
total = node_fee + service_fee + (node_fee × network_multiplier)
No Direct Discussion of FeeEstimateQuery in PR Comments
The conversation in this PR was entirely questions directed at the LearnMore bot — there were no human-to-human review comments discussing design decisions, tradeoffs, or concerns about FeeEstimateQuery specifically.
|
@learnmore What is the main purpose of this PR? |
Main Purpose of This PRThis PR has two primary goals: 1. 🆕 Implement
|
|
@learnmore What is the goal of this PR? |
Goal of This PRBased on the code changes, this PR has two main goals: 1. 🆕 Implement
|
Testing flow