feat(sdk-coin-xlm): add accountConfig and authorizeTrustline support#9078
Open
prajwalu142 wants to merge 1 commit into
Open
Conversation
cb2f5eb to
8a62116
Compare
8a62116 to
ba64d6e
Compare
## Problem BitGoJS had no way to forward accountConfig or authorizeTrustline params to the server prebuild, and no verification logic to confirm the returned transaction matches the client's intent. ## Goal Enable end-to-end accountConfig and authorizeTrustline flows: params reach the server and the signed prebuild is verified before signing. ## Fix - verifyAccountConfigTxOperations: validates setOptions bitmasks match the expected setFlags/clearFlags from the intent - verifyAuthorizeTrustlineTxOperations: validates setTrustLineFlags authorized flag matches intent (reads op.flags as object, not bitmask) - getExtraPrebuildParams: zeroes recipients for both new types - BuildParams.ts (sdk-core): whitelist accountConfig and authorizeTrustline so params are forwarded in prebuild API requests ## Testing 95 unit tests pass. New describe blocks in test/unit/xlm.ts cover accountConfig (4 tests) and authorizeTrustline (5 tests) including bitmask mismatch and flag mismatch error paths. Ticket: CSHLD-1089 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ba64d6e to
fb08403
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
BitGoJS had no way to forward
accountConfigorauthorizeTrustlineparams to the server prebuild, and no verification logic to confirm the returned transaction matches the client's intent.Goal
Enable end-to-end
accountConfigandauthorizeTrustlineflows: params reach the server and the signed prebuild is verified before signing.Fix
verifyAccountConfigTxOperations: validatessetOptionsbitmasks match the expectedsetFlags/clearFlagsfrom the intentverifyAuthorizeTrustlineTxOperations: validatessetTrustLineFlagsauthorized flag matches intent (readsop.flagsas object, not bitmask)getExtraPrebuildParams: zeroes recipients for both new typesBuildParams.ts(sdk-core): whitelistaccountConfigandauthorizeTrustlineso params are forwarded in prebuild API requestsTesting
95 unit tests pass. New describe blocks in
test/unit/xlm.tscoveraccountConfig(4 tests) andauthorizeTrustline(5 tests) including bitmask mismatch and flag mismatch error paths.Ticket: CSHLD-1089
🤖 Generated with Claude Code