ETH Price: $3,406.75 (+2.72%)

Contract

0x3f4232107FF437bCD7ea9aBC134aD553eFEDDaff
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Kill_me152348752022-07-29 3:01:24903 days ago1659063684IN
0x3f423210...3eFEDDaff
0 ETH0.000536079.07935386
Apply_transfer_o...113616602020-11-30 18:07:501508 days ago1606759670IN
0x3f423210...3eFEDDaff
0 ETH0.0014920749.5
Apply_transfer_o...113616552020-11-30 18:07:281508 days ago1606759648IN
0x3f423210...3eFEDDaff
0 ETH0.0018645461.875
Apply_transfer_o...113616362020-11-30 18:02:111508 days ago1606759331IN
0x3f423210...3eFEDDaff
0 ETH0.0018387261
Apply_transfer_o...113616252020-11-30 17:59:041508 days ago1606759144IN
0x3f423210...3eFEDDaff
0 ETH0.00147749
Apply_transfer_o...113616212020-11-30 17:58:121508 days ago1606759092IN
0x3f423210...3eFEDDaff
0 ETH0.0017167356.953125
Apply_transfer_o...113616132020-11-30 17:56:201508 days ago1606758980IN
0x3f423210...3eFEDDaff
0 ETH0.0018311860.75000164
Apply_transfer_o...113615932020-11-30 17:50:141508 days ago1606758614IN
0x3f423210...3eFEDDaff
0 ETH0.0013564345
Apply_new_fee111217912020-10-24 22:18:271545 days ago1603577907IN
0x3f423210...3eFEDDaff
0 ETH0.0007087516.5

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Vyper_contract

Compiler Version
vyper:0.2.5

Optimization Enabled:
N/A

Other Settings:
default evmVersion, MIT license

Contract Source Code (Vyper language format)

# @version 0.2.5
"""
@title Curve StableSwap Proxy
@author Curve Finance
@license MIT
"""

from vyper.interfaces import ERC20

interface Burner:
    def burn() -> bool: nonpayable
    def burn_eth() -> bool: payable
    def burn_coin(_coin: address)-> bool: nonpayable

interface Curve:
    def withdraw_admin_fees(): nonpayable
    def kill_me(): nonpayable
    def unkill_me(): nonpayable
    def commit_transfer_ownership(new_owner: address): nonpayable
    def apply_transfer_ownership(): nonpayable
    def revert_transfer_ownership(): nonpayable
    def commit_new_parameters(amplification: uint256, new_fee: uint256, new_admin_fee: uint256): nonpayable
    def apply_new_parameters(): nonpayable
    def revert_new_parameters(): nonpayable
    def commit_new_fee(new_fee: uint256, new_admin_fee: uint256): nonpayable
    def apply_new_fee(): nonpayable
    def ramp_A(_future_A: uint256, _future_time: uint256): nonpayable
    def stop_ramp_A(): nonpayable
    def set_aave_referral(referral_code: uint256): nonpayable
    def donate_admin_fees(): nonpayable


interface Registry:
    def get_pool_info(_pool: address) -> PoolInfo: view


MAX_COINS: constant(int128) = 8

struct PoolInfo:
    balances: uint256[MAX_COINS]
    underlying_balances: uint256[MAX_COINS]
    decimals: uint256[MAX_COINS]
    underlying_decimals: uint256[MAX_COINS]
    lp_token: address
    A: uint256
    fee: uint256

event CommitAdmins:
    ownership_admin: address
    parameter_admin: address
    emergency_admin: address

event ApplyAdmins:
    ownership_admin: address
    parameter_admin: address
    emergency_admin: address

event AddBurner:
    burner: address


ownership_admin: public(address)
parameter_admin: public(address)
emergency_admin: public(address)

future_ownership_admin: public(address)
future_parameter_admin: public(address)
future_emergency_admin: public(address)

min_asymmetries: public(HashMap[address, uint256])

burners: public(HashMap[address, address])

registry: Registry


@external
def __init__(_registry: address, _ownership_admin: address, _parameter_admin: address, _emergency_admin: address):
    self.ownership_admin = _ownership_admin
    self.parameter_admin = _parameter_admin
    self.emergency_admin = _emergency_admin
    self.registry = Registry(_registry)


@external
def commit_set_admins(_o_admin: address, _p_admin: address, _e_admin: address):
    """
    @notice Set ownership admin to `_o_admin`, parameter admin to `_p_admin` and emergency admin to `_e_admin`
    @param _o_admin Ownership admin
    @param _p_admin Parameter admin
    @param _e_admin Emergency admin
    """
    assert msg.sender == self.ownership_admin, "Access denied"

    self.future_ownership_admin = _o_admin
    self.future_parameter_admin = _p_admin
    self.future_emergency_admin = _e_admin

    log CommitAdmins(_o_admin, _p_admin, _e_admin)


@external
def apply_set_admins():
    """
    @notice Apply the effects of `commit_set_admins`
    """
    assert msg.sender == self.ownership_admin, "Access denied"

    _o_admin: address = self.future_ownership_admin
    _p_admin: address = self.future_parameter_admin
    _e_admin: address = self.future_emergency_admin
    self.ownership_admin = _o_admin
    self.parameter_admin = _p_admin
    self.emergency_admin = _e_admin

    log ApplyAdmins(_o_admin, _p_admin, _e_admin)


