A veces, solo queremos enviar ETH de forma segura. Ingrese al nuevo 'safeMoveETH' de Solady. Hay muchas formas de enviar ETH en el contrato inteligente: - 'LLAMADA': Se abre a ataques de reentrada y reentrada. - 'transferencia': Esto es en realidad una 'LLAMADA' con un estipendio de gas de 3000 gas bajo el capó. Si los precios del gas cambian (por ejemplo, un L2 con costos de gas personalizados), o si el objetivo es un contrato con una función de respaldo, esto se rompe. - 'WETH': No hay un contrato WETH canónico en todos los L2. Nadie tiene espacio de código de bytes para codificar todas las diferentes direcciones). Además, gastarás 20k de gasolina por un SSTORE nuevo, 5k de gasolina por una actualización de SSTORE. Muy caro. - 'AUTODESTRUCCIÓN': Podemos cocinar algo con él. Después de EIP-6780, se puede abusar de esto para una transferencia de fuerza bastante eficiente. 'safeMoveETH' utiliza un 'SELFDESTRUCT' mínimo canónico para mover ETH sin desencadenar el 'fallback' nunca. Si 'SELFDESTRUCT' alguna vez se bloquea en el futuro (los desarrolladores principales por favor no lo hagan), se degrada con gracia a una bóveda por dirección justo a tiempo para acumular ETH de una manera agnóstica de la cadena. Básicamente, pase lo que pase, el ETH nunca se atascará.
21.43K