
Send
secret.secret, the grouped 16-character string. It carries all
80 bits and the salt is derived from it, so that one string is the whole
credential. Anyone can submit the claim, but the funds always go to the recorded
recipient, so a claim is front-run-safe.


Claim
The recipient types the string;fromSecret turns it back into the pair the
contract wants.


Cancel and refund
Unclaimed money belongs to the sender. There is no deadline on getting it back.cancel(transferId)
Sender only, allowed any time before a claim lands, and on a locked transfer.
reclaimExpired(transferId)
Callable by anyone once the recall window lapses; funds only ever go back to
the sender. No keeper required.
Approve-less sends
To skip a per-sendapprove, use Permit2: one-time approvePermit2(clients), then
sendProtectedWithPermit signs an off-chain permit per send.