Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x1Ce9A83c03c4B7bBb8A24eEfeFe080d44D2b643b
Balance 0 ETH
Nonce 1
Code Size 7414 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

7414 bytes
0x6080604052600436106101355760003560e01c806370a08231116100ab5780638da5cb5b1161006f5780638da5cb5b1461040e57806395d89b4114610439578063a0712d6814610464578063a9059cbb1461048d578063c35323c2146104ca578063dd62ed3e1461050757610135565b806370a08231146103265780637a62a98f146103635780637b1b1de6146103a15780637d8966e4146103cc5780637ecc2b56146103e357610135565b806332cb6b0c116100fd57806332cb6b0c146102355780633610724e14610260578063518ab2a81461027c578063665a11ca146102a757806368428a1b146102d25780636c11bcd3146102fd57610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd578063313ce5671461020a575b600080fd5b34801561014657600080fd5b5061014f610544565b60405161015c919061153b565b60405180910390f35b34801561017157600080fd5b5061018c600480360381019061018791906115f6565b6105d2565b6040516101999190611651565b60405180910390f35b3480156101ae57600080fd5b506101b76106c4565b6040516101c4919061167b565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef9190611696565b6106ca565b6040516102019190611651565b60405180910390f35b34801561021657600080fd5b5061021f6109bc565b60405161022c9190611705565b60405180910390f35b34801561024157600080fd5b5061024a6109cf565b604051610257919061167b565b60405180910390f35b61027a60048036038101906102759190611720565b6109d5565b005b34801561028857600080fd5b50610291610d65565b60405161029e919061167b565b60405180910390f35b3480156102b357600080fd5b506102bc610d6b565b6040516102c9919061175c565b60405180910390f35b3480156102de57600080fd5b506102e7610d91565b6040516102f49190611651565b60405180910390f35b34801561030957600080fd5b50610324600480360381019061031f9190611720565b610da4565b005b34801561033257600080fd5b5061034d60048036038101906103489190611777565b610f94565b60405161035a919061167b565b60405180910390f35b34801561036f57600080fd5b5061038a60048036038101906103859190611777565b610fac565b6040516103989291906117a4565b60405180910390f35b3480156103ad57600080fd5b506103b6611038565b6040516103c3919061167b565b60405180910390f35b3480156103d857600080fd5b506103e161103e565b005b3480156103ef57600080fd5b506103f86110fa565b604051610405919061167b565b60405180910390f35b34801561041a57600080fd5b50610423611100565b604051610430919061175c565b60405180910390f35b34801561044557600080fd5b5061044e611126565b60405161045b919061153b565b60405180910390f35b34801561047057600080fd5b5061048b60048036038101906104869190611720565b6111b4565b005b34801561049957600080fd5b506104b460048036038101906104af91906115f6565b6112cf565b6040516104c19190611651565b60405180910390f35b3480156104d657600080fd5b506104f160048036038101906104ec9190611777565b61146e565b6040516104fe919061167b565b60405180910390f35b34801561051357600080fd5b5061052e600480360381019061052991906117cd565b611486565b60405161053b919061167b565b60405180910390f35b600080546105519061183c565b80601f016020809104026020016040519081016040528092919081815260200182805461057d9061183c565b80156105ca5780601f1061059f576101008083540402835291602001916105ca565b820191906000526020600020905b8154815290600101906020018083116105ad57829003601f168201915b505050505081565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106b2919061167b565b60405180910390a36001905092915050565b60035481565b600081600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561074e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610745906118b9565b60405180910390fd5b81600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561080d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080490611925565b60405180910390fd5b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461085c9190611974565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108b291906119a8565b9250508190555081600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109459190611974565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109a9919061167b565b60405180910390a3600190509392505050565b600260009054906101000a900460ff1681565b600c5481565b600b60149054906101000a900460ff16610a24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1b90611a28565b60405180910390fd5b600060065482610a349190611a48565b905060045482600554610a4791906119a8565b1115610a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7f90611ad6565b60405180910390fd5b80341015610acb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac290611b42565b60405180910390fd5b8160056000828254610add91906119a8565b9250508190555081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b3391906119a8565b925050819055506000600283610b499190611b91565b905060008184610b599190611974565b90508160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610bcc91906119a8565b925050819055508060076000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c4491906119a8565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcd60aa75dea3072fbc07ae6d7d856b5dc5f4eee88854f5b4abf7b680ef8bc50f8534604051610c939291906117a4565b60405180910390a282341115610cf6573373ffffffffffffffffffffffffffffffffffffffff166108fc8434610cc99190611974565b9081150290604051600060405180830381858888f19350505050158015610cf4573d6000803e3d6000fd5b505b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015610d5e573d6000803e3d6000fd5b5050505050565b60055481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60149054906101000a900460ff1681565b80600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1d906118b9565b60405180910390fd5b600060065482610e369190611a48565b905080471015610e7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7290611c0e565b60405180910390fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610eca9190611974565b925050819055508160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f4291906119a8565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f8f573d6000803e3d6000fd5b505050565b60076020528060005260406000206000915090505481565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050915091565b60065481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c590611ca0565b60405180910390fd5b600b60149054906101000a900460ff1615600b60146101000a81548160ff021916908315150217905550565b60045481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600180546111339061183c565b80601f016020809104026020016040519081016040528092919081815260200182805461115f9061183c565b80156111ac5780601f10611181576101008083540402835291602001916111ac565b820191906000526020600020905b81548152906001019060200180831161118f57829003601f168201915b505050505081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611244576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123b90611ca0565b60405180910390fd5b806003600082825461125691906119a8565b92505081905550806004600082825461126f91906119a8565b9250508190555080600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112c591906119a8565b9250508190555050565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134a906118b9565b60405180910390fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113a29190611974565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113f891906119a8565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161145c919061167b565b60405180910390a36001905092915050565b60096020528060005260406000206000915090505481565b6008602052816000526040600020602052806000526040600020600091509150505481565b600081519050919050565b600082825260208201905092915050565b60005b838110156114e55780820151818401526020810190506114ca565b60008484015250505050565b6000601f19601f8301169050919050565b600061150d826114ab565b61151781856114b6565b93506115278185602086016114c7565b611530816114f1565b840191505092915050565b600060208201905081810360008301526115558184611502565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061158d82611562565b9050919050565b61159d81611582565b81146115a857600080fd5b50565b6000813590506115ba81611594565b92915050565b6000819050919050565b6115d3816115c0565b81146115de57600080fd5b50565b6000813590506115f0816115ca565b92915050565b6000806040838503121561160d5761160c61155d565b5b600061161b858286016115ab565b925050602061162c858286016115e1565b9150509250929050565b60008115159050919050565b61164b81611636565b82525050565b60006020820190506116666000830184611642565b92915050565b611675816115c0565b82525050565b6000602082019050611690600083018461166c565b92915050565b6000806000606084860312156116af576116ae61155d565b5b60006116bd868287016115ab565b93505060206116ce868287016115ab565b92505060406116df868287016115e1565b9150509250925092565b600060ff82169050919050565b6116ff816116e9565b82525050565b600060208201905061171a60008301846116f6565b92915050565b6000602082840312156117365761173561155d565b5b6000611744848285016115e1565b91505092915050565b61175681611582565b82525050565b6000602082019050611771600083018461174d565b92915050565b60006020828403121561178d5761178c61155d565b5b600061179b848285016115ab565b91505092915050565b60006040820190506117b9600083018561166c565b6117c6602083018461166c565b9392505050565b600080604083850312156117e4576117e361155d565b5b60006117f2858286016115ab565b9250506020611803858286016115ab565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061185457607f821691505b6020821081036118675761186661180d565b5b50919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b60006118a36014836114b6565b91506118ae8261186d565b602082019050919050565b600060208201905081810360008301526118d281611896565b9050919050565b7f416c6c6f77616e63652065786365656465640000000000000000000000000000600082015250565b600061190f6012836114b6565b915061191a826118d9565b602082019050919050565b6000602082019050818103600083015261193e81611902565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061197f826115c0565b915061198a836115c0565b92508282039050818111156119a2576119a1611945565b5b92915050565b60006119b3826115c0565b91506119be836115c0565b92508282019050808211156119d6576119d5611945565b5b92915050565b7f53616c65206973206e6f74206163746976650000000000000000000000000000600082015250565b6000611a126012836114b6565b9150611a1d826119dc565b602082019050919050565b60006020820190508181036000830152611a4181611a05565b9050919050565b6000611a53826115c0565b9150611a5e836115c0565b9250828202611a6c816115c0565b91508282048414831517611a8357611a82611945565b5b5092915050565b7f53616c65206c696d697420726561636865640000000000000000000000000000600082015250565b6000611ac06012836114b6565b9150611acb82611a8a565b602082019050919050565b60006020820190508181036000830152611aef81611ab3565b9050919050565b7f4e6f7420656e6f756768204554482073656e7400000000000000000000000000600082015250565b6000611b2c6013836114b6565b9150611b3782611af6565b602082019050919050565b60006020820190508181036000830152611b5b81611b1f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611b9c826115c0565b9150611ba7836115c0565b925082611bb757611bb6611b62565b5b828204905092915050565b7f4e6f7420656e6f7567682045544820696e20636f6e7472616374000000000000600082015250565b6000611bf8601a836114b6565b9150611c0382611bc2565b602082019050919050565b60006020820190508181036000830152611c2781611beb565b9050919050565b7f4f6e6c79206f776e65722063616e20706572666f726d2074686973206163746960008201527f6f6e000000000000000000000000000000000000000000000000000000000000602082015250565b6000611c8a6022836114b6565b9150611c9582611c2e565b604082019050919050565b60006020820190508181036000830152611cb981611c7d565b905091905056fea2646970667358221220faeb7a46f35a70c883d47b51a79070126713c64e921c221a8ff19e47012a3a4e64736f6c634300081a0033

