Někdy prostě chceme poslat ETH bezpečně. Vstupte do Soladyina nového 'safeMoveETH'. Existuje mnoho způsobů, jak poslat ETH na chytrý kontrakt: - 'CALL': Otevírá se gas griefingu, reentrancy útokům. - "převod": Toto je ve skutečnosti "CALL" s plynovým stipendiem ve výši 3000 plynů pod kapotou. Pokud se změní ceny plynu (např. L2 s vlastními náklady na plyn), nebo pokud je cílem kontrakt se záložní funkcí, dojde k jeho přerušení. - 'WETH': Neexistuje žádný kanonický kontrakt WETH na všech L2. Nikdo nemá bytecode prostor pro pevné zakódování všech různých adres). Také utratíte 20 tisíc plynu za nový SSTORE, 5 tisíc plynu za aktualizaci SSTORE. Velmi drahé. - "SEBEDESTRUKCE": Můžeme s ní něco uvařit. Po EIP-6780 to může být zneužito pro docela efektivní přenos síly. 'safeMoveETH' používá kanonickou minimální 'SELFDESTRUCT' k přesunu ETH, aniž by vůbec spustil 'záložní'. Pokud bude 'SELFDESTRUCT' někdy v budoucnu zablokován (hlavní vývojáři, prosím, nedělejte to), elegantně degraduje na trezor na adresu-just-in-time-create2-vault, aby se ETH hromadilo řetězově agnostickým způsobem. V podstatě bez ohledu na to, co se stane, ETH se nikdy nezasekne.
21,42K