@external
@nonreentrant('lock')
def set_burner(_token: address, _burner: address):
    """
    @notice Set burner of `_token` to `_burner` address
    @param _token Token address
    @param _burner Burner contract address
    """
    assert msg.sender == self.emergency_admin, "Access denied"

    _old_burner: address = self.burners[_token]

    if _token != ZERO_ADDRESS:
        if _old_burner != ZERO_ADDRESS:
            ERC20(_token).approve(_old_burner, 0)
        if _burner != ZERO_ADDRESS:
            ERC20(_token).approve(_burner, MAX_UINT256)

    self.burners[_token] = _burner

    log AddBurner(_burner)


@external
@nonreentrant('lock')
def withdraw_admin_fees(_pool: address):
    """
    @notice Withdraw admin fees from `_pool`
    @param _pool Pool address to withdraw admin fees from
    """
    Curve(_pool).withdraw_admin_fees()


@external
@nonreentrant('lock')
def burn(_burner: address):
    """
    @notice Burn CRV tokens using `_burner` contract
    @param _burner Burner contract
    """
    Burner(_burner).burn()  # dev: should implement burn()


@external
@nonreentrant('lock')
def burn_coin(_coin: address):
    """
    @notice Burn CRV tokens and buy `_coin`
    @param _coin Coin address
    """
    Burner(self.burners[_coin]).burn_coin(_coin)  # dev: should implement burn_coin()


@external
@payable
@nonreentrant('lock')
def burn_eth():
    """
    @notice Burn the full ETH balance of this contract
    """
    Burner(self.burners[ZERO_ADDRESS]).burn_eth(value=self.balance)  # dev: should implement burn_eth()


@external
@nonreentrant('lock')
def kill_me(_pool: address):
    """
    @notice Pause the pool `_pool` - only remove_liquidity will be callable
    @param _pool Pool address to pause
    """
    assert msg.sender == self.ownership_admin, "Access denied"
    Curve(_pool).kill_me()


@external
@nonreentrant('lock')
def unkill_me(_pool: address):
    """
    @notice Unpause the pool `_pool`, re-enabling all functionality
    @param _pool Pool address to unpause
    """
    assert msg.sender == self.emergency_admin or msg.sender == self.ownership_admin, "Access denied"
    Curve(_pool).unkill_me()


@external
@nonreentrant('lock')
def commit_transfer_ownership(_pool: address, new_owner: address):
    """
    @notice Transfer ownership for `_pool` pool to `new_owner` address
    @param _pool Pool which ownership is to be transferred
    @param new_owner New pool owner address
    """
    assert msg.sender == self.emergency_admin, "Access denied"
    Curve(_pool).commit_transfer_ownership(new_owner)


@external
@nonreentrant('lock')
def apply_transfer_ownership(_pool: address):
    """
    @notice Apply transferring ownership of `_pool`
    @param _pool Pool address
    """
    Curve(_pool).apply_transfer_ownership()


@external
@nonreentrant('lock')
def revert_transfer_ownership(_pool: address):
    """
    @notice Revert commited transferring ownership for `_pool`
    @param _pool Pool address
    """
    assert msg.sender == self.ownership_admin, "Access denied"
    Curve(_pool).revert_transfer_ownership()


@external
@nonreentrant('lock')
def commit_new_parameters(_pool: address,
                          amplification: uint256,
                          new_fee: uint256,
                          new_admin_fee: uint256,
                          min_asymmetry: uint256):
    """
    @notice Commit new parameters for `_pool`, A: `amplification`, fee: `new_fee` and admin fee: `new_admin_fee`
    @param _pool Pool address
    @param amplification Amplification coefficient
    @param new_fee New fee
    @param new_admin_fee New admin fee
    @param min_asymmetry Minimal asymmetry factor allowed.
            Asymmetry factor is:
            Prod(balances) / (Sum(balances) / N) ** N
    """
    assert msg.sender == self.parameter_admin, "Access denied"
    self.min_asymmetries[_pool] = min_asymmetry
    Curve(_pool).commit_new_parameters(amplification, new_fee, new_admin_fee)  # dev: if implemented by the pool


@external
@nonreentrant('lock')
def apply_new_parameters(_pool: address):
    """
    @notice Apply new parameters for `_pool` pool
    @param _pool Pool address
    """
    min_asymmetry: uint256 = self.min_asymmetries[_pool]

    if min_asymmetry > 0:
        pool_info: PoolInfo = self.registry.get_pool_info(_pool)
        balances: uint256[MAX_COINS] = empty(uint256[MAX_COINS])
        # asymmetry = prod(x_i) / (sum(x_i) / N) ** N =
        # = prod( (N * x_i) / sum(x_j) )
        S: uint256 = 0
        N: uint256 = 0
        for i in range(MAX_COINS):
            x: uint256 = pool_info.underlying_balances[i]
            if x == 0:
                N = convert(i, uint256)
                break
            x *= 10 ** (18 - pool_info.decimals[i])
            balances[i] = x
            S += x

        asymmetry: uint256 = N * 10 ** 18
        for i in range(MAX_COINS):
            x: uint256 = balances[i]
            if x == 0:
                break
            asymmetry = asymmetry * x / S

        assert asymmetry >= min_asymmetry, "Unsafe to apply"

    Curve(_pool).apply_new_parameters()  # dev: if implemented by the pool


@external
@nonreentrant('lock')
def revert_new_parameters(_pool: address):
    """
    @notice Revert comitted new parameters for `_pool` pool
    @param _pool Pool address
    """
    assert msg.sender == self.parameter_admin, "Access denied"
    Curve(_pool).revert_new_parameters()  # dev: if implemented by the pool


