Your First 90 DaysAcademy
Fluent Reading · Any Contract, Cold · Week 11 · Checkpoint 23

The Files It Around

Four names the last checkpoint never opened, and the factory that makes pairs. About a hundred and fourteen lines across five files, four of them under twenty five lines: a library that is seventeen lines of arithmetic, a square root written as a loop, a fraction stored with no decimal point, and an address that follows from its two tokens.

16 steps~30 min3 nodes for your map
01 · Five names, left standing

Checkpoint twenty two read all two hundred and one lines of the pair and left five names closed. Math, UQ112x112, SafeMath and IUniswapV2Callee, plus the factory that creates pairs. Together they come to about a hundred and fourteen lines across five files.

Here is the method, and it will not change. A name you do not know, then the import line that says which file, then that file, then only the function you came for. Lines 3 to 9 are the map for four of the five.

02 · The name that is not on the list

Line 13 attaches UQ112x112 and line 6 imports it. That pairing is the method working cleanly: the name on one line, the file on another. Now run the same check on line 12, which attaches SafeMath to every plain `uint` in the file.

Read lines 3 to 9 again and look for it. Seven imports, and not one of them names SafeMath. The library is in use on line 12 and the file it lives in is not on the list. Work out where it reaches this contract from.

Line 12 of UniswapV2Pair.sol uses SafeMath, but none of lines 3 to 9 imports it. Where does the library reach this file from?
your balance2,400
BANK_DBowner: the bank
you2,400
what the app is actually showing you
BANK_DBowner: the bank
you2,400their pen
you hold a claim. they hold the pen.
your digital life
BANK · you2,400the bank ✍
INSTAGRAM · you2.1M followersMeta ✍
STEAM · you134 gamesValve ✍
AIRLINE · you58,200 milesthe airline ✍
four tables. zero pens that are yours.
BANK_DBowner: the bank
you2,400
DENIED
try both pens
PLATFORM_DBowner: the platform
her · 8 years2,000,000 followers
one automated decision away
BANK_DB · you · 2,400intentcompetencecontinuity
your row stands on all three
FTX_DBowner: FTX
you5 BTC
the backing vault●●●●●
the row stayed. the backing did not.
CARD_DBowner: your bank ✍
TV you never bought−1,100
fraud reversal+1,100
someone holds the pen, so someone can fix it
?_DBowner: nobody
youstill yours?
?
can a table exist that nobody owns?
?
?_DBowner: ̶n̶o̶b̶o̶d̶y̶
you100
no owner, no pen, no trust?
keeper 1
you100
keeper 2
you100
keeper 3
you100
keeper 4
you100
keeper 5
you100
no THE copy, only copies.
keeper 2
you100
keeper 3
you100
keeper 4
you100
keeper 5
you100
your copy
you100
five copies. one of them is yours.
one attacker
one attacker, ten thousand faces.
real machinesburned wattsnext page, sealed
writing costs watts. faking voters buys nothing.
cost paid OUTSIDE: hardware and power
proof of work, burn energy to vote.
page 1you · 100page 2you · 100page 3you · 100page 4you · 100
rewrite one line, break every lock after it.
office lunchtrusted keeperconsensusfive keepers, real cost
the price buys trustlessness. the office already has trust.
?
ownerless ledger
you?
a key, not a login?
nobody owns the table. so who owns your row?
following an importfixed pointwhere pairs come from

Three new nodes on your map

following an import · fixed point · where pairs come from · +10 Lynx