ETH Price: $3,453.15 (+4.47%)

Contract

0x770D0d1Fb036483Ed4AbB6d53c1C88fb277D812F
 

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
Deploy_new_vault236712352025-10-27 20:43:2310 days ago1761597803IN
0x770D0d1F...b277D812F
0 ETH0.000057680.20812832
Deploy_new_vault236342682025-10-22 16:31:5916 days ago1761150719IN
0x770D0d1F...b277D812F
0 ETH0.000111930.42374479
Deploy_new_vault231777702025-08-19 21:20:4779 days ago1755638447IN
0x770D0d1F...b277D812F
0 ETH0.000111150.40407622
Deploy_new_vault231120482025-08-10 17:09:1189 days ago1754845751IN
0x770D0d1F...b277D812F
0 ETH0.000298271.04944319
Deploy_new_vault229780012025-07-22 23:30:11107 days ago1753227011IN
0x770D0d1F...b277D812F
0 ETH0.00009080.33062268
Deploy_new_vault226273102025-06-03 23:09:11156 days ago1748992151IN
0x770D0d1F...b277D812F
0 ETH0.000294761.07171908
Deploy_new_vault226272362025-06-03 22:54:11156 days ago1748991251IN
0x770D0d1F...b277D812F
0 ETH0.000296711.07929172
Deploy_new_vault226057162025-05-31 22:34:47159 days ago1748730887IN
0x770D0d1F...b277D812F
0 ETH0.000189440.67651182
Deploy_new_vault225815772025-05-28 13:32:35163 days ago1748439155IN
0x770D0d1F...b277D812F
0 ETH0.001912146.96222646
Deploy_new_vault225696672025-05-26 21:32:11164 days ago1748295131IN
0x770D0d1F...b277D812F
0 ETH0.000314991.23691407
Deploy_new_vault225405892025-05-22 19:45:23169 days ago1747943123IN
0x770D0d1F...b277D812F
0 ETH0.000924953.3635923
Deploy_new_vault224750252025-05-13 14:54:35178 days ago1747148075IN
0x770D0d1F...b277D812F
0 ETH0.00205387.41712278
Deploy_new_vault224638712025-05-12 1:13:23179 days ago1747012403IN
0x770D0d1F...b277D812F
0 ETH0.000501511.82396101
Deploy_new_vault224113702025-05-04 15:45:11187 days ago1746373511IN
0x770D0d1F...b277D812F
0 ETH0.00009580.34584091
Deploy_new_vault223682852025-04-28 14:54:47193 days ago1745852087IN
0x770D0d1F...b277D812F
0 ETH0.000352511.27313252
Deploy_new_vault223682832025-04-28 14:54:23193 days ago1745852063IN
0x770D0d1F...b277D812F
0 ETH0.000359721.29916184
Deploy_new_vault223280032025-04-23 0:02:47198 days ago1745366567IN
0x770D0d1F...b277D812F
0 ETH0.000272940.99330623
Deploy_new_vault223279952025-04-23 0:01:11198 days ago1745366471IN
0x770D0d1F...b277D812F
0 ETH0.000282020.94854246
Deploy_new_vault223279812025-04-22 23:58:23198 days ago1745366303IN
0x770D0d1F...b277D812F
0 ETH0.000218040.73332952
Deploy_new_vault222355132025-04-10 2:24:11211 days ago1744251851IN
0x770D0d1F...b277D812F
0 ETH0.000165370.60180482
Deploy_new_vault222355092025-04-10 2:23:23211 days ago1744251803IN
0x770D0d1F...b277D812F
0 ETH0.000121030.44005459
Deploy_new_vault222355032025-04-10 2:22:11211 days ago1744251731IN
0x770D0d1F...b277D812F
0 ETH0.0001270.46178398
Deploy_new_vault221715112025-04-01 3:56:35220 days ago1743479795IN
0x770D0d1F...b277D812F
0 ETH0.00017770.64176973
Deploy_new_vault221708422025-04-01 1:41:59220 days ago1743471719IN
0x770D0d1F...b277D812F
0 ETH0.000165710.60281843
Deploy_new_vault218817152025-02-19 16:49:35261 days ago1739983775IN
0x770D0d1F...b277D812F
0 ETH0.000223860.84629017
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
0x602d3d81237352192025-11-05 19:35:592 days ago1762371359
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81236712352025-10-27 20:43:2310 days ago1761597803
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81236499772025-10-24 21:22:4713 days ago1761340967
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81236499512025-10-24 21:17:2313 days ago1761340643
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81236409322025-10-23 14:54:5915 days ago1761231299
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81236342682025-10-22 16:31:5916 days ago1761150719
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81236147422025-10-19 22:44:5918 days ago1760913899
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81235907752025-10-16 14:19:4722 days ago1760624387
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81235903942025-10-16 13:02:3522 days ago1760619755
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81235903942025-10-16 13:02:3522 days ago1760619755
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81232771282025-09-02 18:11:4766 days ago1756836707
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81232212412025-08-25 22:54:5973 days ago1756162499
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81231777702025-08-19 21:20:4779 days ago1755638447
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81231657642025-08-18 5:09:5981 days ago1755493799
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81231655052025-08-18 4:17:5981 days ago1755490679
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81231120482025-08-10 17:09:1189 days ago1754845751
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81231075482025-08-10 2:02:4789 days ago1754791367
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81229780012025-07-22 23:30:11107 days ago1753227011
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81228743912025-07-08 12:12:59122 days ago1751976779
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81228733332025-07-08 8:40:11122 days ago1751964011
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81228143492025-06-30 2:48:11130 days ago1751251691
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81228143492025-06-30 2:48:11130 days ago1751251691
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81228143482025-06-30 2:47:59130 days ago1751251679
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81228143482025-06-30 2:47:59130 days ago1751251679
0x770D0d1F...b277D812F
 Contract Creation0 ETH
