web3wagmi
← All standards

ERC-8047 Forensic Token (Forest)

DraftERCcreated 2025-10-15requires ERC-165, ERC-1155, ERC-5615

A DAG-based token enabling hierarchical traceability and efficient enforcement for compliant digital assets.

Authors: Sirawit Techavanitch (@MASDXI), Supachate Innet

ERC-165 interface ids

Computed here as the XOR of the selectors each interface defines.

IERC80470xa4afd005

Functions this standard introduces (7)

0x8faa8d09depthOf(uint256)view
0x47893852latestDAGDepthOf(uint256)view
0x6352211eownerOf(uint256)view
0xcfa3c132parentOf(uint256)view
0xdc299d69rootOf(uint256)view
0x044215c6token(uint256)view
0x18160dddtotalSupply()view

Inherited (9)

0x00fdd58ebalanceOf(address,uint256)ERC-1155
0x4e1273f4balanceOfBatch(address[],uint256[])ERC-1155
0x4f558e79exists(uint256)ERC-5615
0xe985e9c5isApprovedForAll(address,address)ERC-1155
0x2eb2c2d6safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)ERC-1155
0xf242432asafeTransferFrom(address,address,uint256,uint256,bytes)ERC-1155
0xa22cb465setApprovalForAll(address,bool)ERC-1155
0x01ffc9a7supportsInterface(bytes4)ERC-165
0xbd85b039totalSupply(uint256)ERC-5615

Events (11)

Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.

0x0f91f79b60765ed60c8537a0c2f417bfc1ab0a46df716a76bc7ba5130529898fTokenCreated(uint256,uint256,address)
0xb19f34109a13e4ec3a29989c109cc868877d3059bb06d7d917322238523e85d7TokenSpent(uint256,uint256,uint256)
0xc56474826b544c172050af79d4890cd341a387602adf4a8ba1140de2172eb069TokenMerged(uint256[],uint256,address,uint8)
0x32072f3050b98b488e0cc71163b9f5bba43de8ee3ce0063120697f0306132e1aFrozenToken(uint256)
0x35b2c0a9c420c57b78eb4fc1be249e84f57f9dcab91b3eb4402622d246b71877FrozenBefore(uint256,uint256)
0xbf328aebfa61208a6119b189b60979f53211d9986309288248dfe5752a700ec5FrozenAfter(uint256,uint256)
0xa0beab5f963713c6216ab509508503d3f5cefd4463df3dc88f9599465b9e5c89FrozenDepth(uint256,uint256)
0x5b5a650756588680bb0b9c3fd6d5c1916af708cb2ead120f0e50fecc084197a3UnfrozenToken(uint256)
0x2fbc12467464dc9915c841cdba92074209ad7f8fd78e63d1e27ed11698ecb64aUnfrozenBefore(uint256,uint256)
0x5d72c955fefbd169c605e0f68a30dbd8384d7b74d8ea2a7762e397ad4260ad6fUnfrozenAfter(uint256,uint256)
0x436974f713d3411f3ac952576f7d9e332a463bc663e617c340ee158fd6ae949fUnfrozenDepth(uint256,uint256)

Custom errors (7)

0x514f220fTokenFrozen()
0xff7be83dTokenNotFrozen()
0x5459fd2eDepthFrozen()
0x425973a3DepthNotFrozen()
0x2a197168ConflictingBounds()
0x831dc50dInvalidUnfreezeTypes()
0xb371f4ceBoundNotSet()

Depends on (3)

Proposals this one names in its requires field.

What the specification covers

Compare with

Parsed from the canonical specification · discussion