times from my wallet or is it impossible?
                  
                  
                  
                  
                  
                  
                  
                  
                  // INSECURE
                  
                  
                  mapping (address => uint) private userBalances;
                  
                  
                  
                  
                  
                  function withdrawBalance() public {
                  
                  
                      uint amountToWithdraw = userBalances[msg.sender];
                  
                  
                      (bool success, ) = msg.sender.call.value(amountToWithdraw)(""); // At this point, the caller's code is executed, and can call withdrawBalance again
                  
                  
                      require(success);
                  
                  
                      userBalances[msg.sender] = 0;
                  
                  
                  }
                  
                  
                  
                  
                  
                  
                  
                  
                  mapping (address => uint) private userBalances;
                  
                  
                  
                  
                  
                  function withdrawBalance() public {
                  
                  
                      uint amountToWithdraw = userBalances[msg.sender];
                  
                  
                      userBalances[msg.sender] = 0;
                  
                  
                      (bool success, ) = msg.sender.call.value(amountToWithdraw)(""); // The user's balance is already 0, so future invocations won't withdraw anything
                  
                  
                      require(success);
                  
                  
                  }
                  
                  
                
EOA doesn't have fallbacks
Copy that, thx)
Обсуждают сегодня