ETH Price: $1,971.93 (+0.11%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer126274252021-06-13 17:15:131714 days ago1623604513IN
Yearn: Deployer 6
0 ETH0.00046222
New Experimental...120221032021-03-12 6:21:561808 days ago1615530116IN
Yearn: Deployer 6
0 ETH0.04542857110
New Experimental...120195272021-03-11 20:53:211808 days ago1615496001IN
Yearn: Deployer 6
0 ETH0.06071338145
New Experimental...120125292021-03-10 18:54:411809 days ago1615402481IN
Yearn: Deployer 6
0 ETH0.05812855137
New Experimental...120110732021-03-10 13:33:461809 days ago1615383226IN
Yearn: Deployer 6
0 ETH0.0414387299
New Experimental...120007462021-03-08 23:04:531811 days ago1615244693IN
Yearn: Deployer 6
0 ETH0.0438061103.00000134
New Experimental...120002922021-03-08 21:28:201811 days ago1615238900IN
Yearn: Deployer 6
0 ETH0.06293914146
New Experimental...119953802021-03-08 3:21:051812 days ago1615173665IN
Yearn: Deployer 6
0 ETH0.04864672115
New Experimental...119945092021-03-08 0:08:081812 days ago1615162088IN
Yearn: Deployer 6
0 ETH0.05710311135
New Experimental...119928032021-03-07 17:59:021812 days ago1615139942IN
Yearn: Deployer 6
0 ETH0.08915172210
New Experimental...119593382021-03-02 14:25:321817 days ago1614695132IN
Yearn: Deployer 6
0 ETH0.04649854110
New Experimental...119593322021-03-02 14:24:121817 days ago1614695052IN
Yearn: Deployer 6
0 ETH0.04269411101
New Experimental...119549612021-03-01 22:09:391818 days ago1614636579IN
Yearn: Deployer 6
0 ETH0.0361089385
New Experimental...119228642021-02-24 23:43:151823 days ago1614210195IN
Yearn: Deployer 6
0 ETH0.04647581111
New Experimental...119198202021-02-24 12:25:591823 days ago1614169559IN
Yearn: Deployer 6
0 ETH0.04814417115.00000145
New Experimental...118891442021-02-19 19:07:311828 days ago1613761651IN
Yearn: Deployer 6
0 ETH0.0845846200
New Experimental...118830202021-02-18 20:44:331829 days ago1613681073IN
Yearn: Deployer 6
0 ETH0.0872412206
New Experimental...118830162021-02-18 20:43:221829 days ago1613681002IN
Yearn: Deployer 6
0 ETH0.08748614206
New Experimental...118441422021-02-12 20:55:531835 days ago1613163353IN
Yearn: Deployer 6
0 ETH0.05079826123
New Experimental...117726722021-02-01 21:07:501846 days ago1612213670IN
Yearn: Deployer 6
0 ETH0.0412515100
New Experimental...117716592021-02-01 17:26:251846 days ago1612200385IN
Yearn: Deployer 6
0 ETH0.0404684100
New Experimental...117522082021-01-29 17:43:351849 days ago1611942215IN
Yearn: Deployer 6
0 ETH0.0495018120
New Experimental...117419702021-01-28 3:42:031851 days ago1611805323IN
Yearn: Deployer 6
0 ETH0.0216631255
New Experimental...117392042021-01-27 17:28:431851 days ago1611768523IN
Yearn: Deployer 6
0 ETH0.0246157561
New Experimental...117299232021-01-26 7:13:131853 days ago1611645193IN
Yearn: Deployer 6
0 ETH0.0177556244
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-120221032021-03-12 6:21:561808 days ago1615530116
Yearn: Deployer 6
 Contract Creation0 ETH
-120195272021-03-11 20:53:211808 days ago1615496001
Yearn: Deployer 6
 Contract Creation0 ETH
-120125292021-03-10 18:54:411809 days ago1615402481
Yearn: Deployer 6
 Contract Creation0 ETH
-120110732021-03-10 13:33:461809 days ago1615383226
Yearn: Deployer 6
 Contract Creation0 ETH
-120007462021-03-08 23:04:531811 days ago1615244693
Yearn: Deployer 6
 Contract Creation0 ETH
-120002922021-03-08 21:28:201811 days ago1615238900
Yearn: Deployer 6
 Contract Creation0 ETH
-119953802021-03-08 3:21:051812 days ago1615173665
Yearn: Deployer 6
 Contract Creation0 ETH
-119945092021-03-08 0:08:081812 days ago1615162088
Yearn: Deployer 6
 Contract Creation0 ETH
-119928032021-03-07 17:59:021812 days ago1615139942
Yearn: Deployer 6
 Contract Creation0 ETH
-119593382021-03-02 14:25:321817 days ago1614695132
Yearn: Deployer 6
 Contract Creation0 ETH
-119593322021-03-02 14:24:121817 days ago1614695052
Yearn: Deployer 6
 Contract Creation0 ETH
-119549612021-03-01 22:09:391818 days ago1614636579
Yearn: Deployer 6
 Contract Creation0 ETH
-119228642021-02-24 23:43:151823 days ago1614210195
Yearn: Deployer 6
 Contract Creation0 ETH
-119198202021-02-24 12:25:591823 days ago1614169559
Yearn: Deployer 6
 Contract Creation0 ETH
-118891442021-02-19 19:07:311828 days ago1613761651
Yearn: Deployer 6
 Contract Creation0 ETH
-118830202021-02-18 20:44:331829 days ago1613681073
Yearn: Deployer 6
 Contract Creation0 ETH
-118830162021-02-18 20:43:221829 days ago1613681002
Yearn: Deployer 6
 Contract Creation0 ETH
-118441422021-02-12 20:55:531835 days ago1613163353
Yearn: Deployer 6
 Contract Creation0 ETH
-117726722021-02-01 21:07:501846 days ago1612213670
Yearn: Deployer 6
 Contract Creation0 ETH
-117716592021-02-01 17:26:251846 days ago1612200385
Yearn: Deployer 6
 Contract Creation0 ETH
-117522082021-01-29 17:43:351849 days ago1611942215
Yearn: Deployer 6
 Contract Creation0 ETH
-117419702021-01-28 3:42:031851 days ago1611805323
Yearn: Deployer 6
 Contract Creation0 ETH
-117392042021-01-27 17:28:431851 days ago1611768523
Yearn: Deployer 6
 Contract Creation0 ETH
-117299232021-01-26 7:13:131853 days ago1611645193
Yearn: Deployer 6
 Contract Creation0 ETH
-117293642021-01-26 5:06:151853 days ago1611637575
Yearn: Deployer 6
 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.8

Optimization Enabled:
N/A

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


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(Vault.releases)
nextRelease: public(uint256)
releases: public(HashMap[uint256, address])

# Token.address => len(Vault.deployments)
nextDeployment: public(HashMap[address, uint256])
vaults: public(HashMap[address, HashMap[uint256, address]])

# 2-phase commit
governance: public(address)
pendingGovernance: 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)
    deployment_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.nextRelease - 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 deployments are endorsed yet for the given token.
    @param token The token address to find the latest deployment for.
    @return The address of the latest deployment.
    """
    # NOTE: Throws if there has not been a deployment yet for this token
    return self.vaults[token][self.nextDeployment[token] - 1]  # dev: no vault for token


@internal
def _registerRelease(vault: address):
    # 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.nextRelease  # 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.nextRelease = release_id + 1

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


@internal
def _registerDeployment(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
    deployment_id: uint256 = self.nextDeployment[token]  # Next id in series
    if deployment_id > 0:
        assert (
            Vault(self.vaults[token][deployment_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][deployment_id] = vault
    self.nextDeployment[token] = deployment_id + 1

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


@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
    assert Vault(vault).governance() == msg.sender  # dev: not governed

    self._registerRelease(vault)
    self._registerDeployment(Vault(vault).token(), vault)  # NOTE: Should never throw


@internal
def _newProxyVault(
    token: address,
    governance: address,
    rewards: address,
    guardian: address,
    name: String[64],
    symbol: String[32],
) -> address:
    # NOTE: Underflow if no releases created yet (this is okay)
    vault: address = create_forwarder_to(self.releases[self.nextRelease - 1])  # dev: no releases

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

    return vault


@external
def newVault(
    token: address,
    guardian: address,
    rewards: address,
    name: String[64],
    symbol: String[32],
) -> 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 deployment 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.
    @return The address of the newly-deployed vault
    """
    assert msg.sender == self.governance  # dev: unauthorized

    vault: address = self._newProxyVault(token, msg.sender, rewards, guardian, name, symbol)

    self._registerDeployment(token, vault)

    return vault


@external
def newExperimentalVault(
    token: address,
    governance: address,
    guardian: address,
    rewards: address,
    name: String[64],
    symbol: String[32],
) -> 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.
    @return The address of the newly-deployed vault
    """
    # NOTE: Anyone can call this method, as a convenience to Strategist' experiments
    vault: address = self._newProxyVault(token, governance, rewards, guardian, name, symbol)

    # 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):
    """
    @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.
    """
    assert msg.sender == self.governance  # dev: unauthorized
    assert Vault(vault).governance() == msg.sender  # dev: not governed

    # NOTE: Underflow if no releases created yet (this is okay)
    api_version: String[28] = (
        Vault(self.releases[self.nextRelease - 1]).apiVersion()  # dev: no releases
    )
    assert Vault(vault).apiVersion() == api_version  # dev: not latest release

    # Add to the end of the list of vaults for token
    self._registerDeployment(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":[{"type":"uint256","name":"release_id","indexed":true},{"type":"address","name":"template","indexed":false},{"type":"string","name":"api_version","indexed":false}],"anonymous":false,"type":"event"},{"name":"NewVault","inputs":[{"type":"address","name":"token","indexed":true},{"type":"uint256","name":"deployment_id","indexed":true},{"type":"address","name":"vault","indexed":false},{"type":"string","name":"api_version","indexed":false}],"anonymous":false,"type":"event"},{"name":"NewExperimentalVault","inputs":[{"type":"address","name":"token","indexed":true},{"type":"address","name":"deployer","indexed":true},{"type":"address","name":"vault","indexed":false},{"type":"string","name":"api_version","indexed":false}],"anonymous":false,"type":"event"},{"name":"NewGovernance","inputs":[{"type":"address","name":"governance","indexed":false}],"anonymous":false,"type":"event"},{"name":"VaultTagged","inputs":[{"type":"address","name":"vault","indexed":false},{"type":"string","name":"tag","indexed":false}],"anonymous":false,"type":"event"},{"outputs":[],"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"name":"setGovernance","outputs":[],"inputs":[{"type":"address","name":"governance"}],"stateMutability":"nonpayable","type":"function","gas":36218},{"name":"acceptGovernance","outputs":[],"inputs":[],"stateMutability":"nonpayable","type":"function","gas":37490},{"name":"latestRelease","outputs":[{"type":"string","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":6804},{"name":"latestVault","outputs":[{"type":"address","name":""}],"inputs":[{"type":"address","name":"token"}],"stateMutability":"view","type":"function","gas":2560},{"name":"newRelease","outputs":[],"inputs":[{"type":"address","name":"vault"}],"stateMutability":"nonpayable","type":"function","gas":166808},{"name":"newVault","outputs":[{"type":"address","name":""}],"inputs":[{"type":"address","name":"token"},{"type":"address","name":"guardian"},{"type":"address","name":"rewards"},{"type":"string","name":"name"},{"type":"string","name":"symbol"}],"stateMutability":"nonpayable","type":"function","gas":136989},{"name":"newExperimentalVault","outputs":[{"type":"address","name":""}],"inputs":[{"type":"address","name":"token"},{"type":"address","name":"governance"},{"type":"address","name":"guardian"},{"type":"address","name":"rewards"},{"type":"string","name":"name"},{"type":"string","name":"symbol"}],"stateMutability":"nonpayable","type":"function","gas":61714},{"name":"endorseVault","outputs":[],"inputs":[{"type":"address","name":"vault"}],"stateMutability":"nonpayable","type":"function","gas":88812},{"name":"setBanksy","outputs":[],"inputs":[{"type":"address","name":"tagger"}],"stateMutability":"nonpayable","type":"function"},{"name":"setBanksy","outputs":[],"inputs":[{"type":"address","name":"tagger"},{"type":"bool","name":"allowed"}],"stateMutability":"nonpayable","type":"function"},{"name":"tagVault","outputs":[],"inputs":[{"type":"address","name":"vault"},{"type":"string","name":"tag"}],"stateMutability":"nonpayable","type":"function","gas":186127},{"name":"nextRelease","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1451},{"name":"releases","outputs":[{"type":"address","name":""}],"inputs":[{"type":"uint256","name":"arg0"}],"stateMutability":"view","type":"function","gas":1596},{"name":"nextDeployment","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":1726},{"name":"vaults","outputs":[{"type":"address","name":""}],"inputs":[{"type":"address","name":"arg0"},{"type":"uint256","name":"arg1"}],"stateMutability":"view","type":"function","gas":1871},{"name":"governance","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1571},{"name":"tags","outputs":[{"type":"string","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":10172},{"name":"banksy","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":1846}]

336004556114ea56341561000a57600080fd5b6004361015610018576114dc565b600035601c5263ab033ea960005114156100525760043560a01c1561003c57600080fd5b600454331461004a57600080fd5b600435600555005b63238efcbc60005114156100a057600554331461006e57600080fd5b3360045533610140527f4f386975ea1c2f7cf1845b08bee00626fbb624ecad16254d63d9bb9ba86526de6020610140a1005b637be0ca5e60005114156101785760606101a0600463258294106101405261015c60016000546001808210156100d557600080fd5b8082039050905060e05260c052604060c020545afa6100f357600080fd5b603f3d1161010057600080fd5b601d6101a06101a05101511061011557600080fd5b6000506101c08051602001806102408284600060045af161013557600080fd5b5050610240518061026001818260206001820306601f82010390500336823750506020610220526040610240510160206001820306601f8201039050610220f350005b63e177dc7060005114156101e45760043560a01c1561019657600080fd5b600360043560e05260c052604060c020600260043560e05260c052604060c020546001808210156101c657600080fd5b8082039050905060e05260c052604060c0205460005260206000f350005b600015610429575b61016052610140526000546101805260006101805111156102d2576060610440600463258294106103e0526103fc610140515afa61022957600080fd5b603f3d1161023657600080fd5b601d6104406104405101511061024b57600080fd5b600050610460602001516060610380600463258294106103205261033c60016101805160018082101561027d57600080fd5b8082039050905060e05260c052604060c020545afa61029b57600080fd5b603f3d116102a857600080fd5b601d610380610380510151106102bd57600080fd5b6000506103a060200151186102d157600080fd5b5b6101405160016101805160e05260c052604060c020556101805160018181830110156102fd57600080fd5b808201905090506000556060610200600463258294106101a0526101bc610140515afa61032957600080fd5b603f3d1161033657600080fd5b601d6102006102005101511061034b57600080fd5b6000506102208051602001806102608284600060045af161036b57600080fd5b5050610140516103005260406102c0526102c051610320526102608051602001806102c051610300018284600060045af16103a557600080fd5b50506102c05161030001518060206102c051610300010101818260206001820306601f820103905003368237505060206102c051610300015160206001820306601f82010390506102c05101016102c052610180517fa6fbd216b6734f34092f1be6b7247e1551a6d4f2d5000c53721cfdc119a5b7cf6102c051610300a261016051565b6000156106b2575b61018052610140526101605260026101405160e05260c052604060c020546101a05260006101a0511115610539576060610460600463258294106104005261041c610160515afa61048157600080fd5b603f3d1161048e57600080fd5b601d610460610460510151106104a357600080fd5b6000506104806020015160606103a0600463258294106103405261035c60036101405160e05260c052604060c0206101a0516001808210156104e457600080fd5b8082039050905060e05260c052604060c020545afa61050257600080fd5b603f3d1161050f57600080fd5b601d6103a06103a05101511061052457600080fd5b6000506103c0602001511861053857600080fd5b5b6101605160036101405160e05260c052604060c0206101a05160e05260c052604060c020556101a051600181818301101561057357600080fd5b8082019050905060026101405160e05260c052604060c020556060610220600463258294106101c0526101dc610160515afa6105ae57600080fd5b603f3d116105bb57600080fd5b601d610220610220510151106105d057600080fd5b6000506102408051602001806102808284600060045af16105f057600080fd5b5050610160516103205260406102e0526102e051610340526102808051602001806102e051610320018284600060045af161062a57600080fd5b50506102e05161032001518060206102e051610320010101818260206001820306601f820103905003368237505060206102e051610320015160206001820306601f82010390506102e05101016102e0526101a051610140517fce089905ba4a4d622553bcb5646fd23e895c256f0376eee04e99e61cec1dc7e86102e051610320a361018051565b6333990d4b60005114156107bb5760043560a01c156106d057600080fd5b60045433146106de57600080fd5b3360206101a06004635aa6e6756101405261015c6004355afa61070057600080fd5b601f3d1161070d57600080fd5b6000506101a0511461071e57600080fd5b6004356101405261014051600658016101ec565b60005060206101a0600463fc0c546a6101405261015c6004355afa61075657600080fd5b601f3d1161076357600080fd5b6000506101a0516101c0526101405161016051610180516101a0516101c0516101c0516101e05260043561020052610200516101e05160065801610431565b6101c0526101a052610180526101605261014052600050005b6000156109d7575b610200526101405261016052610180526101a0526101c0526101e052610220526000610300525b6102205160206001820306601f82010390506103005110151561080c57610825565b61030051610240015261030051602001610300526107ea565b6102a0526000610300525b6102a05160206001820306601f8201039050610300511015156108525761086b565b610300516102c001526103005160200161030052610830565b6000507f6033600c60003960336000f33660006000376110006000366000730000000000610340526c0100000000000000000000000060016000546001808210156108b557600080fd5b8082039050905060e05260c052604060c020540261035b527f5af4602c57600080fd5b6110006000f30000000000000000000000000000000061036f5260606103406000f08061090457600080fd5b61032052610320513b61091657600080fd5b6000600061016460c063a5b81fdf6103405261014051610360526101605161038052610180516103a052806103c0526102208080516020018084610360018284600060045af161096557600080fd5b50508051820160206001820306601f8201039050602001915050806103e0526102a08080516020018084610360018284600060045af16109a457600080fd5b5050506101a0516104005261035c90506000610320515af16109c557600080fd5b61032051600052600051610200515650005b63108ca11e6000511415610c115760043560a01c156109f557600080fd5b60243560a01c15610a0557600080fd5b60443560a01c15610a1557600080fd5b6060606435600401610140376040606435600401351115610a3557600080fd5b60406084356004016101c0376020608435600401351115610a5557600080fd5b6004543314610a6357600080fd5b6101405161016051610180516101a0516101c0516101e051610200516102205160c0600435610240523361026052604435610280526024356102a052806102c0526101408080516020018084610240018284600060045af1610ac457600080fd5b50508051820160206001820306601f8201039050602001915050806102e0526101c08080516020018084610240018284600060045af1610b0357600080fd5b505050506102e051806102400180518060206001820306601f820103905082016103e0525050505b6103006103e0511015610b3d57610b52565b6103e0515160206103e051036103e052610b2b565b6102e0516102c0516102a051610280516102605161024051600658016107c3565b6104005261022052610200526101e0526101c0526101a05261018052610160526101405261040051610220526101405161016051610180516101a0516101c0516101e0516102005161022051600435610240526102205161026052610260516102405160065801610431565b61022052610200526101e0526101c0526101a0526101805261016052610140526000506102205160005260206000f350005b635b73aa0d6000511415610f085760043560a01c15610c2f57600080fd5b60243560a01c15610c3f57600080fd5b60443560a01c15610c4f57600080fd5b60643560a01c15610c5f57600080fd5b6060608435600401610140376040608435600401351115610c7f57600080fd5b604060a4356004016101c037602060a435600401351115610c9f57600080fd5b6101405161016051610180516101a0516101c0516101e051610200516102205160c06004356102405260243561026052606435610280526044356102a052806102c0526101408080516020018084610240018284600060045af1610d0257600080fd5b50508051820160206001820306601f8201039050602001915050806102e0526101c08080516020018084610240018284600060045af1610d4157600080fd5b505050506102e051806102400180518060206001820306601f820103905082016103e0525050505b6103006103e0511015610d7b57610d90565b6103e0515160206103e051036103e052610d69565b6102e0516102c0516102a051610280516102605161024051600658016107c3565b6104005261022052610200526101e0526101c0526101a052610180526101605261014052610400516102205260606102a0600463258294106102405261025c610220515afa610dff57600080fd5b603f3d11610e0c57600080fd5b601d6102a06102a051015110610e2157600080fd5b6000506102c08051602001806103008284600060045af1610e4157600080fd5b5050610220516103a052604061036052610360516103c052610300805160200180610360516103a0018284600060045af1610e7b57600080fd5b5050610360516103a00151806020610360516103a0010101818260206001820306601f82010390500336823750506020610360516103a0015160206001820306601f820103905061036051010161036052336004357f57a9cdc2a05e05f66e76769bdbe88e21ec45d9ee0f97d4cb60395d4c75dcbcda610360516103a0a36102205160005260206000f350005b6329b2e0c660005114156110f65760043560a01c15610f2657600080fd5b6004543314610f3457600080fd5b3360206101a06004635aa6e6756101405261015c6004355afa610f5657600080fd5b601f3d11610f6357600080fd5b6000506101a05114610f7457600080fd5b6060610200600463258294106101a0526101bc6001600054600180821015610f9b57600080fd5b8082039050905060e05260c052604060c020545afa610fb957600080fd5b603f3d11610fc657600080fd5b601d61020061020051015110610fdb57600080fd5b6000506102208051602001806101408284600060045af1610ffb57600080fd5b50506101605160606102c0600463258294106102605261027c6004355afa61102257600080fd5b603f3d1161102f57600080fd5b601d6102c06102c05101511061104457600080fd5b6000506102e0602001511461105857600080fd5b6020610200600463fc0c546a6101a0526101bc6004355afa61107957600080fd5b601f3d1161108657600080fd5b60005061020051610220526101405161016051610180516101a0516101c0516101e0516102005161022051610220516102405260043561026052610260516102405160065801610431565b61022052610200526101e0526101c0526101a052610180526101605261014052600050005b632cad8f9f600051141561110f57600161014052611145565b635e05f6af600051141561113d5760243560011c1561112d57600080fd5b6020602461014037600050611145565b60001561117a575b60043560a01c1561115557600080fd5b600454331461116357600080fd5b61014051600760043560e05260c052604060c02055005b6360bd68f860005114156112f65760043560a01c1561119857600080fd5b60986024356004016101403760786024356004013511156111b857600080fd5b6004543318156111db5760073360e05260c052604060c020546111da57600080fd5b5b61014080600660043560e05260c052604060c02060c052602060c020602082510161012060006005818352015b8261012051602002111561121b5761123d565b61012051602002850151610120518501555b8151600101808352811415611208575b50505050505060043561024052604061020052610200516102605261014080516020018061020051610240018284600060045af161127a57600080fd5b505061020051610240015180602061020051610240010101818260206001820306601f8201039050033682375050602061020051610240015160206001820306601f8201039050610200510101610200527f07bd58794c2ca0ae152f7719eb5f02c654476de972cadec0e8191ae8be42096d61020051610240a1005b63a157190260005114156113125760005460005260206000f350005b63b6a9f40f600051141561133c57600160043560e05260c052604060c0205460005260206000f350005b63ba7ee48c60005114156113765760043560a01c1561135a57600080fd5b600260043560e05260c052604060c0205460005260206000f350005b637bbfc69e60005114156113be5760043560a01c1561139457600080fd5b600360043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f350005b635aa6e67560005114156113da5760045460005260206000f350005b6358b8f84260005114156114a15760043560a01c156113f857600080fd5b600660043560e05260c052604060c0208060c052602060c020610180602082540161012060006005818352015b826101205160200211156114385761145a565b61012051850154610120516020028501525b8151600101808352811415611425575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b63ee711ed560005114156114db5760043560a01c156114bf57600080fd5b600760043560e05260c052604060c0205460005260206000f350005b5b60006000fd5b6100086114ea036100086000396100086114ea036000f3

Deployed Bytecode

0x341561000a57600080fd5b6004361015610018576114dc565b600035601c5263ab033ea960005114156100525760043560a01c1561003c57600080fd5b600454331461004a57600080fd5b600435600555005b63238efcbc60005114156100a057600554331461006e57600080fd5b3360045533610140527f4f386975ea1c2f7cf1845b08bee00626fbb624ecad16254d63d9bb9ba86526de6020610140a1005b637be0ca5e60005114156101785760606101a0600463258294106101405261015c60016000546001808210156100d557600080fd5b8082039050905060e05260c052604060c020545afa6100f357600080fd5b603f3d1161010057600080fd5b601d6101a06101a05101511061011557600080fd5b6000506101c08051602001806102408284600060045af161013557600080fd5b5050610240518061026001818260206001820306601f82010390500336823750506020610220526040610240510160206001820306601f8201039050610220f350005b63e177dc7060005114156101e45760043560a01c1561019657600080fd5b600360043560e05260c052604060c020600260043560e05260c052604060c020546001808210156101c657600080fd5b8082039050905060e05260c052604060c0205460005260206000f350005b600015610429575b61016052610140526000546101805260006101805111156102d2576060610440600463258294106103e0526103fc610140515afa61022957600080fd5b603f3d1161023657600080fd5b601d6104406104405101511061024b57600080fd5b600050610460602001516060610380600463258294106103205261033c60016101805160018082101561027d57600080fd5b8082039050905060e05260c052604060c020545afa61029b57600080fd5b603f3d116102a857600080fd5b601d610380610380510151106102bd57600080fd5b6000506103a060200151186102d157600080fd5b5b6101405160016101805160e05260c052604060c020556101805160018181830110156102fd57600080fd5b808201905090506000556060610200600463258294106101a0526101bc610140515afa61032957600080fd5b603f3d1161033657600080fd5b601d6102006102005101511061034b57600080fd5b6000506102208051602001806102608284600060045af161036b57600080fd5b5050610140516103005260406102c0526102c051610320526102608051602001806102c051610300018284600060045af16103a557600080fd5b50506102c05161030001518060206102c051610300010101818260206001820306601f820103905003368237505060206102c051610300015160206001820306601f82010390506102c05101016102c052610180517fa6fbd216b6734f34092f1be6b7247e1551a6d4f2d5000c53721cfdc119a5b7cf6102c051610300a261016051565b6000156106b2575b61018052610140526101605260026101405160e05260c052604060c020546101a05260006101a0511115610539576060610460600463258294106104005261041c610160515afa61048157600080fd5b603f3d1161048e57600080fd5b601d610460610460510151106104a357600080fd5b6000506104806020015160606103a0600463258294106103405261035c60036101405160e05260c052604060c0206101a0516001808210156104e457600080fd5b8082039050905060e05260c052604060c020545afa61050257600080fd5b603f3d1161050f57600080fd5b601d6103a06103a05101511061052457600080fd5b6000506103c0602001511861053857600080fd5b5b6101605160036101405160e05260c052604060c0206101a05160e05260c052604060c020556101a051600181818301101561057357600080fd5b8082019050905060026101405160e05260c052604060c020556060610220600463258294106101c0526101dc610160515afa6105ae57600080fd5b603f3d116105bb57600080fd5b601d610220610220510151106105d057600080fd5b6000506102408051602001806102808284600060045af16105f057600080fd5b5050610160516103205260406102e0526102e051610340526102808051602001806102e051610320018284600060045af161062a57600080fd5b50506102e05161032001518060206102e051610320010101818260206001820306601f820103905003368237505060206102e051610320015160206001820306601f82010390506102e05101016102e0526101a051610140517fce089905ba4a4d622553bcb5646fd23e895c256f0376eee04e99e61cec1dc7e86102e051610320a361018051565b6333990d4b60005114156107bb5760043560a01c156106d057600080fd5b60045433146106de57600080fd5b3360206101a06004635aa6e6756101405261015c6004355afa61070057600080fd5b601f3d1161070d57600080fd5b6000506101a0511461071e57600080fd5b6004356101405261014051600658016101ec565b60005060206101a0600463fc0c546a6101405261015c6004355afa61075657600080fd5b601f3d1161076357600080fd5b6000506101a0516101c0526101405161016051610180516101a0516101c0516101c0516101e05260043561020052610200516101e05160065801610431565b6101c0526101a052610180526101605261014052600050005b6000156109d7575b610200526101405261016052610180526101a0526101c0526101e052610220526000610300525b6102205160206001820306601f82010390506103005110151561080c57610825565b61030051610240015261030051602001610300526107ea565b6102a0526000610300525b6102a05160206001820306601f8201039050610300511015156108525761086b565b610300516102c001526103005160200161030052610830565b6000507f6033600c60003960336000f33660006000376110006000366000730000000000610340526c0100000000000000000000000060016000546001808210156108b557600080fd5b8082039050905060e05260c052604060c020540261035b527f5af4602c57600080fd5b6110006000f30000000000000000000000000000000061036f5260606103406000f08061090457600080fd5b61032052610320513b61091657600080fd5b6000600061016460c063a5b81fdf6103405261014051610360526101605161038052610180516103a052806103c0526102208080516020018084610360018284600060045af161096557600080fd5b50508051820160206001820306601f8201039050602001915050806103e0526102a08080516020018084610360018284600060045af16109a457600080fd5b5050506101a0516104005261035c90506000610320515af16109c557600080fd5b61032051600052600051610200515650005b63108ca11e6000511415610c115760043560a01c156109f557600080fd5b60243560a01c15610a0557600080fd5b60443560a01c15610a1557600080fd5b6060606435600401610140376040606435600401351115610a3557600080fd5b60406084356004016101c0376020608435600401351115610a5557600080fd5b6004543314610a6357600080fd5b6101405161016051610180516101a0516101c0516101e051610200516102205160c0600435610240523361026052604435610280526024356102a052806102c0526101408080516020018084610240018284600060045af1610ac457600080fd5b50508051820160206001820306601f8201039050602001915050806102e0526101c08080516020018084610240018284600060045af1610b0357600080fd5b505050506102e051806102400180518060206001820306601f820103905082016103e0525050505b6103006103e0511015610b3d57610b52565b6103e0515160206103e051036103e052610b2b565b6102e0516102c0516102a051610280516102605161024051600658016107c3565b6104005261022052610200526101e0526101c0526101a05261018052610160526101405261040051610220526101405161016051610180516101a0516101c0516101e0516102005161022051600435610240526102205161026052610260516102405160065801610431565b61022052610200526101e0526101c0526101a0526101805261016052610140526000506102205160005260206000f350005b635b73aa0d6000511415610f085760043560a01c15610c2f57600080fd5b60243560a01c15610c3f57600080fd5b60443560a01c15610c4f57600080fd5b60643560a01c15610c5f57600080fd5b6060608435600401610140376040608435600401351115610c7f57600080fd5b604060a4356004016101c037602060a435600401351115610c9f57600080fd5b6101405161016051610180516101a0516101c0516101e051610200516102205160c06004356102405260243561026052606435610280526044356102a052806102c0526101408080516020018084610240018284600060045af1610d0257600080fd5b50508051820160206001820306601f8201039050602001915050806102e0526101c08080516020018084610240018284600060045af1610d4157600080fd5b505050506102e051806102400180518060206001820306601f820103905082016103e0525050505b6103006103e0511015610d7b57610d90565b6103e0515160206103e051036103e052610d69565b6102e0516102c0516102a051610280516102605161024051600658016107c3565b6104005261022052610200526101e0526101c0526101a052610180526101605261014052610400516102205260606102a0600463258294106102405261025c610220515afa610dff57600080fd5b603f3d11610e0c57600080fd5b601d6102a06102a051015110610e2157600080fd5b6000506102c08051602001806103008284600060045af1610e4157600080fd5b5050610220516103a052604061036052610360516103c052610300805160200180610360516103a0018284600060045af1610e7b57600080fd5b5050610360516103a00151806020610360516103a0010101818260206001820306601f82010390500336823750506020610360516103a0015160206001820306601f820103905061036051010161036052336004357f57a9cdc2a05e05f66e76769bdbe88e21ec45d9ee0f97d4cb60395d4c75dcbcda610360516103a0a36102205160005260206000f350005b6329b2e0c660005114156110f65760043560a01c15610f2657600080fd5b6004543314610f3457600080fd5b3360206101a06004635aa6e6756101405261015c6004355afa610f5657600080fd5b601f3d11610f6357600080fd5b6000506101a05114610f7457600080fd5b6060610200600463258294106101a0526101bc6001600054600180821015610f9b57600080fd5b8082039050905060e05260c052604060c020545afa610fb957600080fd5b603f3d11610fc657600080fd5b601d61020061020051015110610fdb57600080fd5b6000506102208051602001806101408284600060045af1610ffb57600080fd5b50506101605160606102c0600463258294106102605261027c6004355afa61102257600080fd5b603f3d1161102f57600080fd5b601d6102c06102c05101511061104457600080fd5b6000506102e0602001511461105857600080fd5b6020610200600463fc0c546a6101a0526101bc6004355afa61107957600080fd5b601f3d1161108657600080fd5b60005061020051610220526101405161016051610180516101a0516101c0516101e0516102005161022051610220516102405260043561026052610260516102405160065801610431565b61022052610200526101e0526101c0526101a052610180526101605261014052600050005b632cad8f9f600051141561110f57600161014052611145565b635e05f6af600051141561113d5760243560011c1561112d57600080fd5b6020602461014037600050611145565b60001561117a575b60043560a01c1561115557600080fd5b600454331461116357600080fd5b61014051600760043560e05260c052604060c02055005b6360bd68f860005114156112f65760043560a01c1561119857600080fd5b60986024356004016101403760786024356004013511156111b857600080fd5b6004543318156111db5760073360e05260c052604060c020546111da57600080fd5b5b61014080600660043560e05260c052604060c02060c052602060c020602082510161012060006005818352015b8261012051602002111561121b5761123d565b61012051602002850151610120518501555b8151600101808352811415611208575b50505050505060043561024052604061020052610200516102605261014080516020018061020051610240018284600060045af161127a57600080fd5b505061020051610240015180602061020051610240010101818260206001820306601f8201039050033682375050602061020051610240015160206001820306601f8201039050610200510101610200527f07bd58794c2ca0ae152f7719eb5f02c654476de972cadec0e8191ae8be42096d61020051610240a1005b63a157190260005114156113125760005460005260206000f350005b63b6a9f40f600051141561133c57600160043560e05260c052604060c0205460005260206000f350005b63ba7ee48c60005114156113765760043560a01c1561135a57600080fd5b600260043560e05260c052604060c0205460005260206000f350005b637bbfc69e60005114156113be5760043560a01c1561139457600080fd5b600360043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f350005b635aa6e67560005114156113da5760045460005260206000f350005b6358b8f84260005114156114a15760043560a01c156113f857600080fd5b600660043560e05260c052604060c0208060c052602060c020610180602082540161012060006005818352015b826101205160200211156114385761145a565b61012051850154610120516020028501525b8151600101808352811415611425575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b63ee711ed560005114156114db5760043560a01c156114bf57600080fd5b600760043560e05260c052604060c0205460005260206000f350005b5b60006000fd

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.