Skip to content

chore: sync CLI languages with Rust CLI changes - #1297

Merged
erdemyerebasmaz merged 1 commit into
mainfrom
claude/sync-cli
Nov 2, 2026
Merged

erdemyerebasmaz merged 1 commit into
mainfrom
claude/sync-cli

Conversation

@erdemyerebasmaz

Copy link
Copy Markdown
Collaborator

Automated sync of language CLIs from Rust CLI changes.

Source commit: 573dbc5
Workflow run: View logs

Language status:

  • ✅ C#
  • ✅ Dart
  • ✅ Go
  • ✅ Kotlin
  • ✅ Python
  • ✅ React Native
  • ✅ Swift
  • ✅ TypeScript
Sync findings

C#

Divergences

  • receive command (bolt11 method): Rust CLI added --preimage flag to supply a caller-chosen preimage for the bolt11 invoice, with conflicts_with = "hodl". C# CLI was missing this flag and always passed preimage: null.

Applied

  • Added --preimage flag parsing in Commands.cs HandleReceive method
  • Added conflict validation: error when both --hodl and --preimage are specified
  • Passed the parsed preimage value through to the Bolt11Invoice constructor instead of hardcoded null
  • Renamed local variable from preimage to hodlPreimage inside the hodl block to avoid shadowing the flag value

Skipped

  • (none)

Dart

Divergences

  • receive command: Rust CLI added --preimage option for bolt11 invoices (conflicts with --hodl), Dart CLI was hardcoding preimage: null

Applied

  • Added --preimage option to the receive command's ArgParser in commands.dart
  • Added conflict check between --hodl and --preimage flags in commands.dart
  • Passed user-supplied preimage to ReceivePaymentMethod.bolt11Invoice() instead of null in commands.dart

Skipped

  • (none)

Go

Divergences

  • receive command bolt11 method: Rust CLI has --preimage flag (conflicts with --hodl) that passes a caller-supplied preimage to ReceivePaymentMethodBolt11Invoice.preimage; Go CLI was missing it.

Applied

  • Added --preimage flag to handleReceive in commands.go, with mutual-exclusion check against --hodl, passing the value as pm.Preimage on the ReceivePaymentMethodBolt11Invoice struct.

Skipped

  • (none)

Kotlin

Divergences

  • receive command's bolt11 method: Rust CLI added --preimage flag to supply a caller-provided preimage (hex) for the bolt11 invoice, conflicting with --hodl. Kotlin CLI had preimage = null hardcoded.

Applied

  • Added --preimage <hex> flag parsing to handleReceive in Commands.kt
  • Added --preimage to the help text in handleReceive in Commands.kt
  • Added mutual exclusion check between --hodl and --preimage in Commands.kt
  • Passed parsed preimage value through to ReceivePaymentMethod.Bolt11Invoice constructor in Commands.kt

Skipped

  • (none)

Python

Divergences

  • receive --preimage flag missing from Python CLI: Rust CLI added --preimage option for bolt11 invoices (conflicts with --hodl), Python CLI was always passing preimage=None

Applied

  • Added --preimage argument to _build_receive_parser() in commands.py
  • Added conflict check between --hodl and --preimage in _handle_receive() in commands.py
  • Changed preimage=None to preimage=args.preimage in the BOLT11_INVOICE constructor in commands.py

Skipped

  • (none)

React Native

Divergences

  • receive command's bolt11 path: Rust CLI added --preimage flag (hex string, conflicts with --hodl) that is passed to Bolt11Invoice's preimage field; React Native CLI had preimage: undefined hardcoded

Applied

  • Added --preimage <hex> flag parsing, conflict check with --hodl, and pass-through to Bolt11Invoice constructor in commands.ts
  • Added --preimage to the usage help text for the receive command

Skipped

  • (none)

Swift

Divergences

  • receive --preimage <hex> flag missing from Swift CLI: Rust CLI added --preimage option to the Receive command for bolt11 invoices, allowing a caller-supplied preimage instead of one the SDK generates. The flag conflicts with --hodl. Swift CLI had preimage: nil hardcoded.

Applied

  • Added --preimage flag parsing in handleReceive in Commands.swift
  • Added mutual exclusion check between --hodl and --preimage flags
  • Passed parsed preimage value to .bolt11Invoice(... preimage:) instead of nil

Skipped

  • (none)

TypeScript

Divergences

  • receive-payment bolt11 method missing --preimage CLI option that Rust CLI added (conflicts with --hodl)
  • receive-payment bolt11 method hardcoded preimage: undefined instead of passing through CLI-provided value

Applied

  • Added --preimage <hex> option to receive-payment command in commands.js
  • Added --hodl/--preimage mutual exclusion check in the bolt11 case in commands.js
  • Changed preimage: undefined to preimage: options.preimage in bolt11 payment method construction in commands.js

Skipped

  • (none)

All languages synced cleanly. This PR merges automatically once the gating CI checks pass (integration test checks and failures already on the base commit excluded). New failures get automated fix commits first.

@erdemyerebasmaz erdemyerebasmaz added the CLI Breez SDK CLI label Nov 2, 2026
@erdemyerebasmaz
erdemyerebasmaz merged commit 0ffd291 into main Nov 2, 2026
38 of 39 checks passed
@erdemyerebasmaz
erdemyerebasmaz deleted the claude/sync-cli branch November 2, 2026 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLI Breez SDK CLI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant