The first is simple, but it's 22 bytes of bytecode long.
Here's an illustration I made of four different ways to clean up an ethereum address using opcodes on the EVM stack machine.
1. It is simple in theory to write a bug free smart contract: just make a list of every possible state and check that each is correct.
2. Since that gets rapidly hard as the code gets bigger: write simple code so there are fewer states to check.
@MatusK279 Ah, maybe we are talking about two different things:
1. If the project changed the terms and rates of the bounty program, old ones should apply
2. If the project says they already had code written to reduce the impact of the bug, yeah that happens.
@typesfast When seeing that ship, I realized that the son of the emperor is sitting there in the same heat, cramped in with the other nobles on a tiny platform and 12 feet downwind from 700 guys pooping.
@real_philogy@argotorg I'm actually not that sure that a rewrite is better than some good refactorings. There's always a lot of accumulated wisdom in old codebases, not to mention good tests.
Unfortunately, to lookup and record what has been found or not, it uses a growing red black tree - a tree of pointers that requires moving through the tree to find or add elements. This gets slow when you are doing it for every node of your compile AST for every time you want to analyze your code.
Changing this to a to be a hash lookup, with roughly constant time lookups and writes, and speeds up compilation by about 5%.
I've submitted 3 small PR's to solidity that speed via-ir compilation up about 11%.
It's fun to learn about the insides of the compiler we all use, so let's tour each speed up. 1/7
Both YUL and regular compilation have a list of optimizes they run over the code to make better bytecode.
The slowest of these is dead code code elimination. This walks an AST, checking to see if it has been found already, and marking everything new that it finds.
In the spring of 2026, secure crypto development requires at least 4 computers per person.
Work computer has no npm, no VS code, no agents. I work on code on remote machines over ssh.
@_czepluch Hexidecimal of the the transaction, that matches screen for what will show on the wallet.
If checked on paper (by someone who can read hex) and matches wallet screens, in theory even a compromised dedicated device can be spotted.
Our biggest enemies in crypto can put 50 people on breaking open something tasty, with cross disciplinary teams, dress rehearsals, and now the power of LLMs.
On of the most profitable uses of a VM to VM exploit would be stealing a billion dollars, so it wouldn't surprise me if that's where one eventually shows up.