Mga Post
avatar

Mga smart contract maxis, Maaaring maluwag na tanggalin ng inyong Solidity compiler ang isang store na kailangan ninyo, at hindi ninyo makikita ito sa inyong source. Lumabas ang Solidity 0.8.38 noong nakaraang Huwebes. Ito ay nag-aayos ng isang bug sa Yul optimiser na nasa bawat release mula 0.8.19 hanggang 0.8.37. Ang optimizer ay nagtutala ng mga bagay na nasa memorya at storage. Ginagamit nito ang mga tala na ito upang palitan ang isang load gamit ang value na alam na nito, at upang i-skips ang isang store na sumusulat ng nasa loob na doon. Upang matukoy kung maaaring mag-overlap ang dalawang address, iginlalayout nito ang bawat isa bilang isang base variable kasama ang offset. Parehong base, iba’t ibang offset, kaya dapat iba’t ibang slot. Ang mga paglalarawan na ito ay naka-cache. Pagkatapos, may nag-reassign ng base variable. Hindi laging napapansin ng optimiser. Ngayon, ihahambing nito ang isang address na gawa sa lumang halaga kasama ang isa na gawa sa bagong halaga bilang kung mayroon silang parehong base. Papasyahan nito na iba’t iba sila, ngunit sa runtime, patutungo sila sa parehong lugar. Ang resulta ay isang stale note. Maaaring bumalik ang isang mas lumang value sa isang susunod na load. Maaaring tanggalin ang store na kailangan ninyo. Maaaring mag-hash ang keccak256 sa lugar na ito ng outdated na data. Lahat ng code na i-compile gamit ang optimizer ay eksposed. Gamit ang via-IR, maaaring makasagot ang anumang code, kahit walang inline assembly. Gamit ang default legacy pipeline, ilan lamang sa inline assembly at compiler-generated helpers. Ligtas ang unoptimized builds. Ang team ay nagbigay ng mababang severity, at ginawa nila ang isang bagay na gustong-gusto kong gawin ng lahat ng compiler team. Ibinahagi nila ang lahat ng verified contract sa database ng Sourcify gamit at hindi gamit ang fix, at pareho ang bytecode ng lahat. Kaya ito ay rare. Ang rare ay hindi katumbas ng never, lalo na kung ang inyong code ay bago at hindi pa deployed. Nakuha ang bug sa pamamagitan ng Ethereum Foundation bug bounty, at ipinakita ng pangalawang report na maaaring ma-trigger ito ng simpleng Solidity nang walang assembly.

Ang content na ito ay para sa mga layuning pang-impormasyon at pang-edukasyon lang. Maaaring may mga kasama itong third-party insight, sponsored content, o promotional material kung saan maaaring maka-receive ng compensation ang creator. Wala sa feed na ito ang nagko-constitute ng investment advice o nagga-guarantee ng returns. Ikaw lang ang responsible para sa mga sarili mong desisyon sa investment. Laging magsagawa ng sarili mong research at mag-ingat bago mag-trade. Hindi namin gina-guarantee ang accuracy ng impormasyon na mula sa third-party at hindi kami mananagot para sa anumang loss na na-incur. Ang nakaraang performance ay hindi indicative ng mga resulta sa hinaharap. Sumangguni sa aming Mga Tuntunin ng Community at Pahayag sa Disclosure ng Risk para sa mga detalye.

avatarI-post ang reply mo

Mag-comment