@node Smart contract interfaces @chapter Smart contract interfaces @section Technology CIC smart contracts are implemented using the @emph{solidity} programming language for the (Ethereum Virtual Machine (EVM). @section Adopted standards @subsection Signing @subsection ERC - Direct use The following well-known solidity interfaces are used directly. @itemize @bullet @item @uref{https://eips.ethereum.org/EIPS/eip-20, ERC20 - Token Standard} @item @uref{https://eips.ethereum.org/EIPS/eip-165, ERC165 - Standard Interface Detection} @item @uref{https://eips.ethereum.org/EIPS/eip-173, ERC173 - Contract Ownership Standard} @item @uref{https://eips.ethereum.org/EIPS/eip-191, ERC191 - Signed Data Standard} @item @uref{https://eips.ethereum.org/EIPS/eip-712, ERC712 - Typed structured data hashing and signing} @item @uref{https://eips.ethereum.org/EIPS/eip-721, ERC721 - Non-Fungible Token Standard} @item @uref{https://eips.ethereum.org/EIPS/eip-5007, ERC5007 - Time NFT (EIP-721 Time Extension)} @item @uref{https://eips.ethereum.org/EIPS/eip-5192, ERC5192 - Minimal Soulbound NFTs} @end itemize @subsection ERCs Partial use The following well-known solidity interfaces are partially implemented in CIC native interfaces. @itemize @dfn @item @uref{https://eips.ethereum.org/EIPS/eip-5679, ERC5679 - Token Minting and Burning} (See @code{Minter}, @code{Burner}) @end itemize @section Native interfaces @include accountsindex.sol.texi @include burner.sol.texi @include chrono.sol.texi @include declarator.sol.texi @include digest.sol.texi @include expire.sol.texi @include faucet.sol.texi @include locator.sol.texi @include minter.sol.texi @include msg.sol.texi @include registry.sol.texi @include seal.sol.texi @include tokenvend.sol.texi @include tokenvote.sol.texi @include writer.sol.texi