ERC-20
Overview
Max Total Supply
399.952934657436426365 wstUSDT
Holders
5
Market
Price
$1.05 @ 0.000382 ETH (+0.21%)
Onchain Market Cap
$421.15
Circulating Supply Market Cap
$0.00
Other Info
Token Contract (WITH 18 Decimals)
Balance
0 wstUSDTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|---|---|---|---|---|
1 | ![]() | WSTUSDT-USDT | $1.051 0.0003807 Eth | $9,195,536.00 8,772,553.991 WSTUSDT | 88.8953% |
2 | ![]() | WSTUSDT-USDT | $1.061 0.0003842 Eth | $1,165,284.00 1,095,858.457 WSTUSDT | 11.1047% |
Contract Name:
WstUSDTProxy
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-27 */ // Sources flattened with hardhat v2.16.1 https://hardhat.org // File contracts/AdminStorage.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.18; contract AdminStorage { /** * @notice Administrator for this contract */ address public admin; /** * @notice Pending administrator for this contract */ address public pendingAdmin; /** * @notice Active brains of this contract */ address public implementation; /** * @notice Pending brains of this contract */ address public pendingImplementation; } // File contracts/AdminProxy.sol pragma solidity ^0.8.18; abstract contract AdminProxy is AdminStorage { /** * @notice Emitted when pendingImplementation is changed */ event NewPendingImplementation(address oldPendingImplementation, address newPendingImplementation); /** * @notice Emitted when pendingImplementation is accepted, which means implementation is updated */ event NewImplementation(address oldImplementation, address newImplementation); /** * @notice Emitted when pendingAdmin is changed */ event NewPendingAdmin(address oldPendingAdmin, address newPendingAdmin); /** * @notice Emitted when pendingAdmin is accepted, which means admin is updated */ event NewAdmin(address oldAdmin, address newAdmin); /** * @dev Delegates execution to an implementation contract. * It returns to the external caller whatever the implementation returns * or forwards reverts. */ fallback() external payable { // delegate all other functions to current implementation (bool success, ) = implementation.delegatecall(msg.data); assembly { let free_mem_ptr := mload(0x40) let size := returndatasize() returndatacopy(free_mem_ptr, 0, size) switch success case 0 { revert(free_mem_ptr, size) } default { return(free_mem_ptr, size) } } } /*** Admin Functions ***/ function _setPendingImplementation(address newPendingImplementation) public { require(msg.sender == admin, "SET_PENDING_IMPLEMENTATION_OWNER_CHECK"); address oldPendingImplementation = pendingImplementation; pendingImplementation = newPendingImplementation; emit NewPendingImplementation(oldPendingImplementation, pendingImplementation); } /** * @notice Accepts new implementation of comptroller. msg.sender must be pendingImplementation * @dev Admin function for new implementation to accept it's role as implementation */ function _acceptImplementation() public { // Check caller is pendingImplementation and pendingImplementation ≠ address(0) require(msg.sender == pendingImplementation && pendingImplementation != address(0), "ACCEPT_PENDING_IMPLEMENTATION_ADDRESS_CHECK"); // Save current values for inclusion in log address oldImplementation = implementation; address oldPendingImplementation = pendingImplementation; implementation = pendingImplementation; pendingImplementation = address(0); emit NewImplementation(oldImplementation, implementation); emit NewPendingImplementation(oldPendingImplementation, pendingImplementation); } /** * @notice Begins transfer of admin rights. The newPendingAdmin must call `_acceptAdmin` to finalize the transfer. * @dev Admin function to begin change of admin. The newPendingAdmin must call `_acceptAdmin` to finalize the transfer. * @param newPendingAdmin New pending admin. */ function _setPendingAdmin(address newPendingAdmin) public { // Check caller = admin require(msg.sender == admin, "SET_PENDING_ADMIN_OWNER_CHECK"); // Save current value, if any, for inclusion in log address oldPendingAdmin = pendingAdmin; // Store pendingAdmin with value newPendingAdmin pendingAdmin = newPendingAdmin; // Emit NewPendingAdmin(oldPendingAdmin, newPendingAdmin) emit NewPendingAdmin(oldPendingAdmin, newPendingAdmin); } /** * @notice Accepts transfer of admin rights. msg.sender must be pendingAdmin * @dev Admin function for pending admin to accept role and update admin */ function _acceptAdmin() public { // Check caller is pendingAdmin and pendingAdmin ≠ address(0) require(msg.sender == pendingAdmin && pendingAdmin != address(0), "ACCEPT_ADMIN_PENDING_ADMIN_CHECK"); // Save current values for inclusion in log address oldAdmin = admin; address oldPendingAdmin = pendingAdmin; // Store admin with value pendingAdmin admin = pendingAdmin; // Clear the pending value pendingAdmin = address(0); emit NewAdmin(oldAdmin, admin); emit NewPendingAdmin(oldPendingAdmin, pendingAdmin); } } // File contracts/WstUSDTProxy.sol pragma solidity ^0.8.18; contract WstUSDTProxy is AdminProxy { constructor(address _implementation, address _admin) { require(_admin != address(0), "ZERO_ADMIN_ADDRESS"); admin = _admin; implementation = _implementation; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_implementation","type":"address"},{"internalType":"address","name":"_admin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"NewAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldImplementation","type":"address"},{"indexed":false,"internalType":"address","name":"newImplementation","type":"address"}],"name":"NewImplementation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldPendingAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newPendingAdmin","type":"address"}],"name":"NewPendingAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldPendingImplementation","type":"address"},{"indexed":false,"internalType":"address","name":"newPendingImplementation","type":"address"}],"name":"NewPendingImplementation","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"_acceptAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_acceptImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newPendingAdmin","type":"address"}],"name":"_setPendingAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newPendingImplementation","type":"address"}],"name":"_setPendingImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405161075938038061075983398101604081905261002f916100ce565b6001600160a01b03811661007e5760405162461bcd60e51b81526020600482015260126024820152715a45524f5f41444d494e5f4144445245535360701b604482015260640160405180910390fd5b600080546001600160a01b039283166001600160a01b03199182161790915560028054939092169216919091179055610101565b80516001600160a01b03811681146100c957600080fd5b919050565b600080604083850312156100e157600080fd5b6100ea836100b2565b91506100f8602084016100b2565b90509250929050565b610649806101106000396000f3fe60806040526004361061007b5760003560e01c8063c1e803341161004e578063c1e8033414610195578063e992a041146101aa578063e9c714f2146101ca578063f851a440146101df5761007b565b806326782247146100f9578063396f7b23146101355780635c60da1b14610155578063b71d1a0c14610175575b6002546040516000916001600160a01b03169061009b90839036906105d3565b600060405180830381855af49150503d80600081146100d6576040519150601f19603f3d011682016040523d82523d6000602084013e6100db565b606091505b505090506040513d806000833e8280156100f3578183f35b8183fd5b005b34801561010557600080fd5b50600154610119906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b34801561014157600080fd5b50600354610119906001600160a01b031681565b34801561016157600080fd5b50600254610119906001600160a01b031681565b34801561018157600080fd5b506100f76101903660046105e3565b6101ff565b3480156101a157600080fd5b506100f76102c0565b3480156101b657600080fd5b506100f76101c53660046105e3565b6103f2565b3480156101d657600080fd5b506100f76104b5565b3480156101eb57600080fd5b50600054610119906001600160a01b031681565b6000546001600160a01b0316331461025e5760405162461bcd60e51b815260206004820152601d60248201527f5345545f50454e44494e475f41444d494e5f4f574e45525f434845434b00000060448201526064015b60405180910390fd5b600180546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991015b60405180910390a15050565b6003546001600160a01b0316331480156102e457506003546001600160a01b031615155b6103445760405162461bcd60e51b815260206004820152602b60248201527f4143434550545f50454e44494e475f494d504c454d454e544154494f4e5f414460448201526a44524553535f434845434b60a81b6064820152608401610255565b60028054600380546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a910160405180910390a1600354604080516001600160a01b03808516825290921660208301527fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d81591016102b4565b6000546001600160a01b0316331461045b5760405162461bcd60e51b815260206004820152602660248201527f5345545f50454e44494e475f494d504c454d454e544154494f4e5f4f574e45526044820152655f434845434b60d01b6064820152608401610255565b600380546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d81591016102b4565b6001546001600160a01b0316331480156104d957506001546001600160a01b031615155b6105255760405162461bcd60e51b815260206004820181905260248201527f4143434550545f41444d494e5f50454e44494e475f41444d494e5f434845434b6044820152606401610255565b60008054600180546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc910160405180910390a1600154604080516001600160a01b03808516825290921660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991016102b4565b8183823760009101908152919050565b6000602082840312156105f557600080fd5b81356001600160a01b038116811461060c57600080fd5b939250505056fea264697066735822122030e2c0f27ae72702b1b96e9598cec7fcda94e64fd47ba66afd279dedbd91037264736f6c63430008120033000000000000000000000000f7eb8906d91a206d6e64575d3425ac558744d0d5000000000000000000000000cc2bcf5f274595cb71fa0f5609cba6e4b602e2d7
Deployed Bytecode
0x60806040526004361061007b5760003560e01c8063c1e803341161004e578063c1e8033414610195578063e992a041146101aa578063e9c714f2146101ca578063f851a440146101df5761007b565b806326782247146100f9578063396f7b23146101355780635c60da1b14610155578063b71d1a0c14610175575b6002546040516000916001600160a01b03169061009b90839036906105d3565b600060405180830381855af49150503d80600081146100d6576040519150601f19603f3d011682016040523d82523d6000602084013e6100db565b606091505b505090506040513d806000833e8280156100f3578183f35b8183fd5b005b34801561010557600080fd5b50600154610119906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b34801561014157600080fd5b50600354610119906001600160a01b031681565b34801561016157600080fd5b50600254610119906001600160a01b031681565b34801561018157600080fd5b506100f76101903660046105e3565b6101ff565b3480156101a157600080fd5b506100f76102c0565b3480156101b657600080fd5b506100f76101c53660046105e3565b6103f2565b3480156101d657600080fd5b506100f76104b5565b3480156101eb57600080fd5b50600054610119906001600160a01b031681565b6000546001600160a01b0316331461025e5760405162461bcd60e51b815260206004820152601d60248201527f5345545f50454e44494e475f41444d494e5f4f574e45525f434845434b00000060448201526064015b60405180910390fd5b600180546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991015b60405180910390a15050565b6003546001600160a01b0316331480156102e457506003546001600160a01b031615155b6103445760405162461bcd60e51b815260206004820152602b60248201527f4143434550545f50454e44494e475f494d504c454d454e544154494f4e5f414460448201526a44524553535f434845434b60a81b6064820152608401610255565b60028054600380546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a910160405180910390a1600354604080516001600160a01b03808516825290921660208301527fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d81591016102b4565b6000546001600160a01b0316331461045b5760405162461bcd60e51b815260206004820152602660248201527f5345545f50454e44494e475f494d504c454d454e544154494f4e5f4f574e45526044820152655f434845434b60d01b6064820152608401610255565b600380546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d81591016102b4565b6001546001600160a01b0316331480156104d957506001546001600160a01b031615155b6105255760405162461bcd60e51b815260206004820181905260248201527f4143434550545f41444d494e5f50454e44494e475f41444d494e5f434845434b6044820152606401610255565b60008054600180546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc910160405180910390a1600154604080516001600160a01b03808516825290921660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991016102b4565b8183823760009101908152919050565b6000602082840312156105f557600080fd5b81356001600160a01b038116811461060c57600080fd5b939250505056fea264697066735822122030e2c0f27ae72702b1b96e9598cec7fcda94e64fd47ba66afd279dedbd91037264736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f7eb8906d91a206d6e64575d3425ac558744d0d5000000000000000000000000cc2bcf5f274595cb71fa0f5609cba6e4b602e2d7
-----Decoded View---------------
Arg [0] : _implementation (address): 0xF7Eb8906D91a206D6E64575D3425AC558744d0D5
Arg [1] : _admin (address): 0xcC2BcF5f274595cb71fA0F5609cBA6e4b602E2D7
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000f7eb8906d91a206d6e64575d3425ac558744d0d5
Arg [1] : 000000000000000000000000cc2bcf5f274595cb71fa0f5609cba6e4b602e2d7
Deployed Bytecode Sourcemap
5199:237:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1752:14;;:37;;1734:12;;-1:-1:-1;;;;;1752:14:0;;:37;;1734:12;;1780:8;;1752:37;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:56;;;1852:4;1846:11;1883:16;1945:4;1942:1;1928:12;1913:37;1973:7;1994:37;;;;2076:4;2062:12;2055:26;1994:37;2024:4;2010:12;2003:26;1966:117;;358:27;;;;;;;;;;-1:-1:-1;358:27:0;;;;-1:-1:-1;;;;;358:27:0;;;;;;-1:-1:-1;;;;;454:32:1;;;436:51;;424:2;409:18;358:27:0;;;;;;;559:36;;;;;;;;;;-1:-1:-1;559:36:0;;;;-1:-1:-1;;;;;559:36:0;;;457:29;;;;;;;;;;-1:-1:-1;457:29:0;;;;-1:-1:-1;;;;;457:29:0;;;3790:518;;;;;;;;;;-1:-1:-1;3790:518:0;;;;;:::i;:::-;;:::i;2738:725::-;;;;;;;;;;;;;:::i;2140:386::-;;;;;;;;;;-1:-1:-1;2140:386:0;;;;;:::i;:::-;;:::i;4497:623::-;;;;;;;;;;;;;:::i;257:20::-;;;;;;;;;;-1:-1:-1;257:20:0;;;;-1:-1:-1;;;;;257:20:0;;;3790:518;3914:5;;-1:-1:-1;;;;;3914:5:0;3900:10;:19;3892:61;;;;-1:-1:-1;;;3892:61:0;;991:2:1;3892:61:0;;;973:21:1;1030:2;1010:18;;;1003:30;1069:31;1049:18;;;1042:59;1118:18;;3892:61:0;;;;;;;;;4053:12;;;-1:-1:-1;;;;;4136:30:0;;;-1:-1:-1;;;;;;4136:30:0;;;;;;;4251:49;;;4053:12;;;;1359:34:1;;;1424:2;1409:18;;1402:43;;;;4251:49:0;;1294:18:1;4251:49:0;;;;;;;;3848:460;3790:518;:::o;2738:725::-;2902:21;;-1:-1:-1;;;;;2902:21:0;2888:10;:35;:74;;;;-1:-1:-1;2927:21:0;;-1:-1:-1;;;;;2927:21:0;:35;;2888:74;2880:143;;;;-1:-1:-1;;;2880:143:0;;1658:2:1;2880:143:0;;;1640:21:1;1697:2;1677:18;;;1670:30;1736:34;1716:18;;;1709:62;-1:-1:-1;;;1787:18:1;;;1780:41;1838:19;;2880:143:0;1456:407:1;2880:143:0;3117:14;;;3177:21;;;-1:-1:-1;;;;;3177:21:0;;;-1:-1:-1;;;;;;3211:38:0;;;;;;;;3262:34;;;;;;;3314:52;;;3117:14;;;;1359:34:1;;;1424:2;1409:18;;1402:43;;;3117:14:0;3177:21;3314:52;;1294:18:1;3314:52:0;;;;;;;3433:21;;3382:73;;;-1:-1:-1;;;;;1377:15:1;;;1359:34;;3433:21:0;;;1424:2:1;1409:18;;1402:43;3382:73:0;;1294:18:1;3382:73:0;1147:304:1;2140:386:0;2249:5;;-1:-1:-1;;;;;2249:5:0;2235:10;:19;2227:70;;;;-1:-1:-1;;;2227:70:0;;2070:2:1;2227:70:0;;;2052:21:1;2109:2;2089:18;;;2082:30;2148:34;2128:18;;;2121:62;-1:-1:-1;;;2199:18:1;;;2192:36;2245:19;;2227:70:0;1868:402:1;2227:70:0;2345:21;;;-1:-1:-1;;;;;2379:48:0;;;-1:-1:-1;;;;;;2379:48:0;;;;;;;2445:73;;;2345:21;;;;1359:34:1;;;1424:2;1409:18;;1402:43;;;;2445:73:0;;1294:18:1;2445:73:0;1147:304:1;4497:623:0;4634:12;;-1:-1:-1;;;;;4634:12:0;4620:10;:26;:56;;;;-1:-1:-1;4650:12:0;;-1:-1:-1;;;;;4650:12:0;:26;;4620:56;4612:101;;;;-1:-1:-1;;;4612:101:0;;2477:2:1;4612:101:0;;;2459:21:1;;;2496:18;;;2489:30;2555:34;2535:18;;;2528:62;2607:18;;4612:101:0;2275:356:1;4612:101:0;4779:16;4798:5;;;4840:12;;-1:-1:-1;;;;;4840:12:0;;;-1:-1:-1;;;;;;4913:20:0;;;;;;;;4982:25;;;;;;;5025;;;4798:5;;;;1359:34:1;;;1424:2;1409:18;;1402:43;;;4798:5:0;4840:12;5025:25;;1294:18:1;5025:25:0;;;;;;;5099:12;;5066:46;;;-1:-1:-1;;;;;1377:15:1;;;1359:34;;5099:12:0;;;1424:2:1;1409:18;;1402:43;5066:46:0;;1294:18:1;5066:46:0;1147:304:1;14:271;197:6;189;184:3;171:33;153:3;223:16;;248:13;;;223:16;14:271;-1:-1:-1;14:271:1:o;498:286::-;557:6;610:2;598:9;589:7;585:23;581:32;578:52;;;626:1;623;616:12;578:52;652:23;;-1:-1:-1;;;;;704:31:1;;694:42;;684:70;;750:1;747;740:12;684:70;773:5;498:286;-1:-1:-1;;;498:286:1:o
Swarm Source
ipfs://30e2c0f27ae72702b1b96e9598cec7fcda94e64fd47ba66afd279dedbd910372
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.