Tier: L (1-2 weeks) Type: feature
Context
EVM WraithSender already supports batchSendETH and batchSendERC20. Stellar has stealth-sender for single transfers and stealth-splitter for proportional 1:N distribution, but no equivalent for the simple "send to N pre-computed stealth addresses in one transaction" use case.
Scope
- New crate
contracts/stellar/stealth-batch-sender/
batch_send(from, transfers: Vec<Transfer>, asset) entrypoint where each Transfer carries the pre-computed stealth address, ephemeral pub key, and amount
- All-or-nothing semantics via Soroban transaction model
- Per-transfer announcement emission
- Cap batch size (justify against Soroban resource budget)
- Tests: success, atomicity-on-mid-batch-failure, max-size, validation
Acceptance criteria
Files to start with
contracts/stellar/stealth-sender/src/lib.rs (single-send reference)
contracts/stellar/stealth-splitter/src/lib.rs (atomic distribution reference)
contracts/evm/contracts/WraithSender.sol::batchSendETH (parity)
Tier: L (1-2 weeks) Type: feature
Context
EVM
WraithSenderalready supportsbatchSendETHandbatchSendERC20. Stellar hasstealth-senderfor single transfers andstealth-splitterfor proportional 1:N distribution, but no equivalent for the simple "send to N pre-computed stealth addresses in one transaction" use case.Scope
contracts/stellar/stealth-batch-sender/batch_send(from, transfers: Vec<Transfer>, asset)entrypoint where eachTransfercarries the pre-computed stealth address, ephemeral pub key, and amountAcceptance criteria
stealth-sender::sendcallsbuildBatchSendStellarbuilderFiles to start with
contracts/stellar/stealth-sender/src/lib.rs(single-send reference)contracts/stellar/stealth-splitter/src/lib.rs(atomic distribution reference)contracts/evm/contracts/WraithSender.sol::batchSendETH(parity)