Skip to content

feat(abstract-cosmos): support execType for group proposal execution mode (CSHLD-972)#8988

Draft
prajwalu142 wants to merge 1 commit into
masterfrom
CSHLD-972-cosmos-exec-type
Draft

feat(abstract-cosmos): support execType for group proposal execution mode (CSHLD-972)#8988
prajwalu142 wants to merge 1 commit into
masterfrom
CSHLD-972-cosmos-exec-type

Conversation

@prajwalu142

Copy link
Copy Markdown
Contributor

Summary

  • Adds execType?: string to CosmosLikeTransaction interface so the field flows through the full transaction build chain
  • Adds execType() setter to CosmosTransactionBuilder following the existing feeGranter pattern
  • In getSendMessagesForEncodingTx, applies execType to MsgSubmitProposal messages only — sets decoded.exec = 1 for EXEC_TRY (immediate execution) or 0 for EXEC_UNSPECIFIED (defer to governance queue). Guard on execType !== undefined ensures zero behaviour change for all other Cosmos chains
  • Adds 3 unit tests in sdk-coin-hash covering setter storage and default-undefined behaviour

Context

Figure Markets calls POST /api/v2/wallet/{walletId}/txrequests directly and needs to control whether Cosmos group.v1 governance proposals execute immediately (EXEC_TRY=1) or defer (EXEC_UNSPECIFIED=0). This SDK change is part of a 3-repo stack: public-types (intent schema) → BitGoJS (this PR) → bitgo-microservices (threading from intent to builder).

Test plan

  • yarn workspace @bitgo/sdk-coin-hash test — 3 new execType tests pass
  • All other abstract-cosmos chains unaffected (no execType passed → undefined guard preserves existing behaviour)
  • Integration test in BGMS (test/api/v2/coins/hash.ts) verified in CI

🤖 Generated with Claude Code

…cution mode (CSHLD-972)

Adds execType field to CosmosLikeTransaction and threads it through the
builder chain so callers can control whether a group.v1 MsgSubmitProposal
executes immediately (EXEC_TRY=1) or defers to chain governance queue
(EXEC_UNSPECIFIED=0). The field is applied only during getSendMessagesForEncodingTx
when the message typeUrl matches groupProposalMsgTypeUrl, leaving all other
Cosmos chains and message types unaffected.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

TICKET: CSHLD-972
@linear-code

linear-code Bot commented Jun 10, 2026

Copy link
Copy Markdown

CSHLD-972

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.

1 participant