Verified Source Code Partial Match

Compiler: v0.8.26+commit.8a97fa7a EVM: london Optimization: No
BitCalling.sol 137 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;

contract BitCalling {
    string public name = "BitCalling";
    string public symbol = "BCT";
    uint8 public decimals = 18;

    uint256 public totalSupply = 18_000_000 * 10 ** uint256(decimals); // Total supply of 18 million tokens
    uint256 public availableSupply = 100_000 * 10 ** uint256(decimals); // 100,000 tokens available for sale
    uint256 public tokensSold = 0; // Track tokens sold

    uint256 public pricePerToken = 0.00545 ether; // Token price set to $18 per token, based on ETH price

    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;
    mapping(address => uint256) public taskCompletionCount;

    address public owner;
    address public liquidityPool;
    bool public saleActive = true; // Sale is active by default

    uint256 public MAX_SUPPLY; // Declare MAX_SUPPLY as a normal public variable, not constant

    // Constructor to initialize contract with 18 million total supply, but only 100,000 available for purchase
    constructor() {
        balanceOf[msg.sender] = availableSupply; // Deployer gets the available tokens for sale
        owner = msg.sender;
        liquidityPool = address(this); // Set liquidity pool as the contract itself
        MAX_SUPPLY = 18_000_000 * 10 ** uint256(decimals); // Assign MAX_SUPPLY in the constructor
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "Only owner can perform this action");
        _;
    }

    modifier saleIsActive() {
        require(saleActive, "Sale is not active");
        _;
    }

    function toggleSale() external onlyOwner {
        saleActive = !saleActive;
    }

    // Buy tokens (50% liquidity pool, 50% to the deployer)
    function buyTokens(uint256 amount) external payable saleIsActive {
        uint256 cost = amount * pricePerToken;
        require(tokensSold + amount <= availableSupply, "Sale limit reached");
        require(msg.value >= cost, "Not enough ETH sent");

        tokensSold += amount;
        balanceOf[msg.sender] += amount;

        uint256 liquidityAmount = amount / 2; // 50% to liquidity pool
        uint256 deployerAmount = amount - liquidityAmount; // 50% to deployer

        // Transfer 50% to the liquidity pool (contract itself) and 50% to the deployer
        balanceOf[liquidityPool] += liquidityAmount;
        balanceOf[owner] += deployerAmount;

        // Emit event for token purchase
        emit TokenPurchase(msg.sender, amount, msg.value);

        // Refund excess ETH if sent
        if (msg.value > cost) {
            payable(msg.sender).transfer(msg.value - cost);
        }

        // Transfer the ETH to the contract owner
        payable(owner).transfer(cost);
    }

    // Sell tokens (swap tokens for ETH)
    function sellTokens(uint256 amount) external {
        require(balanceOf[msg.sender] >= amount, "Insufficient balance");

        uint256 ethAmount = amount * pricePerToken; // ETH equivalent based on the price of the token

        // Ensure the contract has enough ETH to complete the sale
        require(address(this).balance >= ethAmount, "Not enough ETH in contract");

        // Transfer tokens from user to contract (liquidity pool)
        balanceOf[msg.sender] -= amount;
        balanceOf[liquidityPool] += amount;

        // Transfer ETH to the user
        payable(msg.sender).transfer(ethAmount);
    }

    // Mint new tokens
    function mint(uint256 amount) external onlyOwner {
        totalSupply += amount;
        availableSupply += amount;
        balanceOf[msg.sender] += amount;
    }

    // Transfer tokens to another user
    function transfer(address recipient, uint256 amount) public returns (bool) {
        require(balanceOf[msg.sender] >= amount, "Insufficient balance");
        balanceOf[msg.sender] -= amount;
        balanceOf[recipient] += amount;
        emit Transfer(msg.sender, recipient, amount);
        return true;
    }

    // Approve another address to transfer tokens on behalf
    function approve(address spender, uint256 amount) public returns (bool) {
        allowance[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    // Transfer tokens from one address to another on behalf of the sender
    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        require(balanceOf[sender] >= amount, "Insufficient balance");
        require(allowance[sender][msg.sender] >= amount, "Allowance exceeded");

        balanceOf[sender] -= amount;
        balanceOf[recipient] += amount;
        allowance[sender][msg.sender] -= amount;

        emit Transfer(sender, recipient, amount);
        return true;
    }

    // Track user progress (tokens earned, tasks completed)
    function trackUserProgress(address participant) public view returns (uint256 tokensEarned, uint256 tasksCompleted) {
        tokensEarned = balanceOf[participant];
        tasksCompleted = taskCompletionCount[participant];
    }

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event TokenPurchase(address indexed buyer, uint256 amount, uint256 value);
}

Read Contract

MAX_SUPPLY 0x32cb6b0c → uint256
allowance 0xdd62ed3e → uint256
availableSupply 0x7ecc2b56 → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
liquidityPool 0x665a11ca → address
name 0x06fdde03 → string
owner 0x8da5cb5b → address
pricePerToken 0x7b1b1de6 → uint256
saleActive 0x68428a1b → bool
symbol 0x95d89b41 → string
taskCompletionCount 0xc35323c2 → uint256
tokensSold 0x518ab2a8 → uint256
totalSupply 0x18160ddd → uint256
trackUserProgress 0x7a62a98f → uint256, uint256

Write Contract 7 functions

These functions modify contract state and require a wallet transaction to execute.

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
buyTokens 0x3610724e
uint256 amount
mint 0xa0712d68
uint256 amount
sellTokens 0x6c11bcd3
uint256 amount
toggleSale 0x7d8966e4
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool

Recent Transactions

No transactions found for this address