Overview ERC721
Total Supply:
1,123 FFW

Holders:
911
Profile Summary
Blockchain:
Base (8453)

Contract Source Code Verified (Partial Match)
Contract Name:
FFWeekNFT

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 800 runs

Created At:
Mon, 06 May 2024 02:36:23 GMT
FFWeekNFT.sol
src
nft
FFWeekNFT.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "baseURI_",
        "type": "string"
      },
      {
        "internalType": "uint256",
        "name": "week_",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "sender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      }
    ],
    "name": "ERC721IncorrectOwner",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "ERC721InsufficientApproval",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "approver",
        "type": "address"
      }
    ],
    "name": "ERC721InvalidApprover",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "operator",
        "type": "address"
      }
    ],
    "name": "ERC721InvalidOperator",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      }
    ],
    "name": "ERC721InvalidOwner",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "receiver",
        "type": "address"
      }
    ],
    "name": "ERC721InvalidReceiver",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "sender",
        "type": "address"
      }
    ],
    "name": "ERC721InvalidSender",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "ERC721NonexistentToken",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ExceededCap",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "NonexistentToken",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "Unauthorized",
    "type": "error"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "Approval",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "approved",
        "type": "bool"
      }
    ],
    "name": "ApprovalForAll",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnershipTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "baseURI",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "cap",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "getApproved",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "isApprovedForAll",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      }
    ],
    "name": "mint",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "ownerOf",
    "outputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "safeTransferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "data",
        "type": "bytes"
      }
    ],
    "name": "safeTransferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "approved",
        "type": "bool"
      }
    ],
    "name": "setApprovalForAll",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "baseURI_",
        "type": "string"
      }
    ],
    "name": "setBaseURI",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes4",
        "name": "interfaceId",
        "type": "bytes4"
      }
    ],
    "name": "supportsInterface",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "tokenURI",
    "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": "id",
        "type": "uint256"
      }
    ],
    "name": "transferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "week",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]


