More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Latest 2 Deposits
L2 Txn Hash | L1 Deposit Txn | Value | Token | |
---|---|---|---|---|
0xacd40a1fbd0788fbe7b16b410fd27041bc5f38f76a2e2a31adb0351cf900e017 | 166 days ago | 60,000 | Optimism (OP) | |
0xd414e4c823d1b212f564f8a717fea96940ffb1056e7dcb542acdeed06fff44fb | 349 days ago | 504,828 | Optimism (OP) |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Vyper_contract
Compiler Version
vyper:0.3.7
Contract Source Code (Vyper language format)
# @version 0.3.7 """ @title Vault @author CurveFi @notice Holds the chain native asset and ERC20s """ from vyper.interfaces import ERC20 event CommitOwnership: future_owner: address event ApplyOwnership: owner: address NATIVE: constant(address) = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE owner: public(address) future_owner: public(address) @external def __init__(_owner: address): self.owner = _owner log ApplyOwnership(_owner) @external def transfer(_token: address, _to: address, _value: uint256): """ @notice Transfer an asset @param _token The token to transfer, or NATIVE if transferring the chain native asset @param _to The destination of the asset @param _value The amount of the asset to transfer """ assert msg.sender == self.owner if _token == NATIVE: send(_to, _value) else: assert ERC20(_token).transfer(_to, _value, default_return_value=True) @external def commit_future_owner(_future_owner: address): assert msg.sender == self.owner self.future_owner = _future_owner log CommitOwnership(_future_owner) @external def apply_future_owner(): assert msg.sender == self.owner future_owner: address = self.future_owner self.owner = future_owner log ApplyOwnership(future_owner) @payable @external def __default__(): assert len(msg.data) == 0
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"name":"CommitOwnership","inputs":[{"name":"future_owner","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"ApplyOwnership","inputs":[{"name":"owner","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_owner","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"transfer","inputs":[{"name":"_token","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"commit_future_owner","inputs":[{"name":"_future_owner","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"apply_future_owner","inputs":[],"outputs":[]},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"view","type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"future_owner","inputs":[],"outputs":[{"name":"","type":"address"}]}]
Contract Creation Code
60206102796000396000518060a01c6102745760405234610274576040516000557febee2d5739011062cb4f14113f3b36bf0ffe3da5c0568f64189d1012a118910560405160605260206060a161021561005e61000039610215610000f36003361161000c576101fc565b60003560e01c63beabacc881186100f45760643610610203576004358060a01c610203576040526024358060a01c61020357606052346102035760005433186102035773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee604051186100875760006000600060006044356060516000f115610203576100f2565b60405163a9059cbb60805260605160a05260443560c052602060806044609c6000855af16100ba573d600060003e3d6000fd5b3d6100d057803b1561020357600160e0526100e7565b60203d10610203576080518060011c6102035760e0525b60e090505115610203575b005b63501579f881186101575760243610610203576004358060a01c6102035760405234610203576000543318610203576040516001557f2f56810a6bf40af059b96d3aea4db54081f378029a518390491093a7b67032e960405160605260206060a1005b633d6da5d881186101b257600436106102035734610203576000543318610203576001546040526040516000557febee2d5739011062cb4f14113f3b36bf0ffe3da5c0568f64189d1012a118910560405160605260206060a1005b638da5cb5b81186101d6576004361061020357346102035760005460405260206040f35b631ec0cdc181186101fa576004361061020357346102035760015460405260206040f35b505b3661020357005b600080fda165767970657283000307000b005b600080fd00000000000000000000000028c4a1fa47eee9226f8de7d6af0a41c62ca98267
Deployed Bytecode
0x6003361161000c576101fc565b60003560e01c63beabacc881186100f45760643610610203576004358060a01c610203576040526024358060a01c61020357606052346102035760005433186102035773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee604051186100875760006000600060006044356060516000f115610203576100f2565b60405163a9059cbb60805260605160a05260443560c052602060806044609c6000855af16100ba573d600060003e3d6000fd5b3d6100d057803b1561020357600160e0526100e7565b60203d10610203576080518060011c6102035760e0525b60e090505115610203575b005b63501579f881186101575760243610610203576004358060a01c6102035760405234610203576000543318610203576040516001557f2f56810a6bf40af059b96d3aea4db54081f378029a518390491093a7b67032e960405160605260206060a1005b633d6da5d881186101b257600436106102035734610203576000543318610203576001546040526040516000557febee2d5739011062cb4f14113f3b36bf0ffe3da5c0568f64189d1012a118910560405160605260206060a1005b638da5cb5b81186101d6576004361061020357346102035760005460405260206040f35b631ec0cdc181186101fa576004361061020357346102035760015460405260206040f35b505b3661020357005b600080fda165767970657283000307000b
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000028c4a1fa47eee9226f8de7d6af0a41c62ca98267
-----Decoded View---------------
Arg [0] : _owner (address): 0x28c4A1Fa47EEE9226F8dE7D6AF0a41C62Ca98267
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000028c4a1fa47eee9226f8de7d6af0a41c62ca98267
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
OP | 100.00% | $2.24 | 60,000 | $134,681.65 |
[ 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.