FRAX Price: $0.81 (-2.83%)

Contract

0xbD2775B8eADaE81501898eB208715f0040E51882

Overview

FRAX Balance | FXTL Balance

0 FRAX | 6,781 FXTL

FRAX Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Apply177097672025-03-17 16:50:45321 days ago1742230245IN
0xbD2775B8...040E51882
0 FRAX0.00000010.00100025
Apply176665232025-03-16 16:49:17322 days ago1742143757IN
0xbD2775B8...040E51882
0 FRAX0.00000010.00100025
Apply176233402025-03-15 16:49:51323 days ago1742057391IN
0xbD2775B8...040E51882
0 FRAX0.00000010.00100046
Apply175801032025-03-14 16:48:37324 days ago1741970917IN
0xbD2775B8...040E51882
0 FRAX0.000000120.00100048
Apply175368672025-03-13 16:47:25325 days ago1741884445IN
0xbD2775B8...040E51882
0 FRAX0.000000140.0010005
Apply174936302025-03-12 16:46:11326 days ago1741797971IN
0xbD2775B8...040E51882
0 FRAX0.000000160.00100026
Apply174503902025-03-11 16:44:51327 days ago1741711491IN
0xbD2775B8...040E51882
0 FRAX0.000000180.00100025
Apply174072102025-03-10 16:45:31328 days ago1741625131IN
0xbD2775B8...040E51882
0 FRAX0.000000190.00100025
Apply173639682025-03-09 16:44:07329 days ago1741538647IN
0xbD2775B8...040E51882
0 FRAX0.000000180.00100025
Apply173207882025-03-08 16:44:47330 days ago1741452287IN
0xbD2775B8...040E51882
0 FRAX0.00000010.00100025
Apply172775292025-03-07 16:42:49331 days ago1741365769IN
0xbD2775B8...040E51882
0 FRAX0.000000150.00100025
Apply172342742025-03-06 16:40:59332 days ago1741279259IN
0xbD2775B8...040E51882
0 FRAX0.000000210.00100025
Apply171910282025-03-05 16:39:27333 days ago1741192767IN
0xbD2775B8...040E51882
0 FRAX0.000000130.00100025
Apply171478522025-03-04 16:40:15334 days ago1741106415IN
0xbD2775B8...040E51882
0 FRAX0.000000520.00100025
Apply171046702025-03-03 16:40:51335 days ago1741020051IN
0xbD2775B8...040E51882
0 FRAX0.000000210.00100025
Apply170614952025-03-02 16:41:41336 days ago1740933701IN
0xbD2775B8...040E51882
0 FRAX0.000001610.00100025
Apply170183192025-03-01 16:42:29337 days ago1740847349IN
0xbD2775B8...040E51882
0 FRAX0.000000220.00100025
Apply169751442025-02-28 16:43:19338 days ago1740760999IN
0xbD2775B8...040E51882
0 FRAX0.000000170.00100025
Apply169319072025-02-27 16:42:05339 days ago1740674525IN
0xbD2775B8...040E51882
0 FRAX0.000000130.00100025
Apply168886582025-02-26 16:40:27340 days ago1740588027IN
0xbD2775B8...040E51882
0 FRAX0.00000020.00100025
Apply168454812025-02-25 16:41:13341 days ago1740501673IN
0xbD2775B8...040E51882
0 FRAX0.000000390.00100025
Apply168022982025-02-24 16:41:47342 days ago1740415307IN
0xbD2775B8...040E51882
0 FRAX0.000000150.00100025
Apply167591232025-02-23 16:42:37343 days ago1740328957IN
0xbD2775B8...040E51882
0 FRAX0.000000120.00100025
Apply167159472025-02-22 16:43:25344 days ago1740242605IN
0xbD2775B8...040E51882
0 FRAX0.000000110.00100025
Apply166763982025-02-21 18:45:07345 days ago1740163507IN
0xbD2775B8...040E51882
0 FRAX0.000000230.00100025
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
177097672025-03-17 16:50:45321 days ago1742230245
0xbD2775B8...040E51882
0 FRAX
177097672025-03-17 16:50:45321 days ago1742230245
0xbD2775B8...040E51882
0 FRAX
176665232025-03-16 16:49:17322 days ago1742143757
0xbD2775B8...040E51882
0 FRAX
176665232025-03-16 16:49:17322 days ago1742143757
0xbD2775B8...040E51882
0 FRAX
176233402025-03-15 16:49:51323 days ago1742057391
0xbD2775B8...040E51882
0 FRAX
176233402025-03-15 16:49:51323 days ago1742057391
0xbD2775B8...040E51882
0 FRAX
175801032025-03-14 16:48:37324 days ago1741970917
0xbD2775B8...040E51882
0 FRAX
175801032025-03-14 16:48:37324 days ago1741970917
0xbD2775B8...040E51882
0 FRAX
175368672025-03-13 16:47:25325 days ago1741884445
0xbD2775B8...040E51882
0 FRAX
175368672025-03-13 16:47:25325 days ago1741884445
0xbD2775B8...040E51882
0 FRAX
174936302025-03-12 16:46:11326 days ago1741797971
0xbD2775B8...040E51882
0 FRAX
174936302025-03-12 16:46:11326 days ago1741797971
0xbD2775B8...040E51882
0 FRAX
174503902025-03-11 16:44:51327 days ago1741711491
0xbD2775B8...040E51882
0 FRAX
174503902025-03-11 16:44:51327 days ago1741711491
0xbD2775B8...040E51882
0 FRAX
174072102025-03-10 16:45:31328 days ago1741625131
0xbD2775B8...040E51882
0 FRAX
174072102025-03-10 16:45:31328 days ago1741625131
0xbD2775B8...040E51882
0 FRAX
173639682025-03-09 16:44:07329 days ago1741538647
0xbD2775B8...040E51882
0 FRAX
173639682025-03-09 16:44:07329 days ago1741538647
0xbD2775B8...040E51882
0 FRAX
173207882025-03-08 16:44:47330 days ago1741452287
0xbD2775B8...040E51882
0 FRAX
173207882025-03-08 16:44:47330 days ago1741452287
0xbD2775B8...040E51882
0 FRAX
172775292025-03-07 16:42:49331 days ago1741365769
0xbD2775B8...040E51882
0 FRAX
172775292025-03-07 16:42:49331 days ago1741365769
0xbD2775B8...040E51882
0 FRAX
172342742025-03-06 16:40:59332 days ago1741279259
0xbD2775B8...040E51882
0 FRAX
172342742025-03-06 16:40:59332 days ago1741279259
0xbD2775B8...040E51882
0 FRAX
171910282025-03-05 16:39:27333 days ago1741192767
0xbD2775B8...040E51882
0 FRAX
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Optimism Block Hash oracle

