• Mark Tyneway's avatar
    l2geth: update timestamp logic · 57742a04
    Mark Tyneway authored
    This commit updates the timestamp updating logic
    such that `time.Now` is used instead of relying on
    L1 timestamps. This gives a higher fidelity for the
    `TIMESTAMP` opcode as well as makes the time on L2
    be closer to the time on L1.
    
    L1 to L2 transactions no longer have the property of
    having the same timestamp on L2 as the timestamp
    of the L1 block they were included in.
    
    This should be able to be turned on without needing
    hardfork logic as replicas should always accept the
    timestamp that the sequencer sets. The sequencer is
    a trusted entity in the existing implementation and
    it is expected that the sequencer will become more
    trustless in future iterations of the protocol.
    
    This change is added to improve both UX and devex.
    Users are confused by the timestamps on Etherscan
    being ~15 minutes behind. This is due to the timestamps
    being set based on L1 block numbers, and the system
    only pulls L1 data once a secure amount of PoW
    is placed on top. Developers would like the timestamps
    to have a higher fidelity and be closer to the timestamps
    on L1.
    57742a04
Name
Last commit
Last update
..
accounts Loading commit data...
build Loading commit data...
cmd Loading commit data...
common Loading commit data...
consensus Loading commit data...
console Loading commit data...
contracts/checkpointoracle Loading commit data...
core Loading commit data...
crypto Loading commit data...
docs/audits Loading commit data...
eth Loading commit data...
ethclient Loading commit data...
ethdb Loading commit data...
ethstats Loading commit data...
event Loading commit data...
graphql Loading commit data...
internal Loading commit data...
les Loading commit data...
light Loading commit data...
log Loading commit data...
metrics Loading commit data...
miner Loading commit data...
mobile Loading commit data...
node Loading commit data...
p2p Loading commit data...
params Loading commit data...
rlp Loading commit data...
rollup Loading commit data...
rpc Loading commit data...
scripts Loading commit data...
signer Loading commit data...
swarm Loading commit data...
tests Loading commit data...
trie Loading commit data...
whisper Loading commit data...
.golangci.yml Loading commit data...
.mailmap Loading commit data...
AUTHORS Loading commit data...
CHANGELOG.md Loading commit data...
COPYING Loading commit data...
COPYING.LESSER Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
fuzzbuzz.yaml Loading commit data...
go.mod Loading commit data...
go.sum Loading commit data...
interfaces.go Loading commit data...
package.json Loading commit data...