No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Detalles EIP-20

3/14
Recursos

Aportes 3

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Es recomendable revisar el curso de OpenZeppelin: **https://platzi.com/cursos/openzeppelin/ **

Hay dos flujos de transferencia a los contratos, una directa y una indirecta.
.
Entonces, 驴por qu茅 no usar siempre el flujo de transferencia directa?
Porque en ocasiones es necesario utilizar un contrato inteligente como intermediario.
.
Funci贸n transferFrom
.
鈼 Es 煤til en casos donde se interact煤a con contratos que act煤an como vendedores.
Estos contratos no tienen forma de escuchar eventos que generan las transacciones. La manera de hacerlo es mediante el transferFrom
.
鈼 Ataque front-running: Este tipo de ataque se da por la misma especificaci贸n, no por una implementaci贸n en particular.
.
Un ejemplo de ataque front-running:
.
T1: Alice -> approve(Bob, N) -> Token ERC20 -> DONE
.
T鈥 | Alice decide cambiar la cantidad aprobada a Bob de N a M tokens (M > 0), pero Bob se da cuenta de esta transaccion y decide transferir los N tokens que ya tiene aprobados antes que la nueva transaccion de Alice sea probada.
.
Tn: Alice -> approve(Bob, M) -> Token ERC20 -> DELAYED
.
Tn: Bob -> transferFrom(Alice, otra_direccion, N) -> Token ERC20 -> OK
(esta transaccion se realiza mas rapido porque Bob pago un fee extra al minero para agilizarla)
.
Tn+1: Alice -> approve(Bob, M) -> Token ERC20 -> DONE
.
Tn+2: Bob -> transferFrom(Alice, otra_direccion, M) -> Token ERC20 -> OK

Una transferencia indirecta seria por ejemplo, permitir que un exchange pueda vender y transferir cierta cantidad de mis tokens ERC20 a traves de su contrato inteligente