Contract Overview
Balance:
0 Ether
Token:
More Info
My Name Tag:
Not Available
Txn Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
0x1640bcafb36892c157faf7642c7d191dde705f40491f89c36c5faa18043db8d7 | 0x60806103 | 10395997 | 429 days 2 hrs ago | 0x02139137fdd974181a49268d7b0ae888634e5469 | IN | Create: Vyper_contract | 0 Ether | 0.00034088 |
[ Download CSV Export ]
Latest 25 internal transaction
[ Download CSV Export ]
Contract Source Code Verified (Exact Match)
Contract Name:
Vyper_contract
Compiler Version
vyper:0.2.12
Contract Source Code (Vyper language format)
# @version 0.2.12 from vyper.interfaces import ERC20 steth_token: public(address) ust_token: public(address) ust_per_steth: public(uint256) admin: public(address) steth_vault: public(address) @external def __init__(steth_token: address, ust_token: address, steth_vault: address, ust_per_steth: uint256): self.admin = msg.sender self.steth_token = steth_token self.ust_token = ust_token self.steth_vault = steth_vault self.ust_per_steth = ust_per_steth @external def set_admin(new_admin: address): assert msg.sender == self.admin self.admin = new_admin @external def set_rate(ust_per_steth: uint256): assert msg.sender == self.admin self.ust_per_steth = ust_per_steth @external def recover_erc20(token: address, recipient: address = msg.sender): assert msg.sender == self.admin token_balance: uint256 = ERC20(token).balanceOf(self) if token_balance != 0: assert ERC20(token).transfer(recipient, token_balance) @external def liquidate(ust_recipient: address) -> uint256: steth_token: address = self.steth_token steth_amount: uint256 = ERC20(steth_token).balanceOf(self) ERC20(steth_token).transfer(self.steth_vault, steth_amount) ust_amount: uint256 = (steth_amount * self.ust_per_steth) / 10**18 ERC20(self.ust_token).transfer(ust_recipient, ust_amount) return ust_amount
[{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"steth_token","type":"address"},{"name":"ust_token","type":"address"},{"name":"steth_vault","type":"address"},{"name":"ust_per_steth","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_admin","inputs":[{"name":"new_admin","type":"address"}],"outputs":[],"gas":37545},{"stateMutability":"nonpayable","type":"function","name":"set_rate","inputs":[{"name":"ust_per_steth","type":"uint256"}],"outputs":[],"gas":37475},{"stateMutability":"nonpayable","type":"function","name":"recover_erc20","inputs":[{"name":"token","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"recover_erc20","inputs":[{"name":"token","type":"address"},{"name":"recipient","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"liquidate","inputs":[{"name":"ust_recipient","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":16355},{"stateMutability":"view","type":"function","name":"steth_token","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2508},{"stateMutability":"view","type":"function","name":"ust_token","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2538},{"stateMutability":"view","type":"function","name":"ust_per_steth","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2568},{"stateMutability":"view","type":"function","name":"admin","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2598},{"stateMutability":"view","type":"function","name":"steth_vault","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2628}]
Contract Creation Code
60806103ba6101403960206103ba60c03960c05160a01c1561002057600080fd5b602060206103ba0160c03960c05160a01c1561003b57600080fd5b602060406103ba0160c03960c05160a01c1561005657600080fd5b336003556101405160005561016051600155610180516004556101a0516002556103a256600436101561000d57610321565b600035601c52600051341561002157600080fd5b63e9333fab8114156100535760043560a01c1561003d57600080fd5b600354331461004b57600080fd5b600435600355005b63d4387a9981141561007557600354331461006d57600080fd5b600435600255005b639dcc21bd81141561008b5733610140526100bc565b6351a8792b8114156100b75760243560a01c156100a757600080fd5b60206024610140376000506100bc565b610176565b60043560a01c156100cc57600080fd5b60035433146100da57600080fd5b602061020060246370a0823161018052306101a05261019c6004355afa61010057600080fd5b601f3d1161010d57600080fd5b60005061020051610160526000610160511815610174576020610220604463a9059cbb61018052610140516101a052610160516101c05261019c60006004355af161015757600080fd5b601f3d1161016457600080fd5b6000506102205161017457600080fd5b005b632f8655688114156102a85760043560a01c1561019257600080fd5b60005461014052602061020060246370a0823161018052306101a05261019c610140515afa6101c057600080fd5b601f3d116101cd57600080fd5b60005061020051610160526020610220604463a9059cbb610180526004546101a052610160516101c05261019c6000610140515af161020b57600080fd5b601f3d1161021857600080fd5b6000506102205061016051600254808202821582848304141761023a57600080fd5b80905090509050670de0b6b3a764000080820490509050610180526020610240604463a9059cbb6101a0526004356101c052610180516101e0526101bc60006001545af161028757600080fd5b601f3d1161029457600080fd5b600050610240506101805160005260206000f35b63ed7245c88114156102c05760005460005260206000f35b63b7a8b2aa8114156102d85760015460005260206000f35b622a10ae8114156102ef5760025460005260206000f35b63f851a4408114156103075760035460005260206000f35b633fe5150781141561031f5760045460005260206000f35b505b60006000fd5b61007b6103a20361007b60003961007b6103a2036000f3000000000000000000000000d40eefcfab888c9159a61221def03bf77773fc190000000000000000000000006ca13a4ab78dd7d657226b155873a04db929a3a4000000000000000000000000bf5e5e540e1d9e53980bdc9ffe677357b39f082f0000000000000000000000000000000000000000000000056bc75e2d63100000
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d40eefcfab888c9159a61221def03bf77773fc190000000000000000000000006ca13a4ab78dd7d657226b155873a04db929a3a4000000000000000000000000bf5e5e540e1d9e53980bdc9ffe677357b39f082f0000000000000000000000000000000000000000000000056bc75e2d63100000
-----Decoded View---------------
Arg [0] : steth_token (address): 0xd40eefcfab888c9159a61221def03bf77773fc19
Arg [1] : ust_token (address): 0x6ca13a4ab78dd7d657226b155873a04db929a3a4
Arg [2] : steth_vault (address): 0xbf5e5e540e1d9e53980bdc9ffe677357b39f082f
Arg [3] : ust_per_steth (uint256): 100000000000000000000
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000d40eefcfab888c9159a61221def03bf77773fc19
Arg [1] : 0000000000000000000000006ca13a4ab78dd7d657226b155873a04db929a3a4
Arg [2] : 000000000000000000000000bf5e5e540e1d9e53980bdc9ffe677357b39f082f
Arg [3] : 0000000000000000000000000000000000000000000000056bc75e2d63100000
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.