A 'Hot Potato' is a struct that has NO abilities (no `key`, `store`, `copy`, `drop`). Because it cannot be dropped, stored, or transferred, it MUST be consumed by a matching function in the same transaction block (used for flash loans).
move
public struct FlashReceipt { amount: u64 }
public fun borrow(amount: u64): (Coin<SUI>, FlashReceipt) { ... }
public fun repay(receipt: FlashReceipt, payment: Coin<SUI>) { ... }