false
true
0

Contract Address Details

0x8588dbbCe840390435FCBd8e72C087ed1799a540

Token
TWAP (TWAP)
Creator
0xbcaee0–64cea5 at 0xbf95e2–afed39
Balance
0 PLS ( )
Tokens
Fetching tokens...
Transactions
6 Transactions
Transfers
0 Transfers
Gas Used
279,621
Last Balance Update
25886162
Warning! Contract bytecode has been changed and doesn't match the verified one. Therefore, interaction with this smart contract may be risky.
Contract name:
TWAPToken




Optimization enabled
false
Compiler version
v0.8.28+commit.7893614a




EVM Version




Verified at
2026-02-25T20:24:31.403518Z

Constructor Arguments

00000000000000000000000000000000000000000000d3c21bcecceda1000000

Arg [0] (uint256) : 1000000000000000000000000

              

contracts/dss/TWAPToken.sol

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract TWAPToken {
    string public constant name = "TWAP";
    string public constant symbol = "TWAP";
    uint8 public constant decimals = 18;
    uint public totalSupply;
    mapping(address => uint) public balanceOf;
    mapping(address => mapping(address => uint)) public allowance;

    // Auth system (DSS style)
    mapping(address => uint) public wards;
    function rely(address usr) external auth { wards[usr] = 1; emit Rely(usr); }
    function deny(address usr) external auth { wards[usr] = 0; emit Deny(usr); }
    modifier auth() {
        require(wards[msg.sender] == 1, "TWAPToken: not authorized");
        _;
    }

    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
    event Rely(address indexed usr);
    event Deny(address indexed usr);
    event Mint(address indexed to, uint amount);

    constructor(uint _initialSupply) {
        wards[msg.sender] = 1;
        _mint(msg.sender, _initialSupply);
    }

    // Mint function restricted to authorized contracts (The Oracle)
    function mint(address to, uint amount) external auth {
        _mint(to, amount);
    }

    function _mint(address to, uint amount) internal {
        totalSupply += amount;
        balanceOf[to] += amount;
        emit Transfer(address(0), to, amount);
    }

    function transfer(address to, uint256 value) external returns (bool) {
        require(to != address(0), "ERC20: transfer to the zero address");
        require(balanceOf[msg.sender] >= value, "ERC20: transfer amount exceeds balance");
        balanceOf[msg.sender] -= value;
        balanceOf[to] += value;
        emit Transfer(msg.sender, to, value);
        return true;
    }

    function transferFrom(address from, address to, uint256 value) external returns (bool) {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(balanceOf[from] >= value, "ERC20: transfer amount exceeds balance");
        require(allowance[from][msg.sender] >= value, "ERC20: insufficient allowance");
        balanceOf[from] -= value;
        balanceOf[to] += value;
        allowance[from][msg.sender] -= value;
        emit Transfer(from, to, value);
        return true;
    }

    function approve(address spender, uint256 value) external returns (bool) {
        allowance[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }
}
        

Compiler Settings

{"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}},"optimizer":{"runs":200,"enabled":true},"libraries":{},"evmVersion":"paris"}
              

Contract ABI

[{"type":"constructor","stateMutability":"nonpayable","inputs":[{"type":"uint256","name":"_initialSupply","internalType":"uint256"}]},{"type":"event","name":"Approval","inputs":[{"type":"address","name":"owner","internalType":"address","indexed":true},{"type":"address","name":"spender","internalType":"address","indexed":true},{"type":"uint256","name":"value","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"Deny","inputs":[{"type":"address","name":"usr","internalType":"address","indexed":true}],"anonymous":false},{"type":"event","name":"Mint","inputs":[{"type":"address","name":"to","internalType":"address","indexed":true},{"type":"uint256","name":"amount","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"Rely","inputs":[{"type":"address","name":"usr","internalType":"address","indexed":true}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"type":"address","name":"from","internalType":"address","indexed":true},{"type":"address","name":"to","internalType":"address","indexed":true},{"type":"uint256","name":"value","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"allowance","inputs":[{"type":"address","name":"","internalType":"address"},{"type":"address","name":"","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"approve","inputs":[{"type":"address","name":"spender","internalType":"address"},{"type":"uint256","name":"value","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"balanceOf","inputs":[{"type":"address","name":"","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint8","name":"","internalType":"uint8"}],"name":"decimals","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"deny","inputs":[{"type":"address","name":"usr","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"mint","inputs":[{"type":"address","name":"to","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"name","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"rely","inputs":[{"type":"address","name":"usr","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"symbol","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"totalSupply","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transfer","inputs":[{"type":"address","name":"to","internalType":"address"},{"type":"uint256","name":"value","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transferFrom","inputs":[{"type":"address","name":"from","internalType":"address"},{"type":"address","name":"to","internalType":"address"},{"type":"uint256","name":"value","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"wards","inputs":[{"type":"address","name":"","internalType":"address"}]}]
              

Contract Creation Code

0x608060405234801561001057600080fd5b50604051610ad3380380610ad383398101604081905261002f916100da565b3360008181526003602052604090206001905561004c9082610052565b5061011a565b8060008082825461006391906100f3565b90915550506001600160a01b038216600090815260016020526040812080548392906100909084906100f3565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6000602082840312156100ec57600080fd5b5051919050565b8082018082111561011457634e487b7160e01b600052601160045260246000fd5b92915050565b6109aa806101296000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806365fae35e1161008c5780639c52a7f1116100665780639c52a7f1146101bc578063a9059cbb146101cf578063bf353dbb146101e2578063dd62ed3e1461020257600080fd5b806365fae35e1461018957806370a082311461019c57806395d89b41146100d457600080fd5b806306fdde03146100d4578063095ea7b31461010d57806318160ddd1461013057806323b872dd14610147578063313ce5671461015a57806340c10f1914610174575b600080fd5b6100f7604051806040016040528060048152602001630545741560e41b81525081565b6040516101049190610752565b60405180910390f35b61012061011b3660046107bc565b61022d565b6040519015158152602001610104565b61013960005481565b604051908152602001610104565b6101206101553660046107e6565b61029a565b610162601281565b60405160ff9091168152602001610104565b6101876101823660046107bc565b6104c1565b005b610187610197366004610823565b6104fe565b6101396101aa366004610823565b60016020526000908152604090205481565b6101876101ca366004610823565b610572565b6101206101dd3660046107bc565b6105e5565b6101396101f0366004610823565b60036020526000908152604090205481565b610139610210366004610845565b600260209081526000928352604080842090915290825290205481565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102889086815260200190565b60405180910390a35060015b92915050565b60006001600160a01b0384166103055760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084015b60405180910390fd5b6001600160a01b03831661032b5760405162461bcd60e51b81526004016102fc90610878565b6001600160a01b0384166000908152600160205260409020548211156103635760405162461bcd60e51b81526004016102fc906108bb565b6001600160a01b03841660009081526002602090815260408083203384529091529020548211156103d65760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016102fc565b6001600160a01b038416600090815260016020526040812080548492906103fe908490610917565b90915550506001600160a01b0383166000908152600160205260408120805484929061042b90849061092a565b90915550506001600160a01b038416600090815260026020908152604080832033845290915281208054849290610463908490610917565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516104af91815260200190565b60405180910390a35060019392505050565b336000908152600360205260409020546001146104f05760405162461bcd60e51b81526004016102fc9061093d565b6104fa82826106ca565b5050565b3360009081526003602052604090205460011461052d5760405162461bcd60e51b81526004016102fc9061093d565b6001600160a01b03811660008181526003602052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b336000908152600360205260409020546001146105a15760405162461bcd60e51b81526004016102fc9061093d565b6001600160a01b038116600081815260036020526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b60006001600160a01b03831661060d5760405162461bcd60e51b81526004016102fc90610878565b3360009081526001602052604090205482111561063c5760405162461bcd60e51b81526004016102fc906108bb565b336000908152600160205260408120805484929061065b908490610917565b90915550506001600160a01b0383166000908152600160205260408120805484929061068890849061092a565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610288565b806000808282546106db919061092a565b90915550506001600160a01b0382166000908152600160205260408120805483929061070890849061092a565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b602081526000825180602084015260005b818110156107805760208186018101516040868401015201610763565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146107b757600080fd5b919050565b600080604083850312156107cf57600080fd5b6107d8836107a0565b946020939093013593505050565b6000806000606084860312156107fb57600080fd5b610804846107a0565b9250610812602085016107a0565b929592945050506040919091013590565b60006020828403121561083557600080fd5b61083e826107a0565b9392505050565b6000806040838503121561085857600080fd5b610861836107a0565b915061086f602084016107a0565b90509250929050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561029457610294610901565b8082018082111561029457610294610901565b60208082526019908201527f54574150546f6b656e3a206e6f7420617574686f72697a65640000000000000060408201526060019056fea264697066735822122075c8133cf6e38bd19307f9d7b4f45533518c6eac43c24e8149ae6a40669886c864736f6c634300081c003300000000000000000000000000000000000000000000d3c21bcecceda1000000

Deployed ByteCode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806365fae35e1161008c5780639c52a7f1116100665780639c52a7f1146101bc578063a9059cbb146101cf578063bf353dbb146101e2578063dd62ed3e1461020257600080fd5b806365fae35e1461018957806370a082311461019c57806395d89b41146100d457600080fd5b806306fdde03146100d4578063095ea7b31461010d57806318160ddd1461013057806323b872dd14610147578063313ce5671461015a57806340c10f1914610174575b600080fd5b6100f7604051806040016040528060048152602001630545741560e41b81525081565b6040516101049190610752565b60405180910390f35b61012061011b3660046107bc565b61022d565b6040519015158152602001610104565b61013960005481565b604051908152602001610104565b6101206101553660046107e6565b61029a565b610162601281565b60405160ff9091168152602001610104565b6101876101823660046107bc565b6104c1565b005b610187610197366004610823565b6104fe565b6101396101aa366004610823565b60016020526000908152604090205481565b6101876101ca366004610823565b610572565b6101206101dd3660046107bc565b6105e5565b6101396101f0366004610823565b60036020526000908152604090205481565b610139610210366004610845565b600260209081526000928352604080842090915290825290205481565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102889086815260200190565b60405180910390a35060015b92915050565b60006001600160a01b0384166103055760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084015b60405180910390fd5b6001600160a01b03831661032b5760405162461bcd60e51b81526004016102fc90610878565b6001600160a01b0384166000908152600160205260409020548211156103635760405162461bcd60e51b81526004016102fc906108bb565b6001600160a01b03841660009081526002602090815260408083203384529091529020548211156103d65760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016102fc565b6001600160a01b038416600090815260016020526040812080548492906103fe908490610917565b90915550506001600160a01b0383166000908152600160205260408120805484929061042b90849061092a565b90915550506001600160a01b038416600090815260026020908152604080832033845290915281208054849290610463908490610917565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516104af91815260200190565b60405180910390a35060019392505050565b336000908152600360205260409020546001146104f05760405162461bcd60e51b81526004016102fc9061093d565b6104fa82826106ca565b5050565b3360009081526003602052604090205460011461052d5760405162461bcd60e51b81526004016102fc9061093d565b6001600160a01b03811660008181526003602052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b336000908152600360205260409020546001146105a15760405162461bcd60e51b81526004016102fc9061093d565b6001600160a01b038116600081815260036020526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b60006001600160a01b03831661060d5760405162461bcd60e51b81526004016102fc90610878565b3360009081526001602052604090205482111561063c5760405162461bcd60e51b81526004016102fc906108bb565b336000908152600160205260408120805484929061065b908490610917565b90915550506001600160a01b0383166000908152600160205260408120805484929061068890849061092a565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610288565b806000808282546106db919061092a565b90915550506001600160a01b0382166000908152600160205260408120805483929061070890849061092a565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b602081526000825180602084015260005b818110156107805760208186018101516040868401015201610763565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146107b757600080fd5b919050565b600080604083850312156107cf57600080fd5b6107d8836107a0565b946020939093013593505050565b6000806000606084860312156107fb57600080fd5b610804846107a0565b9250610812602085016107a0565b929592945050506040919091013590565b60006020828403121561083557600080fd5b61083e826107a0565b9392505050565b6000806040838503121561085857600080fd5b610861836107a0565b915061086f602084016107a0565b90509250929050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561029457610294610901565b8082018082111561029457610294610901565b60208082526019908201527f54574150546f6b656e3a206e6f7420617574686f72697a65640000000000000060408201526060019056fea264697066735822122075c8133cf6e38bd19307f9d7b4f45533518c6eac43c24e8149ae6a40669886c864736f6c634300081c0033