Skip to content

Conversation

@galt-tr
Copy link
Contributor

@galt-tr galt-tr commented Jul 1, 2025

This pull request introduces significant changes across multiple files, including adding new functionality for transaction input points and merkle tree calculations, updating the license, and enhancing the codebase with utility functions and linting configurations. Below is a summary of the most important changes grouped by theme:

Licensing Update:

  • LICENSE: Replaced the MIT license with the Open BSV License Version 5, which introduces specific conditions for using the software, emphasizing its usage on BSV Blockchains and compliance with Network Access Rules.

Linting Configuration:

  • .golangci.json: Disabled additional linters (testifylint, revive, gochecknoinits, forbidigo, err113) to refine linting rules for the project.

Transaction Input Points (TxInpoints) Functionality:

  • inpoints.go: Added a new TxInpoints structure to manage transaction input points, including methods for serialization, deserialization, and retrieving parent transaction hashes and indexes.
  • inpoints_test.go: Introduced comprehensive tests for TxInpoints, covering serialization, deserialization, and edge cases for retrieving parent transaction data.

Merkle Tree Enhancements:

  • merkle_tree.go: Added functions for building merkle trees and generating merkle proofs for coinbase transactions, including parallelized calculations for large trees.

Utility Functions:

  • compare.go: Implemented generic Min and Max functions for comparing ordered values.
  • compare_test.go: Added tests for the Min and Max utility functions to ensure correctness across various inputs.

Other Changes:

  • coinbase_placeholder.go: Added placeholder values for coinbase transactions to optimize compiler performance and included a function to check if a transaction is a coinbase placeholder.
  • coinbase_placeholder_test.go: Added tests for validating coinbase placeholder transaction properties and behavior.
  • examples/example.go: Removed the example file demonstrating basic usage of the package.
  • go.mod: Updated dependencies and added replacements for certain modules, such as github.com/libsv/go-bt/v2.

@github-actions
Copy link
Contributor

github-actions bot commented Jul 1, 2025

👋 Welcome, @galt-tr!

Thanks for opening your first pull request in bsv-blockchain/go-subtree.
A maintainer will review your contribution shortly.

If you have any questions feel free to reach out!

@galt-tr galt-tr marked this pull request as ready for review July 1, 2025 17:14
@galt-tr galt-tr requested a review from icellan as a code owner July 1, 2025 17:14
@codecov
Copy link

codecov bot commented Jul 1, 2025

The author of this PR, galt-tr, is not an activated member of this organization on Codecov.
Please activate this user on Codecov to display this PR comment.
Coverage data is still being uploaded to Codecov.io for purposes of overall coverage calculations.
Please don't hesitate to email us at support@codecov.io with any questions.

@mrz1836 mrz1836 self-requested a review July 1, 2025 17:15
Copy link
Collaborator

@mrz1836 mrz1836 left a comment

Choose a reason for hiding this comment

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

LGTM

@icellan icellan merged commit e2d8066 into master Jul 1, 2025
14 of 18 checks passed
@github-actions github-actions bot deleted the lintFix branch July 1, 2025 17:17
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