Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xBf27Eb24...1C22eb257 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
BasicNonFungibleToken
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-04-23 */ pragma solidity ^0.8.0; /** * @title BasicFungibleToken * @dev The core functionality for a basic fungible token contract */ contract BasicNonFungibleToken { // Token name string private _name; // Token symbol string private _symbol; // Token supply uint256 _supply; // Mapping from token ID to owner address mapping(uint256 => address) private _owners; /** * @dev Emitted when `tokenId` token is transferred from `from` to `to`. */ event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); /** * @dev Sets the initial values */ constructor(string memory name_, string memory symbol_, address initialTokenReceiver) { _name = name_; _symbol = symbol_; _owners[0] = initialTokenReceiver; _owners[1] = initialTokenReceiver; _owners[2] = initialTokenReceiver; _owners[3] = initialTokenReceiver; _owners[4] = initialTokenReceiver; } /** * @dev Returns the name of the token. */ function name() public view returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the name. */ function symbol() public view returns (string memory) { return _symbol; } /** * @dev Returns the number of tokens currently in this NFT collection. */ function totalSupply() public view returns (uint256) { return _supply; } /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) public view returns (address) { address owner = _owners[tokenId]; require(owner != address(0), "Invalid Token - Token does not exist"); return owner; } /** * @dev Transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC721 protocol to prevent tokens from being forever locked. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, the caller must be have been allowed to move this token by {approve}. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 tokenId) public { require(from == msg.sender, "Only token owner can send token"); require(_owners[tokenId] == from, "Transfer from incorrect owner"); require(to != address(0), "Transfer to the zero address"); _owners[tokenId] = to; emit Transfer(from, to, tokenId); } }
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"initialTokenReceiver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Deployed Bytecode
0x608060405234801561000f575f80fd5b5060043610610055575f3560e01c806306fdde031461005957806318160ddd1461007757806323b872dd146100955780636352211e146100b157806395d89b41146100e1575b5f80fd5b6100616100ff565b60405161006e919061056c565b60405180910390f35b61007f61018e565b60405161008c91906105a4565b60405180910390f35b6100af60048036038101906100aa9190610645565b610197565b005b6100cb60048036038101906100c69190610695565b6103c0565b6040516100d891906106cf565b60405180910390f35b6100e961046c565b6040516100f6919061056c565b60405180910390f35b60605f805461010d90610715565b80601f016020809104026020016040519081016040528092919081815260200182805461013990610715565b80156101845780601f1061015b57610100808354040283529160200191610184565b820191905f5260205f20905b81548152906001019060200180831161016757829003601f168201915b5050505050905090565b5f600254905090565b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101fc9061078f565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1660035f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146102a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029a906107f7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610311576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103089061085f565b60405180910390fd5b8160035f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b5f8060035f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610463576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045a906108ed565b60405180910390fd5b80915050919050565b60606001805461047b90610715565b80601f01602080910402602001604051908101604052809291908181526020018280546104a790610715565b80156104f25780601f106104c9576101008083540402835291602001916104f2565b820191905f5260205f20905b8154815290600101906020018083116104d557829003601f168201915b5050505050905090565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61053e826104fc565b6105488185610506565b9350610558818560208601610516565b61056181610524565b840191505092915050565b5f6020820190508181035f8301526105848184610534565b905092915050565b5f819050919050565b61059e8161058c565b82525050565b5f6020820190506105b75f830184610595565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105ea826105c1565b9050919050565b6105fa816105e0565b8114610604575f80fd5b50565b5f81359050610615816105f1565b92915050565b6106248161058c565b811461062e575f80fd5b50565b5f8135905061063f8161061b565b92915050565b5f805f6060848603121561065c5761065b6105bd565b5b5f61066986828701610607565b935050602061067a86828701610607565b925050604061068b86828701610631565b9150509250925092565b5f602082840312156106aa576106a96105bd565b5b5f6106b784828501610631565b91505092915050565b6106c9816105e0565b82525050565b5f6020820190506106e25f8301846106c0565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061072c57607f821691505b60208210810361073f5761073e6106e8565b5b50919050565b7f4f6e6c7920746f6b656e206f776e65722063616e2073656e6420746f6b656e005f82015250565b5f610779601f83610506565b915061078482610745565b602082019050919050565b5f6020820190508181035f8301526107a68161076d565b9050919050565b7f5472616e736665722066726f6d20696e636f7272656374206f776e65720000005f82015250565b5f6107e1601d83610506565b91506107ec826107ad565b602082019050919050565b5f6020820190508181035f83015261080e816107d5565b9050919050565b7f5472616e7366657220746f20746865207a65726f2061646472657373000000005f82015250565b5f610849601c83610506565b915061085482610815565b602082019050919050565b5f6020820190508181035f8301526108768161083d565b9050919050565b7f496e76616c696420546f6b656e202d20546f6b656e20646f6573206e6f7420655f8201527f7869737400000000000000000000000000000000000000000000000000000000602082015250565b5f6108d7602483610506565b91506108e28261087d565b604082019050919050565b5f6020820190508181035f830152610904816108cb565b905091905056fea264697066735822122008710eb5bbab961f51ddeef5be21671c2fc525d0d6c3109142b60ed99142487164736f6c63430008190033
Deployed Bytecode Sourcemap
135:2744:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1098:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1481:86;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2485:389;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1718:217;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1292:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1098:83;1135:13;1168:5;1161:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1098:83;:::o;1481:86::-;1525:7;1552;;1545:14;;1481:86;:::o;2485:389::-;2594:10;2586:18;;:4;:18;;;2578:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;2679:4;2659:24;;:7;:16;2667:7;2659:16;;;;;;;;;;;;;;;;;;;;;:24;;;2651:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2750:1;2736:16;;:2;:16;;;2728:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;2817:2;2798:7;:16;2806:7;2798:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;2856:7;2852:2;2837:27;;2846:4;2837:27;;;;;;;;;;;;2485:389;;;:::o;1718:217::-;1773:7;1793:13;1809:7;:16;1817:7;1809:16;;;;;;;;;;;;;;;;;;;;;1793:32;;1861:1;1844:19;;:5;:19;;;1836:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1922:5;1915:12;;;1718:217;;;:::o;1292:87::-;1331:13;1364:7;1357:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1292:87;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1242:77::-;1279:7;1308:5;1297:16;;1242:77;;;:::o;1325:118::-;1412:24;1430:5;1412:24;:::i;:::-;1407:3;1400:37;1325:118;;:::o;1449:222::-;1542:4;1580:2;1569:9;1565:18;1557:26;;1593:71;1661:1;1650:9;1646:17;1637:6;1593:71;:::i;:::-;1449:222;;;;:::o;1758:117::-;1867:1;1864;1857:12;2004:126;2041:7;2081:42;2074:5;2070:54;2059:65;;2004:126;;;:::o;2136:96::-;2173:7;2202:24;2220:5;2202:24;:::i;:::-;2191:35;;2136:96;;;:::o;2238:122::-;2311:24;2329:5;2311:24;:::i;:::-;2304:5;2301:35;2291:63;;2350:1;2347;2340:12;2291:63;2238:122;:::o;2366:139::-;2412:5;2450:6;2437:20;2428:29;;2466:33;2493:5;2466:33;:::i;:::-;2366:139;;;;:::o;2511:122::-;2584:24;2602:5;2584:24;:::i;:::-;2577:5;2574:35;2564:63;;2623:1;2620;2613:12;2564:63;2511:122;:::o;2639:139::-;2685:5;2723:6;2710:20;2701:29;;2739:33;2766:5;2739:33;:::i;:::-;2639:139;;;;:::o;2784:619::-;2861:6;2869;2877;2926:2;2914:9;2905:7;2901:23;2897:32;2894:119;;;2932:79;;:::i;:::-;2894:119;3052:1;3077:53;3122:7;3113:6;3102:9;3098:22;3077:53;:::i;:::-;3067:63;;3023:117;3179:2;3205:53;3250:7;3241:6;3230:9;3226:22;3205:53;:::i;:::-;3195:63;;3150:118;3307:2;3333:53;3378:7;3369:6;3358:9;3354:22;3333:53;:::i;:::-;3323:63;;3278:118;2784:619;;;;;:::o;3409:329::-;3468:6;3517:2;3505:9;3496:7;3492:23;3488:32;3485:119;;;3523:79;;:::i;:::-;3485:119;3643:1;3668:53;3713:7;3704:6;3693:9;3689:22;3668:53;:::i;:::-;3658:63;;3614:117;3409:329;;;;:::o;3744:118::-;3831:24;3849:5;3831:24;:::i;:::-;3826:3;3819:37;3744:118;;:::o;3868:222::-;3961:4;3999:2;3988:9;3984:18;3976:26;;4012:71;4080:1;4069:9;4065:17;4056:6;4012:71;:::i;:::-;3868:222;;;;:::o;4096:180::-;4144:77;4141:1;4134:88;4241:4;4238:1;4231:15;4265:4;4262:1;4255:15;4282:320;4326:6;4363:1;4357:4;4353:12;4343:22;;4410:1;4404:4;4400:12;4431:18;4421:81;;4487:4;4479:6;4475:17;4465:27;;4421:81;4549:2;4541:6;4538:14;4518:18;4515:38;4512:84;;4568:18;;:::i;:::-;4512:84;4333:269;4282:320;;;:::o;4608:181::-;4748:33;4744:1;4736:6;4732:14;4725:57;4608:181;:::o;4795:366::-;4937:3;4958:67;5022:2;5017:3;4958:67;:::i;:::-;4951:74;;5034:93;5123:3;5034:93;:::i;:::-;5152:2;5147:3;5143:12;5136:19;;4795:366;;;:::o;5167:419::-;5333:4;5371:2;5360:9;5356:18;5348:26;;5420:9;5414:4;5410:20;5406:1;5395:9;5391:17;5384:47;5448:131;5574:4;5448:131;:::i;:::-;5440:139;;5167:419;;;:::o;5592:179::-;5732:31;5728:1;5720:6;5716:14;5709:55;5592:179;:::o;5777:366::-;5919:3;5940:67;6004:2;5999:3;5940:67;:::i;:::-;5933:74;;6016:93;6105:3;6016:93;:::i;:::-;6134:2;6129:3;6125:12;6118:19;;5777:366;;;:::o;6149:419::-;6315:4;6353:2;6342:9;6338:18;6330:26;;6402:9;6396:4;6392:20;6388:1;6377:9;6373:17;6366:47;6430:131;6556:4;6430:131;:::i;:::-;6422:139;;6149:419;;;:::o;6574:178::-;6714:30;6710:1;6702:6;6698:14;6691:54;6574:178;:::o;6758:366::-;6900:3;6921:67;6985:2;6980:3;6921:67;:::i;:::-;6914:74;;6997:93;7086:3;6997:93;:::i;:::-;7115:2;7110:3;7106:12;7099:19;;6758:366;;;:::o;7130:419::-;7296:4;7334:2;7323:9;7319:18;7311:26;;7383:9;7377:4;7373:20;7369:1;7358:9;7354:17;7347:47;7411:131;7537:4;7411:131;:::i;:::-;7403:139;;7130:419;;;:::o;7555:223::-;7695:34;7691:1;7683:6;7679:14;7672:58;7764:6;7759:2;7751:6;7747:15;7740:31;7555:223;:::o;7784:366::-;7926:3;7947:67;8011:2;8006:3;7947:67;:::i;:::-;7940:74;;8023:93;8112:3;8023:93;:::i;:::-;8141:2;8136:3;8132:12;8125:19;;7784:366;;;:::o;8156:419::-;8322:4;8360:2;8349:9;8345:18;8337:26;;8409:9;8403:4;8399:20;8395:1;8384:9;8380:17;8373:47;8437:131;8563:4;8437:131;:::i;:::-;8429:139;;8156:419;;;:::o
Swarm Source
ipfs://08710eb5bbab961f51ddeef5be21671c2fc525d0d6c3109142b60ed991424871
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.