Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 23934690 | 80 days ago | 0.0006 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
AddressRecovery
Compiler Version
v0.8.30+commit.73712a01
Optimization Enabled:
Yes with 200 runs
Other Settings:
prague EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/access/Ownable.sol";
/**
* @title AddressRecovery
* @notice Non-upgradeable contract to recover funds sent to wrong address
* @dev Deploy multiple times with same nonce to reach target address
*/
contract AddressRecovery is Ownable {
event FundsRecovered(address indexed token, uint256 amount, address indexed to);
event ETHRecovered(uint256 amount, address indexed to);
event NonceSet(uint256 newNonce);
uint256 private currentNonce;
/**
* @notice Constructor
* @param _owner The owner address
*/
constructor(address _owner) Ownable(_owner) {
require(_owner != address(0), "Invalid owner");
}
/**
* @notice Recover ERC20 tokens (including USDT)
* @param token The token contract address
* @param to The destination address
* @param amount The amount to transfer
*/
function recoverToken(
address token,
address to,
uint256 amount
) public onlyOwner {
require(to != address(0), "Invalid recipient");
require(token != address(0), "Invalid token");
// Use low-level call to support non-standard tokens like USDT
(bool success, bytes memory data) = token.call(
abi.encodeWithSelector(0xa9059cbb, to, amount) // transfer(address,uint256)
);
require(success && (data.length == 0 || abi.decode(data, (bool))), "Transfer failed");
emit FundsRecovered(token, amount, to);
}
/**
* @notice Recover all tokens of a specific type
* @param token The token contract address
* @param to The destination address
*/
function recoverAllTokens(address token, address to) external onlyOwner {
uint256 balance = getTokenBalance(token);
require(balance > 0, "No tokens to recover");
recoverToken(token, to, balance);
}
/**
* @notice Recover ETH/native token
* @param to The destination address
*/
function recoverETH(address payable to) external onlyOwner {
require(to != address(0), "Invalid recipient");
uint256 balance = address(this).balance;
require(balance > 0, "No ETH to recover");
(bool success, ) = to.call{value: balance}("");
require(success, "ETH transfer failed");
emit ETHRecovered(balance, to);
}
/**
* @notice Get ERC20 token balance
* @param token The token contract address
*/
function getTokenBalance(address token) public view returns (uint256) {
(bool success, bytes memory data) = token.staticcall(
abi.encodeWithSelector(0x70a08231, address(this)) // balanceOf(address)
);
if (!success || data.length == 0) return 0;
return abi.decode(data, (uint256));
}
/**
* @notice Get contract information
*/
function getContractInfo() external view returns (
address contractAddress,
address ownerAddress,
uint256 ethBalance,
uint256 nonce
) {
return (
address(this),
owner(),
address(this).balance,
currentNonce
);
}
/**
* @notice Set nonce for tracking deployments
* @param _nonce The new nonce value
*/
function setNonce(uint256 _nonce) external onlyOwner {
currentNonce = _nonce;
emit NonceSet(_nonce);
}
/**
* @notice Get current nonce
*/
function getNonce() external view returns (uint256) {
return currentNonce;
}
/**
* @notice Get implementation version
*/
function version() external pure returns (string memory) {
return "2.0.0";
}
// Allow receiving ETH
receive() external payable {}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)
pragma solidity ^0.8.20;
import {Context} from "../utils/Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* The initial owner is set to the address provided by the deployer. This can
* later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
/**
* @dev The caller account is not authorized to perform an operation.
*/
error OwnableUnauthorizedAccount(address account);
/**
* @dev The owner is not a valid owner account. (eg. `address(0)`)
*/
error OwnableInvalidOwner(address owner);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the address provided by the deployer as the initial owner.
*/
constructor(address initialOwner) {
if (initialOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(initialOwner);
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
if (owner() != _msgSender()) {
revert OwnableUnauthorizedAccount(_msgSender());
}
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby disabling any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
if (newOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)
pragma solidity ^0.8.20;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
function _contextSuffixLength() internal view virtual returns (uint256) {
return 0;
}
}{
"remappings": [
"src/polygon/:@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable-v4/contracts/",
"src/polygon/:@openzeppelin/contracts/=lib/openzeppelin-contracts-v4/contracts/",
"script/polygon/:@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable-v4/contracts/",
"script/polygon/:@openzeppelin/contracts/=lib/openzeppelin-contracts-v4/contracts/",
"lib/account-abstraction/:@openzeppelin/contracts/=lib/openzeppelin-contracts-v4/contracts/",
"account-abstraction/=lib/account-abstraction/",
"lib/protocol-monorepo/packages/ethereum-contracts/:@openzeppelin/contracts/=lib/openzeppelin-contracts-v4/contracts/",
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
"@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
"forge-std/=lib/forge-std/src/",
"@superfluid-finance/ethereum-contracts/contracts/=lib/protocol-monorepo/packages/ethereum-contracts/contracts/",
"@chainlink/contracts/=lib/chainlink-ccip/chains/evm/contracts/",
"@openzeppelin/contracts@5.0.2/=lib/openzeppelin-contracts/contracts/",
"chainlink-ccip/=lib/chainlink-ccip/chains/evm/contracts/vendor/optimism/interop-lib/v0/src/",
"ds-test/=lib/openzeppelin-contracts-v4/lib/forge-std/lib/ds-test/src/",
"erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
"halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/",
"openzeppelin-contracts-upgradeable-v4/=lib/openzeppelin-contracts-upgradeable-v4/",
"openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
"openzeppelin-contracts-v4/=lib/openzeppelin-contracts-v4/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"openzeppelin/=lib/openzeppelin-contracts-v4/contracts/",
"protocol-monorepo/=lib/protocol-monorepo/packages/solidity-semantic-money/src/"
],
"optimizer": {
"enabled": true,
"runs": 200
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs",
"appendCBOR": true
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "prague",
"viaIR": false
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"ETHRecovered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"FundsRecovered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newNonce","type":"uint256"}],"name":"NonceSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"getContractInfo","outputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"address","name":"ownerAddress","type":"address"},{"internalType":"uint256","name":"ethBalance","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"recoverAllTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"to","type":"address"}],"name":"recoverETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"recoverToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"setNonce","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
608060405234801561000f575f5ffd5b50604051610abd380380610abd83398101604081905261002e91610102565b806001600160a01b03811661005d57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610066816100b3565b506001600160a01b0381166100ad5760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b21037bbb732b960991b6044820152606401610054565b5061012f565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610112575f5ffd5b81516001600160a01b0381168114610128575f5ffd5b9392505050565b6109818061013c5f395ff3fe60806040526004361061009d575f3560e01c80638184be40116100625780638184be40146101815780638da5cb5b146101a0578063a7229fd9146101c6578063d087d288146101e5578063f2fde38b146101f9578063f360c18314610218575f5ffd5b8063134dfcd8146100a85780633aecd0e3146100c957806354fd4d50146100fb578063715018a61461012e5780637cc1f86714610142575f5ffd5b366100a457005b5f5ffd5b3480156100b3575f5ffd5b506100c76100c236600461081c565b610237565b005b3480156100d4575f5ffd5b506100e86100e336600461081c565b6103ad565b6040519081526020015b60405180910390f35b348015610106575f5ffd5b5060408051808201825260058152640322e302e360dc1b602082015290516100f2919061083e565b348015610139575f5ffd5b506100c761047b565b34801561014d575f5ffd5b5061015661048e565b604080516001600160a01b0395861681529490931660208501529183015260608201526080016100f2565b34801561018c575f5ffd5b506100c761019b366004610873565b6104b6565b3480156101ab575f5ffd5b505f546040516001600160a01b0390911681526020016100f2565b3480156101d1575f5ffd5b506100c76101e03660046108aa565b610520565b3480156101f0575f5ffd5b506001546100e8565b348015610204575f5ffd5b506100c761021336600461081c565b61070d565b348015610223575f5ffd5b506100c76102323660046108e8565b61074a565b61023f61078d565b6001600160a01b03811661028e5760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b60448201526064015b60405180910390fd5b47806102d05760405162461bcd60e51b815260206004820152601160248201527027379022aa24103a37903932b1b7bb32b960791b6044820152606401610285565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610319576040519150601f19603f3d011682016040523d82523d5f602084013e61031e565b606091505b50509050806103655760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b6044820152606401610285565b826001600160a01b03167f25213c8d5048cca89c796aa5e8a729fc974306a669938d884d396f5c4318c536836040516103a091815260200190565b60405180910390a2505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17905290515f91829182916001600160a01b0386169161040391906108ff565b5f60405180830381855afa9150503d805f811461043b576040519150601f19603f3d011682016040523d82523d5f602084013e610440565b606091505b509150915081158061045157508051155b1561045f57505f9392505050565b808060200190518101906104739190610915565b949350505050565b61048361078d565b61048c5f6107b9565b565b5f5f5f5f306104a45f546001600160a01b031690565b47600154935093509350935090919293565b6104be61078d565b5f6104c8836103ad565b90505f81116105105760405162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b6044820152606401610285565b61051b838383610520565b505050565b61052861078d565b6001600160a01b0382166105725760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b6044820152606401610285565b6001600160a01b0383166105b85760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2103a37b5b2b760991b6044820152606401610285565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f9283929087169161061391906108ff565b5f604051808303815f865af19150503d805f811461064c576040519150601f19603f3d011682016040523d82523d5f602084013e610651565b606091505b509150915081801561067b57508051158061067b57508080602001905181019061067b919061092c565b6106b95760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606401610285565b836001600160a01b0316856001600160a01b03167fdd41482ef6c9c36b18740b9be7cafc1cc79e149e9639aae568478f28ac5390b4856040516106fe91815260200190565b60405180910390a35050505050565b61071561078d565b6001600160a01b03811661073e57604051631e4fbdf760e01b81525f6004820152602401610285565b610747816107b9565b50565b61075261078d565b60018190556040518181527f932769c161766a418f4a836d8368923ad778a1f0aa9d20de3cfca66ae6ccf13e9060200160405180910390a150565b5f546001600160a01b0316331461048c5760405163118cdaa760e01b8152336004820152602401610285565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610747575f5ffd5b5f6020828403121561082c575f5ffd5b813561083781610808565b9392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f60408385031215610884575f5ffd5b823561088f81610808565b9150602083013561089f81610808565b809150509250929050565b5f5f5f606084860312156108bc575f5ffd5b83356108c781610808565b925060208401356108d781610808565b929592945050506040919091013590565b5f602082840312156108f8575f5ffd5b5035919050565b5f82518060208501845e5f920191825250919050565b5f60208284031215610925575f5ffd5b5051919050565b5f6020828403121561093c575f5ffd5b81518015158114610837575f5ffdfea26469706673582212208c6cd93cbd8ff2f0677a562ce17c0f67cef4a288d054e6703c91e73ebe529b8d64736f6c634300081e003300000000000000000000000099a7cbc79a70b1da86c60fe902b6807df510c947
Deployed Bytecode
0x60806040526004361061009d575f3560e01c80638184be40116100625780638184be40146101815780638da5cb5b146101a0578063a7229fd9146101c6578063d087d288146101e5578063f2fde38b146101f9578063f360c18314610218575f5ffd5b8063134dfcd8146100a85780633aecd0e3146100c957806354fd4d50146100fb578063715018a61461012e5780637cc1f86714610142575f5ffd5b366100a457005b5f5ffd5b3480156100b3575f5ffd5b506100c76100c236600461081c565b610237565b005b3480156100d4575f5ffd5b506100e86100e336600461081c565b6103ad565b6040519081526020015b60405180910390f35b348015610106575f5ffd5b5060408051808201825260058152640322e302e360dc1b602082015290516100f2919061083e565b348015610139575f5ffd5b506100c761047b565b34801561014d575f5ffd5b5061015661048e565b604080516001600160a01b0395861681529490931660208501529183015260608201526080016100f2565b34801561018c575f5ffd5b506100c761019b366004610873565b6104b6565b3480156101ab575f5ffd5b505f546040516001600160a01b0390911681526020016100f2565b3480156101d1575f5ffd5b506100c76101e03660046108aa565b610520565b3480156101f0575f5ffd5b506001546100e8565b348015610204575f5ffd5b506100c761021336600461081c565b61070d565b348015610223575f5ffd5b506100c76102323660046108e8565b61074a565b61023f61078d565b6001600160a01b03811661028e5760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b60448201526064015b60405180910390fd5b47806102d05760405162461bcd60e51b815260206004820152601160248201527027379022aa24103a37903932b1b7bb32b960791b6044820152606401610285565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610319576040519150601f19603f3d011682016040523d82523d5f602084013e61031e565b606091505b50509050806103655760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b6044820152606401610285565b826001600160a01b03167f25213c8d5048cca89c796aa5e8a729fc974306a669938d884d396f5c4318c536836040516103a091815260200190565b60405180910390a2505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17905290515f91829182916001600160a01b0386169161040391906108ff565b5f60405180830381855afa9150503d805f811461043b576040519150601f19603f3d011682016040523d82523d5f602084013e610440565b606091505b509150915081158061045157508051155b1561045f57505f9392505050565b808060200190518101906104739190610915565b949350505050565b61048361078d565b61048c5f6107b9565b565b5f5f5f5f306104a45f546001600160a01b031690565b47600154935093509350935090919293565b6104be61078d565b5f6104c8836103ad565b90505f81116105105760405162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b6044820152606401610285565b61051b838383610520565b505050565b61052861078d565b6001600160a01b0382166105725760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b6044820152606401610285565b6001600160a01b0383166105b85760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2103a37b5b2b760991b6044820152606401610285565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f9283929087169161061391906108ff565b5f604051808303815f865af19150503d805f811461064c576040519150601f19603f3d011682016040523d82523d5f602084013e610651565b606091505b509150915081801561067b57508051158061067b57508080602001905181019061067b919061092c565b6106b95760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606401610285565b836001600160a01b0316856001600160a01b03167fdd41482ef6c9c36b18740b9be7cafc1cc79e149e9639aae568478f28ac5390b4856040516106fe91815260200190565b60405180910390a35050505050565b61071561078d565b6001600160a01b03811661073e57604051631e4fbdf760e01b81525f6004820152602401610285565b610747816107b9565b50565b61075261078d565b60018190556040518181527f932769c161766a418f4a836d8368923ad778a1f0aa9d20de3cfca66ae6ccf13e9060200160405180910390a150565b5f546001600160a01b0316331461048c5760405163118cdaa760e01b8152336004820152602401610285565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610747575f5ffd5b5f6020828403121561082c575f5ffd5b813561083781610808565b9392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f60408385031215610884575f5ffd5b823561088f81610808565b9150602083013561089f81610808565b809150509250929050565b5f5f5f606084860312156108bc575f5ffd5b83356108c781610808565b925060208401356108d781610808565b929592945050506040919091013590565b5f602082840312156108f8575f5ffd5b5035919050565b5f82518060208501845e5f920191825250919050565b5f60208284031215610925575f5ffd5b5051919050565b5f6020828403121561093c575f5ffd5b81518015158114610837575f5ffdfea26469706673582212208c6cd93cbd8ff2f0677a562ce17c0f67cef4a288d054e6703c91e73ebe529b8d64736f6c634300081e0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000099a7cbc79a70b1da86c60fe902b6807df510c947
-----Decoded View---------------
Arg [0] : _owner (address): 0x99A7cbc79a70b1dA86C60Fe902B6807Df510C947
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000099a7cbc79a70b1da86c60fe902b6807df510c947
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.