@external
@nonreentrant('lock')
def commit_new_fee(_pool: address, new_fee: uint256, new_admin_fee: uint256):
    """
    @notice Commit new fees for `_pool` pool, fee: `new_fee` and admin fee: `new_admin_fee`
    @param _pool Pool address
    @param new_fee New fee
    @param new_admin_fee New admin fee
    """
    assert msg.sender == self.parameter_admin, "Access denied"
    Curve(_pool).commit_new_fee(new_fee, new_admin_fee)


@external
@nonreentrant('lock')
def apply_new_fee(_pool: address):
    """
    @notice Apply new fees for `_pool` pool
    @param _pool Pool address
    """
    Curve(_pool).apply_new_fee()


@external
@nonreentrant('lock')
def ramp_A(_pool: address, _future_A: uint256, _future_time: uint256):
    """
    @notice Start gradually increasing A of `_pool` reaching `_future_A` at `_future_time` time
    @param _pool Pool address
    @param _future_A Future A
    @param _future_time Future time
    """
    assert msg.sender == self.parameter_admin, "Access denied"
    Curve(_pool).ramp_A(_future_A, _future_time)


@external
@nonreentrant('lock')
def stop_ramp_A(_pool: address):
    """
    @notice Stop gradually increasing A of `_pool`
    @param _pool Pool address
    """
    assert msg.sender == self.parameter_admin, "Access denied"
    Curve(_pool).stop_ramp_A()


@external
@nonreentrant('lock')
def set_aave_referral(_pool: address, referral_code: uint256):
    """
    @notice Set Aave referral for undelying tokens of `_pool` to `referral_code`
    @param _pool Pool address
    @param referral_code Aave referral code
    """
    assert msg.sender == self.ownership_admin, "Access denied"
    Curve(_pool).set_aave_referral(referral_code)  # dev: if implemented by the pool


@external
@nonreentrant('lock')
def donate_admin_fees(_pool: address):
    """
    @notice Donate admin fees of `_pool` pool
    @param _pool Pool address
    """
    assert msg.sender == self.ownership_admin, "Access denied"
    Curve(_pool).donate_admin_fees()  # dev: if implemented by the pool

Contract Security Audit

Contract ABI