0x602d3d81227454142025-06-20 11:33:23140 days ago1750419203
0x770D0d1F...b277D812F
 Contract Creation0 ETH
View All Internal Transactions
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:
Yearn Vault Factory

Compiler Version
vyper:0.3.7

Optimization Enabled:
N/A

Other Settings:
paris EvmVersion, GNU AGPLv3 license
# @version 0.3.7

"""
@title Yearn Vault Factory
@license GNU AGPLv3
@author yearn.finance
@notice
    This vault Factory can be used by anyone wishing to deploy their own
    ERC4626 compliant Yearn V3 Vault of the same API version.

    The factory clones new vaults from its specific `VAULT_ORIGINAL`
    immutable address set on creation of the factory.
    
    The deployments are done through create2 with a specific `salt` 
    that is derived from a combination of the deployer's address,
    the underlying asset used, as well as the name and symbol specified.
    Meaning a deployer will not be able to deploy the exact same vault
    twice and will need to use different name and or symbols for vaults
    that use the same other parameters such as `asset`.

    The factory also holds the protocol fee configs for each vault and strategy
    of its specific `API_VERSION` that determine how much of the fees
    charged are designated "protocol fees" and sent to the designated
    `fee_recipient`. The protocol fees work through a revenue share system,
    where if the vault or strategy decides to charge X amount of total
    fees during a `report` the protocol fees are a percent of X.
    The protocol fees will be sent to the designated fee_recipient and
    then (X - protocol_fees) will be sent to the vault/strategy specific
    fee recipient.
"""

interface IVault:
    def initialize(
        asset: address, 
        name: String[64], 
        symbol: String[32], 
        role_manager: address, 
        profit_max_unlock_time: uint256
    ): nonpayable

event NewVault:
    vault_address: indexed(address)
    asset: indexed(address)

event UpdateProtocolFeeBps:
    old_fee_bps: uint16
    new_fee_bps: uint16

event UpdateProtocolFeeRecipient:
    old_fee_recipient: indexed(address)
    new_fee_recipient: indexed(address)

event UpdateCustomProtocolFee:
    vault: indexed(address)
    new_custom_protocol_fee: uint16

event RemovedCustomProtocolFee:
    vault: indexed(address)

event FactoryShutdown:
    pass

event GovernanceTransferred:
    previousGovernance: indexed(address)
    newGovernance: indexed(address)

event UpdatePendingGovernance:
    newPendingGovernance: indexed(address)


# Identifier for this version of the vault.
API_VERSION: constant(String[28]) = "3.0.4"

# The max amount the protocol fee can be set to.
MAX_FEE_BPS: constant(uint16) = 5_000 # 50%

# Mask used to unpack the protocol fee bps.
FEE_BPS_MASK: constant(uint256) = 2**16-1

# The address that all newly deployed vaults are based from.
VAULT_ORIGINAL: immutable(address)

# State of the Factory. If True no new vaults can be deployed.
shutdown: public(bool)

# Address that can set or change the fee configs.
governance: public(address)
# Pending governance waiting to be accepted.
pendingGovernance: public(address)

# Name for identification.
name: public(String[64])

# Protocol Fee Data is packed into a single uint256 slot
# 72 bits Empty | 160 bits fee recipient | 16 bits fee bps | 8 bits custom flag

