Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| 0x60c03460 | 22034863 | 369 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
GovStakerEscrow
Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled:
Yes with 200 runs
Other Settings:
cancun EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity 0.8.28;
import '@openzeppelin/contracts/token/ERC20/IERC20.sol';
contract GovStakerEscrow {
address immutable staker;
IERC20 immutable token;
constructor(address _staker, address _token) {
staker = _staker;
token = IERC20(_token);
}
modifier onlyStaker() {
require(msg.sender == staker, "!Staker");
_;
}
function withdraw(address to, uint256 amount) external onlyStaker {
token.transfer(to, amount);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/IERC20.sol)
pragma solidity ^0.8.20;
/**
* @dev Interface of the ERC-20 standard as defined in the ERC.
*/
interface IERC20 {
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
/**
* @dev Returns the value of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the value of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves a `value` amount of tokens from the caller's account to `to`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address to, uint256 value) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets a `value` amount of tokens as the allowance of `spender` over the
* caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 value) external returns (bool);
/**
* @dev Moves a `value` amount of tokens from `from` to `to` using the
* allowance mechanism. `value` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(address from, address to, uint256 value) external returns (bool);
}{
"remappings": [
"ds-test/=node_modules/ds-test/src/",
"forge-std/=node_modules/forge-std/src/",
"frax-std/=node_modules/frax-standard-solidity/src/",
"@axelar-network/=node_modules/@axelar-network/",
"@chainlink/=node_modules/@chainlink/",
"@eth-optimism/=node_modules/@eth-optimism/",
"@layerzerolabs/=node_modules/@layerzerolabs/",
"@mean-finance/=node_modules/@mean-finance/",
"@openzeppelin/=node_modules/@openzeppelin/",
"@rari-capital/=node_modules/@rari-capital/",
"@uniswap/=node_modules/@uniswap/",
"base64-sol/=node_modules/base64-sol/",
"frax-standard-solidity/=node_modules/frax-standard-solidity/",
"hardhat-deploy/=node_modules/hardhat-deploy/",
"hardhat/=node_modules/hardhat/",
"solidity-bytes-utils/=node_modules/solidity-bytes-utils/",
"solidity-stringutils/=lib/surl/lib/solidity-stringutils/",
"surl/=lib/surl/"
],
"optimizer": {
"enabled": true,
"runs": 200
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "none",
"appendCBOR": true
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "cancun",
"viaIR": true,
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_staker","type":"address"},{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60c034607c57601f61022738819003918201601f19168301916001600160401b038311848410176080578084926040948552833981010312607c57604b60206045836094565b92016094565b6080919091526001600160a01b031660a05260405161017f90816100a8823960805181604e015260a0518160a30152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b0382168203607c5756fe6080806040526004361015610012575f80fd5b5f3560e01c63f3fef3a314610025575f80fd5b3461011c57604036600319011261011c576004356001600160a01b038116919082900361011c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610146575060405163a9059cbb60e01b8152600481019190915260248035908201526020816044815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561013b576100d957005b60203d602011610134575b601f8101601f1916820167ffffffffffffffff8111838210176101205760209183916040528101031261011c57518015150361011c57005b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b503d6100e4565b6040513d5f823e3d90fd5b62461bcd60e51b815260206004820152600760248201526610a9ba30b5b2b960c91b6044820152606490fdfea164736f6c634300081c000a00000000000000000000000022222222e9fe38f6f1fc8c61b25228adb4d8b953000000000000000000000000419905009e4656fdc02418c7df35b1e61ed5f726
Deployed Bytecode
0x6080806040526004361015610012575f80fd5b5f3560e01c63f3fef3a314610025575f80fd5b3461011c57604036600319011261011c576004356001600160a01b038116919082900361011c577f00000000000000000000000022222222e9fe38f6f1fc8c61b25228adb4d8b9536001600160a01b03163303610146575060405163a9059cbb60e01b8152600481019190915260248035908201526020816044815f7f000000000000000000000000419905009e4656fdc02418c7df35b1e61ed5f7266001600160a01b03165af1801561013b576100d957005b60203d602011610134575b601f8101601f1916820167ffffffffffffffff8111838210176101205760209183916040528101031261011c57518015150361011c57005b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b503d6100e4565b6040513d5f823e3d90fd5b62461bcd60e51b815260206004820152600760248201526610a9ba30b5b2b960c91b6044820152606490fdfea164736f6c634300081c000a
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000022222222e9fe38f6f1fc8c61b25228adb4d8b953000000000000000000000000419905009e4656fdc02418c7df35b1e61ed5f726
-----Decoded View---------------
Arg [0] : _staker (address): 0x22222222E9fE38F6f1FC8C61b25228adB4D8B953
Arg [1] : _token (address): 0x419905009e4656fdC02418C7Df35B1E61Ed5F726
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000022222222e9fe38f6f1fc8c61b25228adb4d8b953
Arg [1] : 000000000000000000000000419905009e4656fdc02418c7df35b1e61ed5f726
Loading...
Loading
Loading...
Loading
Net Worth in USD
$15,185.91
Net Worth in ETH
6.555353
Token Allocations
RSUP
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $0.162925 | 93,207.9557 | $15,185.91 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.