-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
38 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,19 @@ | ||
// SPDX-License-Identifier: GPL-3.0-or-later | ||
pragma solidity ^0.8.6; | ||
|
||
interface IERC4973{ | ||
/// @dev This emits when bond of any SBT is established by any mechanism. | ||
/// This event emits when SBTs are created (`from` == 0) and destroyed | ||
/// (`to` == 0). Exception: during contract creation, any number of SBTs | ||
/// may be created and assigned without emitting Bond. | ||
event Bond(address indexed _from, address indexed _to, uint256 indexed _tokenId); | ||
/// @notice Find the address bound to an ERC1238 soulbound token (short "SBT") | ||
/// @title Non-Transferrable Non-Fungible Tokens (Soulbound Tokens or "Badges") | ||
/// @dev See https://eips.ethereum.org/EIPS/eip-4973 | ||
/// Note: the ERC-165 identifier for this interface is 0xad5ec850. | ||
interface IERC4973 /* is ERC165, ERC721Metadata */ { | ||
/// @dev This emits when transfer of any soulbound token is established by any | ||
/// mechanism. This event emits when SBTs are created (`from` == 0) and | ||
/// destroyed (`to` == 0). Exception: during contract creation, any number of | ||
/// SBTs may be created and assigned without emitting Transfer. | ||
event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId); | ||
/// @notice Find the address bound to an ERC4973 soulbound token | ||
/// @dev SBTs assigned to zero address are considered invalid, and queries | ||
/// about them do throw. | ||
/// @param _tokenId The identifier for an SBT | ||
/// @return The address of the owner bound to the SBT | ||
function boundTo(uint256 _tokenId) external view returns (address); | ||
function ownerOf(uint256 _tokenId) external view returns (address); | ||
} |