[{"name":"CommitAdmins","inputs":[{"type":"address","name":"ownership_admin","indexed":false},{"type":"address","name":"parameter_admin","indexed":false},{"type":"address","name":"emergency_admin","indexed":false}],"anonymous":false,"type":"event"},{"name":"ApplyAdmins","inputs":[{"type":"address","name":"ownership_admin","indexed":false},{"type":"address","name":"parameter_admin","indexed":false},{"type":"address","name":"emergency_admin","indexed":false}],"anonymous":false,"type":"event"},{"name":"AddBurner","inputs":[{"type":"address","name":"burner","indexed":false}],"anonymous":false,"type":"event"},{"outputs":[],"inputs":[{"type":"address","name":"_registry"},{"type":"address","name":"_ownership_admin"},{"type":"address","name":"_parameter_admin"},{"type":"address","name":"_emergency_admin"}],"stateMutability":"nonpayable","type":"constructor"},{"name":"commit_set_admins","outputs":[],"inputs":[{"type":"address","name":"_o_admin"},{"type":"address","name":"_p_admin"},{"type":"address","name":"_e_admin"}],"stateMutability":"nonpayable","type":"function","gas":109120},{"name":"apply_set_admins","outputs":[],"inputs":[],"stateMutability":"nonpayable","type":"function","gas":111286},{"name":"set_burner","outputs":[],"inputs":[{"type":"address","name":"_token"},{"type":"address","name":"_burner"}],"stateMutability":"nonpayable","type":"function","gas":96987},{"name":"withdraw_admin_fees","outputs":[],"inputs":[{"type":"address","name":"_pool"}],"stateMutability":"nonpayable","type":"function","gas":58046},{"name":"burn","outputs":[],"inputs":[{"type":"address","name":"_burner"}],"stateMutability":"nonpayable","type":"function","gas":57391},{"name":"burn_coin","outputs":[],"inputs":[{"type":"address","name":"_coin"}],"stateMutability":"nonpayable","type":"function","gas":58348},{"name":"burn_eth","outputs":[],"inputs":[],"stateMutability":"payable","type":"function","gas":92172},{"name":"kill_me","outputs":[],"inputs":[{"type":"address","name":"_pool"}],"stateMutability":"nonpayable","type":"function","gas":59121},{"name":"unkill_me","outputs":[],"inputs":[{"type":"address","name":"_pool"}],"stateMutability":"nonpayable","type":"function","gas":59998},{"name":"commit_transfer_ownership","outputs":[],"inputs":[{"type":"address","name":"_pool"},{"type":"address","name":"new_owner"}],"stateMutability":"nonpayable","type":"function","gas":59296},{"name":"apply_transfer_ownership","outputs":[],"inputs":[{"type":"address","name":"_pool"}],"stateMutability":"nonpayable","type":"function","gas":58256},{"name":"revert_transfer_ownership","outputs":[],"inputs":[{"type":"address","name":"_pool"}],"stateMutability":"nonpayable","type":"function","gas":59241},{"name":"commit_new_parameters","outputs":[],"inputs":[{"type":"address","name":"_pool"},{"type":"uint256","name":"amplification"},{"type":"uint256","name":"new_fee"},{"type":"uint256","name":"new_admin_fee"},{"type":"uint256","name":"min_asymmetry"}],"stateMutability":"nonpayable","type":"function","gas":94440},{"name":"apply_new_parameters","outputs":[],"inputs":[{"type":"address","name":"_pool"}],"stateMutability":"nonpayable","type":"function","gas":81176},{"name":"revert_new_parameters","outputs":[],"inputs":[{"type":"address","name":"_pool"}],"stateMutability":"nonpayable","type":"function","gas":59331},{"name":"commit_new_fee","outputs":[],"inputs":[{"type":"address","name":"_pool"},{"type":"uint256","name":"new_fee"},{"type":"uint256","name":"new_admin_fee"}],"stateMutability":"nonpayable","type":"function","gas":59391},{"name":"apply_new_fee","outputs":[],"inputs":[{"type":"address","name":"_pool"}],"stateMutability":"nonpayable","type":"function","gas":58436},{"name":"ramp_A","outputs":[],"inputs":[{"type":"address","name":"_pool"},{"type":"uint256","name":"_future_A"},{"type":"uint256","name":"_future_time"}],"stateMutability":"nonpayable","type":"function","gas":59451},{"name":"stop_ramp_A","outputs":[],"inputs":[{"type":"address","name":"_pool"}],"stateMutability":"nonpayable","type":"function","gas":59451},{"name":"set_aave_referral","outputs":[],"inputs":[{"type":"address","name":"_pool"},{"type":"uint256","name":"referral_code"}],"stateMutability":"nonpayable","type":"function","gas":59496},{"name":"donate_admin_fees","outputs":[],"inputs":[{"type":"address","name":"_pool"}],"stateMutability":"nonpayable","type":"function","gas":59511},{"name":"ownership_admin","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1781},{"name":"parameter_admin","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1811},{"name":"emergency_admin","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1841},{"name":"future_ownership_admin","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1871},{"name":"future_parameter_admin","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1901},{"name":"future_emergency_admin","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1931},{"name":"min_asymmetries","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":2176},{"name":"burners","outputs":[{"type":"address","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":2206}]

608061186161014039602061186160c03960c05160a01c1561002057600080fd5b602060206118610160c03960c05160a01c1561003b57600080fd5b602060406118610160c03960c05160a01c1561005657600080fd5b602060606118610160c03960c05160a01c1561007157600080fd5b61016051600055610180516001556101a0516002556101405160085561184956600436101561000d576117b1565b600035601c52638cb16c8a60005114156100fa57341561002c57600080fd5b60043560a01c1561003c57600080fd5b60243560a01c1561004c57600080fd5b60443560a01c1561005c57600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a0526101805060005433146100aa57606461015cfd5b6004356003556024356004556044356005556004356101e05260243561020052604435610220527f78572131fd8b9a2e345c48a6afbf55bc1219e393553feac694f89889903d270460606101e0a1005b636189392160005114156101cc57341561011357600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600054331461016157606461015cfd5b6003546101e05260045461020052600554610220526101e05160005561020051600155610220516002556101e05161024052610200516102605261022051610280527fd61a16912efb9a1c5bd5361dff238b95f452672ded751a425c11db5e4f5881766060610240a1005b631198c78560005114156103965762ffffff54156101e957600080fd5b600162ffffff5534156101fb57600080fd5b60043560a01c1561020b57600080fd5b60243560a01c1561021b57600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600254331461026957606461015cfd5b600760043560e05260c052604060c020546101e0526000600435181561034b5760006101e05118156102db5760206102a0604463095ea7b3610200526101e0516102205260006102405261021c60006004355af16102c657600080fd5b601f3d116102d357600080fd5b6000506102a0505b6000602435181561034a576020610360604463095ea7b36102c0526024356102e0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610300526102dc60006004355af161033557600080fd5b601f3d1161034257600080fd5b600050610360505b5b602435600760043560e05260c052604060c02055602435610380527f2a85edc5fabdd9bbaa6d309617215d5b6905e0ed8a48d656d86fc9863e3c4b776020610380a1600062ffffff55005b63e4e67c0f600051141561040d5762ffffff54156103b357600080fd5b600162ffffff5534156103c557600080fd5b60043560a01c156103d557600080fd5b6004353b6103e257600080fd5b6000600060046330c540856101405261015c60006004355af161040457600080fd5b600062ffffff55005b6389afcb44600051141561048c5762ffffff541561042a57600080fd5b600162ffffff55341561043c57600080fd5b60043560a01c1561044c57600080fd5b60206101a060046344df8e706101405261015c60006004355af161046f57600080fd5b601f3d1161047c57600080fd5b6000506101a050600062ffffff55005b63580b2a8460005114156105205762ffffff54156104a957600080fd5b600162ffffff5534156104bb57600080fd5b60043560a01c156104cb57600080fd5b60206101c0602463580b2a84610140526004356101605261015c6000600760043560e05260c052604060c020545af161050357600080fd5b601f3d1161051057600080fd5b6000506101c050600062ffffff55005b632f4e2ec460005114156105905762ffffff541561053d57600080fd5b600162ffffff5560206101a06004632f4e2ec46101405261015c476007600060e05260c052604060c020545af161057357600080fd5b601f3d1161058057600080fd5b6000506101a050600062ffffff55005b63b01f275f60005114156106555762ffffff54156105ad57600080fd5b600162ffffff5534156105bf57600080fd5b60043560a01c156105cf57600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600054331461061d57606461015cfd5b6004353b61062a57600080fd5b60006000600463e36988536101e0526101fc60006004355af161064c57600080fd5b600062ffffff55005b631cfbc236600051141561072d5762ffffff541561067257600080fd5b600162ffffff55341561068457600080fd5b60043560a01c1561069457600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a052610180506002543314156106e35760016106e9565b60005433145b5b6106f557606461015cfd5b6004353b61070257600080fd5b600060006004633046f9726101e0526101fc60006004355af161072457600080fd5b600062ffffff55005b633ea1c6f460005114156108095762ffffff541561074a57600080fd5b600162ffffff55341561075c57600080fd5b60043560a01c1561076c57600080fd5b60243560a01c1561077c57600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a0526101805060025433146107ca57606461015cfd5b6004353b6107d757600080fd5b600060006024636b441a406101e052602435610200526101fc60006004355af161080057600080fd5b600062ffffff55005b635f608d1e60005114156108805762ffffff541561082657600080fd5b600162ffffff55341561083857600080fd5b60043560a01c1561084857600080fd5b6004353b61085557600080fd5b600060006004636a1c05ae6101405261015c60006004355af161087757600080fd5b600062ffffff55005b63a352c2eb60005114156109455762ffffff541561089d57600080fd5b600162ffffff5534156108af57600080fd5b60043560a01c156108bf57600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600054331461090d57606461015cfd5b6004353b61091a57600080fd5b6000600060046386fbf1936101e0526101fc60006004355af161093c57600080fd5b600062ffffff55005b636f331ff36000511415610a335762ffffff541561096257600080fd5b600162ffffff55341561097457600080fd5b60043560a01c1561098457600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a0526101805060015433146109d257606461015cfd5b608435600660043560e05260c052604060c020556004353b6109f357600080fd5b60006000606463ee11f5b66101e0526024356102005260443561022052606435610240526101fc60006004355af1610a2a57600080fd5b600062ffffff55005b63cf56a4d860005114156111045762ffffff5415610a5057600080fd5b600162ffffff553415610a6257600080fd5b60043560a01c15610a7257600080fd5b600660043560e05260c052604060c020546101405260006101405111156110cc57610160610460610640602463100f2c006105c0526004356105e0526105dc6008545afa610abf57600080fd5b61045f3d11610acd57600080fd5b61064080808080808051610aa052505060208101905080808051610ac052505060208101905080808051610ae052505060208101905080808051610b0052505060208101905080808051610b2052505060208101905080808051610b4052505060208101905080808051610b6052505060208101905080808051610b80525050505061010081019050808080808051610ba052505060208101905080808051610bc052505060208101905080808051610be052505060208101905080808051610c0052505060208101905080808051610c2052505060208101905080808051610c4052505060208101905080808051610c6052505060208101905080808051610c80525050505061010081019050808080808051610ca052505060208101905080808051610cc052505060208101905080808051610ce052505060208101905080808051610d0052505060208101905080808051610d2052505060208101905080808051610d4052505060208101905080808051610d6052505060208101905080808051610d80525050505061010081019050808080808051610da052505060208101905080808051610dc052505060208101905080808051610de052505060208101905080808051610e0052505060208101905080808051610e2052505060208101905080808051610e4052505060208101905080808051610e6052505060208101905080808051610e8052505050506101008101905080808051610ea052505060208101905080808051610ec052505060208101905080808051610ee05250505050600050610aa0818180518252806020015182602001528060400151826040015280606001518260600152806080015182608001528060a001518260a001528060c001518260c001528060e001518260e0015250508161010001816101000180518252806020015182602001528060400151826040015280606001518260600152806080015182608001528060a001518260a001528060c001518260c001528060e001518260e0015250508161020001816102000180518252806020015182602001528060400151826040015280606001518260600152806080015182608001528060a001518260a001528060c001518260c001528060e001518260e0015250508161030001816103000180518252806020015182602001528060400151826040015280606001518260600152806080015182608001528060a001518260a001528060c001518260c001528060e001518260e001525050806104000151826104000152806104200151826104200152806104400151826104400152505061014036610f003761104060006008818352015b6102606110405160088110610eb557600080fd5b602002015161106052611060511515610ee357611040516000811215610eda57600080fd5b61102052610fc3565b6110608051604e60126103606110405160088110610f0057600080fd5b602002015180821015610f1257600080fd5b8082039050905010610f2357600080fd5b60126103606110405160088110610f3957600080fd5b602002015180821015610f4b57600080fd5b80820390509050600a0a8082028215828483041417610f6957600080fd5b8090509050905081525061106051610f006110405160088110610f8b57600080fd5b6020020152611000805161106051818183011015610fa857600080fd5b808201905090508152505b8151600101808352811415610ea1575b505061102051670de0b6b3a76400008082028215828483041417610fe657600080fd5b80905090509050611080526110a060006008818352015b610f006110a0516008811061101157600080fd5b60200201516110c0526110c051151561102957611076565b611080516110c051808202821582848304141761104557600080fd5b8090509050905061100051808061105b57600080fd5b820490509050611080525b8151600101808352811415610ffd575b50506308c379a06110e052602061110052600f611120527f556e7361666520746f206170706c7900000000000000000000000000000000006111405261112050610140516110805110156110cb5760646110fcfd5b5b6004353b6110d957600080fd5b600060006004632a7dd7cd6111805261119c60006004355af16110fb57600080fd5b600062ffffff55005b635082b38960005114156111c95762ffffff541561112157600080fd5b600162ffffff55341561113357600080fd5b60043560a01c1561114357600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600154331461119157606461015cfd5b6004353b61119e57600080fd5b60006000600463226840fb6101e0526101fc60006004355af16111c057600080fd5b600062ffffff55005b63cfca0bdb600051141561129c5762ffffff54156111e657600080fd5b600162ffffff5534156111f857600080fd5b60043560a01c1561120857600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600154331461125657606461015cfd5b6004353b61126357600080fd5b600060006044635b5a14676101e05260243561020052604435610220526101fc60006004355af161129357600080fd5b600062ffffff55005b63e8d64d6c60005114156113135762ffffff54156112b957600080fd5b600162ffffff5534156112cb57600080fd5b60043560a01c156112db57600080fd5b6004353b6112e857600080fd5b600060006004634f12fe976101405261015c60006004355af161130a57600080fd5b600062ffffff55005b639d4a438060005114156113e65762ffffff541561133057600080fd5b600162ffffff55341561134257600080fd5b60043560a01c1561135257600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a0526101805060015433146113a057606461015cfd5b6004353b6113ad57600080fd5b600060006044633c157e646101e05260243561020052604435610220526101fc60006004355af16113dd57600080fd5b600062ffffff55005b6353f79b2b60005114156114ab5762ffffff541561140357600080fd5b600162ffffff55341561141557600080fd5b60043560a01c1561142557600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600154331461147357606461015cfd5b6004353b61148057600080fd5b60006000600463551a65886101e0526101fc60006004355af16114a257600080fd5b600062ffffff55005b63dda3c54360005114156115775762ffffff54156114c857600080fd5b600162ffffff5534156114da57600080fd5b60043560a01c156114ea57600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600054331461153857606461015cfd5b6004353b61154557600080fd5b60006000602463b6aa64c56101e052602435610200526101fc60006004355af161156e57600080fd5b600062ffffff55005b63db0a8406600051141561163c5762ffffff541561159457600080fd5b600162ffffff5534156115a657600080fd5b60043560a01c156115b657600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600054331461160457606461015cfd5b6004353b61161157600080fd5b60006000600463524c39016101e0526101fc60006004355af161163357600080fd5b600062ffffff55005b6347c8715f600051141561166357341561165557600080fd5b60005460005260206000f350005b63a5b0b7e9600051141561168a57341561167c57600080fd5b60015460005260206000f350005b63680c778360005114156116b15734156116a357600080fd5b60025460005260206000f350005b633c2fcbf460005114156116d85734156116ca57600080fd5b60035460005260206000f350005b63824b508560005114156116ff5734156116f157600080fd5b60045460005260206000f350005b635866507a600051141561172657341561171857600080fd5b60055460005260206000f350005b63dd165f91600051141561176b57341561173f57600080fd5b60043560a01c1561174f57600080fd5b600660043560e05260c052604060c0205460005260206000f350005b6303d41e0e60005114156117b057341561178457600080fd5b60043560a01c1561179457600080fd5b600760043560e05260c052604060c0205460005260206000f350005b5b60006000fd5b61009261184903610092600039610092611849036000f30000000000000000000000007002b727ef8f5571cb5f9d70d13dbeeb4dfae9d10000000000000000000000007eeac6cddbd1d0b8af061742d41877d7f707289a0000000000000000000000007eeac6cddbd1d0b8af061742d41877d7f707289a00000000000000000000000040907540d8a6c65c637785e8f8b742ae6b0b9968

Deployed Bytecode

0x600436101561000d576117b1565b600035601c52638cb16c8a60005114156100fa57341561002c57600080fd5b60043560a01c1561003c57600080fd5b60243560a01c1561004c57600080fd5b60443560a01c1561005c57600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a0526101805060005433146100aa57606461015cfd5b6004356003556024356004556044356005556004356101e05260243561020052604435610220527f78572131fd8b9a2e345c48a6afbf55bc1219e393553feac694f89889903d270460606101e0a1005b636189392160005114156101cc57341561011357600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600054331461016157606461015cfd5b6003546101e05260045461020052600554610220526101e05160005561020051600155610220516002556101e05161024052610200516102605261022051610280527fd61a16912efb9a1c5bd5361dff238b95f452672ded751a425c11db5e4f5881766060610240a1005b631198c78560005114156103965762ffffff54156101e957600080fd5b600162ffffff5534156101fb57600080fd5b60043560a01c1561020b57600080fd5b60243560a01c1561021b57600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600254331461026957606461015cfd5b600760043560e05260c052604060c020546101e0526000600435181561034b5760006101e05118156102db5760206102a0604463095ea7b3610200526101e0516102205260006102405261021c60006004355af16102c657600080fd5b601f3d116102d357600080fd5b6000506102a0505b6000602435181561034a576020610360604463095ea7b36102c0526024356102e0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610300526102dc60006004355af161033557600080fd5b601f3d1161034257600080fd5b600050610360505b5b602435600760043560e05260c052604060c02055602435610380527f2a85edc5fabdd9bbaa6d309617215d5b6905e0ed8a48d656d86fc9863e3c4b776020610380a1600062ffffff55005b63e4e67c0f600051141561040d5762ffffff54156103b357600080fd5b600162ffffff5534156103c557600080fd5b60043560a01c156103d557600080fd5b6004353b6103e257600080fd5b6000600060046330c540856101405261015c60006004355af161040457600080fd5b600062ffffff55005b6389afcb44600051141561048c5762ffffff541561042a57600080fd5b600162ffffff55341561043c57600080fd5b60043560a01c1561044c57600080fd5b60206101a060046344df8e706101405261015c60006004355af161046f57600080fd5b601f3d1161047c57600080fd5b6000506101a050600062ffffff55005b63580b2a8460005114156105205762ffffff54156104a957600080fd5b600162ffffff5534156104bb57600080fd5b60043560a01c156104cb57600080fd5b60206101c0602463580b2a84610140526004356101605261015c6000600760043560e05260c052604060c020545af161050357600080fd5b601f3d1161051057600080fd5b6000506101c050600062ffffff55005b632f4e2ec460005114156105905762ffffff541561053d57600080fd5b600162ffffff5560206101a06004632f4e2ec46101405261015c476007600060e05260c052604060c020545af161057357600080fd5b601f3d1161058057600080fd5b6000506101a050600062ffffff55005b63b01f275f60005114156106555762ffffff54156105ad57600080fd5b600162ffffff5534156105bf57600080fd5b60043560a01c156105cf57600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600054331461061d57606461015cfd5b6004353b61062a57600080fd5b60006000600463e36988536101e0526101fc60006004355af161064c57600080fd5b600062ffffff55005b631cfbc236600051141561072d5762ffffff541561067257600080fd5b600162ffffff55341561068457600080fd5b60043560a01c1561069457600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a052610180506002543314156106e35760016106e9565b60005433145b5b6106f557606461015cfd5b6004353b61070257600080fd5b600060006004633046f9726101e0526101fc60006004355af161072457600080fd5b600062ffffff55005b633ea1c6f460005114156108095762ffffff541561074a57600080fd5b600162ffffff55341561075c57600080fd5b60043560a01c1561076c57600080fd5b60243560a01c1561077c57600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a0526101805060025433146107ca57606461015cfd5b6004353b6107d757600080fd5b600060006024636b441a406101e052602435610200526101fc60006004355af161080057600080fd5b600062ffffff55005b635f608d1e60005114156108805762ffffff541561082657600080fd5b600162ffffff55341561083857600080fd5b60043560a01c1561084857600080fd5b6004353b61085557600080fd5b600060006004636a1c05ae6101405261015c60006004355af161087757600080fd5b600062ffffff55005b63a352c2eb60005114156109455762ffffff541561089d57600080fd5b600162ffffff5534156108af57600080fd5b60043560a01c156108bf57600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600054331461090d57606461015cfd5b6004353b61091a57600080fd5b6000600060046386fbf1936101e0526101fc60006004355af161093c57600080fd5b600062ffffff55005b636f331ff36000511415610a335762ffffff541561096257600080fd5b600162ffffff55341561097457600080fd5b60043560a01c1561098457600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a0526101805060015433146109d257606461015cfd5b608435600660043560e05260c052604060c020556004353b6109f357600080fd5b60006000606463ee11f5b66101e0526024356102005260443561022052606435610240526101fc60006004355af1610a2a57600080fd5b600062ffffff55005b63cf56a4d860005114156111045762ffffff5415610a5057600080fd5b600162ffffff553415610a6257600080fd5b60043560a01c15610a7257600080fd5b600660043560e05260c052604060c020546101405260006101405111156110cc57610160610460610640602463100f2c006105c0526004356105e0526105dc6008545afa610abf57600080fd5b61045f3d11610acd57600080fd5b61064080808080808051610aa052505060208101905080808051610ac052505060208101905080808051610ae052505060208101905080808051610b0052505060208101905080808051610b2052505060208101905080808051610b4052505060208101905080808051610b6052505060208101905080808051610b80525050505061010081019050808080808051610ba052505060208101905080808051610bc052505060208101905080808051610be052505060208101905080808051610c0052505060208101905080808051610c2052505060208101905080808051610c4052505060208101905080808051610c6052505060208101905080808051610c80525050505061010081019050808080808051610ca052505060208101905080808051610cc052505060208101905080808051610ce052505060208101905080808051610d0052505060208101905080808051610d2052505060208101905080808051610d4052505060208101905080808051610d6052505060208101905080808051610d80525050505061010081019050808080808051610da052505060208101905080808051610dc052505060208101905080808051610de052505060208101905080808051610e0052505060208101905080808051610e2052505060208101905080808051610e4052505060208101905080808051610e6052505060208101905080808051610e8052505050506101008101905080808051610ea052505060208101905080808051610ec052505060208101905080808051610ee05250505050600050610aa0818180518252806020015182602001528060400151826040015280606001518260600152806080015182608001528060a001518260a001528060c001518260c001528060e001518260e0015250508161010001816101000180518252806020015182602001528060400151826040015280606001518260600152806080015182608001528060a001518260a001528060c001518260c001528060e001518260e0015250508161020001816102000180518252806020015182602001528060400151826040015280606001518260600152806080015182608001528060a001518260a001528060c001518260c001528060e001518260e0015250508161030001816103000180518252806020015182602001528060400151826040015280606001518260600152806080015182608001528060a001518260a001528060c001518260c001528060e001518260e001525050806104000151826104000152806104200151826104200152806104400151826104400152505061014036610f003761104060006008818352015b6102606110405160088110610eb557600080fd5b602002015161106052611060511515610ee357611040516000811215610eda57600080fd5b61102052610fc3565b6110608051604e60126103606110405160088110610f0057600080fd5b602002015180821015610f1257600080fd5b8082039050905010610f2357600080fd5b60126103606110405160088110610f3957600080fd5b602002015180821015610f4b57600080fd5b80820390509050600a0a8082028215828483041417610f6957600080fd5b8090509050905081525061106051610f006110405160088110610f8b57600080fd5b6020020152611000805161106051818183011015610fa857600080fd5b808201905090508152505b8151600101808352811415610ea1575b505061102051670de0b6b3a76400008082028215828483041417610fe657600080fd5b80905090509050611080526110a060006008818352015b610f006110a0516008811061101157600080fd5b60200201516110c0526110c051151561102957611076565b611080516110c051808202821582848304141761104557600080fd5b8090509050905061100051808061105b57600080fd5b820490509050611080525b8151600101808352811415610ffd575b50506308c379a06110e052602061110052600f611120527f556e7361666520746f206170706c7900000000000000000000000000000000006111405261112050610140516110805110156110cb5760646110fcfd5b5b6004353b6110d957600080fd5b600060006004632a7dd7cd6111805261119c60006004355af16110fb57600080fd5b600062ffffff55005b635082b38960005114156111c95762ffffff541561112157600080fd5b600162ffffff55341561113357600080fd5b60043560a01c1561114357600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600154331461119157606461015cfd5b6004353b61119e57600080fd5b60006000600463226840fb6101e0526101fc60006004355af16111c057600080fd5b600062ffffff55005b63cfca0bdb600051141561129c5762ffffff54156111e657600080fd5b600162ffffff5534156111f857600080fd5b60043560a01c1561120857600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600154331461125657606461015cfd5b6004353b61126357600080fd5b600060006044635b5a14676101e05260243561020052604435610220526101fc60006004355af161129357600080fd5b600062ffffff55005b63e8d64d6c60005114156113135762ffffff54156112b957600080fd5b600162ffffff5534156112cb57600080fd5b60043560a01c156112db57600080fd5b6004353b6112e857600080fd5b600060006004634f12fe976101405261015c60006004355af161130a57600080fd5b600062ffffff55005b639d4a438060005114156113e65762ffffff541561133057600080fd5b600162ffffff55341561134257600080fd5b60043560a01c1561135257600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a0526101805060015433146113a057606461015cfd5b6004353b6113ad57600080fd5b600060006044633c157e646101e05260243561020052604435610220526101fc60006004355af16113dd57600080fd5b600062ffffff55005b6353f79b2b60005114156114ab5762ffffff541561140357600080fd5b600162ffffff55341561141557600080fd5b60043560a01c1561142557600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600154331461147357606461015cfd5b6004353b61148057600080fd5b60006000600463551a65886101e0526101fc60006004355af16114a257600080fd5b600062ffffff55005b63dda3c54360005114156115775762ffffff54156114c857600080fd5b600162ffffff5534156114da57600080fd5b60043560a01c156114ea57600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600054331461153857606461015cfd5b6004353b61154557600080fd5b60006000602463b6aa64c56101e052602435610200526101fc60006004355af161156e57600080fd5b600062ffffff55005b63db0a8406600051141561163c5762ffffff541561159457600080fd5b600162ffffff5534156115a657600080fd5b60043560a01c156115b657600080fd5b6308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050600054331461160457606461015cfd5b6004353b61161157600080fd5b60006000600463524c39016101e0526101fc60006004355af161163357600080fd5b600062ffffff55005b6347c8715f600051141561166357341561165557600080fd5b60005460005260206000f350005b63a5b0b7e9600051141561168a57341561167c57600080fd5b60015460005260206000f350005b63680c778360005114156116b15734156116a357600080fd5b60025460005260206000f350005b633c2fcbf460005114156116d85734156116ca57600080fd5b60035460005260206000f350005b63824b508560005114156116ff5734156116f157600080fd5b60045460005260206000f350005b635866507a600051141561172657341561171857600080fd5b60055460005260206000f350005b63dd165f91600051141561176b57341561173f57600080fd5b60043560a01c1561174f57600080fd5b600660043560e05260c052604060c0205460005260206000f350005b6303d41e0e60005114156117b057341561178457600080fd5b60043560a01c1561179457600080fd5b600760043560e05260c052604060c0205460005260206000f350005b5b60006000fd

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

0000000000000000000000007002b727ef8f5571cb5f9d70d13dbeeb4dfae9d10000000000000000000000007eeac6cddbd1d0b8af061742d41877d7f707289a0000000000000000000000007eeac6cddbd1d0b8af061742d41877d7f707289a00000000000000000000000040907540d8a6c65c637785e8f8b742ae6b0b9968

-----Decoded View---------------
Arg [0] : _registry (address): 0x7002B727Ef8F5571Cb5F9D70D13DBEEb4dFAe9d1
Arg [1] : _ownership_admin (address): 0x7EeAC6CDdbd1D0B8aF061742D41877D7F707289a
Arg [2] : _parameter_admin (address): 0x7EeAC6CDdbd1D0B8aF061742D41877D7F707289a
Arg [3] : _emergency_admin (address): 0x40907540d8a6C65c637785e8f8B742ae6b0b9968

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000007002b727ef8f5571cb5f9d70d13dbeeb4dfae9d1
Arg [1] : 0000000000000000000000007eeac6cddbd1d0b8af061742d41877d7f707289a
Arg [2] : 0000000000000000000000007eeac6cddbd1d0b8af061742d41877d7f707289a
Arg [3] : 00000000000000000000000040907540d8a6c65c637785e8f8b742ae6b0b9968


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.