Skip to content

feat: add batch transfer modal for multi-wallet key distributions - #1094

Merged
Chucks1093 merged 1 commit into
accesslayerorg:devfrom
onajidavid87-web:Add-a-batch-transfer-modal-
Oct 17, 2026
Merged

Chucks1093 merged 1 commit into
accesslayerorg:devfrom
onajidavid87-web:Add-a-batch-transfer-modal-

Conversation

@onajidavid87-web

Copy link
Copy Markdown
Contributor

Summary

  • Added a Batch Transfer option to the portfolio holding row action menu (PortfolioHoldingRow).
  • Created BatchTransferModal allowing holders to send creator keys to multiple wallets in a single signed transaction.
  • Supports a dynamic list of up to 10 recipient rows (Stellar wallet address + key quantity).
  • Automatically disables the "Add Recipient" button when 10 rows are reached.
  • Computes and displays total keys to transfer in real time as quantities change.
  • Validates wallet addresses and quantities with row-level error messages.
  • Disables submit and displays an error if the total quantity exceeds the available liquid balance.
  • Wired up submission to the batch_transfer contract function with useBatchTransferMutation and optimistic updates.

Testing

  • pnpm lint
  • pnpm build
  • pnpm vitest run src/utils/__tests__/batchTransfer.utils.test.ts (15/15 passed)
  • pnpm vitest run src/components/common/__tests__/BatchTransferModal.test.tsx (12/12 passed)
  • pnpm vitest run src/components/common/__tests__/PortfolioHoldingRow.batchTransfer.test.tsx (7/7 passed)
  • pnpm vitest run src/services/__tests__/creatorKeysContract.service.test.ts (4/4 passed)

Checklist

  • Linked issue or backlog item
  • Scope is limited to the stated change
  • Updated docs if behavior or setup changed
  • Added screenshots for UI changes when relevant

Closes #831

@drips-wave

drips-wave Bot commented Oct 16, 2026

Copy link
Copy Markdown

@onajidavid87-web Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Chucks1093
Chucks1093 merged commit 29a7a05 into accesslayerorg:dev Oct 17, 2026
1 check passed
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.

Add a batch transfer modal allowing holders to send keys to multiple wallets in one transaction

2 participants