LogoLogo
  • General
    • 👋Welcome to Kinto
    • 📔Terminology
    • 📃Litepaper
    • 📄One Pager
    • 🔗Links
    • 🤝Partners and Collaborators
    • ❓FAQ
  • User Guides
    • 🌟Sign Up Walkthrough
    • 🗝️KYC Walkthrough
      • 🔑Synaps Walkthrough
      • 🔑Plaid Walkthrough
    • 📄KYB Walkthrough
    • 🪟Passkeys on Windows Walkthrough
    • Setting up a 1Password Passkey
    • ❔Troubleshooting/Help
    • 💰Kinto Deposits
      • Onramp on Kinto
    • 💸Kinto Withdrawals
      • 🗝️Recover funds from my Passkey address
      • 🎁Wrapping ETH in your Kinto Wallet
      • Offramp on Kinto
    • Swap on Kinto
    • Lending & Borrowing
    • Hyperliquid
      • Fees
      • Deposits
      • Creating Orders
      • Closing an Order
      • Withdrawals
    • Send to other Kinto Wallets
    • Token Sale Participation
    • Full Account Recovery
    • $K Transfer
      • Withdraw $K
      • Send $K on Kinto
      • Deposit $K
      • Swap $K on Kinto
    • Recover Funds from an X Signer
    • $K Lend and Borrow Market
      • Supply USDC to $K Lending Market
      • Withdraw USDC from $K Lending Market
      • Add $K and Borrow USDC
      • Repay USDC and Withdraw $K
  • Security/KYC/AML
    • 🔑Securing Kinto
    • 📃Security One Pager
    • 🔐Security and Risk Management
    • 🛡️Wallet Insurance
    • ⚙️User Owned KYC
    • 🏳️Enabled Countries
    • 🔒Beware of Scams
    • ✅Kinto Validators
    • 🤺Security Council
  • Building on Kinto
    • ℹ️Network Information
    • 🧱Kinto Rollup Architecture
    • ❕Differences with other rollups
    • 🤖Rollup Features
      • ⚙️Create2
      • 🔥Kinto Account Abstraction
      • 🛡️KintoWallet
      • 🪢Musubi - Chain Abstraction
    • 💻Development guide
      • 1️⃣1️⃣ Setup your Deployer EOA
      • 2️⃣2️⃣ Environment setup
      • 3️⃣3️⃣ Creating your Kinto App
    • ⛩️Interacting with your Kinto App
      • 🤖Interacting with contracts
      • 👩‍🏭Create a Web Dapp
    • 📗Smart Contract Reference
      • KintoAppRegistry
      • KintoID
      • KintoWalletFactory
      • Kinto Wallet
      • SponsorPaymaster
      • Kinto EntryPoint
      • KYCViewer
      • Faucet
      • EngenCredits
      • EngenGovernance
    • 🌍Kinto Wallet Web SDK
    • 🏪Running kinto nodes
    • ⚒️Tools
      • ⛈️Node RPC
      • 🏗️Build Tools
      • 🗺️Block Explorer
      • 🐞Debugging and monitoring
      • 🔮Oracle - Pyth
      • Firewall - Venn
    • 🚀ICO Platform
  • Governance
    • 🧠Introduction to the Kinto DAO
    • 📓Kinto Constitution
    • 📃KIP Proposal Template
    • 🌄Engen Proto-Governance
    • ⛩️Kinto Token
      • Information, addresses and links
  • 💧Liquidity Programs
    • 🛠️Mining Program
    • ⚫Engen - Launch Program
    • 🪙K Token Sale
  • Sakura Mining Season
Powered by GitBook
On this page
  • Basics
  • Constructor
  • Initialize
  • View Functions
  1. Building on Kinto
  2. Smart Contract Reference

KYCViewer

PreviousKinto EntryPointNextFaucet

Last updated 9 months ago

Deployment Address

Mainnet:

Code:


