Fossil is a set of smart contracts deployed on both ethereum L1 and Starknet L2.
In order to access data from Ethereum, Fossil's L2 contracts must be provided with an L1 blockhash which is enough to recreate data till the genesis block on Ethereum.
Once a blockhash is provided and written in the L2 smart contract storage it's corresponding block can be recreated by validating a submitted header.
Ethereum block headers contain trie roots and parent hashes, such data allows to access the provided block's state, transactions, receipts and repeat that process for the next block and so recursively till genesis.
L1 -> L2 messages sender
This contract is responsible for sending block hashes from L1.