KIP Identification
This contract is used as a KIP Identity to classify users in the KIP Ecosystem.
The contract uses the
ERC-721
standard with the external implementationERC721URIStorage
Currently, there are three types of Users:
App Owner
(idType
= 1)Model Owner
(idType
= 2)Dataset Owner
(idType
= 3)
Deployed
KIPIdentification
contract:Network
Sepolia Base
: 0x3cDfD20F5AA27335bE4A68d0e1B1085A65418b09
Supported roles/actors/users (
msg.sender
):DEFAULT_ADMIN_ROLE
:MINTER_ROLE
:Users
:owners
oftokenId
Contract Interfaces
Getter functions:
Purpose: Query the current address of the
KIPManagement
contract.Parameters:
None
Return:
Type:
address
Value: The address of the
KIPManagement
contract
Purpose: Query the name of the Identity NFT Collection (
ERC-721
standard).Parameters:
None
Return:
Type:
string
Value: The Identity NFT Collection's name
Purpose: Query the symbol of the Identity NFT Collection (
ERC-721
standard)Parameters:
None
Return:
Type:
string
Value: The Identity NFT Collection's symbol
Purpose: Query the number of identities
owner
has in the NFT Collection (ERC-721
standard)Parameter:
owner
:Type:
address
Value: The account's address to check
Return:
Type:
uint256
Value: The total number of identities
owner
has
Purpose: Query the
owner
of the issuedtokenId
(ERC-721
standard)Parameter:
tokenId
:Type:
uint256
Value: The unique ID assigned to an identity
Return:
Type:
address
Value: The
owner
of the providedtokenId
Purpose: Query the
idType
of the issuedtokenId
Parameter:
tokenId
:Type:
uint256
Value: The unique ID assigned to an identity
Return:
Type:
uint256
Value: The unique classification that has been assigned to the
tokenId
Purpose: Query the
URL
of the issuedtokenId
which links to its metadata (ERC-721
standard)Parameter:
tokenId
:Type:
uint256
Value: The unique ID assigned to an identity
Return:
Type:
string
Value: The string value of
URL
Purpose: Query the address that has been approved as
spender
of thetokenId
(ERC-721
standard)Parameter:
tokenId
:Type:
uint256
Value: The unique ID assigned to an identity
Return:
Type:
address
Value: The address of an approved
spender
Purpose: Check whether
operator
is approved asspender
for alltokenId
s owned byowner
(ERC-721
standard)Parameter:
owner
:Type:
address
Value: The
owner
s address
operator
:Type:
address
Value: The
owner
s address
Return:
Type:
bool
Value:
true
orfalse
Setter functions:
Purpose: Update the address of
KIPManagement
contractRequirement:
Caller must have
DEFAULT_ADMIN_ROLE
Parameter:
management
:Type:
address
Value: The address of the
KIPManagement
contract
Purpose: Generate the identity and assign to
to
Requirements:
Caller must have
MINTER_ROLE
Receiving address must follow:
Should not be
0x0
If a contract, it should have the required interface (
IERC721Receiver
)
tokenId
should not have been issued prior to the request
Parameters:
to
:Type:
address
Value: The address that will be the
owner
oftokenId
tokenId
:Type:
uint256
Value: The unique ID assigned to an identity
idType
:Type:
uint256
Value: The classification of the
tokenId
tokenURI
:Type:
string
Value: The string value of
URL
Purpose: Update the new string
URL
oftokenId
which links to its metadataRequirements:
Caller must be the
owner
of thetokenId
Parameters:
tokenId
:Type:
uint256
Value: The unique ID assigned to an identity
tokenURI
:Type:
string
Value: The new string of
URL
Purpose: Transfer the ownership of the
tokenId
Requirements:
Caller must be one of the following:
The
owner
of the transferringtokenId
Approved as
spender
for thetokenId
Receiver must meet the following requirements:
Should not be
0x0
If a contract, it should have the required interface (
IERC721Receiver
)
Parameters:
from
:Type:
address
Value: The current
owner
of thetokenId
to
:Type:
address
Value: The new
owner
to whom thetokenId
will be transferred
tokenId
:Type:
uint256
Value: The unique ID assigned to an identity
Purpose: Transfer the ownership of the tokenId. This function does not validate/check the Receiver. It is recommended to use the above function when transferring the identity's ownership.
Requirements:
Caller must be one of the following:
The
owner
of the transferringtokenId
Approved as
spender
for thetokenId
Receiver should not be
0x0
Parameters:
from
:Type:
address
Value: The current
owner
of thetokenId
to
:Type:
address
Value: The new
owner
to whom thetokenId
will be transferred
tokenId
:Type:
uint256
Value: The unique ID assigned to an identity
Purpose: Authorize
to
as thespender
fortokenId
Requirements:
Caller must be the
owner
of thetokenId
Parameters:
to
:Type:
address
Value: The account address that will be assigned as the
spender
tokenId
:Type:
uint256
Value: The unique ID assigned to an identity
Purpose: Set or reset
operator
as the approvalspender
for alltokenId
s that owned bymsg.sender
Requirements:
Caller can be
ANY
Parameters:
operator
:Type:
address
Value: The account address that will be assigned as the
spender
approved
:Type:
bool
Value:
true
to set, andfalse
to reset
Last updated