ETH Price: $3,514.60 (-0.98%)

Contract

0x444045c5C13C246e117eD36437303cac8E250aB0
 

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_vault211876592024-11-14 18:15:35363 days ago1731608135IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.007074924.89884635
Deploy_new_vault211314292024-11-06 21:55:11371 days ago1730930111IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.0058479821.10652971
Deploy_new_vault208702482024-10-01 11:08:23408 days ago1727780903IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.0030414711.06399027
Deploy_new_vault208365372024-09-26 18:18:35412 days ago1727374715IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.0056936920.02609589
Deploy_new_vault208000292024-09-21 16:04:59417 days ago1726934699IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.0038347813.83609373
Deploy_new_vault207903082024-09-20 7:28:11419 days ago1726817291IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.0027600410.05060232
Deploy_new_vault207479002024-09-14 9:17:59425 days ago1726305479IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.000394651.30521053
Deploy_new_vault207055562024-09-08 11:20:23430 days ago1725794423IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.00025810.8681568
Deploy_new_vault206701542024-09-03 12:48:59435 days ago1725367739IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.000942033.4
Deploy_new_vault206700862024-09-03 12:35:23435 days ago1725366923IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.001794692.67753358
Deploy_new_vault206700432024-09-03 12:26:47435 days ago1725366407IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.000795392.87075169
Deploy_new_vault206140222024-08-26 16:40:47443 days ago1724690447IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.00054821.78728405
Deploy_new_vault204876812024-08-09 1:13:23461 days ago1723166003IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.000825112.90237476
Deploy_new_vault203918472024-07-26 16:13:59474 days ago1722010439IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.000806382.71232067
Deploy_new_vault203687492024-07-23 10:51:35478 days ago1721731895IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.000878923.19875092
Deploy_new_vault202486412024-07-06 16:23:59494 days ago1720283039IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.001015873.36063257
Deploy_new_vault202486342024-07-06 16:22:35494 days ago1720282955IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.001021763.38007538
Deploy_new_vault201695602024-06-25 15:21:47505 days ago1719328907IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.002958629.94986963
Deploy_new_vault201560932024-06-23 18:10:59507 days ago1719166259IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.000727482.42984813
Deploy_new_vault201560782024-06-23 18:07:59507 days ago1719166079IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.000803662.65761633
Deploy_new_vault201560752024-06-23 18:07:23507 days ago1719166043IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.000826222.73397635
Deploy_new_vault201459612024-06-22 8:09:59509 days ago1719043799IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.00066072.40310907
Deploy_new_vault201459582024-06-22 8:09:23509 days ago1719043763IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.000725392.4401116
Deploy_new_vault201459542024-06-22 8:08:35509 days ago1719043715IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.000744212.36271182
Deploy_new_vault201459462024-06-22 8:06:59509 days ago1719043619IN
Yearn: VaultFactory (Ver 3.0.2)
0 ETH0.00070382.2342465
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
0x602d3d81211876592024-11-14 18:15:35363 days ago1731608135
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81211314292024-11-06 21:55:11371 days ago1730930111
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81208702482024-10-01 11:08:23408 days ago1727780903
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81208365372024-09-26 18:18:35412 days ago1727374715
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81208000292024-09-21 16:04:59417 days ago1726934699
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81207903082024-09-20 7:28:11419 days ago1726817291
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81207479002024-09-14 9:17:59425 days ago1726305479
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81207278722024-09-11 14:09:23427 days ago1726063763
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81207278722024-09-11 14:09:23427 days ago1726063763
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81207278722024-09-11 14:09:23427 days ago1726063763
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81207278722024-09-11 14:09:23427 days ago1726063763
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81207278722024-09-11 14:09:23427 days ago1726063763
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81207278722024-09-11 14:09:23427 days ago1726063763
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81207055562024-09-08 11:20:23430 days ago1725794423
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81206701542024-09-03 12:48:59435 days ago1725367739
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
Transfer*206700862024-09-03 12:35:23435 days ago1725366923
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81206700432024-09-03 12:26:47435 days ago1725366407
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81206140222024-08-26 16:40:47443 days ago1724690447
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81204876812024-08-09 1:13:23461 days ago1723166003
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81203918472024-07-26 16:13:59474 days ago1722010439
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81203695202024-07-23 13:26:11477 days ago1721741171
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81203687492024-07-23 10:51:35478 days ago1721731895
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81202486412024-07-06 16:23:59494 days ago1720283039
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81202486342024-07-06 16:22:35494 days ago1720282955
Yearn: VaultFactory (Ver 3.0.2)
 Contract Creation0 ETH
