Comment on page
KYC - Kinto ID
Deployment Address
Goerli Kinto - 0x8c4F43B4Bb9D5De975f5E22aD6b2afCDD6fC7b2D
The easiest way to check an account is to use the
isKYC
method. It checks a given address, making sure it has a valid KYC. It has been audited recently for AML sanctions, and it doesn't have any.For example, if you want to check whether a specific address verifies all these properties you can simply call:
isKYC(<ADDRESS>)
The following traits will be used to verify additional flags on a user identity.
Name | Number |
---|---|
US_ACCREDITATION | 1 |
... | ... |
Using the following call method, you can quickly check if a user has any trait. For example, if you want to check whether a specific address is an accredited investor in the US, you can use:
hasTrait(<ADDRESS>, 1)
The numerical country code will key the sanction IDs according to https://en.wikipedia.org/wiki/ISO_3166-1_numeric.
For example, to check whether a user has any sanctions in the US:
isSanctionsSafeIn(<ADDRESS>, 840);
Privileged roles can call the following functions.
function mintIndividualKyc(SignatureData calldata _signatureData, uint16[] memory _traits) external;
function mintCompanyKyc(SignatureData calldata _signatureData, uint16[] memory _traits) external;
function burnKYC(SignatureData calldata _signatureData) external;
function setURI(string memory newuri) external;
function addTrait(address _account, uint16 _traitId) external;
function removeTrait(address _account, uint16 _traitId) external;
function addSanction(address _account, uint16 _countryId) external;
function removeSanction(address _account, uint16 _countryId) external;
function monitor(address[] memory _accounts, MonitorUpdateData[][] memory _traitsAndSanctions) external;
1. mintIndividualKyc
This function mints a KYC token for an individual with specific traits. Only KYC providers are allowed to call this function.
Function Interface:
function mintIndividualKyc(SignatureData calldata _signatureData, uint16[] memory _traits) external;
Parameter | Type | Explanation |
---|---|---|
_signatureData | SignatureData calldata | Contains the signature data for minting the KYC token |
_traits | uint16[] memory | The array of trait IDs for the individual |
2. mintCompanyKyc
This function mints a KYC token for a company with specific traits. Only KYC providers are allowed to call this function.
Function Interface:
function mintCompanyKyc(SignatureData calldata _signatureData, uint16[] memory _traits) external;
Parameter | Type | Explanation |
---|---|---|
_signatureData | SignatureData calldata | Contains the signature data for minting the KYC token |
_traits | uint16[] memory | The array of trait IDs for the company |
3. burnKYC
This function burns a KYC token. Only KYC providers are allowed to call this function.
Function Interface:
function burnKYC(SignatureData calldata _signatureData) external;
Parameter | Type | Explanation |
---|---|---|
_signatureData | SignatureData calldata | Contains the signature data for burning |
4. setURI
This function sets the URI for the NFT metadata. Only governance is allowed to call this function.
Function Interface:
function setURI(string memory newuri) external;
Parameter | Type | Explanation |
---|---|---|
newuri | string memory | The new URI to set |
5. addTrait
This function adds a trait to a given account. Only KYC providers are allowed to call this function.
Function Interface:
function addTrait(address _account, uint16 _traitId) external;
Parameter | Type | Explanation |
---|---|---|
_account | address | The account address |
_traitId | uint16 | ID of the trait to add |
6. removeTrait
This function removes a trait from a given account. Only KYC providers are allowed to call this function.
Function Interface:
function removeTrait(address _account, uint16 _traitId) external;
Parameter | Type | Explanation |
---|---|---|
_account | address | The account address |
_traitId | uint16 | ID of the trait to remove |
7. addSanction
This function adds a sanction to a given account. Only KYC providers are allowed to call this function.
Function Interface:
function addSanction(address _account, uint16 _countryId) external;
Parameter | Type | Explanation |
---|---|---|
_account | address | The account address |
_countryId | uint8 | ID of the country to sanction |
8. removeSanction
This function removes a sanction from a given account.
Only KYC providers are allowed to call this function.
Function Interface:
function removeSanction(address _account, uint16 _countryId) external;
Parameter | Type | Explanation |
---|---|---|
_account | address | The account address |
_countryId | uint8 | ID of the country to remove sanction |
9. monitor
This function monitors an array of accounts and updates their traits and sanctions. Only KYC providers are allowed to call this function.
Function Interface:
function monitor(address[] memory _accounts, MonitorUpdateData[][] memory _traitsAndSanctions) external;
Parameter | Type | Explanation |
---|---|---|
_accounts | address[] memory | Array of account addresses |
_traitsAndSanctions | MonitorUpdateData[][] memory | Array of traits and sanctions updates |
Anyone can call the following functions without a transaction to retrieve information from the contract.
function name() external pure returns (string memory);
function symbol() external pure returns (string memory);
function isKYC(address _account) external view returns (bool);
function isSanctionsMonitored(uint32 _days) external view returns (bool);
function isSanctionsSafe(address _account) external view returns (bool);
function isSanctionsSafeIn(address _account, uint16 _countryId) external view returns (bool);
function isCompany(address _account) external view returns (bool);
function isIndividual(address _account) external view returns (bool);
function mintedAt(address _account) external view returns (uint256);
function hasTrait(address _account, uint16 index) external view returns (bool);
function traits(address _account) external view returns (bool[] memory);
1. isKYC
This function checks whether a given account is KYC'd by checking the balance of KYC tokens.
Function Interface:
function isKYC(address _account) external view override returns (bool);
Parameter | Type | Explanation |
---|---|---|
_account | address | The address to check |
2. isSanctionsMonitored
This function checks whether the account has been monitored for sanctions in the last X days.
Function Interface:
function isSanctionsMonitored(uint32 _days) public view override returns(bool);
Parameter | Type | Explanation |
---|---|---|
_days | uint32 | Number of days to check |
3. isSanctionsSafe
This function checks whether a given account is safe from sanctions.
Function Interface:
function isSanctionsSafe(address _account) public view override returns (bool);
Parameter | Type | Explanation |
---|---|---|
_account | address | The account address |
4. isSanctionsSafeIn
This function checks whether a given account is safe from sanctions in a specific country.
Function Interface:
function isSanctionsSafeIn(address _account, uint16 _countryId) external view override returns (bool);
Parameter | Type | Explanation |
---|---|---|
_account | address | The account address |
_countryId | uint16 | The country ID |
5. isCompany
This function checks whether a given account is a company.
Function Interface:
function isCompany(address _account) external view override returns (bool);
Parameter | Type | Explanation |
---|---|---|
_account | address | The account address |
6. isIndividual
This function checks whether a given account is an individual.
Function Interface:
function isIndividual(address _account) external view override returns (bool);
Parameter | Type | Explanation |
---|---|---|
_account | address | The account address |
7. mintedAt
This function returns the timestamp when the KYC token was minted for a given account.
Function Interface:
function mintedAt(address _account) external view override returns (uint256);
Parameter | Type | Explanation |
---|---|---|
_account | address | The account address |
8. hasTrait
This function checks whether a given account has a specific trait.
Function Interface:
function hasTrait(address _account, uint16 index) external view override returns (bool);
Parameter | Type | Explanation |
---|---|---|
_account | address | The account address |
index | uint16 | Index of the trait to check |
9. traits
This function returns an array of booleans representing the traits of the account.
Function Interface:
function traits(address _account) external view override returns (bool[] memory);
Parameter | Type | Explanation |
---|---|---|
_account | address | The account address |
Last modified 1mo ago