Compiler Version
vyper:0.4.0

Optimization Enabled:
N/A

Other Settings:
default evmVersion, MIT license

Contract Source Code (Vyper language format)

# pragma version 0.4.0
"""
@title Optimism Block Hash oracle
@notice A contract that saves L1 block hashes.
@license MIT
@author curve.fi
@custom:version 0.0.1
@custom:security [email protected]
"""

version: public(constant(String[8])) = "0.0.1"

interface IL1Block:
    def number() -> uint64: view
    def hash() -> bytes32: view


event CommitBlockHash:
    committer: indexed(address)
    number: indexed(uint256)
    hash: bytes32

event ApplyBlockHash:
    number: indexed(uint256)
    hash: bytes32

L1_BLOCK: constant(IL1Block) = IL1Block(0x4200000000000000000000000000000000000015)

block_hash: public(HashMap[uint256, bytes32])
commitments: public(HashMap[address, HashMap[uint256, bytes32]])


@view
@external
def get_block_hash(_number: uint256) -> bytes32:
    """
    @notice Query the block hash of a block.
    @dev Reverts for block numbers which have yet to be set.
    """
    block_hash: bytes32 = self.block_hash[_number]
    assert block_hash != empty(bytes32)

    return block_hash


@internal
def _update_block_hash() -> (uint256, bytes32):
    number: uint256 = convert(staticcall L1_BLOCK.number(), uint256)
    hash: bytes32 = staticcall L1_BLOCK.hash()
    self.block_hash[number] = hash

    return number, hash


@external
def commit() -> uint256:
    """
    @notice Commit (and apply) a block hash.
    @dev Same as `apply()` but saves committer
    """
    number: uint256 = 0
    hash: bytes32 = empty(bytes32)
    number, hash = self._update_block_hash()

    self.commitments[msg.sender][number] = hash
    log CommitBlockHash(msg.sender, number, hash)
    log ApplyBlockHash(number, hash)
    return number


@external
def apply() -> uint256:
    """
    @notice Apply a block hash.
    """
    number: uint256 = 0
    hash: bytes32 = empty(bytes32)
    number, hash = self._update_block_hash()

    log ApplyBlockHash(number, hash)
    return number

Contract Security Audit

Contract ABI