# The default config for assessing protocol fees.
default_protocol_fee_data: uint256
# Custom fee to charge for a specific vault or strategy.
custom_protocol_fee_data: HashMap[address, uint256]

@external
def __init__(name: String[64], vault_original: address, governance: address):
    self.name = name
    VAULT_ORIGINAL = vault_original
    self.governance = governance

@external
def deploy_new_vault(
    asset: address, 
    name: String[64], 
    symbol: String[32], 
    role_manager: address, 
    profit_max_unlock_time: uint256
) -> address:
    """
    @notice Deploys a new clone of the original vault.
    @param asset The asset to be used for the vault.
    @param name The name of the new vault.
    @param symbol The symbol of the new vault.
    @param role_manager The address of the role manager.
    @param profit_max_unlock_time The time over which the profits will unlock.
    @return The address of the new vault.
    """
    # Make sure the factory is not shutdown.
    assert not self.shutdown, "shutdown"

    # Clone a new version of the vault using create2.
    vault_address: address = create_minimal_proxy_to(
            VAULT_ORIGINAL, 
            value=0,
            salt=keccak256(_abi_encode(msg.sender, asset, name, symbol))
        )

    IVault(vault_address).initialize(
        asset, 
        name, 
        symbol, 
        role_manager, 
        profit_max_unlock_time, 
    )
        
    log NewVault(vault_address, asset)
    return vault_address

@view
@external
def vault_original()-> address:
    """
    @notice Get the address of the vault to clone from
    @return The address of the original vault.
    """
    return VAULT_ORIGINAL

@view
@external
def apiVersion() -> String[28]:
    """
    @notice Get the API version of the factory.
    @return The API version of the factory.
    """
    return API_VERSION

@view
@external
def protocol_fee_config(vault: address = msg.sender) -> (uint16, address):
    """
    @notice Called during vault and strategy reports 
    to retrieve the protocol fee to charge and address
    to receive the fees.
    @param vault Address of the vault that would be reporting.
    @return Fee in bps
    @return Address of fee recipient
    """
    # If there is a custom protocol fee set we return it.
    config_data: uint256 = self.custom_protocol_fee_data[vault]
    if self._unpack_custom_flag(config_data):
        # Always use the default fee recipient even with custom fees.
        return (
            self._unpack_protocol_fee(config_data),
            self._unpack_fee_recipient(self.default_protocol_fee_data)
        )
    else:
        # Otherwise return the default config.
        config_data = self.default_protocol_fee_data
        return (
            self._unpack_protocol_fee(config_data), 
            self._unpack_fee_recipient(config_data)
        )

@view
@external
def use_custom_protocol_fee(vault: address) -> bool:
    """
    @notice If a custom protocol fee is used for a vault.
    @param vault Address of the vault to check.
    @return If a custom protocol fee is used.
    """
    return self._unpack_custom_flag(self.custom_protocol_fee_data[vault])

@view
@internal
def _unpack_protocol_fee(config_data: uint256) -> uint16:
    """
    Unpacks the protocol fee from the packed data uint.
    """
    return convert(shift(config_data, -8) & FEE_BPS_MASK, uint16)
    
@view
@internal
def _unpack_fee_recipient(config_data: uint256) -> address:
    """
    Unpacks the fee recipient from the packed data uint.
    """
    return convert(shift(config_data, -24), address)

@view
@internal
def _unpack_custom_flag(config_data: uint256) -> bool:
    """
    Unpacks the custom fee flag from the packed data uint.
    """
    return config_data & 1 == 1

@view
@internal
def _pack_protocol_fee_data(recipient: address, fee: uint16, custom: bool) -> uint256:
    """
    Packs the full protocol fee data into a single uint256 slot.
    This is used for both the default fee storage as well as for custom fees.
    72 bits Empty | 160 bits fee recipient | 16 bits fee bps | 8 bits custom flag
    """
    return shift(convert(recipient, uint256), 24) | shift(convert(fee, uint256), 8) | convert(custom, uint256)

@external
def set_protocol_fee_bps(new_protocol_fee_bps: uint16):
    """
    @notice Set the protocol fee in basis points
    @dev Must be below the max allowed fee, and a default
    fee_recipient must be set so we don't issue fees to the 0 address.
    @param new_protocol_fee_bps The new protocol fee in basis points
    """
    assert msg.sender == self.governance, "not governance"
    assert new_protocol_fee_bps <= MAX_FEE_BPS, "fee too high"

    # Cache the current default protocol fee.
    default_fee_data: uint256 = self.default_protocol_fee_data
    recipient: address = self._unpack_fee_recipient(default_fee_data)
    
    assert recipient != empty(address), "no recipient"

    # Set the new fee
    self.default_protocol_fee_data = self._pack_protocol_fee_data(
        recipient, 
        new_protocol_fee_bps, 
        False
    )

    log UpdateProtocolFeeBps(
        self._unpack_protocol_fee(default_fee_data), 
        new_protocol_fee_bps
    )