Contract Creation Code
60a060405234801562000010575f80fd5b506040516200174938038062001749833981016040819052620000339162000100565b6040805180820182526009815268119195d9595ad3919560ba1b60208083019190915282518084018452600381526246465760e81b918101919091525f80546001600160a01b0319163390811782559351929391928291907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001620000bf83826200025e565b506002620000ce82826200025e565b5060089150620000e1905083826200025e565b50608052506200032a565b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121562000112575f80fd5b82516001600160401b038082111562000129575f80fd5b818501915085601f8301126200013d575f80fd5b815181811115620001525762000152620000ec565b604051601f8201601f19908116603f011681019083821181831017156200017d576200017d620000ec565b8160405282815260209350888484870101111562000199575f80fd5b5f91505b82821015620001bc57848201840151818301850152908301906200019d565b5f928101840192909252509401519395939450505050565b600181811c90821680620001e957607f821691505b6020821081036200020857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200025957805f5260205f20601f840160051c81016020851015620002355750805b601f840160051c820191505b8181101562000256575f815560010162000241565b50505b505050565b81516001600160401b038111156200027a576200027a620000ec565b62000292816200028b8454620001d4565b846200020e565b602080601f831160018114620002c8575f8415620002b05750858301515b5f19600386901b1c1916600185901b17855562000322565b5f85815260208120601f198616915b82811015620002f857888601518255948401946001909101908401620002d7565b50858210156200031657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b608051611406620003435f395f6102b001526114065ff3fe608060405260043610610162575f3560e01c80636352211e116100c657806395d89b411161007c578063c87b56dd11610057578063c87b56dd146103c6578063e985e9c5146103e5578063f2fde38b1461041e575f80fd5b806395d89b4114610374578063a22cb46514610388578063b88d4fde146103a7575f80fd5b80636c0360eb116100ac5780636c0360eb1461032357806370a08231146103375780638da5cb5b14610356575f80fd5b80636352211e146102f15780636a62784214610310575f80fd5b806323b872dd1161011b57806342842e0e1161010157806342842e0e146102805780634995b4581461029f57806355f804b3146102d2575f80fd5b806323b872dd1461024b578063355274ea1461026a575f80fd5b8063081812fc1161014b578063081812fc146101bb578063095ea7b31461020757806318160ddd14610228575f80fd5b806301ffc9a71461016657806306fdde031461019a575b5f80fd5b348015610171575f80fd5b50610185610180366004610eb8565b61043d565b60405190151581526020015b60405180910390f35b3480156101a5575f80fd5b506101ae61048e565b6040516101919190610f27565b3480156101c6575f80fd5b506101ef6101d5366004610f39565b60056020525f90815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610191565b348015610212575f80fd5b50610226610221366004610f66565b61051a565b005b348015610233575f80fd5b5061023d60075481565b604051908152602001610191565b348015610256575f80fd5b50610226610265366004610f8e565b6105e4565b348015610275575f80fd5b5061023d620f424081565b34801561028b575f80fd5b5061022661029a366004610f8e565b61077b565b3480156102aa575f80fd5b5061023d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102dd575f80fd5b506102266102ec366004610fdb565b6107a5565b3480156102fc575f80fd5b506101ef61030b366004610f39565b6107de565b61023d61031e366004611086565b61081b565b34801561032e575f80fd5b506101ae610863565b348015610342575f80fd5b5061023d610351366004611086565b610870565b348015610361575f80fd5b505f546101ef906001600160a01b031681565b34801561037f575f80fd5b506101ae6108b5565b348015610393575f80fd5b506102266103a236600461109f565b6108c2565b3480156103b2575f80fd5b506102266103c13660046110d8565b61092d565b3480156103d1575f80fd5b506101ae6103e0366004610f39565b610980565b3480156103f0575f80fd5b506101856103ff36600461116b565b600660209081525f928352604080842090915290825290205460ff1681565b348015610429575f80fd5b50610226610438366004611086565b6109e5565b5f6301ffc9a760e01b6001600160e01b03198316148061046d57506380ac58cd60e01b6001600160e01b03198316145b806104885750635b5e139f60e01b6001600160e01b03198316145b92915050565b6001805461049b9061119c565b80601f01602080910402602001604051908101604052809291908181526020018280546104c79061119c565b80156105125780601f106104e957610100808354040283529160200191610512565b820191905f5260205f20905b8154815290600101906020018083116104f557829003601f168201915b505050505081565b5f818152600360205260409020546001600160a01b031633811480159061056457506001600160a01b0381165f90815260066020908152604080832033845290915290205460ff16155b156105895760405163a9fbf51f60e01b81523360048201526024015b60405180910390fd5b5f8281526005602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b5f818152600360205260409020546001600160a01b03848116911614610647575f81815260036020526040908190205490516364283d7b60e01b81526001600160a01b038086166004830152602482018490529091166044820152606401610580565b6001600160a01b03821661067057604051633250574960e11b81525f6004820152602401610580565b336001600160a01b038416148015906106ac57506001600160a01b0383165f90815260066020908152604080832033845290915290205460ff16155b80156106ce57505f818152600560205260409020546001600160a01b03163314155b156106ee5760405163a9fbf51f60e01b8152336004820152602401610580565b6001600160a01b038084165f81815260046020908152604080832080545f19019055938616808352848320805460010190558583526003825284832080546001600160a01b03199081168317909155600590925284832080549092169091559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6107868383836105e4565b6107a033848360405180602001604052805f815250610a58565b505050565b5f546001600160a01b031633146107ce576040516282b42960e81b815260040160405180910390fd5b60086107da8282611218565b5050565b5f818152600360205260409020546001600160a01b03168061081657604051637e27328960e01b815260048101839052602401610580565b919050565b5f620f42406007540361084157604051633ddecdd960e01b815260040160405180910390fd5b610849610b7d565b90506108558282610bfd565b600780546001019055919050565b6008805461049b9061119c565b5f6001600160a01b03821661089a576040516322718ad960e21b81525f6004820152602401610580565b506001600160a01b03165f9081526004602052604090205490565b6002805461049b9061119c565b335f8181526006602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6109388585856105e4565b61097933868585858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610a5892505050565b5050505050565b606061098b82610c21565b5f600880546109999061119c565b9050116109b45760405180602001604052805f815250610488565b60086109bf83610c5b565b6040516020016109d09291906112d8565b60405160208183030381529060405292915050565b5f546001600160a01b03163314610a0e576040516282b42960e81b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001600160a01b0383163b15610b7757604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290610a9a90339088908790879060040161135b565b6020604051808303815f875af1925050508015610ad4575060408051601f3d908101601f19168201909252610ad191810190611396565b60015b610b3b573d808015610b01576040519150601f19603f3d011682016040523d82523d5f602084013e610b06565b606091505b5080515f03610b3357604051633250574960e11b81526001600160a01b0385166004820152602401610580565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b1461097957604051633250574960e11b81526001600160a01b0385166004820152602401610580565b50505050565b5f5b6040516bffffffffffffffffffffffff193360601b166020820152426034820152436054820152621fffff90607401604051602081830303815290604052805190602001205f1c610bd091906113b1565b90505f81118015610bf557505f818152600360205260409020546001600160a01b0316155b15610b7f5790565b610c078282610cf8565b6107da335f8360405180602001604052805f815250610a58565b5f818152600360205260409020546001600160a01b0316610c5857604051632f4163e760e01b815260048101829052602401610580565b50565b60605f610c6783610dc2565b60010190505f8167ffffffffffffffff811115610c8657610c86610fc7565b6040519080825280601f01601f191660200182016040528015610cb0576020820181803683370190505b5090508181016020015b5f19017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084610cba57509392505050565b6001600160a01b038216610d2157604051633250574960e11b81525f6004820152602401610580565b5f818152600360205260409020546001600160a01b031615610d58576040516339e3563760e11b81525f6004820152602401610580565b6001600160a01b0382165f81815260046020908152604080832080546001019055848352600390915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b5f807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610e0a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310610e36576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610e5457662386f26fc10000830492506010015b6305f5e1008310610e6c576305f5e100830492506008015b6127108310610e8057612710830492506004015b60648310610e92576064830492506002015b600a83106104885760010192915050565b6001600160e01b031981168114610c58575f80fd5b5f60208284031215610ec8575f80fd5b8135610ed381610ea3565b9392505050565b5f5b83811015610ef4578181015183820152602001610edc565b50505f910152565b5f8151808452610f13816020860160208601610eda565b601f01601f19169290920160200192915050565b602081525f610ed36020830184610efc565b5f60208284031215610f49575f80fd5b5035919050565b80356001600160a01b0381168114610816575f80fd5b5f8060408385031215610f77575f80fd5b610f8083610f50565b946020939093013593505050565b5f805f60608486031215610fa0575f80fd5b610fa984610f50565b9250610fb760208501610f50565b9150604084013590509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610feb575f80fd5b813567ffffffffffffffff80821115611002575f80fd5b818401915084601f830112611015575f80fd5b81358181111561102757611027610fc7565b604051601f8201601f19908116603f0116810190838211818310171561104f5761104f610fc7565b81604052828152876020848701011115611067575f80fd5b826020860160208301375f928101602001929092525095945050505050565b5f60208284031215611096575f80fd5b610ed382610f50565b5f80604083850312156110b0575f80fd5b6110b983610f50565b9150602083013580151581146110cd575f80fd5b809150509250929050565b5f805f805f608086880312156110ec575f80fd5b6110f586610f50565b945061110360208701610f50565b935060408601359250606086013567ffffffffffffffff80821115611126575f80fd5b818801915088601f830112611139575f80fd5b813581811115611147575f80fd5b896020828501011115611158575f80fd5b9699959850939650602001949392505050565b5f806040838503121561117c575f80fd5b61118583610f50565b915061119360208401610f50565b90509250929050565b600181811c908216806111b057607f821691505b6020821081036111ce57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156107a057805f5260205f20601f840160051c810160208510156111f95750805b601f840160051c820191505b81811015610979575f8155600101611205565b815167ffffffffffffffff81111561123257611232610fc7565b61124681611240845461119c565b846111d4565b602080601f831160018114611279575f84156112625750858301515b5f19600386901b1c1916600185901b1785556112d0565b5f85815260208120601f198616915b828110156112a757888601518255948401946001909101908401611288565b50858210156112c457878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f8084546112e58161119c565b600182811680156112fd57600181146113125761133e565b60ff198416875282151583028701945061133e565b885f526020805f205f5b858110156113355781548a82015290840190820161131c565b50505082870194505b505050508351611352818360208801610eda565b01949350505050565b5f6001600160a01b0380871683528086166020840152508360408301526080606083015261138c6080830184610efc565b9695505050505050565b5f602082840312156113a6575f80fd5b8151610ed381610ea3565b5f826113cb57634e487b7160e01b5f52601260045260245ffd5b50069056fea26469706673582212205f98c4c9f8c959bcfe256831dd99471c17b8abf53ef607f9685df347d2f56b9b64736f6c63430008180033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000316b4000000000000000000000000000000000000000000000000000000000000002b68747470733a2f2f6170702e666565667265652e66692f7572692f6e66742f383435332f3230323432302f000000000000000000000000000000000000000000