// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
/// Minimal ERC-721 whose token metadata lives fully on chain: each token's
/// complete data: URI (JSON w/ embedded image) is stored in contract storage.
contract Inscriptions721 {
string public name;
string public symbol;
address public owner;
uint256 public nextId;
mapping(uint256 => address) private _ownerOf;
mapping(address => uint256) private _balanceOf;
mapping(uint256 => address) public getApproved;
mapping(address => mapping(address => bool)) public isApprovedForAll;
mapping(uint256 => string) private _uris;
event Transfer(address indexed from, address indexed to, uint256 indexed id);
event Approval(address indexed owner, address indexed spender, uint256 indexed id);
event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
event OwnershipTransferred(address indexed from, address indexed to);
constructor(string memory name_, string memory symbol_) {
name = name_;
symbol = symbol_;
owner = msg.sender;
}
/// Hand the collection to another address. Pass address(0) to renounce
/// minting forever, permanently sealing the supply.
function transferOwnership(address to) external {
require(msg.sender == owner, "ONLY_OWNER");
emit OwnershipTransferred(owner, to);
owner = to;
}
function mint(address to, string calldata uri) external returns (uint256 id) {
require(msg.sender == owner, "ONLY_OWNER");
require(to != address(0), "ZERO_ADDRESS");
id = ++nextId;
_ownerOf[id] = to;
_balanceOf[to]++;
_uris[id] = uri;
emit Transfer(address(0), to, id);
}
function tokenURI(uint256 id) external view returns (string memory) {
require(_ownerOf[id] != address(0), "NOT_MINTED");
return _uris[id];
}
function totalSupply() external view returns (uint256) {
return nextId;
}
function ownerOf(uint256 id) public view returns (address o) {
require((o = _ownerOf[id]) != address(0), "NOT_MINTED");
}
function balanceOf(address a) external view returns (uint256) {
require(a != address(0), "ZERO_ADDRESS");
return _balanceOf[a];
}
function approve(address spender, uint256 id) external {
address o = _ownerOf[id];
require(msg.sender == o || isApprovedForAll[o][msg.sender], "NOT_AUTHORIZED");
getApproved[id] = spender;
emit Approval(o, spender, id);
}
function setApprovalForAll(address op, bool ok) external {
isApprovedForAll[msg.sender][op] = ok;
emit ApprovalForAll(msg.sender, op, ok);
}
function transferFrom(address from, address to, uint256 id) public {
require(from == _ownerOf[id], "WRONG_FROM");
require(to != address(0), "ZERO_ADDRESS");
require(
msg.sender == from || isApprovedForAll[from][msg.sender] || msg.sender == getApproved[id],
"NOT_AUTHORIZED"
);
_balanceOf[from]--;
_balanceOf[to]++;
_ownerOf[id] = to;
delete getApproved[id];
emit Transfer(from, to, id);
}
function safeTransferFrom(address from, address to, uint256 id) external {
safeTransferFrom(from, to, id, "");
}
function safeTransferFrom(address from, address to, uint256 id, bytes memory data) public {
transferFrom(from, to, id);
require(
to.code.length == 0
|| IERC721Receiver(to).onERC721Received(msg.sender, from, id, data)
== IERC721Receiver.onERC721Received.selector,
"UNSAFE_RECIPIENT"
);
}
function supportsInterface(bytes4 i) external pure returns (bool) {
return i == 0x01ffc9a7 || i == 0x80ac58cd || i == 0x5b5e139f; // ERC165, ERC721, ERC721Metadata
}
}
interface IERC721Receiver {
function onERC721Received(address, address, uint256, bytes calldata) external returns (bytes4);
}[
{
"type": "constructor",
"inputs": [
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "nonpayable"
},
{
"name": "Approval",
"type": "event",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "id",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "ApprovalForAll",
"type": "event",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "approved",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"anonymous": false
},
{
"name": "OwnershipTransferred",
"type": "event",
"inputs": [
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "Transfer",
"type": "event",
"inputs": [
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "id",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "approve",
"type": "function",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "id",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "balanceOf",
"type": "function",
"inputs": [
{
"name": "a",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "getApproved",
"type": "function",
"inputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "isApprovedForAll",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "mint",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "uri",
"type": "string",
"internalType": "string"
}
],
"outputs": [
{
"name": "id",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "name",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "nextId",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "ownerOf",
"type": "function",
"inputs": [
{
"name": "id",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "o",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "safeTransferFrom",
"type": "function",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "id",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "safeTransferFrom",
"type": "function",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "id",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "data",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setApprovalForAll",
"type": "function",
"inputs": [
{
"name": "op",
"type": "address",
"internalType": "address"
},
{
"name": "ok",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "supportsInterface",
"type": "function",
"inputs": [
{
"name": "i",
"type": "bytes4",
"internalType": "bytes4"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "pure"
},
{
"name": "symbol",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "tokenURI",
"type": "function",
"inputs": [
{
"name": "id",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "totalSupply",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "transferFrom",
"type": "function",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "id",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "transferOwnership",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
}
]0x608060405234801562000010575f80fd5b50604051620013323803806200133283398101604081905262000033916200012b565b5f6200004083826200021b565b5060016200004f82826200021b565b5050600280546001600160a01b0319163317905550620002e7565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126200008e575f80fd5b81516001600160401b0380821115620000ab57620000ab6200006a565b604051601f8301601f19908116603f01168101908282118183101715620000d657620000d66200006a565b8160405283815260209250866020858801011115620000f3575f80fd5b5f91505b83821015620001165785820183015181830184015290820190620000f7565b5f602085830101528094505050505092915050565b5f80604083850312156200013d575f80fd5b82516001600160401b038082111562000154575f80fd5b62000162868387016200007e565b9350602085015191508082111562000178575f80fd5b5062000187858286016200007e565b9150509250929050565b600181811c90821680620001a657607f821691505b602082108103620001c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200021657805f5260205f20601f840160051c81016020851015620001f25750805b601f840160051c820191505b8181101562000213575f8155600101620001fe565b50505b505050565b81516001600160401b038111156200023757620002376200006a565b6200024f8162000248845462000191565b84620001cb565b602080601f83116001811462000285575f84156200026d5750858301515b5f19600386901b1c1916600185901b178555620002df565b5f85815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b61103d80620002f55f395ff3fe608060405234801561000f575f80fd5b5060043610610111575f3560e01c806370a082311161009e578063b88d4fde1161006e578063b88d4fde1461023c578063c87b56dd1461024f578063d0def52114610262578063e985e9c514610275578063f2fde38b146102a2575f80fd5b806370a08231146101fb5780638da5cb5b1461020e57806395d89b4114610221578063a22cb46514610229575f80fd5b806318160ddd116100e457806318160ddd146101a757806323b872dd146101b957806342842e0e146101cc57806361b8ce8c146101df5780636352211e146101e8575f80fd5b806301ffc9a71461011557806306fdde031461013d578063081812fc14610152578063095ea7b314610192575b5f80fd5b610128610123366004610b1f565b6102b5565b60405190151581526020015b60405180910390f35b610145610306565b6040516101349190610b84565b61017a610160366004610b96565b60066020525f90815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610134565b6101a56101a0366004610bc3565b610391565b005b6003545b604051908152602001610134565b6101a56101c7366004610beb565b610475565b6101a56101da366004610beb565b610644565b6101ab60035481565b61017a6101f6366004610b96565b610663565b6101ab610209366004610c24565b6106b9565b60025461017a906001600160a01b031681565b6101456106fb565b6101a5610237366004610c3d565b610708565b6101a561024a366004610c8a565b610773565b61014561025d366004610b96565b610855565b6101ab610270366004610d5f565b610943565b610128610283366004610ddb565b600760209081525f928352604080842090915290825290205460ff1681565b6101a56102b0366004610c24565b610a65565b5f6301ffc9a760e01b6001600160e01b0319831614806102e557506380ac58cd60e01b6001600160e01b03198316145b806103005750635b5e139f60e01b6001600160e01b03198316145b92915050565b5f805461031290610e0c565b80601f016020809104026020016040519081016040528092919081815260200182805461033e90610e0c565b80156103895780601f1061036057610100808354040283529160200191610389565b820191905f5260205f20905b81548152906001019060200180831161036c57829003601f168201915b505050505081565b5f818152600460205260409020546001600160a01b0316338114806103d857506001600160a01b0381165f90815260076020908152604080832033845290915290205460ff165b61041a5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064015b60405180910390fd5b5f8281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b5f818152600460205260409020546001600160a01b038481169116146104ca5760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b6044820152606401610411565b6001600160a01b0382166104f05760405162461bcd60e51b815260040161041190610e44565b336001600160a01b038416148061052957506001600160a01b0383165f90815260076020908152604080832033845290915290205460ff165b8061054957505f818152600660205260409020546001600160a01b031633145b6105865760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610411565b6001600160a01b0383165f9081526005602052604081208054916105a983610e7e565b90915550506001600160a01b0382165f9081526005602052604081208054916105d183610e93565b90915550505f81815260046020908152604080832080546001600160a01b038088166001600160a01b031992831681179093556006909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61065e83838360405180602001604052805f815250610773565b505050565b5f818152600460205260409020546001600160a01b0316806106b45760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b6044820152606401610411565b919050565b5f6001600160a01b0382166106e05760405162461bcd60e51b815260040161041190610e44565b506001600160a01b03165f9081526005602052604090205490565b6001805461031290610e0c565b335f8181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61077e848484610475565b6001600160a01b0383163b15806108105750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a02906107c4903390899088908890600401610eab565b6020604051808303815f875af11580156107e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108049190610ee7565b6001600160e01b031916145b61084f5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610411565b50505050565b5f818152600460205260409020546060906001600160a01b03166108a85760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b6044820152606401610411565b5f82815260086020526040902080546108c090610e0c565b80601f01602080910402602001604051908101604052809291908181526020018280546108ec90610e0c565b80156109375780601f1061090e57610100808354040283529160200191610937565b820191905f5260205f20905b81548152906001019060200180831161091a57829003601f168201915b50505050509050919050565b6002545f906001600160a01b0316331461098c5760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b6044820152606401610411565b6001600160a01b0384166109b25760405162461bcd60e51b815260040161041190610e44565b60035f81546109c090610e93565b91829055505f81815260046020908152604080832080546001600160a01b0319166001600160a01b038a16908117909155835260059091528120805492935090610a0983610e93565b90915550505f818152600860205260409020610a26838583610f4d565b5060405181906001600160a01b038616905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a49392505050565b6002546001600160a01b03163314610aac5760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b6044820152606401610411565b6002546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160e01b031981168114610b1c575f80fd5b50565b5f60208284031215610b2f575f80fd5b8135610b3a81610b07565b9392505050565b5f81518084525f5b81811015610b6557602081850181015186830182015201610b49565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610b3a6020830184610b41565b5f60208284031215610ba6575f80fd5b5035919050565b80356001600160a01b03811681146106b4575f80fd5b5f8060408385031215610bd4575f80fd5b610bdd83610bad565b946020939093013593505050565b5f805f60608486031215610bfd575f80fd5b610c0684610bad565b9250610c1460208501610bad565b9150604084013590509250925092565b5f60208284031215610c34575f80fd5b610b3a82610bad565b5f8060408385031215610c4e575f80fd5b610c5783610bad565b915060208301358015158114610c6b575f80fd5b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215610c9d575f80fd5b610ca685610bad565b9350610cb460208601610bad565b925060408501359150606085013567ffffffffffffffff80821115610cd7575f80fd5b818701915087601f830112610cea575f80fd5b813581811115610cfc57610cfc610c76565b604051601f8201601f19908116603f01168101908382118183101715610d2457610d24610c76565b816040528281528a6020848701011115610d3c575f80fd5b826020860160208301375f60208483010152809550505050505092959194509250565b5f805f60408486031215610d71575f80fd5b610d7a84610bad565b9250602084013567ffffffffffffffff80821115610d96575f80fd5b818601915086601f830112610da9575f80fd5b813581811115610db7575f80fd5b876020828501011115610dc8575f80fd5b6020830194508093505050509250925092565b5f8060408385031215610dec575f80fd5b610df583610bad565b9150610e0360208401610bad565b90509250929050565b600181811c90821680610e2057607f821691505b602082108103610e3e57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b5a45524f5f4144445245535360a01b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f81610e8c57610e8c610e6a565b505f190190565b5f60018201610ea457610ea4610e6a565b5060010190565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90610edd90830184610b41565b9695505050505050565b5f60208284031215610ef7575f80fd5b8151610b3a81610b07565b601f82111561065e57805f5260205f20601f840160051c81016020851015610f275750805b601f840160051c820191505b81811015610f46575f8155600101610f33565b5050505050565b67ffffffffffffffff831115610f6557610f65610c76565b610f7983610f738354610e0c565b83610f02565b5f601f841160018114610faa575f8515610f935750838201355b5f19600387901b1c1916600186901b178355610f46565b5f83815260208120601f198716915b82811015610fd95786850135825560209485019460019092019101610fb9565b5086821015610ff5575f1960f88860031b161c19848701351681555b505060018560011b018355505050505056fea2646970667358221220a54987aa8c5e19924a08fea980ed0397cb888d91a28bcc34af6ecb4e4e8c159064736f6c634300081800330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000156469636b686f6f64726f62696e6661727462757474000000000000000000000000000000000000000000000000000000000000000000000000000000000000084449434b484f4f44000000000000000000000000000000000000000000000000
0x608060405234801561000f575f80fd5b5060043610610111575f3560e01c806370a082311161009e578063b88d4fde1161006e578063b88d4fde1461023c578063c87b56dd1461024f578063d0def52114610262578063e985e9c514610275578063f2fde38b146102a2575f80fd5b806370a08231146101fb5780638da5cb5b1461020e57806395d89b4114610221578063a22cb46514610229575f80fd5b806318160ddd116100e457806318160ddd146101a757806323b872dd146101b957806342842e0e146101cc57806361b8ce8c146101df5780636352211e146101e8575f80fd5b806301ffc9a71461011557806306fdde031461013d578063081812fc14610152578063095ea7b314610192575b5f80fd5b610128610123366004610b1f565b6102b5565b60405190151581526020015b60405180910390f35b610145610306565b6040516101349190610b84565b61017a610160366004610b96565b60066020525f90815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610134565b6101a56101a0366004610bc3565b610391565b005b6003545b604051908152602001610134565b6101a56101c7366004610beb565b610475565b6101a56101da366004610beb565b610644565b6101ab60035481565b61017a6101f6366004610b96565b610663565b6101ab610209366004610c24565b6106b9565b60025461017a906001600160a01b031681565b6101456106fb565b6101a5610237366004610c3d565b610708565b6101a561024a366004610c8a565b610773565b61014561025d366004610b96565b610855565b6101ab610270366004610d5f565b610943565b610128610283366004610ddb565b600760209081525f928352604080842090915290825290205460ff1681565b6101a56102b0366004610c24565b610a65565b5f6301ffc9a760e01b6001600160e01b0319831614806102e557506380ac58cd60e01b6001600160e01b03198316145b806103005750635b5e139f60e01b6001600160e01b03198316145b92915050565b5f805461031290610e0c565b80601f016020809104026020016040519081016040528092919081815260200182805461033e90610e0c565b80156103895780601f1061036057610100808354040283529160200191610389565b820191905f5260205f20905b81548152906001019060200180831161036c57829003601f168201915b505050505081565b5f818152600460205260409020546001600160a01b0316338114806103d857506001600160a01b0381165f90815260076020908152604080832033845290915290205460ff165b61041a5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064015b60405180910390fd5b5f8281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b5f818152600460205260409020546001600160a01b038481169116146104ca5760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b6044820152606401610411565b6001600160a01b0382166104f05760405162461bcd60e51b815260040161041190610e44565b336001600160a01b038416148061052957506001600160a01b0383165f90815260076020908152604080832033845290915290205460ff165b8061054957505f818152600660205260409020546001600160a01b031633145b6105865760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610411565b6001600160a01b0383165f9081526005602052604081208054916105a983610e7e565b90915550506001600160a01b0382165f9081526005602052604081208054916105d183610e93565b90915550505f81815260046020908152604080832080546001600160a01b038088166001600160a01b031992831681179093556006909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61065e83838360405180602001604052805f815250610773565b505050565b5f818152600460205260409020546001600160a01b0316806106b45760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b6044820152606401610411565b919050565b5f6001600160a01b0382166106e05760405162461bcd60e51b815260040161041190610e44565b506001600160a01b03165f9081526005602052604090205490565b6001805461031290610e0c565b335f8181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61077e848484610475565b6001600160a01b0383163b15806108105750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a02906107c4903390899088908890600401610eab565b6020604051808303815f875af11580156107e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108049190610ee7565b6001600160e01b031916145b61084f5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610411565b50505050565b5f818152600460205260409020546060906001600160a01b03166108a85760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b6044820152606401610411565b5f82815260086020526040902080546108c090610e0c565b80601f01602080910402602001604051908101604052809291908181526020018280546108ec90610e0c565b80156109375780601f1061090e57610100808354040283529160200191610937565b820191905f5260205f20905b81548152906001019060200180831161091a57829003601f168201915b50505050509050919050565b6002545f906001600160a01b0316331461098c5760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b6044820152606401610411565b6001600160a01b0384166109b25760405162461bcd60e51b815260040161041190610e44565b60035f81546109c090610e93565b91829055505f81815260046020908152604080832080546001600160a01b0319166001600160a01b038a16908117909155835260059091528120805492935090610a0983610e93565b90915550505f818152600860205260409020610a26838583610f4d565b5060405181906001600160a01b038616905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a49392505050565b6002546001600160a01b03163314610aac5760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b6044820152606401610411565b6002546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160e01b031981168114610b1c575f80fd5b50565b5f60208284031215610b2f575f80fd5b8135610b3a81610b07565b9392505050565b5f81518084525f5b81811015610b6557602081850181015186830182015201610b49565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610b3a6020830184610b41565b5f60208284031215610ba6575f80fd5b5035919050565b80356001600160a01b03811681146106b4575f80fd5b5f8060408385031215610bd4575f80fd5b610bdd83610bad565b946020939093013593505050565b5f805f60608486031215610bfd575f80fd5b610c0684610bad565b9250610c1460208501610bad565b9150604084013590509250925092565b5f60208284031215610c34575f80fd5b610b3a82610bad565b5f8060408385031215610c4e575f80fd5b610c5783610bad565b915060208301358015158114610c6b575f80fd5b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215610c9d575f80fd5b610ca685610bad565b9350610cb460208601610bad565b925060408501359150606085013567ffffffffffffffff80821115610cd7575f80fd5b818701915087601f830112610cea575f80fd5b813581811115610cfc57610cfc610c76565b604051601f8201601f19908116603f01168101908382118183101715610d2457610d24610c76565b816040528281528a6020848701011115610d3c575f80fd5b826020860160208301375f60208483010152809550505050505092959194509250565b5f805f60408486031215610d71575f80fd5b610d7a84610bad565b9250602084013567ffffffffffffffff80821115610d96575f80fd5b818601915086601f830112610da9575f80fd5b813581811115610db7575f80fd5b876020828501011115610dc8575f80fd5b6020830194508093505050509250925092565b5f8060408385031215610dec575f80fd5b610df583610bad565b9150610e0360208401610bad565b90509250929050565b600181811c90821680610e2057607f821691505b602082108103610e3e57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b5a45524f5f4144445245535360a01b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f81610e8c57610e8c610e6a565b505f190190565b5f60018201610ea457610ea4610e6a565b5060010190565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90610edd90830184610b41565b9695505050505050565b5f60208284031215610ef7575f80fd5b8151610b3a81610b07565b601f82111561065e57805f5260205f20601f840160051c81016020851015610f275750805b601f840160051c820191505b81811015610f46575f8155600101610f33565b5050505050565b67ffffffffffffffff831115610f6557610f65610c76565b610f7983610f738354610e0c565b83610f02565b5f601f841160018114610faa575f8515610f935750838201355b5f19600387901b1c1916600186901b178355610f46565b5f83815260208120601f198716915b82811015610fd95786850135825560209485019460019092019101610fb9565b5086821015610ff5575f1960f88860031b161c19848701351681555b505060018560011b018355505050505056fea2646970667358221220a54987aa8c5e19924a08fea980ed0397cb888d91a28bcc34af6ecb4e4e8c159064736f6c63430008180033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| DIH | 1 | $0.0000102 | $0 |
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| no internal transactions found for this address yet (traced blocks + on-demand) | ||||||||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x9818842d…983f05 | Transfer | 19,082,999 | 22 days agoSat, 25 Jul 2026 14:30:54 UTC | 0xcaf7…5d11 | IN | 0x2770…7b2f | $0.001 DIH |
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xe2c776…fcd202 | 33 days agoTue, 14 Jul 2026 00:40:35 UTC | 0x8be007…57e0 | [0] 0x000000000000…7d613516 [1] 0x000000000000…bbef467c |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xe2c776…fcd202 | transferOwnership | 9,105,721 | 33 days agoTue, 14 Jul 2026 00:40:35 UTC | 0x29bb…3516 | IN | Inscriptions721 | $0.000 ETH | 0.00000143 |