Pārlūkot izejas kodu

Highlight Reentrancy Risk in IERC1155 SafeTransferFrom Function (#4283)

Co-authored-by: Francisco <fg@frang.io>
Robb Walters 2 gadi atpakaļ
vecāks
revīzija
cc04263170
1 mainītis faili ar 11 papildinājumiem un 0 dzēšanām
  1. 11 0
      contracts/token/ERC1155/IERC1155.sol

+ 11 - 0
contracts/token/ERC1155/IERC1155.sol

@@ -86,6 +86,11 @@ interface IERC1155 is IERC165 {
     /**
      * @dev Transfers `amount` tokens of token type `id` from `from` to `to`.
      *
+     * WARNING: This function can potentially allow a reentrancy attack when transferring tokens
+     * to an untrusted contract, when invoking {onERC1155Received} on the receiver.
+     * Ensure to follow the checks-effects-interactions pattern and consider employing
+     * reentrancy guards when interacting with untrusted contracts.
+     *
      * Emits a {TransferSingle} event.
      *
      * Requirements:
@@ -101,6 +106,12 @@ interface IERC1155 is IERC165 {
     /**
      * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}.
      *
+     *
+     * WARNING: This function can potentially allow a reentrancy attack when transferring tokens
+     * to an untrusted contract, when invoking {onERC1155Received} on the receiver.
+     * Ensure to follow the checks-effects-interactions pattern and consider employing
+     * reentrancy guards when interacting with untrusted contracts.
+     *
      * Emits a {TransferBatch} event.
      *
      * Requirements: