Skip to content

feat: expose source-chain principal refund recipients - #575

Draft
CallumGrindle wants to merge 2 commits into
mainfrom
feature/core-1248-source-refund-address
Draft

feat: expose source-chain principal refund recipients#575
CallumGrindle wants to merge 2 commits into
mainfrom
feature/core-1248-source-refund-address

Conversation

@CallumGrindle

@CallumGrindle CallumGrindle commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Which Linear task is linked to this PR?

CORE-1248 — Allow passing different refund address than sender address

Why was it implemented this way?

  • Expose optional refundAddress on RouteOptions, both contract-calls amount variants through their shared request type, and the deprecated single-call request.
  • Document the existing quote/action fields consistently: source-chain bridge principal refunds only, separate from funding and successful recipients; destination swap/call recovery is unchanged. Unsupported bridges/quote variants must reject or be excluded, not silently fall back.
  • Publish 18.6.0-beta.0 using the existing release:beta script and tag-triggered workflow. Mark alpha/beta GitHub releases as prereleases and prevent them replacing the latest stable release; npm continues using its beta dist-tag.
  • The backend consumes this beta and removes its temporary refund-field type extensions. Backend draft PR: lifinance/lifi-backend#8948.

Verification

  • pnpm exec eslint src: passed with four existing warnings.
  • pnpm typecheck: passed.
  • pnpm build: CJS, ESM and declarations passed.
  • Throwaway consumer compiled against generated declarations: all seven request/action surfaces accept a string recipient or omission and reject a numeric recipient. Smoke file removed.
  • No on-chain transactions submitted.

Checklist before requesting a review

  • I have performed a self-review and testing of my code.
  • This pull request is focused and addresses a single problem.
  • Public-docs documentation updated. Backend OpenAPI and public type comments are updated; public-docs has not been changed.

Release note

Beta only; no stable npm release or production backend deployment is requested.

Publication verified: Release & Publish run succeeded; npm beta is 18.6.0-beta.0, latest remains 18.5.0, and the GitHub release is marked as a prerelease. Backend consumption passed root typechecking, pre-push checks and 27 targeted API/refund tests.

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