0x602d3d81202406912024-07-05 13:45:59495 days ago1720187159
Yearn: VaultFactory (Ver 3.0.2)
 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 UpdateGovernance:
    governance: indexed(address)

event NewPendingGovernance:
    pending_governance: indexed(address)

struct PFConfig:
    # Percent of protocol's split of fees in Basis Points.
    fee_bps: uint16
    # Address the protocol fees get paid to.
    fee_recipient: address

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

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

# 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.
pending_governance: public(address)

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

# The default config for assessing protocol fees.
default_protocol_fee_config: public(PFConfig)
# Custom fee to charge for a specific vault or strategy.
custom_protocol_fee: public(HashMap[address, uint16])
# Represents if a custom protocol fee should be used.
use_custom_protocol_fee: public(HashMap[address, bool])

@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) -> PFConfig:
    """
    @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 The protocol fee config for the msg sender.
    """
    # If there is a custom protocol fee set we return it.
    if self.use_custom_protocol_fee[vault]:
        # Always use the default fee recipient even with custom fees.
        return PFConfig({
            fee_bps: self.custom_protocol_fee[vault],
            fee_recipient: self.default_protocol_fee_config.fee_recipient
        })
    else:
        # Otherwise return the default config.
        return self.default_protocol_fee_config

@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_config: PFConfig = self.default_protocol_fee_config
    assert default_config.fee_recipient != empty(address), "no recipient"

    # Set the new fee
    self.default_protocol_fee_config.fee_bps = new_protocol_fee_bps

    log UpdateProtocolFeeBps(
        default_config.fee_bps, 
        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"

    old_recipient: address = self.default_protocol_fee_config.fee_recipient

    self.default_protocol_fee_config.fee_recipient = new_protocol_fee_recipient

    log UpdateProtocolFeeRecipient(
        old_recipient,
        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.default_protocol_fee_config.fee_recipient != empty(address), "no recipient"

    self.custom_protocol_fee[vault] = new_custom_protocol_fee

    # If this is the first time a custom fee is set for this vault
    # set the bool indicator so it returns the correct fee.
    if not self.use_custom_protocol_fee[vault]:
        self.use_custom_protocol_fee[vault] = 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.
    self.custom_protocol_fee[vault] = 0

    # Set custom fee bool back to false.
    self.use_custom_protocol_fee[vault] = 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 set_governance(new_governance: address):
    """
    @notice Set the governance address
    @param new_governance The new governance address
    """
    assert msg.sender == self.governance, "not governance"
    self.pending_governance = new_governance

    log NewPendingGovernance(new_governance)

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

    log UpdateGovernance(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":"UpdateGovernance","inputs":[{"name":"governance","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"NewPendingGovernance","inputs":[{"name":"pending_governance","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":"tuple","components":[{"name":"fee_bps","type":"uint16"},{"name":"fee_recipient","type":"address"}]}]},{"stateMutability":"view","type":"function","name":"protocol_fee_config","inputs":[{"name":"vault","type":"address"}],"outputs":[{"name":"","type":"tuple","components":[{"name":"fee_bps","type":"uint16"},{"name":"fee_recipient","type":"address"}]}]},{"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":"set_governance","inputs":[{"name":"new_governance","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"accept_governance","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":"pending_governance","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"view","type":"function","name":"default_protocol_fee_config","inputs":[],"outputs":[{"name":"","type":"tuple","components":[{"name":"fee_bps","type":"uint16"},{"name":"fee_recipient","type":"address"}]}]},{"stateMutability":"view","type":"function","name":"custom_protocol_fee","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint16"}]},{"stateMutability":"view","type":"function","name":"use_custom_protocol_fee","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"bool"}]}]

6020610e906000396000516040602082610e900160003960005111610e8b57602081610e900160003960005180604052602082018181610e90016060395050506020610eb06000396000518060a01c610e8b5760a0526020610ed06000396000518060a01c610e8b5760c05234610e8b5760405180600355600081601f0160051c60028111610e8b5780156100a857905b8060051b606001518160040155600101818118610090575b50505060a051610dc05260c051600155610dc06100ca61000039610de0610000f36003361161000c57610da8565b60003560e01c34610dae5763b4aeee7781186103115760e43610610dae576004358060a01c610dae576040526024356004016040813511610dae578035806060526020820181816080375050506044356004016020813511610dae5780358060c05260208201803560e0525050506064358060a01c610dae5761010052600054156100f5576008610120527f73687574646f776e0000000000000000000000000000000000000000000000006101405261012050610120518061014001601f826000031636823750506308c379a060e052602061010052601f19601f61012051011660440160fcfd5b7f602d3d8160093d39f3363d3d373d3d3d363d7300000000000000000000000000610280526020610dc060003960005160601b610293527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006102a7526080336101605260405161018052806101a052806101600160605180825260208201818183608060045afa5050508051806020830101601f82600003163682375050601f19601f82516020010116905081019050806101c052806101600160c0518082526020820160e051815250508051806020830101601f82600003163682375050601f19601f825160200101169050810190506101405261014080516020820120905060366102806000f58015610dae5761012052610120516375b30be66101405260a0604051610160528061018052806101600160605180825260208201818183608060045afa5050508051806020830101601f82600003163682375050601f19601f82516020010116905081019050806101a052806101600160c0518082526020820160e051815250508051806020830101601f82600003163682375050601f19601f82516020010116905081019050610100516101c0526084356101e05250803b15610dae57600061014061014461015c6000855af16102db573d600060003e3d6000fd5b50604051610120517f4241302c393c713e690702c4a45a57e93cef59aa8c6e2358495853b3420551d86000610140a36020610120f35b63f71bf70d81186103385760043610610dae576020610dc060003960005160405260206040f35b632582941081186103c05760043610610dae5760208060805260056040527f332e302e3200000000000000000000000000000000000000000000000000000060605260408160800181518082526020830160208301815181525050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506080f35b635153b19981186103dc5760043610610dae57336040526103fe565b636556424b811861044d5760243610610dae576004358060a01c610dae576040525b600960405160205260005260406000205461042c576006546060526007546080526040606061044b5661044b565b6008604051602052600052604060002054606052600754608052604060605bf35b6362fbf60381186105e85760243610610dae576004358060101c610dae576040526001543318156104d557600e6060527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b611388604051131561053e57600c6060527f66656520746f6f2068696768000000000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6006546060526007546080526080516105ae57600c60a0527f6e6f20726563697069656e74000000000000000000000000000000000000000060c05260a05060a0518060c001601f826000031636823750506308c379a06060526020608052601f19601f60a0510116604401607cfd5b6040516006557f678d2b2fe79c193f6c2c18d7515e339afcbd73fcfb360b1d0fbadae07342e05160605160a05260405160c052604060a0a1005b63f8ebccea811861070e5760243610610dae576004358060a01c610dae5760405260015433181561067057600e6060527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516106d457600c6060527f7a65726f2061646472657373000000000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6007546060526040516007556040516060517f6af4e38beb02e4b110090dd85c5adfb341e2278b905068773762fe4666e5db7a60006080a3005b63b5a71e0781186108df5760443610610dae576004358060a01c610dae576040526024358060101c610dae576060526001543318156107a457600e6080527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b611388606051131561080d57600c6080527f66656520746f6f2068696768000000000000000000000000000000000000000060a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b60075461087157600c6080527f6e6f20726563697069656e74000000000000000000000000000000000000000060a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b606051600860405160205260005260406000205560096040516020526000526040600020546108ae57600160096040516020526000526040600020555b6040517f96d6cc624354ffe5a7207dc2dcc152e58e23ac8df9c96943f3cfb10ea4c140ac60605160805260206080a2005b6311a3a43481186109b85760243610610dae576004358060a01c610dae5760405260015433181561096757600e6060527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60006008604051602052600052604060002055600060096040516020526000526040600020556040517f39612c4f13d7a058dece05cf6730e3322fd9a11d6f055a5eacdde49191f45f1f60006060a2005b63365adba68118610ac45760043610610dae57600154331815610a3257600e6040527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b60005415610a975760086040527f73687574646f776e00000000000000000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b60016000557fc643193a97fc0e18d69c95e1c034b91f51fa164ba8ea68dfb6dd98568b9bc96b60006040a1005b63070313fa8118610b7d5760243610610dae576004358060a01c610dae57604052600154331815610b4c57600e6060527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516002556040517f90ad4c550d25bd23af61db38d1ff8671b89edaaa0bca0fc36bac5084ecc120bd60006060a2005b63a7dbff3e8118610c295760043610610dae57600254331815610bf75760166040527f6e6f742070656e64696e6720676f7665726e616e63650000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b336001556000600255337f8d55d160c0009eb3d739442df0a3ca089ed64378bfac017e7ddad463f9815b8760006040a2005b63fc0e74d18118610c485760043610610dae5760005460405260206040f35b635aa6e6758118610c675760043610610dae5760015460405260206040f35b63c66eb0a28118610c865760043610610dae5760025460405260206040f35b6306fdde038118610d0b5760043610610dae576020806040528060400160035480825260208201600082601f0160051c60028111610dae578015610cdd57905b80600401548160051b840152600101818118610cc6575b505050508051806020830101601f82600003163682375050601f19601f825160200101169050810190506040f35b6397ad2ecc8118610d305760043610610dae5760065460405260075460605260406040f35b63cbe286638118610d6b5760243610610dae576004358060a01c610dae57604052600860405160205260005260406000205460605260206060f35b63e94860d88118610da65760243610610dae576004358060a01c610dae57604052600960405160205260005260406000205460605260206060f35b505b60006000fd5b600080fda165767970657283000307000b005b600080fd00000000000000000000000000000000000000000000000000000000000000600000000000000000000000001ab62413e0cf2ebeb73da7d40c70e7202ae1446700000000000000000000000033333333d5efb92f19a5f94a43456b3cec2797ae000000000000000000000000000000000000000000000000000000000000001a596561726e2076332e302e32205661756c7420466163746f7279000000000000

Deployed Bytecode

0x6003361161000c57610da8565b60003560e01c34610dae5763b4aeee7781186103115760e43610610dae576004358060a01c610dae576040526024356004016040813511610dae578035806060526020820181816080375050506044356004016020813511610dae5780358060c05260208201803560e0525050506064358060a01c610dae5761010052600054156100f5576008610120527f73687574646f776e0000000000000000000000000000000000000000000000006101405261012050610120518061014001601f826000031636823750506308c379a060e052602061010052601f19601f61012051011660440160fcfd5b7f602d3d8160093d39f3363d3d373d3d3d363d7300000000000000000000000000610280526020610dc060003960005160601b610293527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006102a7526080336101605260405161018052806101a052806101600160605180825260208201818183608060045afa5050508051806020830101601f82600003163682375050601f19601f82516020010116905081019050806101c052806101600160c0518082526020820160e051815250508051806020830101601f82600003163682375050601f19601f825160200101169050810190506101405261014080516020820120905060366102806000f58015610dae5761012052610120516375b30be66101405260a0604051610160528061018052806101600160605180825260208201818183608060045afa5050508051806020830101601f82600003163682375050601f19601f82516020010116905081019050806101a052806101600160c0518082526020820160e051815250508051806020830101601f82600003163682375050601f19601f82516020010116905081019050610100516101c0526084356101e05250803b15610dae57600061014061014461015c6000855af16102db573d600060003e3d6000fd5b50604051610120517f4241302c393c713e690702c4a45a57e93cef59aa8c6e2358495853b3420551d86000610140a36020610120f35b63f71bf70d81186103385760043610610dae576020610dc060003960005160405260206040f35b632582941081186103c05760043610610dae5760208060805260056040527f332e302e3200000000000000000000000000000000000000000000000000000060605260408160800181518082526020830160208301815181525050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506080f35b635153b19981186103dc5760043610610dae57336040526103fe565b636556424b811861044d5760243610610dae576004358060a01c610dae576040525b600960405160205260005260406000205461042c576006546060526007546080526040606061044b5661044b565b6008604051602052600052604060002054606052600754608052604060605bf35b6362fbf60381186105e85760243610610dae576004358060101c610dae576040526001543318156104d557600e6060527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b611388604051131561053e57600c6060527f66656520746f6f2068696768000000000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6006546060526007546080526080516105ae57600c60a0527f6e6f20726563697069656e74000000000000000000000000000000000000000060c05260a05060a0518060c001601f826000031636823750506308c379a06060526020608052601f19601f60a0510116604401607cfd5b6040516006557f678d2b2fe79c193f6c2c18d7515e339afcbd73fcfb360b1d0fbadae07342e05160605160a05260405160c052604060a0a1005b63f8ebccea811861070e5760243610610dae576004358060a01c610dae5760405260015433181561067057600e6060527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516106d457600c6060527f7a65726f2061646472657373000000000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6007546060526040516007556040516060517f6af4e38beb02e4b110090dd85c5adfb341e2278b905068773762fe4666e5db7a60006080a3005b63b5a71e0781186108df5760443610610dae576004358060a01c610dae576040526024358060101c610dae576060526001543318156107a457600e6080527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b611388606051131561080d57600c6080527f66656520746f6f2068696768000000000000000000000000000000000000000060a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b60075461087157600c6080527f6e6f20726563697069656e74000000000000000000000000000000000000000060a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b606051600860405160205260005260406000205560096040516020526000526040600020546108ae57600160096040516020526000526040600020555b6040517f96d6cc624354ffe5a7207dc2dcc152e58e23ac8df9c96943f3cfb10ea4c140ac60605160805260206080a2005b6311a3a43481186109b85760243610610dae576004358060a01c610dae5760405260015433181561096757600e6060527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60006008604051602052600052604060002055600060096040516020526000526040600020556040517f39612c4f13d7a058dece05cf6730e3322fd9a11d6f055a5eacdde49191f45f1f60006060a2005b63365adba68118610ac45760043610610dae57600154331815610a3257600e6040527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b60005415610a975760086040527f73687574646f776e00000000000000000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b60016000557fc643193a97fc0e18d69c95e1c034b91f51fa164ba8ea68dfb6dd98568b9bc96b60006040a1005b63070313fa8118610b7d5760243610610dae576004358060a01c610dae57604052600154331815610b4c57600e6060527f6e6f7420676f7665726e616e636500000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516002556040517f90ad4c550d25bd23af61db38d1ff8671b89edaaa0bca0fc36bac5084ecc120bd60006060a2005b63a7dbff3e8118610c295760043610610dae57600254331815610bf75760166040527f6e6f742070656e64696e6720676f7665726e616e63650000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b336001556000600255337f8d55d160c0009eb3d739442df0a3ca089ed64378bfac017e7ddad463f9815b8760006040a2005b63fc0e74d18118610c485760043610610dae5760005460405260206040f35b635aa6e6758118610c675760043610610dae5760015460405260206040f35b63c66eb0a28118610c865760043610610dae5760025460405260206040f35b6306fdde038118610d0b5760043610610dae576020806040528060400160035480825260208201600082601f0160051c60028111610dae578015610cdd57905b80600401548160051b840152600101818118610cc6575b505050508051806020830101601f82600003163682375050601f19601f825160200101169050810190506040f35b6397ad2ecc8118610d305760043610610dae5760065460405260075460605260406040f35b63cbe286638118610d6b5760243610610dae576004358060a01c610dae57604052600860405160205260005260406000205460605260206060f35b63e94860d88118610da65760243610610dae576004358060a01c610dae57604052600960405160205260005260406000205460605260206060f35b505b60006000fd5b600080fda165767970657283000307000b0000000000000000000000001ab62413e0cf2ebeb73da7d40c70e7202ae14467

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

00000000000000000000000000000000000000000000000000000000000000600000000000000000000000001ab62413e0cf2ebeb73da7d40c70e7202ae1446700000000000000000000000033333333d5efb92f19a5f94a43456b3cec2797ae000000000000000000000000000000000000000000000000000000000000001a596561726e2076332e302e32205661756c7420466163746f7279000000000000

-----Decoded View---------------
Arg [0] : name (string): Yearn v3.0.2 Vault Factory
Arg [1] : vault_original (address): 0x1ab62413e0cf2eBEb73da7D40C70E7202ae14467
Arg [2] : governance (address): 0x33333333D5eFb92f19a5F94a43456b3cec2797AE

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 0000000000000000000000001ab62413e0cf2ebeb73da7d40c70e7202ae14467
Arg [2] : 00000000000000000000000033333333d5efb92f19a5f94a43456b3cec2797ae
Arg [3] : 000000000000000000000000000000000000000000000000000000000000001a
Arg [4] : 596561726e2076332e302e32205661756c7420466163746f7279000000000000


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.