API
[{"name":"CommitBlockHash","inputs":[{"name":"committer","type":"address","indexed":true},{"name":"number","type":"uint256","indexed":true},{"name":"hash","type":"bytes32","indexed":false}],"anonymous":false,"type":"event"},{"name":"ApplyBlockHash","inputs":[{"name":"number","type":"uint256","indexed":true},{"name":"hash","type":"bytes32","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"view","type":"function","name":"get_block_hash","inputs":[{"name":"_number","type":"uint256"}],"outputs":[{"name":"","type":"bytes32"}]},{"stateMutability":"nonpayable","type":"function","name":"commit","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"apply","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"view","type":"function","name":"block_hash","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"bytes32"}]},{"stateMutability":"view","type":"function","name":"commitments","inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"uint256"}],"outputs":[{"name":"","type":"bytes32"}]}]

61033561001161000039610335610000f35f3560e01c60026005820660011b61032b01601e395f51565b639724283f811861004c57602436103417610327575f6004356020525f5260405f2054604052604051156103275760206040f35b633c7a3aff811861026357346103275760403660c03761006d610100610267565b6101006040816101405e50604061014060c05e60e0516001336020525f5260405f208060c0516020525f5260405f2090505560c051337f8039f84f0eb77eb0be5293b76b4581ab181b17950e0da213eaf8847d6cf8fc0260e051610100526020610100a360c0517f52e6e649c6b58521edb4571424aef2925807e91f5b7b6896a41920b034a4077560e051610100526020610100a2602060c0f35b63db595b3b811861017357346103275760403660c037610129610100610267565b6101006040816101405e50604061014060c05e60c0517f52e6e649c6b58521edb4571424aef2925807e91f5b7b6896a41920b034a4077560e051610100526020610100a2602060c0f35b63b509f4ef811861026357602436103417610327575f6004356020525f5260405f205460405260206040f35b6354fd4d50811861026357346103275760208060805260056040527f302e302e3100000000000000000000000000000000000000000000000000000060605260408160800160208251018083835e508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506080f35b6399ca856c811861026357604436103417610327576004358060a01c6103275760405260016040516020525f5260405f20806024356020525f5260405f2090505460605260206060f35b5f5ffd5b638381f58a606052602060606004607c7342000000000000000000000000000000000000155afa61029a573d5f5f3e3d5ffd5b3d602081183d602010021880606001608011610327576060518060401c6103275760a0525060a0516040526309bd5a60608052602060806004609c7342000000000000000000000000000000000000155afa6102f8573d5f5f3e3d5ffd5b60203d10610327576080516060526060515f6040516020525f5260405f20556040518152606051602082015250565b5f80fd0018021902630108019f84190335810a00a1657679706572830004000014

Deployed Bytecode

0x5f3560e01c60026005820660011b61032b01601e395f51565b639724283f811861004c57602436103417610327575f6004356020525f5260405f2054604052604051156103275760206040f35b633c7a3aff811861026357346103275760403660c03761006d610100610267565b6101006040816101405e50604061014060c05e60e0516001336020525f5260405f208060c0516020525f5260405f2090505560c051337f8039f84f0eb77eb0be5293b76b4581ab181b17950e0da213eaf8847d6cf8fc0260e051610100526020610100a360c0517f52e6e649c6b58521edb4571424aef2925807e91f5b7b6896a41920b034a4077560e051610100526020610100a2602060c0f35b63db595b3b811861017357346103275760403660c037610129610100610267565b6101006040816101405e50604061014060c05e60c0517f52e6e649c6b58521edb4571424aef2925807e91f5b7b6896a41920b034a4077560e051610100526020610100a2602060c0f35b63b509f4ef811861026357602436103417610327575f6004356020525f5260405f205460405260206040f35b6354fd4d50811861026357346103275760208060805260056040527f302e302e3100000000000000000000000000000000000000000000000000000060605260408160800160208251018083835e508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506080f35b6399ca856c811861026357604436103417610327576004358060a01c6103275760405260016040516020525f5260405f20806024356020525f5260405f2090505460605260206060f35b5f5ffd5b638381f58a606052602060606004607c7342000000000000000000000000000000000000155afa61029a573d5f5f3e3d5ffd5b3d602081183d602010021880606001608011610327576060518060401c6103275760a0525060a0516040526309bd5a60608052602060806004609c7342000000000000000000000000000000000000155afa6102f8573d5f5f3e3d5ffd5b60203d10610327576080516060526060515f6040516020525f5260405f20556040518152606051602082015250565b5f80fd0018021902630108019f

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.