Skip to content

Hotfix/int32 config maxfee#403

Merged
hunterpack merged 5 commits intomasterfrom
hotfix/int32-config-maxfee
Apr 7, 2026
Merged

Hotfix/int32 config maxfee#403
hunterpack merged 5 commits intomasterfrom
hotfix/int32-config-maxfee

Conversation

@hunterpack
Copy link
Copy Markdown
Contributor

PR Checklist

PR Structure

  • This PR has reasonably narrow scope (if not, break it down into smaller PRs).
  • This PR avoids mixing refactoring changes with feature changes (split into two PRs
    otherwise).
  • This PR's title starts with the jira ticket associated with the PR.

Thoroughness

  • This PR adds tests for the most critical parts of the new functionality or fixes.
  • I've updated the README with the added features, breaking changes, new instructions on how to use the repository. I updated the description of the fuction with the changes that were made.

Release planning

  • I've decided if this PR requires a new major/minor/patch version accordingly to
    semver, and I've changed the name of the BRANCH to major/_ , minor/_ or patch/* .

What

[TODO: Short statement about what is changing.]

Why

[TODO: Why this change is being made. Include any context required to understand the why.]

Known limitations

[TODO or N/A]

@hunterpack hunterpack requested a review from a team as a code owner April 7, 2026 21:17
Copilot AI review requested due to automatic review settings April 7, 2026 21:17
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the new_max_fee (fee-bump max fee) field’s type to use a wider integer representation, likely to avoid overflow/truncation issues when handling larger fee values.

Changes:

  • Change TransactionOutput.NewMaxFee from uint32 to int64 in the JSON schema.
  • Update TransformTransaction to populate NewMaxFee as int64.
  • Adjust the Parquet schema tag for new_max_fee.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
internal/transform/transaction.go Writes NewMaxFee as int64 when transforming fee-bump transactions.
internal/transform/schema.go Changes TransactionOutput.NewMaxFee type to int64 in the JSON-facing schema.
internal/transform/schema_parquet.go Modifies Parquet field metadata for new_max_fee (removes UINT_64 logical type).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

FeeAccountMuxed string `json:"fee_account_muxed,omitempty"`
InnerTransactionHash string `json:"inner_transaction_hash,omitempty"`
NewMaxFee uint32 `json:"new_max_fee,omitempty"`
NewMaxFee int64 `json:"new_max_fee,omitempty"`
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changing new_max_fee from uint32 to int64 is a schema/API breaking change for any consumers that deserialize TransactionOutput (and any downstream BigQuery schema expectations). If this is intentional, it should be accompanied by a documented migration/compatibility plan (e.g., schema version bump, backfill/reload notes, or explicit downstream consumer updates).

Suggested change
NewMaxFee int64 `json:"new_max_fee,omitempty"`
NewMaxFee uint32 `json:"new_max_fee,omitempty"`

Copilot uses AI. Check for mistakes.
FeeAccountMuxed string `parquet:"name=fee_account_muxed, type=BYTE_ARRAY, convertedtype=UTF8, encoding=PLAIN_DICTIONARY"`
InnerTransactionHash string `parquet:"name=inner_transaction_hash, type=BYTE_ARRAY, convertedtype=UTF8, encoding=PLAIN_DICTIONARY"`
NewMaxFee int64 `parquet:"name=new_max_fee, type=INT64, convertedtype=UINT_64"`
NewMaxFee int64 `parquet:"name=new_max_fee, type=INT64"`
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This changes the Parquet schema for new_max_fee by removing the unsigned logical type (convertedtype=UINT_64) while similar fee fields (e.g., max_fee at internal/transform/schema_parquet.go:38) still use UINT_64. If downstream readers expect new_max_fee to be unsigned (or rely on the previous Parquet schema), this will be a breaking change; consider keeping convertedtype=UINT_64 for consistency, or updating all fee-related fields + consumers together with a clear migration.

Suggested change
NewMaxFee int64 `parquet:"name=new_max_fee, type=INT64"`
NewMaxFee int64 `parquet:"name=new_max_fee, type=INT64, convertedtype=UINT_64"`

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown

@taha-aziz taha-aziz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@hunterpack hunterpack merged commit 6e2e345 into master Apr 7, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants