ETH Price: $3,160.17 (+0.65%)
Gas: 2 Gwei

Contract

0x1D56495c76d99435d10ecd5b0C3bd6a8EE7cC3bb
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0x6020610d178242342023-08-02 2:08:59346 days ago1690942139IN
 Create: Stable Deposit Burner
0 ETH0.0189219920.14615312

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Stable Deposit 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 Stable Deposit Burner
@notice Deposits assets into the 3pool
"""

interface ERC20:
    def approve(_to: address, _value: uint256): nonpayable
    def transfer(_to: address, _value: uint256) -> bool: nonpayable
    def transferFrom(_from: address, _to: address, _value: uint256) -> bool: nonpayable
    def balanceOf(_owner: address) -> uint256: view
    def decimals() -> uint256: view

interface StableSwap:
    def add_liquidity(amounts: uint256[N_COINS], min_mint_amount: uint256): nonpayable
    def coins(_i: uint256) -> address: view
    def get_virtual_price() -> uint256: view

interface Proxy:
    def burners(_coin: address) -> address: view


N_COINS: constant(uint256) = 3
ETH_ADDRESS: constant(address) = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE
ONE: constant(uint256) = 10 ** 18  # Precision

BPS: constant(uint256) = 100 * 100
slippage: public(uint256)

PROXY: immutable(Proxy)
FEE_DISTRIBUTER: constant(address) = 0xA464e6DCda8AC41e03616F95f4BC98a13b8922Dc
POOL: immutable(StableSwap)
LP: immutable(ERC20)
COINS: immutable(ERC20[N_COINS])
DEC: immutable(uint256[N_COINS])

is_killed: public(bool)

owner: public(address)
emergency_owner: public(address)
future_owner: public(address)
future_emergency_owner: public(address)


@external
def __init__(_owner: address, _emergency_owner: address):
    """
    @notice Contract constructor
    @param _owner Owner address. Can kill the contract and set slippage
    @param _emergency_owner Emergency owner address. Can kill the contract.
    """
    PROXY = Proxy(0xeCb456EA5365865EbAb8a2661B0c503410e9B347)
    POOL = StableSwap(0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7)
    LP = ERC20(0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490)

    self.owner = _owner
    self.emergency_owner = _emergency_owner
    self.slippage = 50  # 0.5%

    coins: ERC20[N_COINS] = empty(ERC20[N_COINS])
    dec: uint256[N_COINS] = empty(uint256[N_COINS])
    for i in range(N_COINS):
        coins[i] = ERC20(POOL.coins(i))
        coins[i].approve(POOL.address, max_value(uint256))
        dec[i] = 10 ** (18 - coins[i].decimals())
    COINS = coins
    DEC = dec


@internal
def _burn(_amounts: uint256[N_COINS]):
    amount: uint256 = 0
    for i in range(N_COINS):
        amount += _amounts[i] * DEC[i]

    min_amount: uint256 = amount * ONE / POOL.get_virtual_price()
    min_amount -= min_amount * self.slippage / BPS

    POOL.add_liquidity(_amounts, min_amount)

    amount = LP.balanceOf(self)
    LP.transfer(FEE_DISTRIBUTER, amount)


@external
def burn(_coin: ERC20) -> bool:
    """
    @notice Convert `_coin` by depositing
    @param _coin Address of the coin being converted
    @return bool success
    """
    assert not self.is_killed  # dev: is killed
    assert _coin in COINS

    amount: uint256 = _coin.balanceOf(msg.sender)
    assert _coin.transferFrom(msg.sender, self, amount, default_return_value=True)  # safe transfer

    if _coin == COINS[N_COINS - 1]:  # Do it once
        amounts: uint256[N_COINS] = empty(uint256[N_COINS])
        for i in range(N_COINS):
            amounts[i] = COINS[i].balanceOf(self)
        self._burn(amounts)

    return True


@external
def burn_amount(_amounts_to_burn: uint256[N_COINS]):
    """
    @dev Useful when the total amount to burn is so large that it fails from slippage
    @param _amounts_to_burn Amounts of coins to burn
    """
    assert not self.is_killed  # dev: is killed

    for coin in COINS:
        if PROXY.burners(coin.address) == self:
            amount: uint256 = coin.balanceOf(self)
            assert coin.transferFrom(PROXY.address, self, amount, default_return_value=True)  # safe transfer

    for i in range(N_COINS):
        amount: uint256 = COINS[i].balanceOf(self)
        assert amount >= _amounts_to_burn[i], "Insufficient balance"

    self._burn(_amounts_to_burn)


@external
def set_slippage(_slippage: uint256):
    assert msg.sender == self.owner
    assert _slippage < BPS

    self.slippage = _slippage


@external
def recover_balance(_coin: ERC20, _amount: uint256=max_value(uint256)):
    """
    @notice Recover ERC20 tokens or Ether from this contract
    @dev Tokens are sent to proxy
    @param _coin Token address
    @param _amount Amount to recover
    """
    amount: uint256 = _amount
    if _coin.address == ETH_ADDRESS:
        if amount == max_value(uint256):
            amount = self.balance
        raw_call(PROXY.address, b"", value=amount)
    else:
        if amount == max_value(uint256):
            amount = _coin.balanceOf(self)
        _coin.transfer(PROXY.address, amount)  # do not need safe transfer


@external
def set_killed(_is_killed: bool) -> bool:
    """
    @notice Set killed status for this contract
    @dev When killed, the `burn` function cannot be called
    @param _is_killed Killed status
    @return bool success
    """
    assert msg.sender in [self.owner, self.emergency_owner]  # dev: only owner
    self.is_killed = _is_killed

    return True


@external
def commit_transfer_ownership(_future_owner: address) -> bool:
    """
    @notice Commit a transfer of ownership
    @dev Must be accepted by the new owner via `accept_transfer_ownership`
    @param _future_owner New owner address
    @return bool success
    """
    assert msg.sender == self.owner, "Only owner"
    self.future_owner = _future_owner

    return True


@external
def accept_transfer_ownership() -> bool:
    """
    @notice Accept a transfer of ownership
    @return bool success
    """
    assert msg.sender == self.future_owner, "Only owner"
    self.owner = msg.sender

    return True


@external
def commit_transfer_emergency_ownership(_future_owner: address) -> bool:
    """
    @notice Commit a transfer of emergency ownership
    @dev Must be accepted by the new owner via `accept_transfer_emergency_ownership`
    @param _future_owner New owner address
    @return bool success
    """
    assert msg.sender == self.emergency_owner, "Only owner"
    self.future_emergency_owner = _future_owner

    return True


@external
def accept_transfer_emergency_ownership() -> bool:
    """
    @notice Accept a transfer of emergency ownership
    @return bool success
    """
    assert msg.sender == self.future_emergency_owner, "Only owner"
    self.emergency_owner = msg.sender

    return True

Contract Security Audit

Contract ABI

[{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_owner","type":"address"},{"name":"_emergency_owner","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"burn","inputs":[{"name":"_coin","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"burn_amount","inputs":[{"name":"_amounts_to_burn","type":"uint256[3]"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_slippage","inputs":[{"name":"_slippage","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"recover_balance","inputs":[{"name":"_coin","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"recover_balance","inputs":[{"name":"_coin","type":"address"},{"name":"_amount","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_killed","inputs":[{"name":"_is_killed","type":"bool"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"commit_transfer_ownership","inputs":[{"name":"_future_owner","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"accept_transfer_ownership","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"commit_transfer_emergency_ownership","inputs":[{"name":"_future_owner","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"accept_transfer_emergency_ownership","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"slippage","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"is_killed","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"emergency_owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"future_owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"future_emergency_owner","inputs":[],"outputs":[{"name":"","type":"address"}]}]

6020610db46000396000518060a01c610daf576040526020610dd46000396000518060a01c610daf5760605234610daf5773ecb456ea5365865ebab8a2661b0c503410e9b347610b815273bebc44782c7db0a1a60cb6fe97d0b483032ff1c7610ba152736c3f90f043a72fa612cbac8115ee7e52bde6e490610bc152604051600255606051600355603260005560c03660803760006003905b8061014052610ba15163c66106576101605261014051610180526020610160602461017c845afa6100ce573d600060003e3d6000fd5b60203d10610daf57610160518060a01c610daf576101a0526101a09050516101405160028111610daf5760051b608001526101405160028111610daf5760051b6080015163095ea7b361016052610ba151610180527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101a052803b15610daf576000610160604461017c6000855af161016d573d600060003e3d6000fd5b506101405160028111610daf5760051b6080015163313ce567610160526020610160600461017c845afa6101a6573d600060003e3d6000fd5b60203d10610daf576101609050518060120360128111610daf579050604d8111610daf5780600a0a90506101405160028111610daf5760051b60e00152600101818118610098575050608051610be15260a051610c015260c051610c215260e051610c415261010051610c615261012051610c8152610b8161022d61000039610ca1610000f36003361161000c57610955565b60003560e01c34610b6f576389afcb44811861020a5760243610610b6f576004358060a01c610b6f5761018052600154610b6f576101805160006101a05260006003905b60208160051b606001610b810160003960005183186100745760016101a05261007f565b600101818118610050575b50506101a051905015610b6f57610180516370a082316101c052336101e05260206101c060246101dc845afa6100ba573d600060003e3d6000fd5b60203d10610b6f576101c09050516101a052610180516323b872dd6101c052336101e05230610200526101a0516102205260206101c060646101dc6000855af1610109573d600060003e3d6000fd5b3d61012057803b15610b6f57600161024052610139565b60203d10610b6f576101c0518060011c610b6f57610240525b61024090505115610b6f576020610c2160003960005161018051186101fd576060366101c03760006003905b806102205260206102205160028111610b6f5760051b606001610b81016000396000516370a082316102405230610260526020610240602461025c845afa6101b2573d600060003e3d6000fd5b60203d10610b6f576102409050516102205160028111610b6f5760051b6101c001526001018181186101655750506101c0516040526101e051606052610200516080526101fd61095b565b60016101c05260206101c0f35b63bae34a4281186104715760643610610b6f57600154610b6f5760006003905b60208160051b606001610b810160003960005161018052306020610b816000396000516303d41e0e6101a052610180516101c05260206101a060246101bc845afa61027a573d600060003e3d6000fd5b60203d10610b6f576101a0518060a01c610b6f576101e0526101e09050511861036057610180516370a082316102205230610240526020610220602461023c845afa6102cb573d600060003e3d6000fd5b60203d10610b6f5761022090505161020052610180516323b872dd610220526020610b8160003960005161024052306102605261020051610280526020610220606461023c6000855af1610324573d600060003e3d6000fd5b3d61033b57803b15610b6f5760016102a052610354565b60203d10610b6f57610220518060011c610b6f576102a0525b6102a090505115610b6f575b60010181811861022a57505060006003905b806101805260206101805160028111610b6f5760051b606001610b81016000396000516370a082316101c052306101e05260206101c060246101dc845afa6103bf573d600060003e3d6000fd5b60203d10610b6f576101c09050516101a0526101805160028111610b6f5760051b600401356101a05110156104545760146101c0527f496e73756666696369656e742062616c616e63650000000000000000000000006101e0526101c0506101c051806101e001601f826000031636823750506308c379a06101805260206101a052601f19601f6101c051011660440161019cfd5b6001018181186103725750506060600460403761046f61095b565b005b638edd69ec81186104a05760243610610b6f576002543318610b6f5761270f60043511610b6f57600435600055005b63db2f5f7981186104dc5760243610610b6f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6060526104f6565b630cb491e181186106045760443610610b6f576024356060525b6004358060a01c610b6f5760405260605160805273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60405118610568576080511961053457476080525b600060a05260a0506000600060a05160c06080516020610b816000396000515af1610602573d600060003e3d6000fd610602565b608051196105aa576040516370a0823160a0523060c052602060a0602460bc845afa610599573d600060003e3d6000fd5b60203d10610b6f5760a09050516080525b60405163a9059cbb60a0526020610b8160003960005160c05260805160e052602060a0604460bc6000855af16105e5573d600060003e3d6000fd5b60203d10610b6f5760a0518060011c610b6f576101005261010050505b005b6390b2299781186106555760243610610b6f576004358060011c610b6f5760405233600254811861063657600161063d565b6003548118155b905015610b6f57604051600155600160605260206060f35b636b441a4081186106ee5760243610610b6f576004358060a01c610b6f576040526002543318156106dd57600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b604051600455600160605260206060f35b63e5ea47b881186107775760043610610b6f5760045433181561076857600a6040527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b33600255600160405260206040f35b6395c8991581186108105760243610610b6f576004358060a01c610b6f576040526003543318156107ff57600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b604051600555600160605260206060f35b632d2cb67581186108995760043610610b6f5760055433181561088a57600a6040527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b33600355600160405260206040f35b633e032a3b81186108b85760043610610b6f5760005460405260206040f35b639c868ac081186108d75760043610610b6f5760015460405260206040f35b638da5cb5b81186108f65760043610610b6f5760025460405260206040f35b6363a4042a81186109155760043610610b6f5760035460405260206040f35b631ec0cdc181186109345760043610610b6f5760045460405260206040f35b63e19f994c81186109535760043610610b6f5760055460405260206040f35b505b60006000fd5b600060a05260006003905b8060c05260a05160c05160028111610b6f5760051b60400151602060c05160028111610b6f5760051b60c001610b8101600039600051808202811583838304141715610b6f5790509050808201828110610b6f579050905060a05260010181811861096657505060a051670de0b6b3a7640000810281670de0b6b3a7640000820418610b6f5790506020610ba160003960005163bb7b8b8060e052602060e0600460fc845afa610a1b573d600060003e3d6000fd5b60203d10610b6f5760e09050518015610b6f578082049050905060c05260c05160c051600054808202811583838304141715610b6f579050905061271081049050808203828111610b6f579050905060c0526020610ba1600039600051634515cef360e05260405161010052606051610120526080516101405260c05161016052803b15610b6f57600060e0608460fc6000855af1610abf573d600060003e3d6000fd5b506020610bc16000396000516370a0823160e0523061010052602060e0602460fc845afa610af2573d600060003e3d6000fd5b60203d10610b6f5760e090505160a0526020610bc160003960005163a9059cbb60e05273a464e6dcda8ac41e03616f95f4bc98a13b8922dc6101005260a05161012052602060e0604460fc6000855af1610b51573d600060003e3d6000fd5b60203d10610b6f5760e0518060011c610b6f57610140526101405050565b600080fda165767970657283000307000b005b600080fd00000000000000000000000040907540d8a6c65c637785e8f8b742ae6b0b9968000000000000000000000000467947ee34af926cf1dcac093870f613c96b1e0c

Deployed Bytecode

0x6003361161000c57610955565b60003560e01c34610b6f576389afcb44811861020a5760243610610b6f576004358060a01c610b6f5761018052600154610b6f576101805160006101a05260006003905b60208160051b606001610b810160003960005183186100745760016101a05261007f565b600101818118610050575b50506101a051905015610b6f57610180516370a082316101c052336101e05260206101c060246101dc845afa6100ba573d600060003e3d6000fd5b60203d10610b6f576101c09050516101a052610180516323b872dd6101c052336101e05230610200526101a0516102205260206101c060646101dc6000855af1610109573d600060003e3d6000fd5b3d61012057803b15610b6f57600161024052610139565b60203d10610b6f576101c0518060011c610b6f57610240525b61024090505115610b6f576020610c2160003960005161018051186101fd576060366101c03760006003905b806102205260206102205160028111610b6f5760051b606001610b81016000396000516370a082316102405230610260526020610240602461025c845afa6101b2573d600060003e3d6000fd5b60203d10610b6f576102409050516102205160028111610b6f5760051b6101c001526001018181186101655750506101c0516040526101e051606052610200516080526101fd61095b565b60016101c05260206101c0f35b63bae34a4281186104715760643610610b6f57600154610b6f5760006003905b60208160051b606001610b810160003960005161018052306020610b816000396000516303d41e0e6101a052610180516101c05260206101a060246101bc845afa61027a573d600060003e3d6000fd5b60203d10610b6f576101a0518060a01c610b6f576101e0526101e09050511861036057610180516370a082316102205230610240526020610220602461023c845afa6102cb573d600060003e3d6000fd5b60203d10610b6f5761022090505161020052610180516323b872dd610220526020610b8160003960005161024052306102605261020051610280526020610220606461023c6000855af1610324573d600060003e3d6000fd5b3d61033b57803b15610b6f5760016102a052610354565b60203d10610b6f57610220518060011c610b6f576102a0525b6102a090505115610b6f575b60010181811861022a57505060006003905b806101805260206101805160028111610b6f5760051b606001610b81016000396000516370a082316101c052306101e05260206101c060246101dc845afa6103bf573d600060003e3d6000fd5b60203d10610b6f576101c09050516101a0526101805160028111610b6f5760051b600401356101a05110156104545760146101c0527f496e73756666696369656e742062616c616e63650000000000000000000000006101e0526101c0506101c051806101e001601f826000031636823750506308c379a06101805260206101a052601f19601f6101c051011660440161019cfd5b6001018181186103725750506060600460403761046f61095b565b005b638edd69ec81186104a05760243610610b6f576002543318610b6f5761270f60043511610b6f57600435600055005b63db2f5f7981186104dc5760243610610b6f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6060526104f6565b630cb491e181186106045760443610610b6f576024356060525b6004358060a01c610b6f5760405260605160805273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60405118610568576080511961053457476080525b600060a05260a0506000600060a05160c06080516020610b816000396000515af1610602573d600060003e3d6000fd610602565b608051196105aa576040516370a0823160a0523060c052602060a0602460bc845afa610599573d600060003e3d6000fd5b60203d10610b6f5760a09050516080525b60405163a9059cbb60a0526020610b8160003960005160c05260805160e052602060a0604460bc6000855af16105e5573d600060003e3d6000fd5b60203d10610b6f5760a0518060011c610b6f576101005261010050505b005b6390b2299781186106555760243610610b6f576004358060011c610b6f5760405233600254811861063657600161063d565b6003548118155b905015610b6f57604051600155600160605260206060f35b636b441a4081186106ee5760243610610b6f576004358060a01c610b6f576040526002543318156106dd57600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b604051600455600160605260206060f35b63e5ea47b881186107775760043610610b6f5760045433181561076857600a6040527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b33600255600160405260206040f35b6395c8991581186108105760243610610b6f576004358060a01c610b6f576040526003543318156107ff57600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b604051600555600160605260206060f35b632d2cb67581186108995760043610610b6f5760055433181561088a57600a6040527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b33600355600160405260206040f35b633e032a3b81186108b85760043610610b6f5760005460405260206040f35b639c868ac081186108d75760043610610b6f5760015460405260206040f35b638da5cb5b81186108f65760043610610b6f5760025460405260206040f35b6363a4042a81186109155760043610610b6f5760035460405260206040f35b631ec0cdc181186109345760043610610b6f5760045460405260206040f35b63e19f994c81186109535760043610610b6f5760055460405260206040f35b505b60006000fd5b600060a05260006003905b8060c05260a05160c05160028111610b6f5760051b60400151602060c05160028111610b6f5760051b60c001610b8101600039600051808202811583838304141715610b6f5790509050808201828110610b6f579050905060a05260010181811861096657505060a051670de0b6b3a7640000810281670de0b6b3a7640000820418610b6f5790506020610ba160003960005163bb7b8b8060e052602060e0600460fc845afa610a1b573d600060003e3d6000fd5b60203d10610b6f5760e09050518015610b6f578082049050905060c05260c05160c051600054808202811583838304141715610b6f579050905061271081049050808203828111610b6f579050905060c0526020610ba1600039600051634515cef360e05260405161010052606051610120526080516101405260c05161016052803b15610b6f57600060e0608460fc6000855af1610abf573d600060003e3d6000fd5b506020610bc16000396000516370a0823160e0523061010052602060e0602460fc845afa610af2573d600060003e3d6000fd5b60203d10610b6f5760e090505160a0526020610bc160003960005163a9059cbb60e05273a464e6dcda8ac41e03616f95f4bc98a13b8922dc6101005260a05161012052602060e0604460fc6000855af1610b51573d600060003e3d6000fd5b60203d10610b6f5760e0518060011c610b6f57610140526101405050565b600080fda165767970657283000307000b000000000000000000000000ecb456ea5365865ebab8a2661b0c503410e9b347000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c70000000000000000000000006c3f90f043a72fa612cbac8115ee7e52bde6e4900000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000

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

00000000000000000000000040907540d8a6c65c637785e8f8b742ae6b0b9968000000000000000000000000467947ee34af926cf1dcac093870f613c96b1e0c

-----Decoded View---------------
Arg [0] : _owner (address): 0x40907540d8a6C65c637785e8f8B742ae6b0b9968
Arg [1] : _emergency_owner (address): 0x467947EE34aF926cF1DCac093870f613C96B1E0c

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000040907540d8a6c65c637785e8f8b742ae6b0b9968
Arg [1] : 000000000000000000000000467947ee34af926cf1dcac093870f613c96b1e0c


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.