Experiment with ifdef-guarded changes to xdr.#601
Experiment with ifdef-guarded changes to xdr.#601leighmcculloch wants to merge 2 commits intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request introduces a build tag system to support experimental XDR changes from go-stellar-sdk. The changes allow the codebase to conditionally compile with different XDR types based on build tags (xdr_hello_world, xdr_ledger_entry_ext_v2, xdr_transaction_meta_v5), enabling experimentation with future protocol changes without breaking existing builds.
Changes:
- Updated go-stellar-sdk dependency to a version with ifdef-guarded XDR types
- Implemented build tag infrastructure in Makefile and CI/CD workflows
- Refactored operation type validation and transaction metadata handling to use build-tag-specific helper functions
Reviewed changes
Copilot reviewed 19 out of 20 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| go.mod, go.sum | Updated go-stellar-sdk and golang.org/x dependencies |
| Makefile | Added XDR_BUILD_TAGS_ALL variable and GOTAGS/GOLANGCI_LINT_TAGS support for conditional compilation |
| .github/workflows/stellar-rpc.yml | Added matrix build to test with and without XDR tags, plus verification step |
| .github/workflows/golang.yml | Added golangci-lint run with XDR build tags |
| cmd/stellar-rpc/internal/preflight/preflight*.go | Split operation validation into build-tag-specific files |
| cmd/stellar-rpc/internal/methods/simulate_transaction*.go | Split operation validation into build-tag-specific files |
| cmd/stellar-rpc/internal/feewindow/feewindow*.go | Refactored fee extraction and operation type checking with build tags |
| cmd/stellar-rpc/internal/integrationtest/*.go | Extracted helper functions for transaction metadata handling with build tag variants |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
What
Experiment with ifdef-guarded changes to xdr.
Why
For: