ETH Price: $1,976.36 (+0.39%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
New Experimental...162192092022-12-19 14:02:111160 days ago1671458531IN
Yearn: Registries V2
0 ETH0.0070707916.70934029
New Experimental...157764722022-10-18 17:25:591222 days ago1666113959IN
Yearn: Registries V2
0 ETH0.0183157339.02668779
New Experimental...156491442022-09-30 22:29:351240 days ago1664576975IN
Yearn: Registries V2
0 ETH0.0070337515
New Experimental...156249892022-09-27 13:28:351243 days ago1664285315IN
Yearn: Registries V2
0 ETH0.0109159524.4655822
New Experimental...156249882022-09-27 13:28:231243 days ago1664285303IN
Yearn: Registries V2
0 ETH0.0110692624.79879001
New Experimental...154484972022-08-31 19:41:431270 days ago1661974903IN
Yearn: Registries V2
0 ETH0.0091453819.51168461
New Experimental...154040122022-08-24 16:41:511277 days ago1661359311IN
Yearn: Registries V2
0 ETH0.0056058711.94308797
New Experimental...150032122022-06-21 16:39:561341 days ago1655829596IN
Yearn: Registries V2
0 ETH0.0316945769.94509392
New Experimental...150028182022-06-21 14:52:561341 days ago1655823176IN
Yearn: Registries V2
0 ETH0.0311706268.78882635
New Experimental...149804482022-06-17 17:41:331345 days ago1655487693IN
Yearn: Registries V2
0 ETH0.0349927578.36999464
New Experimental...149802402022-06-17 16:49:461345 days ago1655484586IN
Yearn: Registries V2
0 ETH0.0283433263.55647803
New Experimental...149120022022-06-06 0:17:531357 days ago1654474673IN
Yearn: Registries V2
0 ETH0.0133927728.55029279
Transfer148957652022-06-03 7:15:301360 days ago1654240530IN
Yearn: Registries V2
0.00055162 ETH0.0016266877.3064622
New Experimental...148910682022-06-02 12:48:451360 days ago1654174125IN
Yearn: Registries V2
0 ETH0.0174812439.12840593
New Experimental...148803882022-05-31 18:53:251362 days ago1654023205IN
Yearn: Registries V2
0 ETH0.0177548639.73658357
New Experimental...148803882022-05-31 18:53:251362 days ago1654023205IN
Yearn: Registries V2
0 ETH0.0177548639.73658357
New Experimental...148803882022-05-31 18:53:251362 days ago1654023205IN
Yearn: Registries V2
0 ETH0.0177548639.73658357
New Experimental...148803882022-05-31 18:53:251362 days ago1654023205IN
Yearn: Registries V2
0 ETH0.0177548639.73658357
New Experimental...148803302022-05-31 18:39:071362 days ago1654022347IN
Yearn: Registries V2
0 ETH0.0157742135.30375662
New Experimental...148803152022-05-31 18:36:121362 days ago1654022172IN
Yearn: Registries V2
0 ETH0.0178725640
New Experimental...147625902022-05-12 18:15:591381 days ago1652379359IN
Yearn: Registries V2
0 ETH0.06293457140.91839343
New Experimental...146324072022-04-22 3:55:191402 days ago1650599719IN
Yearn: Registries V2
0 ETH0.0155442334.64653384
New Experimental...145839542022-04-14 14:04:511409 days ago1649945091IN
Yearn: Registries V2
0 ETH0.0391257887.72459093
New Experimental...145839522022-04-14 14:04:231409 days ago1649945063IN
Yearn: Registries V2
0 ETH0.04954127105.60243985
New Experimental...144337002022-03-22 3:30:151433 days ago1647919815IN
Yearn: Registries V2
0 ETH0.0180790740.7426812
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
0x602d3d81162192092022-12-19 14:02:111160 days ago1671458531
Yearn: Registries V2
 Contract Creation0 ETH
0x602d3d81157764722022-10-18 17:25:591222 days ago1666113959
Yearn: Registries V2
 Contract Creation0 ETH
0x602d3d81156491442022-09-30 22:29:351240 days ago1664576975
Yearn: Registries V2
 Contract Creation0 ETH
0x602d3d81156249892022-09-27 13:28:351243 days ago1664285315
Yearn: Registries V2
 Contract Creation0 ETH
0x602d3d81156249882022-09-27 13:28:231243 days ago1664285303
Yearn: Registries V2
 Contract Creation0 ETH
0x602d3d81155682242022-09-19 14:42:351251 days ago1663598555
Yearn: Registries V2
 Contract Creation0 ETH
0x602d3d81155682242022-09-19 14:42:351251 days ago1663598555
Yearn: Registries V2
 Contract Creation0 ETH
0x602d3d81154484972022-08-31 19:41:431270 days ago1661974903
Yearn: Registries V2
 Contract Creation0 ETH
0x602d3d81154040122022-08-24 16:41:511277 days ago1661359311
Yearn: Registries V2
 Contract Creation0 ETH
-150032122022-06-21 16:39:561341 days ago1655829596
Yearn: Registries V2
 Contract Creation0 ETH
-150028182022-06-21 14:52:561341 days ago1655823176
Yearn: Registries V2
 Contract Creation0 ETH
-149804482022-06-17 17:41:331345 days ago1655487693
Yearn: Registries V2
 Contract Creation0 ETH
-149802402022-06-17 16:49:461345 days ago1655484586
Yearn: Registries V2
 Contract Creation0 ETH
-149120022022-06-06 0:17:531357 days ago1654474673
Yearn: Registries V2
 Contract Creation0 ETH
-148910682022-06-02 12:48:451360 days ago1654174125
Yearn: Registries V2
 Contract Creation0 ETH
-148803882022-05-31 18:53:251362 days ago1654023205
Yearn: Registries V2
 Contract Creation0 ETH
-148803882022-05-31 18:53:251362 days ago1654023205
Yearn: Registries V2
 Contract Creation0 ETH
-148803882022-05-31 18:53:251362 days ago1654023205
Yearn: Registries V2
 Contract Creation0 ETH
-148803882022-05-31 18:53:251362 days ago1654023205
Yearn: Registries V2
 Contract Creation0 ETH
-148803302022-05-31 18:39:071362 days ago1654022347
Yearn: Registries V2
 Contract Creation0 ETH
-148803152022-05-31 18:36:121362 days ago1654022172
Yearn: Registries V2
 Contract Creation0 ETH
-148659332022-05-29 10:24:141364 days ago1653819854
Yearn: Registries V2
 Contract Creation0 ETH
-147625902022-05-12 18:15:591381 days ago1652379359
Yearn: Registries V2
 Contract Creation0 ETH
-146324072022-04-22 3:55:191402 days ago1650599719
Yearn: Registries V2
 Contract Creation0 ETH
-145839542022-04-14 14:04:511409 days ago1649945091
Yearn: Registries V2
 Contract Creation0 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Vyper_contract

Compiler Version
vyper:0.2.11

Optimization Enabled:
N/A

Other Settings:
default evmVersion, GNU AGPLv3 license
# @version 0.2.11


interface Vault:
    def token() -> address: view
    def apiVersion() -> String[28]: view
    def governance() -> address: view
    def initialize(
        token: address,
        governance: address,
        rewards: address,
        name: String[64],
        symbol: String[32],
        guardian: address,
    ): nonpayable


# len(releases)
numReleases: public(uint256)
releases: public(HashMap[uint256, address])

# Token => len(vaults)
numVaults: public(HashMap[address, uint256])
vaults: public(HashMap[address, HashMap[uint256, address]])

# Index of token added => token address
tokens: public(HashMap[uint256, address])
# len(tokens)
numTokens: public(uint256)
# Inclusion check for token
isRegistered: public(HashMap[address, bool])

# 2-phase commit
governance: public(address)
pendingGovernance: public(address)

tags: public(HashMap[address, String[120]])
banksy: public(HashMap[address, bool])  # could be anyone

event NewRelease:
    release_id: indexed(uint256)
    template: address
    api_version: String[28]

event NewVault:
    token: indexed(address)
    vault_id: indexed(uint256)
    vault: address
    api_version: String[28]

event NewExperimentalVault:
    token: indexed(address)
    deployer: indexed(address)
    vault: address
    api_version: String[28]

event NewGovernance:
    governance: address

event VaultTagged:
    vault: address
    tag: String[120]

@external
def __init__():
    self.governance = msg.sender


@external
def setGovernance(governance: address):
    """
    @notice Starts the 1st phase of the governance transfer.
    @dev Throws if the caller is not current governance.
    @param governance The next governance address
    """
    assert msg.sender == self.governance  # dev: unauthorized
    self.pendingGovernance = governance


@external
def acceptGovernance():
    """
    @notice Completes the 2nd phase of the governance transfer.
    @dev
        Throws if the caller is not the pending caller.
        Emits a `NewGovernance` event.
    """
    assert msg.sender == self.pendingGovernance  # dev: unauthorized
    self.governance = msg.sender
    log NewGovernance(msg.sender)


@view
@external
def latestRelease() -> String[28]:
    """
    @notice Returns the api version of the latest release.
    @dev Throws if no releases are registered yet.
    @return The api version of the latest release.
    """
    # NOTE: Throws if there has not been a release yet
    return Vault(self.releases[self.numReleases - 1]).apiVersion()  # dev: no release


@view
@external
def latestVault(token: address) -> address:
    """
    @notice Returns the latest deployed vault for the given token.
    @dev Throws if no vaults are endorsed yet for the given token.
    @param token The token address to find the latest vault for.
    @return The address of the latest vault for the given token.
    """
    # NOTE: Throws if there has not been a deployed vault yet for this token
    return self.vaults[token][self.numVaults[token] - 1]  # dev: no vault for token


@external
def newRelease(vault: address):
    """
    @notice
        Add a previously deployed Vault as the template contract for the latest release,
        to be used by further "forwarder-style" delegatecall proxy contracts that can be
        deployed from the registry throw other methods (to save gas).
    @dev
        Throws if caller isn't `self.governance`.
        Throws if `vault`'s governance isn't `self.governance`.
        Throws if the api version is the same as the previous release.
        Emits a `NewVault` event.
    @param vault The vault that will be used as the template contract for the next release.
    """
    assert msg.sender == self.governance  # dev: unauthorized

    # Check if the release is different from the current one
    # NOTE: This doesn't check for strict semver-style linearly increasing release versions
    release_id: uint256 = self.numReleases  # Next id in series
    if release_id > 0:
        assert (
            Vault(self.releases[release_id - 1]).apiVersion()
            != Vault(vault).apiVersion()
        )  # dev: same api version
    # else: we are adding the first release to the Registry!

    # Update latest release
    self.releases[release_id] = vault
    self.numReleases = release_id + 1

    # Log the release for external listeners (e.g. Graph)
    log NewRelease(release_id, vault, Vault(vault).apiVersion())


@internal
def _newProxyVault(
    token: address,
    governance: address,
    rewards: address,
    guardian: address,
    name: String[64],
    symbol: String[32],
    releaseTarget: uint256,
) -> address:
    release: address = self.releases[releaseTarget]
    assert release != ZERO_ADDRESS  # dev: unknown release
    vault: address = create_forwarder_to(release)

    # NOTE: Must initialize the Vault atomically with deploying it
    Vault(vault).initialize(token, governance, rewards, name, symbol, guardian)

    return vault


@internal
def _registerVault(token: address, vault: address):
    # Check if there is an existing deployment for this token at the particular api version
    # NOTE: This doesn't check for strict semver-style linearly increasing release versions
    vault_id: uint256 = self.numVaults[token]  # Next id in series
    if vault_id > 0:
        assert (
            Vault(self.vaults[token][vault_id - 1]).apiVersion()
            != Vault(vault).apiVersion()
        )  # dev: same api version
    # else: we are adding a new token to the Registry

    # Update the latest deployment
    self.vaults[token][vault_id] = vault
    self.numVaults[token] = vault_id + 1

    # Register tokens for endorsed vaults
    if not self.isRegistered[token]:
        self.isRegistered[token] = True
        self.tokens[self.numTokens] = token
        self.numTokens += 1

    # Log the deployment for external listeners (e.g. Graph)
    log NewVault(token, vault_id, vault, Vault(vault).apiVersion())


@external
def newVault(
    token: address,
    guardian: address,
    rewards: address,
    name: String[64],
    symbol: String[32],
    releaseDelta: uint256 = 0,  # NOTE: Uses latest by default
) -> address:
    """
    @notice
        Create a new vault for the given token using the latest release in the registry,
        as a simple "forwarder-style" delegatecall proxy to the latest release. Also adds
        the new vault to the list of "endorsed" vaults for that token.
    @dev
        `governance` is set in the new vault as `self.governance`, with no ability to override.
        Throws if caller isn't `self.governance`.
        Throws if no releases are registered yet.
        Throws if there already is a registered vault for the given token with the latest api version.
        Emits a `NewVault` event.
    @param token The token that may be deposited into the new Vault.
    @param guardian The address authorized for guardian interactions in the new Vault.
    @param rewards The address to use for collecting rewards in the new Vault
    @param name Specify a custom Vault name. Set to empty string for default choice.
    @param symbol Specify a custom Vault symbol name. Set to empty string for default choice.
    @param releaseDelta Specify the number of releases prior to the latest to use as a target. Default is latest.
    @return The address of the newly-deployed vault
    """
    assert msg.sender == self.governance  # dev: unauthorized

    # NOTE: Underflow if no releases created yet, or targeting prior to release history
    releaseTarget: uint256 = self.numReleases - 1 - releaseDelta  # dev: no releases
    vault: address = self._newProxyVault(token, msg.sender, rewards, guardian, name, symbol, releaseTarget)

    self._registerVault(token, vault)

    return vault


@external
def newExperimentalVault(
    token: address,
    governance: address,
    guardian: address,
    rewards: address,
    name: String[64],
    symbol: String[32],
    releaseDelta: uint256 = 0,  # NOTE: Uses latest by default
) -> address:
    """
    @notice
        Create a new vault for the given token using the latest release in the registry,
        as a simple "forwarder-style" delegatecall proxy to the latest release. Does not add
        the new vault to the list of "endorsed" vaults for that token.
    @dev
        Throws if no releases are registered yet.
        Emits a `NewExperimentalVault` event.
    @param token The token that may be deposited into the new Vault.
    @param governance The address authorized for governance interactions in the new Vault.
    @param guardian The address authorized for guardian interactions in the new Vault.
    @param rewards The address to use for collecting rewards in the new Vault
    @param name Specify a custom Vault name. Set to empty string for default choice.
    @param symbol Specify a custom Vault symbol name. Set to empty string for default choice.
    @param releaseDelta Specify the number of releases prior to the latest to use as a target. Default is latest.
    @return The address of the newly-deployed vault
    """
    # NOTE: Underflow if no releases created yet, or targeting prior to release history
    releaseTarget: uint256 = self.numReleases - 1 - releaseDelta  # dev: no releases
    # NOTE: Anyone can call this method, as a convenience to Strategist' experiments
    vault: address = self._newProxyVault(token, governance, rewards, guardian, name, symbol, releaseTarget)

    # NOTE: Not registered, so emit an "experiment" event here instead
    log NewExperimentalVault(token, msg.sender, vault, Vault(vault).apiVersion())

    return vault


@external
def endorseVault(vault: address, releaseDelta: uint256 = 0):
    """
    @notice
        Adds an existing vault to the list of "endorsed" vaults for that token.
    @dev
        `governance` is set in the new vault as `self.governance`, with no ability to override.
        Throws if caller isn't `self.governance`.
        Throws if `vault`'s governance isn't `self.governance`.
        Throws if no releases are registered yet.
        Throws if `vault`'s api version does not match latest release.
        Throws if there already is a deployment for the vault's token with the latest api version.
        Emits a `NewVault` event.
    @param vault The vault that will be endorsed by the Registry.
    @param releaseDelta Specify the number of releases prior to the latest to use as a target. Default is latest.
    """
    assert msg.sender == self.governance  # dev: unauthorized
    assert Vault(vault).governance() == msg.sender  # dev: not governed

    # NOTE: Underflow if no releases created yet, or targeting prior to release history
    releaseTarget: uint256 = self.numReleases - 1 - releaseDelta  # dev: no releases
    api_version: String[28] = Vault(self.releases[releaseTarget]).apiVersion()
    assert Vault(vault).apiVersion() == api_version  # dev: not target release

    # Add to the end of the list of vaults for token
    self._registerVault(Vault(vault).token(), vault)


@external
def setBanksy(tagger: address, allowed: bool = True):
    """
    @notice Set the ability of a particular tagger to tag current vaults.
    @dev Throws if caller is not `self.governance`.
    @param tagger The address to approve or deny access to tagging.
    @param allowed Whether to approve or deny `tagger`. Defaults to approve.
    """
    assert msg.sender == self.governance  # dev: unauthorized
    self.banksy[tagger] = allowed


@external
def tagVault(vault: address, tag: String[120]):
    """
    @notice Tag a Vault with a message.
    @dev
        Throws if caller is not `self.governance` or an approved tagger.
        Emits a `VaultTagged` event.
    @param vault The address to tag with the given `tag` message.
    @param tag The message to tag `vault` with.
    """
    if msg.sender != self.governance:
        assert self.banksy[msg.sender]  # dev: not banksy
    # else: we are governance, we can do anything banksy can do

    self.tags[vault] = tag
    log VaultTagged(vault, tag)

Contract Security Audit

Contract ABI

API
[{"name":"NewRelease","inputs":[{"name":"release_id","type":"uint256","indexed":true},{"name":"template","type":"address","indexed":false},{"name":"api_version","type":"string","indexed":false}],"anonymous":false,"type":"event"},{"name":"NewVault","inputs":[{"name":"token","type":"address","indexed":true},{"name":"vault_id","type":"uint256","indexed":true},{"name":"vault","type":"address","indexed":false},{"name":"api_version","type":"string","indexed":false}],"anonymous":false,"type":"event"},{"name":"NewExperimentalVault","inputs":[{"name":"token","type":"address","indexed":true},{"name":"deployer","type":"address","indexed":true},{"name":"vault","type":"address","indexed":false},{"name":"api_version","type":"string","indexed":false}],"anonymous":false,"type":"event"},{"name":"NewGovernance","inputs":[{"name":"governance","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"VaultTagged","inputs":[{"name":"vault","type":"address","indexed":false},{"name":"tag","type":"string","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setGovernance","inputs":[{"name":"governance","type":"address"}],"outputs":[],"gas":36245},{"stateMutability":"nonpayable","type":"function","name":"acceptGovernance","inputs":[],"outputs":[],"gas":37517},{"stateMutability":"view","type":"function","name":"latestRelease","inputs":[],"outputs":[{"name":"","type":"string"}],"gas":6831},{"stateMutability":"view","type":"function","name":"latestVault","inputs":[{"name":"token","type":"address"}],"outputs":[{"name":"","type":"address"}],"gas":2587},{"stateMutability":"nonpayable","type":"function","name":"newRelease","inputs":[{"name":"vault","type":"address"}],"outputs":[],"gas":82588},{"stateMutability":"nonpayable","type":"function","name":"newVault","inputs":[{"name":"token","type":"address"},{"name":"guardian","type":"address"},{"name":"rewards","type":"address"},{"name":"name","type":"string"},{"name":"symbol","type":"string"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"nonpayable","type":"function","name":"newVault","inputs":[{"name":"token","type":"address"},{"name":"guardian","type":"address"},{"name":"rewards","type":"address"},{"name":"name","type":"string"},{"name":"symbol","type":"string"},{"name":"releaseDelta","type":"uint256"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"nonpayable","type":"function","name":"newExperimentalVault","inputs":[{"name":"token","type":"address"},{"name":"governance","type":"address"},{"name":"guardian","type":"address"},{"name":"rewards","type":"address"},{"name":"name","type":"string"},{"name":"symbol","type":"string"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"nonpayable","type":"function","name":"newExperimentalVault","inputs":[{"name":"token","type":"address"},{"name":"governance","type":"address"},{"name":"guardian","type":"address"},{"name":"rewards","type":"address"},{"name":"name","type":"string"},{"name":"symbol","type":"string"},{"name":"releaseDelta","type":"uint256"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"nonpayable","type":"function","name":"endorseVault","inputs":[{"name":"vault","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"endorseVault","inputs":[{"name":"vault","type":"address"},{"name":"releaseDelta","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setBanksy","inputs":[{"name":"tagger","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setBanksy","inputs":[{"name":"tagger","type":"address"},{"name":"allowed","type":"bool"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"tagVault","inputs":[{"name":"vault","type":"address"},{"name":"tag","type":"string"}],"outputs":[],"gas":186064},{"stateMutability":"view","type":"function","name":"numReleases","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":1388},{"stateMutability":"view","type":"function","name":"releases","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"address"}],"gas":1533},{"stateMutability":"view","type":"function","name":"numVaults","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":1663},{"stateMutability":"view","type":"function","name":"vaults","inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"uint256"}],"outputs":[{"name":"","type":"address"}],"gas":1808},{"stateMutability":"view","type":"function","name":"tokens","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"address"}],"gas":1623},{"stateMutability":"view","type":"function","name":"numTokens","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":1538},{"stateMutability":"view","type":"function","name":"isRegistered","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"bool"}],"gas":1783},{"stateMutability":"view","type":"function","name":"governance","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":1598},{"stateMutability":"view","type":"function","name":"pendingGovernance","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":1628},{"stateMutability":"view","type":"function","name":"tags","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"string"}],"gas":10229},{"stateMutability":"view","type":"function","name":"banksy","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"bool"}],"gas":1903}]

336007556115eb56600436101561000d576110f9565b600035601c52600051341561002157600080fd5b63ab033ea98114156100535760043560a01c1561003d57600080fd5b600754331461004b57600080fd5b600435600855005b63238efcbc81141561009f57600854331461006d57600080fd5b3360075533610140527f4f386975ea1c2f7cf1845b08bee00626fbb624ecad16254d63d9bb9ba86526de6020610140a1005b637be0ca5e8114156101735760606101a0600463258294106101405261015c60016000546001808210156100d257600080fd5b8082039050905060e05260c052604060c020545afa6100f057600080fd5b603f3d116100fd57600080fd5b601d6101a06101a05101511061011257600080fd5b6000506101c08051602001806102408284600060045af161013257600080fd5b5050610240518061026001818260206001820306601f82010390500336823750506020610220526040610240510160206001820306601f8201039050610220f35b63e177dc708114156101db5760043560a01c1561018f57600080fd5b600360043560e05260c052604060c020600260043560e05260c052604060c020546001808210156101bf57600080fd5b8082039050905060e05260c052604060c0205460005260206000f35b6333990d4b8114156104315760043560a01c156101f757600080fd5b600754331461020557600080fd5b6000546101405260006101405111156102e1576060610400600463258294106103a0526103bc6004355afa61023957600080fd5b603f3d1161024657600080fd5b601d6104006104005101511061025b57600080fd5b600050610420602001516060610340600463258294106102e0526102fc60016101405160018082101561028d57600080fd5b8082039050905060e05260c052604060c020545afa6102ab57600080fd5b603f3d116102b857600080fd5b601d610340610340510151106102cd57600080fd5b60005061036060200151186102e157600080fd5b60043560016101405160e05260c052604060c0205561014051600181818301101561030b57600080fd5b8082019050905060005560606101c0600463258294106101605261017c6004355afa61033657600080fd5b603f3d1161034357600080fd5b601d6101c06101c05101511061035857600080fd5b6000506101e08051602001806102208284600060045af161037857600080fd5b50506004356102c052604061028052610280516102e052610220805160200180610280516102c0018284600060045af16103b157600080fd5b5050610280516102c00151806020610280516102c0010101818260206001820306601f82010390500336823750506020610280516102c0015160206001820306601f820103905061028051010161028052610140517fa6fbd216b6734f34092f1be6b7247e1551a6d4f2d5000c53721cfdc119a5b7cf610280516102c0a2005b63108ca11e81141561044857600061022052610469565b63b0b40fce81141561046457602060a461022037600050610469565b6106f4565b60043560a01c1561047957600080fd5b60243560a01c1561048957600080fd5b60443560a01c1561049957600080fd5b60606064356004016101403760406064356004013511156104b957600080fd5b60406084356004016101c03760206084356004013511156104d957600080fd5b60075433146104e757600080fd5b6000546001808210156104f957600080fd5b80820390509050610220518082101561051157600080fd5b80820390509050610240526101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605160e060043561028052336102a0526044356102c0526024356102e05280610300526101408080516020018084610280018284600060045af161058557600080fd5b50508051820160206001820306601f820103905060200191505080610320526101c08080516020018084610280018284600060045af16105c457600080fd5b50505061024051610340525061032051806102800180518060206001820306601f82010390508201610440525050505b6103606104405110156106065761061b565b610440515160206104405103610440526105f4565b6103405161032051610300516102e0516102c0516102a05161028051600658016110ff565b61046052610260526102405261022052610200526101e0526101c0526101a05261018052610160526101405261046051610260526101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605160043561028052610260516102a0526102a0516102805160065801611302565b610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526000506102605160005260206000f35b635b73aa0d81141561070b5760006102205261072c565b635bd4b0f281141561072757602060c46102203760005061072c565b610a64565b60043560a01c1561073c57600080fd5b60243560a01c1561074c57600080fd5b60443560a01c1561075c57600080fd5b60643560a01c1561076c57600080fd5b606060843560040161014037604060843560040135111561078c57600080fd5b604060a4356004016101c037602060a4356004013511156107ac57600080fd5b6000546001808210156107be57600080fd5b8082039050905061022051808210156107d657600080fd5b80820390509050610240526101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605160e0600435610280526024356102a0526064356102c0526044356102e05280610300526101408080516020018084610280018284600060045af161084c57600080fd5b50508051820160206001820306601f820103905060200191505080610320526101c08080516020018084610280018284600060045af161088b57600080fd5b50505061024051610340525061032051806102800180518060206001820306601f82010390508201610440525050505b6103606104405110156108cd576108e2565b610440515160206104405103610440526108bb565b6103405161032051610300516102e0516102c0516102a05161028051600658016110ff565b61046052610260526102405261022052610200526101e0526101c0526101a052610180526101605261014052610460516102605260606102e0600463258294106102805261029c610260515afa61095d57600080fd5b603f3d1161096a57600080fd5b601d6102e06102e05101511061097f57600080fd5b6000506103008051602001806103408284600060045af161099f57600080fd5b5050610260516103e05260406103a0526103a051610400526103408051602001806103a0516103e0018284600060045af16109d957600080fd5b50506103a0516103e001518060206103a0516103e0010101818260206001820306601f820103905003368237505060206103a0516103e0015160206001820306601f82010390506103a05101016103a052336004357f57a9cdc2a05e05f66e76769bdbe88e21ec45d9ee0f97d4cb60395d4c75dcbcda6103a0516103e0a36102605160005260206000f35b6329b2e0c6811415610a7b57600061014052610a9c565b63b366a35c811415610a97576020602461014037600050610a9c565b610cac565b60043560a01c15610aac57600080fd5b6007543314610aba57600080fd5b3360206101c06004635aa6e6756101605261017c6004355afa610adc57600080fd5b601f3d11610ae957600080fd5b6000506101c05114610afa57600080fd5b600054600180821015610b0c57600080fd5b808203905090506101405180821015610b2457600080fd5b80820390509050610160526060610240600463258294106101e0526101fc60016101605160e05260c052604060c020545afa610b5f57600080fd5b603f3d11610b6c57600080fd5b601d61024061024051015110610b8157600080fd5b6000506102608051602001806101808284600060045af1610ba157600080fd5b50506101a0516060610300600463258294106102a0526102bc6004355afa610bc857600080fd5b603f3d11610bd557600080fd5b601d61030061030051015110610bea57600080fd5b6000506103206020015114610bfe57600080fd5b6020610240600463fc0c546a6101e0526101fc6004355afa610c1f57600080fd5b601f3d11610c2c57600080fd5b60005061024051610260526101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161026051610280526004356102a0526102a0516102805160065801611302565b610260526102405261022052610200526101e0526101c0526101a052610180526101605261014052600050005b632cad8f9f811415610cc357600161014052610cf4565b635e05f6af811415610cef5760243560011c15610cdf57600080fd5b6020602461014037600050610cf4565b610d29565b60043560a01c15610d0457600080fd5b6007543314610d1257600080fd5b61014051600a60043560e05260c052604060c02055005b6360bd68f8811415610ea25760043560a01c15610d4557600080fd5b6098602435600401610140376078602435600401351115610d6557600080fd5b600754331815610d8757600a3360e05260c052604060c02054610d8757600080fd5b61014080600960043560e05260c052604060c02060c052602060c020602082510161012060006005818352015b82610120516020021115610dc757610de9565b61012051602002850151610120518501555b8151600101808352811415610db4575b50505050505060043561024052604061020052610200516102605261014080516020018061020051610240018284600060045af1610e2657600080fd5b505061020051610240015180602061020051610240010101818260206001820306601f8201039050033682375050602061020051610240015160206001820306601f8201039050610200510101610200527f07bd58794c2ca0ae152f7719eb5f02c654476de972cadec0e8191ae8be42096d61020051610240a1005b6356e0a94b811415610eba5760005460005260206000f35b63b6a9f40f811415610ee057600160043560e05260c052604060c0205460005260206000f35b63f9c7bba5811415610f165760043560a01c15610efc57600080fd5b600260043560e05260c052604060c0205460005260206000f35b637bbfc69e811415610f5a5760043560a01c15610f3257600080fd5b600360043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f35b634f64b2be811415610f8057600460043560e05260c052604060c0205460005260206000f35b638e499bcf811415610f985760055460005260206000f35b63c3c5a547811415610fce5760043560a01c15610fb457600080fd5b600660043560e05260c052604060c0205460005260206000f35b635aa6e675811415610fe65760075460005260206000f35b63f39c38a0811415610ffe5760085460005260206000f35b6358b8f8428114156110c15760043560a01c1561101a57600080fd5b600960043560e05260c052604060c0208060c052602060c020610180602082540161012060006005818352015b8261012051602002111561105a5761107c565b61012051850154610120516020028501525b8151600101808352811415611047575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f35b63ee711ed58114156110f75760043560a01c156110dd57600080fd5b600a60043560e05260c052604060c0205460005260206000f35b505b60006000fd5b610220526101405261016052610180526101a0526101c0526101e05261020052610240526000610320525b6102405160206001820306601f82010390506103205110151561114c57611165565b610320516102600152610320516020016103205261112a565b6102c0526000610320525b6102c05160206001820306601f820103905061032051101515611192576111ab565b610320516102e001526103205160200161032052611170565b60005060016102005160e05260c052604060c0205461034052600061034051186111d457600080fd5b7f602d3d8160093d39f3363d3d373d3d3d363d7300000000000000000000000000610380526103405160601b610393527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006103a75260366103806000f061036052610360513b61124357600080fd5b6000600061016460c063a5b81fdf61038052610140516103a052610160516103c052610180516103e052806104005261024080805160200180846103a0018284600060045af161129257600080fd5b50508051820160206001820306601f820103905060200191505080610420526102c080805160200180846103a0018284600060045af16112d157600080fd5b5050506101a0516104405261039c90506000610360515af16112f257600080fd5b6103605160005260005161022051565b61018052610140526101605260026101405160e05260c052604060c020546101a05260006101a0511115611409576060610460600463258294106104005261041c610160515afa61135257600080fd5b603f3d1161135f57600080fd5b601d6104606104605101511061137457600080fd5b6000506104806020015160606103a0600463258294106103405261035c60036101405160e05260c052604060c0206101a0516001808210156113b557600080fd5b8082039050905060e05260c052604060c020545afa6113d357600080fd5b603f3d116113e057600080fd5b601d6103a06103a0510151106113f557600080fd5b6000506103c0602001511861140957600080fd5b6101605160036101405160e05260c052604060c0206101a05160e05260c052604060c020556101a051600181818301101561144357600080fd5b8082019050905060026101405160e05260c052604060c0205560066101405160e05260c052604060c0205415156114bd57600160066101405160e05260c052604060c0205561014051600460055460e05260c052604060c020556005805460018181830110156114b257600080fd5b808201905090508155505b6060610220600463258294106101c0526101dc610160515afa6114df57600080fd5b603f3d116114ec57600080fd5b601d6102206102205101511061150157600080fd5b6000506102408051602001806102808284600060045af161152157600080fd5b5050610160516103205260406102e0526102e051610340526102808051602001806102e051610320018284600060045af161155b57600080fd5b50506102e05161032001518060206102e051610320010101818260206001820306601f820103905003368237505060206102e051610320015160206001820306601f82010390506102e05101016102e0526101a051610140517fce089905ba4a4d622553bcb5646fd23e895c256f0376eee04e99e61cec1dc7e86102e051610320a361018051565b6100086115eb036100086000396100086115eb036000f3

Deployed Bytecode

0x600436101561000d576110f9565b600035601c52600051341561002157600080fd5b63ab033ea98114156100535760043560a01c1561003d57600080fd5b600754331461004b57600080fd5b600435600855005b63238efcbc81141561009f57600854331461006d57600080fd5b3360075533610140527f4f386975ea1c2f7cf1845b08bee00626fbb624ecad16254d63d9bb9ba86526de6020610140a1005b637be0ca5e8114156101735760606101a0600463258294106101405261015c60016000546001808210156100d257600080fd5b8082039050905060e05260c052604060c020545afa6100f057600080fd5b603f3d116100fd57600080fd5b601d6101a06101a05101511061011257600080fd5b6000506101c08051602001806102408284600060045af161013257600080fd5b5050610240518061026001818260206001820306601f82010390500336823750506020610220526040610240510160206001820306601f8201039050610220f35b63e177dc708114156101db5760043560a01c1561018f57600080fd5b600360043560e05260c052604060c020600260043560e05260c052604060c020546001808210156101bf57600080fd5b8082039050905060e05260c052604060c0205460005260206000f35b6333990d4b8114156104315760043560a01c156101f757600080fd5b600754331461020557600080fd5b6000546101405260006101405111156102e1576060610400600463258294106103a0526103bc6004355afa61023957600080fd5b603f3d1161024657600080fd5b601d6104006104005101511061025b57600080fd5b600050610420602001516060610340600463258294106102e0526102fc60016101405160018082101561028d57600080fd5b8082039050905060e05260c052604060c020545afa6102ab57600080fd5b603f3d116102b857600080fd5b601d610340610340510151106102cd57600080fd5b60005061036060200151186102e157600080fd5b60043560016101405160e05260c052604060c0205561014051600181818301101561030b57600080fd5b8082019050905060005560606101c0600463258294106101605261017c6004355afa61033657600080fd5b603f3d1161034357600080fd5b601d6101c06101c05101511061035857600080fd5b6000506101e08051602001806102208284600060045af161037857600080fd5b50506004356102c052604061028052610280516102e052610220805160200180610280516102c0018284600060045af16103b157600080fd5b5050610280516102c00151806020610280516102c0010101818260206001820306601f82010390500336823750506020610280516102c0015160206001820306601f820103905061028051010161028052610140517fa6fbd216b6734f34092f1be6b7247e1551a6d4f2d5000c53721cfdc119a5b7cf610280516102c0a2005b63108ca11e81141561044857600061022052610469565b63b0b40fce81141561046457602060a461022037600050610469565b6106f4565b60043560a01c1561047957600080fd5b60243560a01c1561048957600080fd5b60443560a01c1561049957600080fd5b60606064356004016101403760406064356004013511156104b957600080fd5b60406084356004016101c03760206084356004013511156104d957600080fd5b60075433146104e757600080fd5b6000546001808210156104f957600080fd5b80820390509050610220518082101561051157600080fd5b80820390509050610240526101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605160e060043561028052336102a0526044356102c0526024356102e05280610300526101408080516020018084610280018284600060045af161058557600080fd5b50508051820160206001820306601f820103905060200191505080610320526101c08080516020018084610280018284600060045af16105c457600080fd5b50505061024051610340525061032051806102800180518060206001820306601f82010390508201610440525050505b6103606104405110156106065761061b565b610440515160206104405103610440526105f4565b6103405161032051610300516102e0516102c0516102a05161028051600658016110ff565b61046052610260526102405261022052610200526101e0526101c0526101a05261018052610160526101405261046051610260526101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605160043561028052610260516102a0526102a0516102805160065801611302565b610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526000506102605160005260206000f35b635b73aa0d81141561070b5760006102205261072c565b635bd4b0f281141561072757602060c46102203760005061072c565b610a64565b60043560a01c1561073c57600080fd5b60243560a01c1561074c57600080fd5b60443560a01c1561075c57600080fd5b60643560a01c1561076c57600080fd5b606060843560040161014037604060843560040135111561078c57600080fd5b604060a4356004016101c037602060a4356004013511156107ac57600080fd5b6000546001808210156107be57600080fd5b8082039050905061022051808210156107d657600080fd5b80820390509050610240526101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605160e0600435610280526024356102a0526064356102c0526044356102e05280610300526101408080516020018084610280018284600060045af161084c57600080fd5b50508051820160206001820306601f820103905060200191505080610320526101c08080516020018084610280018284600060045af161088b57600080fd5b50505061024051610340525061032051806102800180518060206001820306601f82010390508201610440525050505b6103606104405110156108cd576108e2565b610440515160206104405103610440526108bb565b6103405161032051610300516102e0516102c0516102a05161028051600658016110ff565b61046052610260526102405261022052610200526101e0526101c0526101a052610180526101605261014052610460516102605260606102e0600463258294106102805261029c610260515afa61095d57600080fd5b603f3d1161096a57600080fd5b601d6102e06102e05101511061097f57600080fd5b6000506103008051602001806103408284600060045af161099f57600080fd5b5050610260516103e05260406103a0526103a051610400526103408051602001806103a0516103e0018284600060045af16109d957600080fd5b50506103a0516103e001518060206103a0516103e0010101818260206001820306601f820103905003368237505060206103a0516103e0015160206001820306601f82010390506103a05101016103a052336004357f57a9cdc2a05e05f66e76769bdbe88e21ec45d9ee0f97d4cb60395d4c75dcbcda6103a0516103e0a36102605160005260206000f35b6329b2e0c6811415610a7b57600061014052610a9c565b63b366a35c811415610a97576020602461014037600050610a9c565b610cac565b60043560a01c15610aac57600080fd5b6007543314610aba57600080fd5b3360206101c06004635aa6e6756101605261017c6004355afa610adc57600080fd5b601f3d11610ae957600080fd5b6000506101c05114610afa57600080fd5b600054600180821015610b0c57600080fd5b808203905090506101405180821015610b2457600080fd5b80820390509050610160526060610240600463258294106101e0526101fc60016101605160e05260c052604060c020545afa610b5f57600080fd5b603f3d11610b6c57600080fd5b601d61024061024051015110610b8157600080fd5b6000506102608051602001806101808284600060045af1610ba157600080fd5b50506101a0516060610300600463258294106102a0526102bc6004355afa610bc857600080fd5b603f3d11610bd557600080fd5b601d61030061030051015110610bea57600080fd5b6000506103206020015114610bfe57600080fd5b6020610240600463fc0c546a6101e0526101fc6004355afa610c1f57600080fd5b601f3d11610c2c57600080fd5b60005061024051610260526101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161026051610280526004356102a0526102a0516102805160065801611302565b610260526102405261022052610200526101e0526101c0526101a052610180526101605261014052600050005b632cad8f9f811415610cc357600161014052610cf4565b635e05f6af811415610cef5760243560011c15610cdf57600080fd5b6020602461014037600050610cf4565b610d29565b60043560a01c15610d0457600080fd5b6007543314610d1257600080fd5b61014051600a60043560e05260c052604060c02055005b6360bd68f8811415610ea25760043560a01c15610d4557600080fd5b6098602435600401610140376078602435600401351115610d6557600080fd5b600754331815610d8757600a3360e05260c052604060c02054610d8757600080fd5b61014080600960043560e05260c052604060c02060c052602060c020602082510161012060006005818352015b82610120516020021115610dc757610de9565b61012051602002850151610120518501555b8151600101808352811415610db4575b50505050505060043561024052604061020052610200516102605261014080516020018061020051610240018284600060045af1610e2657600080fd5b505061020051610240015180602061020051610240010101818260206001820306601f8201039050033682375050602061020051610240015160206001820306601f8201039050610200510101610200527f07bd58794c2ca0ae152f7719eb5f02c654476de972cadec0e8191ae8be42096d61020051610240a1005b6356e0a94b811415610eba5760005460005260206000f35b63b6a9f40f811415610ee057600160043560e05260c052604060c0205460005260206000f35b63f9c7bba5811415610f165760043560a01c15610efc57600080fd5b600260043560e05260c052604060c0205460005260206000f35b637bbfc69e811415610f5a5760043560a01c15610f3257600080fd5b600360043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f35b634f64b2be811415610f8057600460043560e05260c052604060c0205460005260206000f35b638e499bcf811415610f985760055460005260206000f35b63c3c5a547811415610fce5760043560a01c15610fb457600080fd5b600660043560e05260c052604060c0205460005260206000f35b635aa6e675811415610fe65760075460005260206000f35b63f39c38a0811415610ffe5760085460005260206000f35b6358b8f8428114156110c15760043560a01c1561101a57600080fd5b600960043560e05260c052604060c0208060c052602060c020610180602082540161012060006005818352015b8261012051602002111561105a5761107c565b61012051850154610120516020028501525b8151600101808352811415611047575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f35b63ee711ed58114156110f75760043560a01c156110dd57600080fd5b600a60043560e05260c052604060c0205460005260206000f35b505b60006000fd5b610220526101405261016052610180526101a0526101c0526101e05261020052610240526000610320525b6102405160206001820306601f82010390506103205110151561114c57611165565b610320516102600152610320516020016103205261112a565b6102c0526000610320525b6102c05160206001820306601f820103905061032051101515611192576111ab565b610320516102e001526103205160200161032052611170565b60005060016102005160e05260c052604060c0205461034052600061034051186111d457600080fd5b7f602d3d8160093d39f3363d3d373d3d3d363d7300000000000000000000000000610380526103405160601b610393527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006103a75260366103806000f061036052610360513b61124357600080fd5b6000600061016460c063a5b81fdf61038052610140516103a052610160516103c052610180516103e052806104005261024080805160200180846103a0018284600060045af161129257600080fd5b50508051820160206001820306601f820103905060200191505080610420526102c080805160200180846103a0018284600060045af16112d157600080fd5b5050506101a0516104405261039c90506000610360515af16112f257600080fd5b6103605160005260005161022051565b61018052610140526101605260026101405160e05260c052604060c020546101a05260006101a0511115611409576060610460600463258294106104005261041c610160515afa61135257600080fd5b603f3d1161135f57600080fd5b601d6104606104605101511061137457600080fd5b6000506104806020015160606103a0600463258294106103405261035c60036101405160e05260c052604060c0206101a0516001808210156113b557600080fd5b8082039050905060e05260c052604060c020545afa6113d357600080fd5b603f3d116113e057600080fd5b601d6103a06103a0510151106113f557600080fd5b6000506103c0602001511861140957600080fd5b6101605160036101405160e05260c052604060c0206101a05160e05260c052604060c020556101a051600181818301101561144357600080fd5b8082019050905060026101405160e05260c052604060c0205560066101405160e05260c052604060c0205415156114bd57600160066101405160e05260c052604060c0205561014051600460055460e05260c052604060c020556005805460018181830110156114b257600080fd5b808201905090508155505b6060610220600463258294106101c0526101dc610160515afa6114df57600080fd5b603f3d116114ec57600080fd5b601d6102206102205101511061150157600080fd5b6000506102408051602001806102808284600060045af161152157600080fd5b5050610160516103205260406102e0526102e051610340526102808051602001806102e051610320018284600060045af161155b57600080fd5b50506102e05161032001518060206102e051610320010101818260206001820306601f820103905003368237505060206102e051610320015160206001820306601f82010390506102e05101016102e0526101a051610140517fce089905ba4a4d622553bcb5646fd23e895c256f0376eee04e99e61cec1dc7e86102e051610320a36101805156

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ 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.