@external
def set_protocol_fee_recipient(new_protocol_fee_recipient: address):
    """
    @notice Set the protocol fee recipient
    @dev Can never be set to 0 to avoid issuing fees to the 0 address.
    @param new_protocol_fee_recipient The new protocol fee recipient
    """
    assert msg.sender == self.governance, "not governance"
    assert new_protocol_fee_recipient != empty(address), "zero address"

    default_fee_data: uint256 = self.default_protocol_fee_data

    self.default_protocol_fee_data = self._pack_protocol_fee_data(
        new_protocol_fee_recipient, 
        self._unpack_protocol_fee(default_fee_data), 
        False
    )
    
    log UpdateProtocolFeeRecipient(
        self._unpack_fee_recipient(default_fee_data),
        new_protocol_fee_recipient
    )
    

@external
def set_custom_protocol_fee_bps(vault: address, new_custom_protocol_fee: uint16):
    """
    @notice Allows Governance to set custom protocol fees
    for a specific vault or strategy.
    @dev Must be below the max allowed fee, and a default
    fee_recipient must be set so we don't issue fees to the 0 address.
    @param vault The address of the vault or strategy to customize.
    @param new_custom_protocol_fee The custom protocol fee in BPS.
    """
    assert msg.sender == self.governance, "not governance"
    assert new_custom_protocol_fee <= MAX_FEE_BPS, "fee too high"
    assert self._unpack_fee_recipient(self.default_protocol_fee_data) != empty(address), "no recipient"

    self.custom_protocol_fee_data[vault] = self._pack_protocol_fee_data(
        empty(address), 
        new_custom_protocol_fee, 
        True
    )

    log UpdateCustomProtocolFee(vault, new_custom_protocol_fee)

@external 
def remove_custom_protocol_fee(vault: address):
    """
    @notice Allows governance to remove a previously set
    custom protocol fee.
    @param vault The address of the vault or strategy to
    remove the custom fee for.
    """
    assert msg.sender == self.governance, "not governance"

    # Reset the custom fee to 0 and flag to False.
    self.custom_protocol_fee_data[vault] = self._pack_protocol_fee_data(empty(address), 0, False)

    log RemovedCustomProtocolFee(vault)

@external
def shutdown_factory():
    """
    @notice To stop new deployments through this factory.
    @dev A one time switch available for governance to stop
    new vaults from being deployed through the factory.
    NOTE: This will have no effect on any previously deployed
    vaults that deployed from this factory.
    """
    assert msg.sender == self.governance, "not governance"
    assert self.shutdown == False, "shutdown"

    self.shutdown = True
    
    log FactoryShutdown()

@external
def transferGovernance(new_governance: address):
    """
    @notice Set the governance address
    @param new_governance The new governance address
    """
    assert msg.sender == self.governance, "not governance"
    self.pendingGovernance = new_governance

    log UpdatePendingGovernance(new_governance)

@external
def acceptGovernance():
    """
    @notice Accept the governance address
    """
    assert msg.sender == self.pendingGovernance, "not pending governance"

    old_governance: address = self.governance

    self.governance = msg.sender
    self.pendingGovernance = empty(address)

    log GovernanceTransferred(old_governance, msg.sender)

Contract Security Audit

Contract ABI

