ETH Price: $2,472.12 (+0.72%)
 

Overview

Max Total Supply

283,622,135.705702855670661824 BASO

Holders

1,678

Total Transfers

-

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
Baso

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 2 : Baso.sol
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity 0.8.13;

import "./interfaces/IBaso.sol";

contract Baso is IBaso {

    string public constant name = "BASO";
    string public constant symbol = "BASO";
    uint8 public constant decimals = 18;
    uint public totalSupply = 0;

    mapping(address => uint) public balanceOf;
    mapping(address => mapping(address => uint)) public allowance;

    bool public initialMinted;
    address public minter;
    address public redemptionReceiver;
    address public merkleClaim;

    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);

    constructor() {
        minter = msg.sender;
        _mint(msg.sender, 0);
    }

    // No checks as its meant to be once off to set minting rights to BaseV1 Minter
    function setMinter(address _minter) external {
        require(msg.sender == minter);
        minter = _minter;
    }

    function setRedemptionReceiver(address _receiver) external {
        require(msg.sender == minter);
        redemptionReceiver = _receiver;
    }

    function setMerkleClaim(address _merkleClaim) external {
        require(msg.sender == minter);
        merkleClaim = _merkleClaim;
    }

    // Initial mint: total 100M
    function initialMint(address _recipient) external {
        require(msg.sender == minter && !initialMinted);
        initialMinted = true;
        _mint(_recipient, 100 * 1e6 * 1e18);
    }

    function approve(address _spender, uint _value) external returns (bool) {
        allowance[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function _mint(address _to, uint _amount) internal returns (bool) {
        totalSupply += _amount;
        unchecked {
            balanceOf[_to] += _amount;
        }
        emit Transfer(address(0x0), _to, _amount);
        return true;
    }

    function _transfer(address _from, address _to, uint _value) internal returns (bool) {
        balanceOf[_from] -= _value;
        unchecked {
            balanceOf[_to] += _value;
        }
        emit Transfer(_from, _to, _value);
        return true;
    }

    function transfer(address _to, uint _value) external returns (bool) {
        return _transfer(msg.sender, _to, _value);
    }

    function transferFrom(address _from, address _to, uint _value) external returns (bool) {
        uint allowed_from = allowance[_from][msg.sender];
        if (allowed_from != type(uint).max) {
            allowance[_from][msg.sender] -= _value;
        }
        return _transfer(_from, _to, _value);
    }

    function mint(address account, uint amount) external returns (bool) {
        require(msg.sender == minter);
        _mint(account, amount);
        return true;
    }

    function claim(address account, uint amount) external returns (bool) {
        require(msg.sender == redemptionReceiver || msg.sender == merkleClaim);
        _mint(account, amount);
        return true;
    }
}

File 2 of 2 : IBaso.sol
pragma solidity 0.8.13;

interface IBaso {
    function totalSupply() external view returns (uint);
    function balanceOf(address) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);
    function transfer(address, uint) external returns (bool);
    function transferFrom(address,address,uint) external returns (bool);
    function mint(address, uint) external returns (bool);
    function minter() external returns (address);
    function claim(address, uint) external returns (bool);
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","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":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claim","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"}],"name":"initialMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialMinted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"merkleClaim","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"redemptionReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_merkleClaim","type":"address"}],"name":"setMerkleClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"setMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"name":"setRedemptionReceiver","outputs":[],"stateMutability":"nonpayable","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":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040526000805534801561001457600080fd5b5060038054610100600160a81b0319163361010081029190911790915561003c906000610042565b506100d9565b60008160008082825461005591906100b3565b90915550506001600160a01b0383166000818152600160209081526040808320805487019055518581527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350600192915050565b600082198211156100d457634e487b7160e01b600052601160045260246000fd5b500190565b610804806100e86000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806395d89b41116100ad578063d9b2e35511610071578063d9b2e35514610284578063dd62ed3e14610297578063e752c44a146102c2578063ec676a25146102d5578063fca3b5aa146102e857600080fd5b806395d89b4114610126578063a9059cbb1461023c578063aad3ec961461024f578063c268f9ba14610262578063ca1c4de91461027757600080fd5b806323b872dd116100f457806323b872dd146101c9578063313ce567146101dc57806340c10f19146101f65780635e05fe501461020957806370a082311461021c57600080fd5b806306fdde0314610126578063075461721461015f578063095ea7b31461018f57806318160ddd146101b2575b600080fd5b610149604051806040016040528060048152602001634241534f60e01b81525081565b6040516101569190610664565b60405180910390f35b6003546101779061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610156565b6101a261019d3660046106d5565b6102fb565b6040519015158152602001610156565b6101bb60005481565b604051908152602001610156565b6101a26101d73660046106ff565b610367565b6101e4601281565b60405160ff9091168152602001610156565b6101a26102043660046106d5565b6103e1565b600454610177906001600160a01b031681565b6101bb61022a36600461073b565b60016020526000908152604090205481565b6101a261024a3660046106d5565b610414565b6101a261025d3660046106d5565b610428565b61027561027036600461073b565b610457565b005b6003546101a29060ff1681565b61027561029236600461073b565b6104a8565b6101bb6102a5366004610756565b600260209081526000928352604080842090915290825290205481565b600554610177906001600160a01b031681565b6102756102e336600461073b565b6104e6565b6102756102f636600461073b565b610524565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103569086815260200190565b60405180910390a350600192915050565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001981146103cd576001600160a01b0385166000908152600260209081526040808320338452909152812080548592906103c790849061079f565b90915550505b6103d8858585610568565b95945050505050565b60035460009061010090046001600160a01b0316331461040057600080fd5b61040a83836105ff565b5060019392505050565b6000610421338484610568565b9392505050565b6004546000906001600160a01b031633148061044e57506005546001600160a01b031633145b61040057600080fd5b60035461010090046001600160a01b031633148015610479575060035460ff16155b61048257600080fd5b6003805460ff191660011790556104a4816a52b7d2dcc80cd2e40000006105ff565b5050565b60035461010090046001600160a01b031633146104c457600080fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60035461010090046001600160a01b0316331461050257600080fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b60035461010090046001600160a01b0316331461054057600080fd5b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b03831660009081526001602052604081208054839190839061059290849061079f565b90915550506001600160a01b03808416600081815260016020526040908190208054860190555190918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906105ed9086815260200190565b60405180910390a35060019392505050565b60008160008082825461061291906107b6565b90915550506001600160a01b0383166000818152600160209081526040808320805487019055518581527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610356565b600060208083528351808285015260005b8181101561069157858101830151858201604001528201610675565b818111156106a3576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146106d057600080fd5b919050565b600080604083850312156106e857600080fd5b6106f1836106b9565b946020939093013593505050565b60008060006060848603121561071457600080fd5b61071d846106b9565b925061072b602085016106b9565b9150604084013590509250925092565b60006020828403121561074d57600080fd5b610421826106b9565b6000806040838503121561076957600080fd5b610772836106b9565b9150610780602084016106b9565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b6000828210156107b1576107b1610789565b500390565b600082198211156107c9576107c9610789565b50019056fea264697066735822122098d9bec644c3bd79ea625d0eb2194cc048bff8c5336a43cc818627971847f79264736f6c634300080d0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c806395d89b41116100ad578063d9b2e35511610071578063d9b2e35514610284578063dd62ed3e14610297578063e752c44a146102c2578063ec676a25146102d5578063fca3b5aa146102e857600080fd5b806395d89b4114610126578063a9059cbb1461023c578063aad3ec961461024f578063c268f9ba14610262578063ca1c4de91461027757600080fd5b806323b872dd116100f457806323b872dd146101c9578063313ce567146101dc57806340c10f19146101f65780635e05fe501461020957806370a082311461021c57600080fd5b806306fdde0314610126578063075461721461015f578063095ea7b31461018f57806318160ddd146101b2575b600080fd5b610149604051806040016040528060048152602001634241534f60e01b81525081565b6040516101569190610664565b60405180910390f35b6003546101779061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610156565b6101a261019d3660046106d5565b6102fb565b6040519015158152602001610156565b6101bb60005481565b604051908152602001610156565b6101a26101d73660046106ff565b610367565b6101e4601281565b60405160ff9091168152602001610156565b6101a26102043660046106d5565b6103e1565b600454610177906001600160a01b031681565b6101bb61022a36600461073b565b60016020526000908152604090205481565b6101a261024a3660046106d5565b610414565b6101a261025d3660046106d5565b610428565b61027561027036600461073b565b610457565b005b6003546101a29060ff1681565b61027561029236600461073b565b6104a8565b6101bb6102a5366004610756565b600260209081526000928352604080842090915290825290205481565b600554610177906001600160a01b031681565b6102756102e336600461073b565b6104e6565b6102756102f636600461073b565b610524565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103569086815260200190565b60405180910390a350600192915050565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001981146103cd576001600160a01b0385166000908152600260209081526040808320338452909152812080548592906103c790849061079f565b90915550505b6103d8858585610568565b95945050505050565b60035460009061010090046001600160a01b0316331461040057600080fd5b61040a83836105ff565b5060019392505050565b6000610421338484610568565b9392505050565b6004546000906001600160a01b031633148061044e57506005546001600160a01b031633145b61040057600080fd5b60035461010090046001600160a01b031633148015610479575060035460ff16155b61048257600080fd5b6003805460ff191660011790556104a4816a52b7d2dcc80cd2e40000006105ff565b5050565b60035461010090046001600160a01b031633146104c457600080fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60035461010090046001600160a01b0316331461050257600080fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b60035461010090046001600160a01b0316331461054057600080fd5b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b03831660009081526001602052604081208054839190839061059290849061079f565b90915550506001600160a01b03808416600081815260016020526040908190208054860190555190918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906105ed9086815260200190565b60405180910390a35060019392505050565b60008160008082825461061291906107b6565b90915550506001600160a01b0383166000818152600160209081526040808320805487019055518581527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610356565b600060208083528351808285015260005b8181101561069157858101830151858201604001528201610675565b818111156106a3576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146106d057600080fd5b919050565b600080604083850312156106e857600080fd5b6106f1836106b9565b946020939093013593505050565b60008060006060848603121561071457600080fd5b61071d846106b9565b925061072b602085016106b9565b9150604084013590509250925092565b60006020828403121561074d57600080fd5b610421826106b9565b6000806040838503121561076957600080fd5b610772836106b9565b9150610780602084016106b9565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b6000828210156107b1576107b1610789565b500390565b600082198211156107c9576107c9610789565b50019056fea264697066735822122098d9bec644c3bd79ea625d0eb2194cc048bff8c5336a43cc818627971847f79264736f6c634300080d0033

[ 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.