Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion contracts/src/Chainvoice.sol
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,8 @@ contract Chainvoice {
function payInvoice(uint256 invoiceId) external payable nonReentrant {
require(invoiceId < invoices.length, "Invalid invoice ID");

InvoiceDetails storage invoice = invoices[invoiceId];
InvoiceDetails storage invoiceStorage = invoices[invoiceId]; //(read once from storage)
InvoiceDetails memory invoice = invoiceStorage; // now read all from this invoice(memory)
require(msg.sender == invoice.to, "Not authorized");
require(!invoice.isPaid, "Already paid");
require(!invoice.isCancelled, "Invoice is cancelled");
Expand Down