API
[{"name":"NewVault","inputs":[{"name":"vault_address","type":"address","indexed":true},{"name":"asset","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"UpdateProtocolFeeBps","inputs":[{"name":"old_fee_bps","type":"uint16","indexed":false},{"name":"new_fee_bps","type":"uint16","indexed":false}],"anonymous":false,"type":"event"},{"name":"UpdateProtocolFeeRecipient","inputs":[{"name":"old_fee_recipient","type":"address","indexed":true},{"name":"new_fee_recipient","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"UpdateCustomProtocolFee","inputs":[{"name":"vault","type":"address","indexed":true},{"name":"new_custom_protocol_fee","type":"uint16","indexed":false}],"anonymous":false,"type":"event"},{"name":"RemovedCustomProtocolFee","inputs":[{"name":"vault","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"FactoryShutdown","inputs":[],"anonymous":false,"type":"event"},{"name":"GovernanceTransferred","inputs":[{"name":"previousGovernance","type":"address","indexed":true},{"name":"newGovernance","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"UpdatePendingGovernance","inputs":[{"name":"newPendingGovernance","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"name","type":"string"},{"name":"vault_original","type":"address"},{"name":"governance","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"deploy_new_vault","inputs":[{"name":"asset","type":"address"},{"name":"name","type":"string"},{"name":"symbol","type":"string"},{"name":"role_manager","type":"address"},{"name":"profit_max_unlock_time","type":"uint256"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"vault_original","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"apiVersion","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"view","type":"function","name":"protocol_fee_config","inputs":[],"outputs":[{"name":"","type":"uint16"},{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"protocol_fee_config","inputs":[{"name":"vault","type":"address"}],"outputs":[{"name":"","type":"uint16"},{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"use_custom_protocol_fee","inputs":[{"name":"vault","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"set_protocol_fee_bps","inputs":[{"name":"new_protocol_fee_bps","type":"uint16"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_protocol_fee_recipient","inputs":[{"name":"new_protocol_fee_recipient","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_custom_protocol_fee_bps","inputs":[{"name":"vault","type":"address"},{"name":"new_custom_protocol_fee","type":"uint16"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"remove_custom_protocol_fee","inputs":[{"name":"vault","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"shutdown_factory","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"transferGovernance","inputs":[{"name":"new_governance","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"acceptGovernance","inputs":[],"outputs":[]},{"stateMutability":"view","type":"function","name":"shutdown","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"governance","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"pendingGovernance","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string"}]}]

6020610f986000396000516040602082610f980160003960005111610f9357602081610f980160003960005180604052602082018181610f98016060395050506020610fb86000396000518060a01c610f935760a0526020610fd86000396000518060a01c610f935760c05234610f935760405180600355600081601f0160051c60028111610f935780156100a857905b8060051b606001518160040155600101818118610090575b50505060a051610ec85260c051600155610ec86100ca61000039610ee8610000f36003361161000c57610e56565b60003560e01c34610eb65763b4aeee7781186103115760e43610610eb6576004358060a01c610eb6576040526024356004016040813511610eb6578035806060526020820181816080375050506044356004016020813511610eb65780358060c05260208201803560e0525050506064358060a01c610eb65761010052600054156100f5576008610120527f73687574646f776e0000000000000000000000000000000000000000000000006101405261012050610120518061014001601f826000031636823750506308c379a060e052602061010052601f19601f61012051011660440160fcfd5b7f602d3d8160093d39f3363d3d373d3d3d363d7300000000000000000000000000610280526020610ec860003960005160601b610293527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006102a7526080336101605260405161018052806101a052806101600160605180825260208201818183608060045afa5050508051806020830101601f82600003163682375050601f19601f82516020010116905081019050806101c052806101600160c0518082526020820160e051815250508051806020830101601f82600003163682375050601f19601f825160200101169050810190506101405261014080516020820120905060366102806000f58015610eb65761012052610120516375b30be66101405260a0604051610160528061018052806101600160605180825260208201818183608060045afa5050508051806020830101601f82600003163682375050601f19601f82516020010116905081019050806101a052806101600160c0518082526020820160e051815250508051806020830101601f82600003163682375050601f19601f82516020010116905081019050610100516101c0526084356101e05250803b15610eb657600061014061014461015c6000855af16102db573d600060003e3d6000fd5b50604051610120517f4241302c393c713e690702c4a45a57e93cef59aa8c6e2358495853b3420551d86000610140a36020610120f35b63f71bf70d81186103385760043610610eb6576020610ec860003960005160405260206040f35b632582941081186103c05760043610610eb65760208060805260056040527f332e302e3400000000000000000000000000000000000000000000000000000060605260408160800181518082526020830160208301815181525050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506080f35b635153b19981186103dc5760043610610eb657336060526103fe565b636556424b811861049f5760243610610eb6576004358060a01c610eb6576060525b600760605160205260005260406000205460805260805160405261042260a0610e8c565b60a0516104695760065460805260805160405261043f60a0610e72565b60a05160e05260805160405261045560c0610e5c565b60c05161010052604060e061049d5661049d565b60805160405261047960c0610e72565b60c0516101005260065460405261049060e0610e5c565b60e0516101205260406101005bf35b63e94860d881186104e45760243610610eb6576004358060a01c610eb657606052602060076060516020526000526040600020546040526104e06080610e8c565b6080f35b6362fbf60381186106c95760243610610eb6576004358060101c610eb65760a05260015433181561056c57600e60c0527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060e05260c05060c0518060e001601f826000031636823750506308c379a0608052602060a052601f19601f60c0510116604401609cfd5b61138860a05113156105d557600c60c0527f66656520746f6f2068696768000000000000000000000000000000000000000060e05260c05060c0518060e001601f826000031636823750506308c379a0608052602060a052601f19601f60c0510116604401609cfd5b60065460c05260c0516040526105ec610100610e5c565b6101005160e05260e05161065d57600c610100527f6e6f20726563697069656e7400000000000000000000000000000000000000006101205261010050610100518061012001601f826000031636823750506308c379a060c052602060e052601f19601f61010051011660440160dcfd5b60e05160405260a0516060526000608052610679610100610e9a565b610100516006557f678d2b2fe79c193f6c2c18d7515e339afcbd73fcfb360b1d0fbadae07342e05160c0516040526106b2610100610e72565b610100516101205260a051610140526040610120a1005b63f8ebccea81186108455760243610610eb6576004358060a01c610eb65760a05260015433181561075157600e60c0527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060e05260c05060c0518060e001601f826000031636823750506308c379a0608052602060a052601f19601f60c0510116604401609cfd5b60a0516107b557600c60c0527f7a65726f2061646472657373000000000000000000000000000000000000000060e05260c05060c0518060e001601f826000031636823750506308c379a0608052602060a052601f19601f60c0510116604401609cfd5b60065460c05260a0516101205260c0516040526107d260e0610e72565b60e051610140526000610160526101205160405261014051606052610160516080526107ff610100610e9a565b6101005160065560a05160c05160405261081960e0610e5c565b60e0517f6af4e38beb02e4b110090dd85c5adfb341e2278b905068773762fe4666e5db7a6000610100a3005b63b5a71e078118610a215760443610610eb6576004358060a01c610eb65760a0526024358060101c610eb65760c0526001543318156108dd57600e60e0527f6e6f7420676f7665726e616e63650000000000000000000000000000000000006101005260e05060e0518061010001601f826000031636823750506308c379a060a052602060c052601f19601f60e051011660440160bcfd5b61138860c051131561094857600c60e0527f66656520746f6f206869676800000000000000000000000000000000000000006101005260e05060e0518061010001601f826000031636823750506308c379a060a052602060c052601f19601f60e051011660440160bcfd5b60065460405261095860e0610e5c565b60e0516109c257600c610100527f6e6f20726563697069656e7400000000000000000000000000000000000000006101205261010050610100518061012001601f826000031636823750506308c379a060c052602060e052601f19601f61010051011660440160dcfd5b600060405260c05160605260016080526109dc60e0610e9a565b60e051600760a05160205260005260406000205560a0517f96d6cc624354ffe5a7207dc2dcc152e58e23ac8df9c96943f3cfb10ea4c140ac60c05160e052602060e0a2005b6311a3a4348118610af85760243610610eb6576004358060a01c610eb65760a052600154331815610aa957600e60c0527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060e05260c05060c0518060e001601f826000031636823750506308c379a0608052602060a052601f19601f60c0510116604401609cfd5b606036604037610ab960c0610e9a565b60c051600760a05160205260005260406000205560a0517f39612c4f13d7a058dece05cf6730e3322fd9a11d6f055a5eacdde49191f45f1f600060c0a2005b63365adba68118610c045760043610610eb657600154331815610b7257600e6040527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b60005415610bd75760086040527f73687574646f776e00000000000000000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b60016000557fc643193a97fc0e18d69c95e1c034b91f51fa164ba8ea68dfb6dd98568b9bc96b60006040a1005b63d38bfff48118610cbd5760243610610eb6576004358060a01c610eb657604052600154331815610c8c57600e6060527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516002556040517fa443b483867b0f9db5b03913474dd21935ac5ba70fa6c94e3423ba9be157c44b60006060a2005b63238efcbc8118610d725760043610610eb657600254331815610d375760166040527f6e6f742070656e64696e6720676f7665726e616e63650000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b600154604052336001556000600255336040517f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce8060006060a3005b63fc0e74d18118610d915760043610610eb65760005460405260206040f35b635aa6e6758118610db05760043610610eb65760015460405260206040f35b63f39c38a08118610dcf5760043610610eb65760025460405260206040f35b6306fdde038118610e545760043610610eb6576020806040528060400160035480825260208201600082601f0160051c60028111610eb6578015610e2657905b80600401548160051b840152600101818118610e0f575b505050508051806020830101601f82600003163682375050601f19601f825160200101169050810190506040f35b505b60006000fd5b6040518060181c90508060a01c610eb657815250565b61ffff6040518060081c9050168060101c610eb657815250565b600160016040511614815250565b6080516060518060081b90506040518060181b90501717815250565b600080fda165767970657283000307000b005b600080fd0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000d8063123bba3b480569244ae66bfe72b6c84b00d0000000000000000000000006f3cbe2ab3483ec4ba7b672fbdca0e9b33f88db8000000000000000000000000000000000000000000000000000000000000001a596561726e2076332e302e34205661756c7420466163746f7279000000000000

Deployed Bytecode

0x6003361161000c57610e56565b60003560e01c34610eb65763b4aeee7781186103115760e43610610eb6576004358060a01c610eb6576040526024356004016040813511610eb6578035806060526020820181816080375050506044356004016020813511610eb65780358060c05260208201803560e0525050506064358060a01c610eb65761010052600054156100f5576008610120527f73687574646f776e0000000000000000000000000000000000000000000000006101405261012050610120518061014001601f826000031636823750506308c379a060e052602061010052601f19601f61012051011660440160fcfd5b7f602d3d8160093d39f3363d3d373d3d3d363d7300000000000000000000000000610280526020610ec860003960005160601b610293527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006102a7526080336101605260405161018052806101a052806101600160605180825260208201818183608060045afa5050508051806020830101601f82600003163682375050601f19601f82516020010116905081019050806101c052806101600160c0518082526020820160e051815250508051806020830101601f82600003163682375050601f19601f825160200101169050810190506101405261014080516020820120905060366102806000f58015610eb65761012052610120516375b30be66101405260a0604051610160528061018052806101600160605180825260208201818183608060045afa5050508051806020830101601f82600003163682375050601f19601f82516020010116905081019050806101a052806101600160c0518082526020820160e051815250508051806020830101601f82600003163682375050601f19601f82516020010116905081019050610100516101c0526084356101e05250803b15610eb657600061014061014461015c6000855af16102db573d600060003e3d6000fd5b50604051610120517f4241302c393c713e690702c4a45a57e93cef59aa8c6e2358495853b3420551d86000610140a36020610120f35b63f71bf70d81186103385760043610610eb6576020610ec860003960005160405260206040f35b632582941081186103c05760043610610eb65760208060805260056040527f332e302e3400000000000000000000000000000000000000000000000000000060605260408160800181518082526020830160208301815181525050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506080f35b635153b19981186103dc5760043610610eb657336060526103fe565b636556424b811861049f5760243610610eb6576004358060a01c610eb6576060525b600760605160205260005260406000205460805260805160405261042260a0610e8c565b60a0516104695760065460805260805160405261043f60a0610e72565b60a05160e05260805160405261045560c0610e5c565b60c05161010052604060e061049d5661049d565b60805160405261047960c0610e72565b60c0516101005260065460405261049060e0610e5c565b60e0516101205260406101005bf35b63e94860d881186104e45760243610610eb6576004358060a01c610eb657606052602060076060516020526000526040600020546040526104e06080610e8c565b6080f35b6362fbf60381186106c95760243610610eb6576004358060101c610eb65760a05260015433181561056c57600e60c0527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060e05260c05060c0518060e001601f826000031636823750506308c379a0608052602060a052601f19601f60c0510116604401609cfd5b61138860a05113156105d557600c60c0527f66656520746f6f2068696768000000000000000000000000000000000000000060e05260c05060c0518060e001601f826000031636823750506308c379a0608052602060a052601f19601f60c0510116604401609cfd5b60065460c05260c0516040526105ec610100610e5c565b6101005160e05260e05161065d57600c610100527f6e6f20726563697069656e7400000000000000000000000000000000000000006101205261010050610100518061012001601f826000031636823750506308c379a060c052602060e052601f19601f61010051011660440160dcfd5b60e05160405260a0516060526000608052610679610100610e9a565b610100516006557f678d2b2fe79c193f6c2c18d7515e339afcbd73fcfb360b1d0fbadae07342e05160c0516040526106b2610100610e72565b610100516101205260a051610140526040610120a1005b63f8ebccea81186108455760243610610eb6576004358060a01c610eb65760a05260015433181561075157600e60c0527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060e05260c05060c0518060e001601f826000031636823750506308c379a0608052602060a052601f19601f60c0510116604401609cfd5b60a0516107b557600c60c0527f7a65726f2061646472657373000000000000000000000000000000000000000060e05260c05060c0518060e001601f826000031636823750506308c379a0608052602060a052601f19601f60c0510116604401609cfd5b60065460c05260a0516101205260c0516040526107d260e0610e72565b60e051610140526000610160526101205160405261014051606052610160516080526107ff610100610e9a565b6101005160065560a05160c05160405261081960e0610e5c565b60e0517f6af4e38beb02e4b110090dd85c5adfb341e2278b905068773762fe4666e5db7a6000610100a3005b63b5a71e078118610a215760443610610eb6576004358060a01c610eb65760a0526024358060101c610eb65760c0526001543318156108dd57600e60e0527f6e6f7420676f7665726e616e63650000000000000000000000000000000000006101005260e05060e0518061010001601f826000031636823750506308c379a060a052602060c052601f19601f60e051011660440160bcfd5b61138860c051131561094857600c60e0527f66656520746f6f206869676800000000000000000000000000000000000000006101005260e05060e0518061010001601f826000031636823750506308c379a060a052602060c052601f19601f60e051011660440160bcfd5b60065460405261095860e0610e5c565b60e0516109c257600c610100527f6e6f20726563697069656e7400000000000000000000000000000000000000006101205261010050610100518061012001601f826000031636823750506308c379a060c052602060e052601f19601f61010051011660440160dcfd5b600060405260c05160605260016080526109dc60e0610e9a565b60e051600760a05160205260005260406000205560a0517f96d6cc624354ffe5a7207dc2dcc152e58e23ac8df9c96943f3cfb10ea4c140ac60c05160e052602060e0a2005b6311a3a4348118610af85760243610610eb6576004358060a01c610eb65760a052600154331815610aa957600e60c0527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060e05260c05060c0518060e001601f826000031636823750506308c379a0608052602060a052601f19601f60c0510116604401609cfd5b606036604037610ab960c0610e9a565b60c051600760a05160205260005260406000205560a0517f39612c4f13d7a058dece05cf6730e3322fd9a11d6f055a5eacdde49191f45f1f600060c0a2005b63365adba68118610c045760043610610eb657600154331815610b7257600e6040527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b60005415610bd75760086040527f73687574646f776e00000000000000000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b60016000557fc643193a97fc0e18d69c95e1c034b91f51fa164ba8ea68dfb6dd98568b9bc96b60006040a1005b63d38bfff48118610cbd5760243610610eb6576004358060a01c610eb657604052600154331815610c8c57600e6060527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516002556040517fa443b483867b0f9db5b03913474dd21935ac5ba70fa6c94e3423ba9be157c44b60006060a2005b63238efcbc8118610d725760043610610eb657600254331815610d375760166040527f6e6f742070656e64696e6720676f7665726e616e63650000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b600154604052336001556000600255336040517f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce8060006060a3005b63fc0e74d18118610d915760043610610eb65760005460405260206040f35b635aa6e6758118610db05760043610610eb65760015460405260206040f35b63f39c38a08118610dcf5760043610610eb65760025460405260206040f35b6306fdde038118610e545760043610610eb6576020806040528060400160035480825260208201600082601f0160051c60028111610eb6578015610e2657905b80600401548160051b840152600101818118610e0f575b505050508051806020830101601f82600003163682375050601f19601f825160200101169050810190506040f35b505b60006000fd5b6040518060181c90508060a01c610eb657815250565b61ffff6040518060081c9050168060101c610eb657815250565b600160016040511614815250565b6080516060518060081b90506040518060181b90501717815250565b600080fda165767970657283000307000b000000000000000000000000d8063123bba3b480569244ae66bfe72b6c84b00d

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

0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000d8063123bba3b480569244ae66bfe72b6c84b00d0000000000000000000000006f3cbe2ab3483ec4ba7b672fbdca0e9b33f88db8000000000000000000000000000000000000000000000000000000000000001a596561726e2076332e302e34205661756c7420466163746f7279000000000000

-----Decoded View---------------
Arg [0] : name (string): Yearn v3.0.4 Vault Factory
Arg [1] : vault_original (address): 0xd8063123BBA3B480569244AE66BFE72B6c84b00d
Arg [2] : governance (address): 0x6f3cBE2ab3483EC4BA7B672fbdCa0E9B33F88db8

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 000000000000000000000000d8063123bba3b480569244ae66bfe72b6c84b00d
Arg [2] : 0000000000000000000000006f3cbe2ab3483ec4ba7b672fbdca0e9b33f88db8
Arg [3] : 000000000000000000000000000000000000000000000000000000000000001a
Arg [4] : 596561726e2076332e302e34205661756c7420466163746f7279000000000000


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.