Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x2F5841BA9836De7F4Ff9f7A243c9Acb2A2265818
Balance 0 ETH
Nonce 1
Code Size 8283 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

8283 bytes
0x6080604052600436106101355760003560e01c80637b1b1de6116100ab578063a0712d681161006f578063a0712d6814610410578063a9059cbb14610439578063b9ddae6514610476578063c35323c214610492578063d44465d8146104cf578063dd62ed3e146104f857610135565b80637b1b1de61461034d5780637d8966e4146103785780637ecc2b561461038f5780638da5cb5b146103ba57806395d89b41146103e557610135565b806332cb6b0c116100fd57806332cb6b0c146102355780633610724e14610260578063518ab2a81461027c57806368428a1b146102a757806370a08231146102d25780637a62a98f1461030f57610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd578063313ce5671461020a575b600080fd5b34801561014657600080fd5b5061014f610535565b60405161015c9190611648565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190611703565b6105c3565b604051610199919061175e565b60405180910390f35b3480156101ae57600080fd5b506101b76106b5565b6040516101c49190611788565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef91906117a3565b6106bb565b604051610201919061175e565b60405180910390f35b34801561021657600080fd5b5061021f6109ad565b60405161022c9190611812565b60405180910390f35b34801561024157600080fd5b5061024a6109c0565b6040516102579190611788565b60405180910390f35b61027a6004803603810190610275919061182d565b6109c6565b005b34801561028857600080fd5b50610291610c43565b60405161029e9190611788565b60405180910390f35b3480156102b357600080fd5b506102bc610c49565b6040516102c9919061175e565b60405180910390f35b3480156102de57600080fd5b506102f960048036038101906102f4919061185a565b610c5c565b6040516103069190611788565b60405180910390f35b34801561031b57600080fd5b506103366004803603810190610331919061185a565b610c74565b604051610344929190611887565b60405180910390f35b34801561035957600080fd5b50610362610d00565b60405161036f9190611788565b60405180910390f35b34801561038457600080fd5b5061038d610d06565b005b34801561039b57600080fd5b506103a4610dc2565b6040516103b19190611788565b60405180910390f35b3480156103c657600080fd5b506103cf610dc8565b6040516103dc91906118bf565b60405180910390f35b3480156103f157600080fd5b506103fa610dee565b6040516104079190611648565b60405180910390f35b34801561041c57600080fd5b506104376004803603810190610432919061182d565b610e7c565b005b34801561044557600080fd5b50610460600480360381019061045b9190611703565b610f97565b60405161046d919061175e565b60405180910390f35b610490600480360381019061048b919061182d565b611136565b005b34801561049e57600080fd5b506104b960048036038101906104b4919061185a565b6113d2565b6040516104c69190611788565b60405180910390f35b3480156104db57600080fd5b506104f660048036038101906104f19190611703565b6113ea565b005b34801561050457600080fd5b5061051f600480360381019061051a91906118da565b611593565b60405161052c9190611788565b60405180910390f35b6000805461054290611949565b80601f016020809104026020016040519081016040528092919081815260200182805461056e90611949565b80156105bb5780601f10610590576101008083540402835291602001916105bb565b820191906000526020600020905b81548152906001019060200180831161059e57829003601f168201915b505050505081565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106a39190611788565b60405180910390a36001905092915050565b60035481565b600081600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561073f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610736906119c6565b60405180910390fd5b81600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156107fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f590611a32565b60405180910390fd5b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461084d9190611a81565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108a39190611ab5565b9250508190555081600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109369190611a81565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161099a9190611788565b60405180910390a3600190509392505050565b600260009054906101000a900460ff1681565b600b5481565b600a60149054906101000a900460ff16610a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0c90611b35565b60405180910390fd5b600060065482610a259190611b55565b905060045482600554610a389190611ab5565b1115610a79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7090611be3565b60405180910390fd5b80341015610abc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab390611c4f565b60405180910390fd5b8160056000828254610ace9190611ab5565b9250508190555081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b249190611ab5565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcd60aa75dea3072fbc07ae6d7d856b5dc5f4eee88854f5b4abf7b680ef8bc50f8334604051610b73929190611887565b60405180910390a280341115610bd6573373ffffffffffffffffffffffffffffffffffffffff166108fc8234610ba99190611a81565b9081150290604051600060405180830381858888f19350505050158015610bd4573d6000803e3d6000fd5b505b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610c3e573d6000803e3d6000fd5b505050565b60055481565b600a60149054906101000a900460ff1681565b60076020528060005260406000206000915090505481565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050915091565b60065481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8d90611ce1565b60405180910390fd5b600a60149054906101000a900460ff1615600a60146101000a81548160ff021916908315150217905550565b60045481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054610dfb90611949565b80601f0160208091040260200160405190810160405280929190818152602001828054610e2790611949565b8015610e745780601f10610e4957610100808354040283529160200191610e74565b820191906000526020600020905b815481529060010190602001808311610e5757829003601f168201915b505050505081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0390611ce1565b60405180910390fd5b8060036000828254610f1e9190611ab5565b925050819055508060046000828254610f379190611ab5565b9250508190555080600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f8d9190611ab5565b9250508190555050565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561101b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611012906119c6565b60405180910390fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461106a9190611a81565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110c09190611ab5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111249190611788565b60405180910390a36001905092915050565b600a60149054906101000a900460ff16611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c90611b35565b60405180910390fd5b600081118015611196575060648111155b6111d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cc90611d73565b60405180910390fd5b60006064826004546111e79190611b55565b6111f19190611dc2565b90506000600654826112039190611b55565b9050600454826005546112169190611ab5565b1115611257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124e90611be3565b60405180910390fd5b8034101561129a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129190611c4f565b60405180910390fd5b81600560008282546112ac9190611ab5565b9250508190555081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113029190611ab5565b9250508190555080341115611364573373ffffffffffffffffffffffffffffffffffffffff166108fc82346113379190611a81565b9081150290604051600060405180830381858888f19350505050158015611362573d6000803e3d6000fd5b505b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156113cc573d6000803e3d6000fd5b50505050565b60096020528060005260406000206000915090505481565b600a60149054906101000a900460ff16611439576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143090611b35565b60405180910390fd5b6005600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106114bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b290611e3f565b60405180910390fd5b600260009054906101000a900460ff1660ff16600a6114da9190611f92565b816114e59190611b55565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115339190611ab5565b92505081905550600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919061158a90611fdd565b91905055505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b600081519050919050565b600082825260208201905092915050565b60005b838110156115f25780820151818401526020810190506115d7565b60008484015250505050565b6000601f19601f8301169050919050565b600061161a826115b8565b61162481856115c3565b93506116348185602086016115d4565b61163d816115fe565b840191505092915050565b60006020820190508181036000830152611662818461160f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061169a8261166f565b9050919050565b6116aa8161168f565b81146116b557600080fd5b50565b6000813590506116c7816116a1565b92915050565b6000819050919050565b6116e0816116cd565b81146116eb57600080fd5b50565b6000813590506116fd816116d7565b92915050565b6000806040838503121561171a5761171961166a565b5b6000611728858286016116b8565b9250506020611739858286016116ee565b9150509250929050565b60008115159050919050565b61175881611743565b82525050565b6000602082019050611773600083018461174f565b92915050565b611782816116cd565b82525050565b600060208201905061179d6000830184611779565b92915050565b6000806000606084860312156117bc576117bb61166a565b5b60006117ca868287016116b8565b93505060206117db868287016116b8565b92505060406117ec868287016116ee565b9150509250925092565b600060ff82169050919050565b61180c816117f6565b82525050565b60006020820190506118276000830184611803565b92915050565b6000602082840312156118435761184261166a565b5b6000611851848285016116ee565b91505092915050565b6000602082840312156118705761186f61166a565b5b600061187e848285016116b8565b91505092915050565b600060408201905061189c6000830185611779565b6118a96020830184611779565b9392505050565b6118b98161168f565b82525050565b60006020820190506118d460008301846118b0565b92915050565b600080604083850312156118f1576118f061166a565b5b60006118ff858286016116b8565b9250506020611910858286016116b8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061196157607f821691505b6020821081036119745761197361191a565b5b50919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b60006119b06014836115c3565b91506119bb8261197a565b602082019050919050565b600060208201905081810360008301526119df816119a3565b9050919050565b7f416c6c6f77616e63652065786365656465640000000000000000000000000000600082015250565b6000611a1c6012836115c3565b9150611a27826119e6565b602082019050919050565b60006020820190508181036000830152611a4b81611a0f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611a8c826116cd565b9150611a97836116cd565b9250828203905081811115611aaf57611aae611a52565b5b92915050565b6000611ac0826116cd565b9150611acb836116cd565b9250828201905080821115611ae357611ae2611a52565b5b92915050565b7f53616c65206973206e6f74206163746976650000000000000000000000000000600082015250565b6000611b1f6012836115c3565b9150611b2a82611ae9565b602082019050919050565b60006020820190508181036000830152611b4e81611b12565b9050919050565b6000611b60826116cd565b9150611b6b836116cd565b9250828202611b79816116cd565b91508282048414831517611b9057611b8f611a52565b5b5092915050565b7f53616c65206c696d697420726561636865640000000000000000000000000000600082015250565b6000611bcd6012836115c3565b9150611bd882611b97565b602082019050919050565b60006020820190508181036000830152611bfc81611bc0565b9050919050565b7f4e6f7420656e6f756768204554482073656e7400000000000000000000000000600082015250565b6000611c396013836115c3565b9150611c4482611c03565b602082019050919050565b60006020820190508181036000830152611c6881611c2c565b9050919050565b7f4f6e6c79206f776e65722063616e20706572666f726d2074686973206163746960008201527f6f6e000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ccb6022836115c3565b9150611cd682611c6f565b604082019050919050565b60006020820190508181036000830152611cfa81611cbe565b9050919050565b7f50657263656e74616765206d757374206265206265747765656e203120616e6460008201527f2031303000000000000000000000000000000000000000000000000000000000602082015250565b6000611d5d6024836115c3565b9150611d6882611d01565b604082019050919050565b60006020820190508181036000830152611d8c81611d50565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611dcd826116cd565b9150611dd8836116cd565b925082611de857611de7611d93565b5b828204905092915050565b7f4d6178696d756d207461736b7320636f6d706c65746564000000000000000000600082015250565b6000611e296017836115c3565b9150611e3482611df3565b602082019050919050565b60006020820190508181036000830152611e5881611e1c565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115611eb657808604811115611e9257611e91611a52565b5b6001851615611ea15780820291505b8081029050611eaf85611e5f565b9450611e76565b94509492505050565b600082611ecf5760019050611f8b565b81611edd5760009050611f8b565b8160018114611ef35760028114611efd57611f2c565b6001915050611f8b565b60ff841115611f0f57611f0e611a52565b5b8360020a915084821115611f2657611f25611a52565b5b50611f8b565b5060208310610133831016604e8410600b8410161715611f615782820a905083811115611f5c57611f5b611a52565b5b611f8b565b611f6e8484846001611e6c565b92509050818404811115611f8557611f84611a52565b5b81810290505b9392505050565b6000611f9d826116cd565b9150611fa8836116cd565b9250611fd57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611ebf565b905092915050565b6000611fe8826116cd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361201a57612019611a52565b5b60018201905091905056fea2646970667358221220590e3619c2300cc4ec7816c6927a680097a3f7091fdc523167506b28ff2cd95964736f6c634300081a0033