Basics

  • This class provides helper methods to quickly check KYC & AML properties.

  • It abstracts complexity by checking both wallet and EOA (Externally Owned Account).

  • Offers various utility functions for retrieving user information and token balances.


Constructor

Constructor Parameters:

Parameter
Type
Explanation

_kintoWalletFactory

address

Address of the KintoWalletFactory contract

_faucet

address

Address of the Faucet contract

_engenCredits

address

Address of the EngenCredits contract

_kintoAppRegistry

address

Address of the KintoAppRegistry contract

Initialize

function initialize() external initializer

Initializes the KYCViewer contract, setting up ownership.


View Functions

function isKYC(address _address) 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 hasTrait(address _account, uint16 _traitId) external view returns (bool)

function hasTraits(address account, uint16[] memory _traitIds) public view returns (bool[] memory)

function getCountry(address account) external view returns (uint16)

function getWalletOwners(address _wallet) public view returns (address[] memory owners)

function getUserInfo(address _account, address payable _wallet) external view returns (IKYCViewer.UserInfo memory info)

function getDevApps(address _wallet) external view returns (IKintoAppRegistry.Metadata[] memory)

function getBalances(address[] memory tokens, address target) external view returns (uint256[] memory balances)
  1. isKYC

Checks if an address or a wallet address is KYC'd (Know Your Customer).

function isKYC(address _address) external view override returns (bool);
Parameter
Type
Explanation

_address

address

The address to check.

  1. isSanctionsSafe

Checks if an account is safe from sanctions.

function isSanctionsSafe(address _account) external view override returns (bool);
Parameter
Type
Explanation

_account

address

The account to check.

  1. isSanctionsSafeIn

Checks if an account is safe from sanctions in a specific country.

function isSanctionsSafeIn(address _account, uint16 _countryId) external view override returns (bool);
Parameter
Type
Explanation

_account

address

The account to check.

_countryId

uint16

The country ID for the check.

  1. isCompany

Checks if an account is a company.

function isCompany(address _account) external view override returns (bool);
Parameter
Type
Explanation

_account

address

The account to check.

  1. isIndividual

Checks if an account is an individual.

function isIndividual(address _account) external view override returns (bool);
Parameter
Type
Explanation

_account

address

The account to check.

  1. hasTrait

Checks if an account has a specific trait.

function hasTrait(address _account, uint16 _traitId) external view returns (bool);
Parameter
Type
Explanation

_account

address

The account to check.

_traitId

uint16

The trait ID to check for.

  1. hasTraits

Checks if an account has multiple specific traits.

function hasTraits(address account, uint16[] memory _traitIds) public view returns (bool[] memory);
Parameter
Type
Explanation

account

address

The account to check.

_traitIds

uint16[]

Array of trait IDs to check.

  1. getCountry

Retrieves the country code associated with an account.

function getCountry(address account) external view returns (uint16);
Parameter
Type
Explanation

account

address

The account to check.

  1. getWalletOwners

Retrieves the owners of a wallet.

function getWalletOwners(address _wallet) public view override returns (address[] memory owners);
Parameter
Type
Explanation

_wallet

address

The wallet address.

  1. getUserInfo

Retrieves comprehensive information about a user.

function getUserInfo(address _account, address payable _wallet) external view override returns (IKYCViewer.UserInfo memory info);
Parameter
Type
Explanation

_account

address

The account address.

_wallet

address payable

The associated wallet address.

  1. getDevApps

Retrieves the apps associated with a developer wallet.

function getDevApps(address _wallet) external view override returns (IKintoAppRegistry.Metadata[] memory);
Parameter
Type
Explanation

_wallet

address

The wallet address.

  1. getBalances

Retrieves the token balances for a specific target address.

function getBalances(address[] memory tokens, address target) external view returns (uint256[] memory balances);
Parameter
Type
Explanation

tokens

address[]

Array of token addresses to query.

target

address

The address whose balances are queried.

📗
0x33F28C3a636B38683a38987100723f2e2d3d038e
KYCViewer.sol