Release: develop -> main#3857
Open
github-actions[bot] wants to merge 9 commits into
Open
Conversation
…et reuse errors (#3854)
* feat(lightning): support loading LND TLS certificate from file Add optional LIGHTNING_API_CERTIFICATE_PATH env var. When set and the file is readable, the LND TLS certificate is read from disk (the live cert); otherwise it falls back to the existing LIGHTNING_API_CERTIFICATE env var, unchanged. Fully backward compatible. * Read LND cert from file only, drop env-var fallback Address review: if LIGHTNING_API_CERTIFICATE_PATH is set, read it or throw. The LIGHTNING_API_CERTIFICATE env var was the stale copy this change fixes, so keeping it as a silent fallback only masks a broken mount. Remove it.
A single BuyFiat with incomplete creditor data caused fiatOutputService.createInternal to throw 'Failed to create fiat output...', which escaped the unguarded loops in addFiatOutputs and aborted the entire cron run, blocking all other pending payouts. Wrap each createInternal call in try/catch and log per-entity, matching the existing pattern used by the other per-entity loops in this service (AML check, fee refresh, output setting, completion, chargeback).
…#3867) When LIGHTNING_API_CERTIFICATE_PATH is not set (Azure App Service has no cert file mount), fall back to reading the inline PEM from LIGHTNING_API_CERTIFICATE using the legacy <br> newline separator.
…ling (#3859) * Skip exchanges with no API credentials in liquidity balance polling The liquidity-management exchange adapter polls every exchange's balance each cycle. When an exchange has no API credentials configured (e.g. XT on dev, where XT_KEY/XT_SECRET are unset), the ccxt call threw an AuthenticationError that was logged as ERROR and re-thrown every cycle (~60 error logs/hour). Add an isConfigured getter to ExchangeService (true only when both apiKey and secret are set) and, in the adapter, skip unconfigured exchanges gracefully: return empty balances instead of calling getBalances(), and warn once per exchange instead of erroring every cycle. The configured- but-failed case keeps the existing ERROR + re-throw behavior. * refactor(exchange): make isConfigured part of the type contract (David review)
TaprootFreak
requested changes
Jun 11, 2026
TaprootFreak
left a comment
Collaborator
There was a problem hiding this comment.
Nicht mergen — ein Commit bricht mit hoher Wahrscheinlichkeit LNbits auf PRD
… balances (#3870) Returning LiquidityBalance.create(a, 0, 0) for exchanges without API credentials persists fake zero balances via saveBalanceResults. If a configured exchange ever loses its credentials (env regression), the rules would see a sudden zero balance and could trigger rebalancing pipelines towards an exchange we cannot even query — with only a single warn log per process lifetime as a hint. Return no balances instead: verifyRule already handles a missing balance gracefully (info log, rule skipped).
…ld (#3875) The juicedollar ponder schema generalized the position's stablecoin contract field from jusd to stablecoinAddress (multi-stablecoin support), so getPositionV2s failed with GRAPHQL_VALIDATION_FAILED on every processLogInfo cycle. The public JuicePositionDto keeps the jusd key, only the graph query and graph DTO are renamed.
Second schema rename in the generalized juicedollar ponder (after stablecoinAddress, #3875): the equity entity jUICE is now poolShare, same fields (id, profits, loss, reserve) and still keyed by the stablecoin address, verified against both deployed ponders.
…3876) Fiat outputs can fail transmission to the bank (e.g. Olkypay model validation errors) and then sit ready but untransmitted indefinitely, visible only in the entity info column. Count outputs with isReadyDate older than one hour and no isTransmittedDate in the payment observer and surface them in the health check.
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.
Automatic Release PR
This PR was automatically created after changes were pushed to develop.
Commits: 1 new commit(s)
Checklist