Verified Source Code Partial Match

Compiler: v0.8.26+commit.8a97fa7a EVM: london Optimization: No
BitCalling.sol 131 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;
    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;
        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;
    }

    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;

        // 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);
    }

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

    function completeTask(address user, uint256 taskReward) public saleIsActive {
        require(taskCompletionCount[user] < 5, "Maximum tasks completed");

        balanceOf[user] += taskReward * (10 ** uint256(decimals)); // Reward for completing a task
        taskCompletionCount[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;
    }

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

    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;
    }

    function trackUserProgress(address participant) public view returns (uint256 tokensEarned, uint256 tasksCompleted) {
        tokensEarned = balanceOf[participant];
        tasksCompleted = taskCompletionCount[participant];
    }

    function buyPercentage(uint256 percentage) external payable saleIsActive {
        require(percentage > 0 && percentage <= 100, "Percentage must be between 1 and 100");

        uint256 tokensToBuy = (availableSupply * percentage) / 100;
        uint256 cost = tokensToBuy * pricePerToken;

        require(tokensSold + tokensToBuy <= availableSupply, "Sale limit reached");
        require(msg.value >= cost, "Not enough ETH sent");

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

        if (msg.value > cost) {
            payable(msg.sender).transfer(msg.value - cost);
        }

        payable(owner).transfer(cost);
    }

    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
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 8 functions

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

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
buyPercentage 0xb9ddae65
uint256 percentage
buyTokens 0x3610724e
uint256 amount
completeTask 0xd44465d8
address user
uint256 taskReward
mint 0xa0712d68
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