{"address":"0x984da6101dc51cf2d18ba389610db339b96e936a","latest":5077323,"price":{"usd":0.6114263711880005,"btc":0,"change24h":0,"marketCap":181431307.7126813,"volume24h":0,"source":"onchain","venue":"On-chain pool WDAN/USDT on dannyswap"},"balance":"0","nonce":1,"codeSize":1783,"isContract":true,"contract":{"verified":true,"name":"StakedDANToken","compiler":"v0.8.28+commit.7893614a","optimization":true,"runs":200,"license":"none","proxy":false,"implementation":null,"sourceCode":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\n/* ========= Context ========= */\nabstract contract Context {\n    function _msgSender() internal view virtual returns (address) {\n        return msg.sender;\n    }\n}\n\n/* ========= Ownable ========= */\nabstract contract Ownable is Context {\n    address private _owner;\n\n    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n    error OwnableUnauthorizedAccount(address account);\n    error OwnableInvalidOwner(address owner);\n\n    constructor(address initialOwner) {\n        if (initialOwner == address(0)) revert OwnableInvalidOwner(address(0));\n        _transferOwnership(initialOwner);\n    }\n\n    modifier onlyOwner() {\n        if (_owner != _msgSender()) revert OwnableUnauthorizedAccount(_msgSender());\n        _;\n    }\n\n    function owner() public view returns (address) {\n        return _owner;\n    }\n\n    function transferOwnership(address newOwner) public onlyOwner {\n        if (newOwner == address(0)) revert OwnableInvalidOwner(address(0));\n        _transferOwnership(newOwner);\n    }\n\n    function _transferOwnership(address newOwner) internal {\n        address old = _owner;\n        _owner = newOwner;\n        emit OwnershipTransferred(old, newOwner);\n    }\n}\n\n/* ========= Non-transferable ERC20 ========= */\ncontract StakedDANToken is Ownable {\n\n    string public name = \"Staked DAN\";\n    string public symbol = \"stDAN\";\n    uint8 public decimals = 18;\n\n    uint256 private _totalSupply;\n    address public staking;\n\n    mapping(address => uint256) private balances;\n\n    /* ========= ERC20 EVENTS ========= */\n    event Transfer(address indexed from, address indexed to, uint256 value);\n\n    /* ========= ERRORS ========= */\n    error NotStaking();\n    \n\n    modifier onlyStaking() {\n        if (msg.sender != staking) revert NotStaking();\n        _;\n    }\n\n    constructor() Ownable(msg.sender) {}\n\n    /* ========= VIEW ========= */\n\n    function totalSupply() external view returns (uint256) {\n        return _totalSupply;\n    }\n\n    function balanceOf(address user) external view returns (uint256) {\n        return balances[user];\n    }\n\n\n    /* ========= STAKING CONTROL ========= */\n\n    function mint(address to, uint256 amount) external onlyStaking {\n        _totalSupply += amount;\n        balances[to] += amount;\n\n        emit Transfer(address(0), to, amount);\n    }\n\n    function burn(address from, uint256 amount) external onlyStaking {\n        require(balances[from] >= amount, \"StakedDANToken: insufficient balance\");\n\n        balances[from] -= amount;\n        _totalSupply -= amount;\n\n        emit Transfer(from, address(0), amount);\n    }\n\n    /* ========= ADMIN ========= */\n\n    function setStakingAddress(address _staking) external onlyOwner {\n        require(_staking != address(0), \"StakedDANToken: invalid staking address\");\n        staking = _staking;\n    }\n}","abi":"[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"NotStaking\",\"type\":\"error\"},{\"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\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_staking\",\"type\":\"address\"}],\"name\":\"setStakingAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"staking\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]"},"tokens":[{"address":"0xd84b7c96c23bab37b585bac98dfe6651d30f6c11","name":"Rescue Loyal","symbol":"RLY","decimals":18,"type":"ERC-20","value":"1299000000000000000000","tokenId":null,"price":0.00020411236156509},{"address":"0x31d4e75638a019bcbfcc662184054c2028dd6330","name":"SANDEE COIN","symbol":"SDC","decimals":18,"type":"ERC-20","value":"600000000000000000000","tokenId":null,"price":0.05724022002896258},{"address":"0xc7a34fced3d2ac8f1c09c41d00221dc35cdf70dc","name":"DAISY","symbol":"DS","decimals":18,"type":"ERC-20","value":"200000000000000000000","tokenId":null,"price":0.004890823992111704},{"address":"0x946447082dfacdeaf42bf40d950450dc593077ce","name":"RESCUECOIN","symbol":"RESC","decimals":18,"type":"ERC-20","value":"500000000000000","tokenId":null,"price":0.02967177438080589},{"address":"0x01c2596a7bf1d647123bd707c0b294188739cb8d","name":"BASCOIN","symbol":"BAS","decimals":18,"type":"ERC-20","value":"500000000000000","tokenId":null,"price":1.4684594113910023},{"address":"0x9b5a98b2d128da433c3fa109b9b2d09d2b5df5d6","name":"CHRISTIANCOIN","symbol":"CHRISTIAN","decimals":18,"type":"ERC-20","value":"500000000000000","tokenId":null,"price":0.3144943261376748}],"summary":{"isContract":true,"isVerified":true,"name":"Staked DAN","ensName":null,"creator":"0xad5292d3d35f57cc0d7876cfd7b583dc99637b0d","creationTx":null,"publicTags":[],"hasTokens":true,"hasLogs":true,"validatedBlocks":false},"firstLast":{"last":{"hash":"0xbb9827a43e1dd16f2711eea6648f2da3ee7f04e801ec290460c0844742f00170","timestamp":1783412323,"blockNumber":2588861},"first":{"hash":"0xb9f118345f874c45dfe07633012dc5429b967d88fdc406443fcecacfd5d98812","timestamp":1778574812,"blockNumber":172148},"fundedBy":{"address":"0xad5292d3d35f57cc0d7876cfd7b583dc99637b0d","hash":"0x684d959904fb2ba3672b264615fd5bb403f30cec7a9a0546690e9ca8fee2e522"},"complete":true},"tab":"txs","page":1,"offset":25,"scan":{"available":true,"source":"blockscout","ok":true,"message":"OK"},"rows":[{"hash":"0xbb9827a43e1dd16f2711eea6648f2da3ee7f04e801ec290460c0844742f00170","blockNumber":"2588861","timeStamp":"1783412323","from":"0xf2d959fb14f6dd2fb0a6ee5b72fd1d86d28c7abe","to":"0x984da6101dc51cf2d18ba389610db339b96e936a","contractAddress":"","value":"30000000000000000000","gas":"21000","gasUsed":"21000","gasPrice":"4500000000000","isError":"1","txreceipt_status":"0","input":"0x","methodId":null,"functionName":""},{"hash":"0x7031a148c463a4d0572928d38f72bc9cb43818f2d5eeccc62812779bb4883a37","blockNumber":"484543","timeStamp":"1779199815","from":"0xbb576f8a4283c9cba153f9c79f2ac4fe50fde526","to":"0x984da6101dc51cf2d18ba389610db339b96e936a","contractAddress":"","value":"1000000000000000000","gas":"11200000","gasUsed":"21045","gasPrice":"4500000000000","isError":"1","txreceipt_status":"0","input":"0x","methodId":null,"functionName":""},{"hash":"0x02caa1d7314a821d3494f7820e17185bcc28d09a3b3b2a3d08e06203ac8d5130","blockNumber":"484313","timeStamp":"1779199355","from":"0x3435d20738487c21f24063a4851ff2c6ba20218b","to":"0x984da6101dc51cf2d18ba389610db339b96e936a","contractAddress":"","value":"1000000000000000000000000","gas":"11200000","gasUsed":"21045","gasPrice":"4500000000000","isError":"1","txreceipt_status":"0","input":"0x","methodId":null,"functionName":""},{"hash":"0x5ab1a0b764acf05216d641b3ecd4283f13370f07c6c295d0c5d1a7fe877640ad","blockNumber":"173166","timeStamp":"1778576848","from":"0xad5292d3d35f57cc0d7876cfd7b583dc99637b0d","to":"0x984da6101dc51cf2d18ba389610db339b96e936a","contractAddress":"","value":"0","gas":"28976","gasUsed":"28629","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xf2fde38b0000000000000000000000003435d20738487c21f24063a4851ff2c6ba20218b","methodId":"0xf2fde38b","functionName":"transferOwnership"},{"hash":"0x684d959904fb2ba3672b264615fd5bb403f30cec7a9a0546690e9ca8fee2e522","blockNumber":"172528","timeStamp":"1778575572","from":"0xad5292d3d35f57cc0d7876cfd7b583dc99637b0d","to":"0x984da6101dc51cf2d18ba389610db339b96e936a","contractAddress":"","value":"0","gas":"46570","gasUsed":"46188","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xf4e0d9ac000000000000000000000000122bb68ec91169e792249524ef8fc3cdcf62f472","methodId":"0xf4e0d9ac","functionName":"setStakingAddress"},{"hash":"0xb9f118345f874c45dfe07633012dc5429b967d88fdc406443fcecacfd5d98812","blockNumber":"172148","timeStamp":"1778574812","from":"0xad5292d3d35f57cc0d7876cfd7b583dc99637b0d","to":"","contractAddress":"0x984da6101dc51cf2d18ba389610db339b96e936a","value":"0","gas":"1600000","gasUsed":"538333","gasPrice":"4600000000000","isError":"0","txreceipt_status":"1","input":"0x60c0604052600a60809081526929ba30b5b2b2102220a760b11b60a0526001906100299082610192565b5060408051808201909152600581526439ba2220a760d91b60208201526002906100539082610192565b506003805460ff1916601217905534801561006d57600080fd5b50338061009457604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b61009d816100a3565b50610250565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061011d57607f821691505b60208210810361013d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561018d57806000526020600020601f840160051c8101602085101561016a5750805b601f840160051c820191505b8181101561018a5760008155600101610176565b50505b505050565b81516001600160401b038111156101ab576101ab6100f3565b6101bf816101b98454610109565b84610143565b6020601f8211600181146101f357600083156101db5750848201515b600019600385901b1c1916600184901b17845561018a565b600084815260208120601f198516915b828110156102235787850151825560209485019460019092019101610203565b50848210156102415786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6106f78061025f6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806370a082311161007157806370a082311461013d5780638da5cb5b1461016657806395d89b41146101775780639dc29fac1461017f578063f2fde38b14610192578063f4e0d9ac146101a557600080fd5b806306fdde03146100ae57806318160ddd146100cc578063313ce567146100de57806340c10f19146100fd5780634cf088d914610112575b600080fd5b6100b66101b8565b6040516100c3919061058f565b60405180910390f35b6004545b6040519081526020016100c3565b6003546100eb9060ff1681565b60405160ff90911681526020016100c3565b61011061010b3660046105f9565b610246565b005b600554610125906001600160a01b031681565b6040516001600160a01b0390911681526020016100c3565b6100d061014b366004610623565b6001600160a01b031660009081526006602052604090205490565b6000546001600160a01b0316610125565b6100b66102fb565b61011061018d3660046105f9565b610308565b6101106101a0366004610623565b610430565b6101106101b3366004610623565b61049f565b600180546101c590610645565b80601f01602080910402602001604051908101604052809291908181526020018280546101f190610645565b801561023e5780601f106102135761010080835404028352916020019161023e565b820191906000526020600020905b81548152906001019060200180831161022157829003601f168201915b505050505081565b6005546001600160a01b0316331461027157604051634487f62960e11b815260040160405180910390fd5b80600460008282546102839190610695565b90915550506001600160a01b038216600090815260066020526040812080548392906102b0908490610695565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b600280546101c590610645565b6005546001600160a01b0316331461033357604051634487f62960e11b815260040160405180910390fd5b6001600160a01b0382166000908152600660205260409020548111156103ac5760405162461bcd60e51b8152602060048201526024808201527f5374616b656444414e546f6b656e3a20696e73756666696369656e742062616c604482015263616e636560e01b60648201526084015b60405180910390fd5b6001600160a01b038216600090815260066020526040812080548392906103d49084906106ae565b9250508190555080600460008282546103ed91906106ae565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016102ef565b6000546001600160a01b0316331461046957335b60405163118cdaa760e01b81526001600160a01b0390911660048201526024016103a3565b6001600160a01b03811661049357604051631e4fbdf760e01b8152600060048201526024016103a3565b61049c8161053f565b50565b6000546001600160a01b031633146104b75733610444565b6001600160a01b03811661051d5760405162461bcd60e51b815260206004820152602760248201527f5374616b656444414e546f6b656e3a20696e76616c6964207374616b696e67206044820152666164647265737360c81b60648201526084016103a3565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b602081526000825180602084015260005b818110156105bd57602081860181015160408684010152016105a0565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146105f457600080fd5b919050565b6000806040838503121561060c57600080fd5b610615836105dd565b946020939093013593505050565b60006020828403121561063557600080fd5b61063e826105dd565b9392505050565b600181811c9082168061065957607f821691505b60208210810361067957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156106a8576106a861067f565b92915050565b818103818111156106a8576106a861067f56fea2646970667358221220f62324548d783d1affbd9b32a6dad044b9c82c6b5045d03817ba4c4b45a3cffd64736f6c634300081c0033","methodId":"0x60c06040","functionName":""}],"nextCursor":null}