ETH Price: $2,579.32 (-1.74%)

Contract

0x072C93f12dC274300c79E92Eb61a0feCFa8E8918
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0x60206102173778382023-05-31 9:02:47489 days ago1685523767IN
 Create: Wrapped stETH Burner
0 ETH0.0077473938.91580198

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Wrapped stETH Burner

Compiler Version
vyper:0.3.7

Optimization Enabled:
N/A

Other Settings:
None license

Contract Source Code (Vyper language format)

# @version 0.3.7
"""
@title Wrapped stETH Burner
@notice Withdraws stETH from Wrapped stETH
"""

from vyper.interfaces import ERC20


interface wstETH:
    def balanceOf(_owner: address) -> uint256: view
    def transferFrom(_sender: address, _receiver: address, _amount: uint256): nonpayable
    def unwrap(_wstETHAmount: uint256): nonpayable
    def stETH() -> address: view


WSTETH: immutable(wstETH)
STETH: immutable(ERC20)
RECEIVER: immutable(address)


@external
def __init__(_wsteth: wstETH, _receiver: address):
    """
    @notice Contract constructor
    @param _wsteth Address of wrapped stETH
    @param _receiver Address of receiver of stETH
    """
    WSTETH = _wsteth
    STETH = ERC20(_wsteth.stETH())
    RECEIVER = _receiver


@payable
@external
def __default__():
    pass


@view
@external
def receiver() -> address:
    return RECEIVER


@external
def burn(_coin: address) -> bool:
    """
    @notice Unwrap stETH
    @param _coin Remained for compatability
    @return bool success
    """
    amount: uint256 = WSTETH.balanceOf(msg.sender)
    WSTETH.transferFrom(msg.sender, self, amount)
    amount = WSTETH.balanceOf(self)
    WSTETH.unwrap(amount)

    amount = STETH.balanceOf(self)
    STETH.transfer(RECEIVER, amount)
    return True

Contract Security Audit

Contract ABI

[{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_wsteth","type":"address"},{"name":"_receiver","type":"address"}],"outputs":[]},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"view","type":"function","name":"receiver","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"nonpayable","type":"function","name":"burn","inputs":[{"name":"_coin","type":"address"}],"outputs":[{"name":"","type":"bool"}]}]

60206102c16000396000518060a01c6102bc5760405260206102e16000396000518060a01c6102bc57606052346102bc576040516102275260405163c1fe3e48608052602060806004609c845afa61005c573d600060003e3d6000fd5b60203d106102bc576080518060a01c6102bc5760c05260c0905051610247526060516102675261022761009461000039610287610000f36003361161000c57610213565b60003560e01c63f7260d3e811861003e5760043610610215573461021557602061026760003960005160405260206040f35b6389afcb4481186102115760243610610215576004358060a01c61021557604052346102155760206102276000396000516370a082316080523360a052602060806024609c845afa610095573d600060003e3d6000fd5b60203d1061021557608090505160605260206102276000396000516323b872dd6080523360a0523060c05260605160e052803b1561021557600060806064609c6000855af16100e9573d600060003e3d6000fd5b5060206102276000396000516370a082316080523060a052602060806024609c845afa61011b573d600060003e3d6000fd5b60203d10610215576080905051606052602061022760003960005163de0e9a3e60805260605160a052803b1561021557600060806024609c6000855af1610167573d600060003e3d6000fd5b5060206102476000396000516370a082316080523060a052602060806024609c845afa610199573d600060003e3d6000fd5b60203d10610215576080905051606052602061024760003960005163a9059cbb608052602061026760003960005160a05260605160c052602060806044609c6000855af16101ec573d600060003e3d6000fd5b60203d10610215576080518060011c6102155760e05260e05050600160805260206080f35b505b005b600080fda165767970657283000307000b005b600080fd0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000ecb456ea5365865ebab8a2661b0c503410e9b347

Deployed Bytecode

0x6003361161000c57610213565b60003560e01c63f7260d3e811861003e5760043610610215573461021557602061026760003960005160405260206040f35b6389afcb4481186102115760243610610215576004358060a01c61021557604052346102155760206102276000396000516370a082316080523360a052602060806024609c845afa610095573d600060003e3d6000fd5b60203d1061021557608090505160605260206102276000396000516323b872dd6080523360a0523060c05260605160e052803b1561021557600060806064609c6000855af16100e9573d600060003e3d6000fd5b5060206102276000396000516370a082316080523060a052602060806024609c845afa61011b573d600060003e3d6000fd5b60203d10610215576080905051606052602061022760003960005163de0e9a3e60805260605160a052803b1561021557600060806024609c6000855af1610167573d600060003e3d6000fd5b5060206102476000396000516370a082316080523060a052602060806024609c845afa610199573d600060003e3d6000fd5b60203d10610215576080905051606052602061024760003960005163a9059cbb608052602061026760003960005160a05260605160c052602060806044609c6000855af16101ec573d600060003e3d6000fd5b60203d10610215576080518060011c6102155760e05260e05050600160805260206080f35b505b005b600080fda165767970657283000307000b0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000ae7ab96520de3a18e5e111b5eaab095312d7fe84000000000000000000000000ecb456ea5365865ebab8a2661b0c503410e9b347

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000ecb456ea5365865ebab8a2661b0c503410e9b347

-----Decoded View---------------
Arg [0] : _wsteth (address): 0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0
Arg [1] : _receiver (address): 0xeCb456EA5365865EbAb8a2661B0c503410e9B347

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0
Arg [1] : 000000000000000000000000ecb456ea5365865ebab8a2661b0c503410e9b347


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
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.