Skip to content

TypeScript SDK for COTI v2 - Confidentially Enabling L2

Notifications You must be signed in to change notification settings

coti-io/coti-sdk-typescript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

COTI V2 Confidentiality Preserving L2 | SDKs and Examples

All repositories specified below contain smart contracts that implement confidentiality features using the COTI V2 protocol. The contracts provide examples for various use cases, such as Non-Fungible Tokens (NFTs), ERC20 tokens, Auction, and Identity management.

These contracts demonstrate how to leverage the confidentiality features of the COTI V2 protocol to enhance privacy and security in decentralized applications. The contracts are of Solidity and can be compiled and deployed using popular development tools like Hardhat and Foundry (Work in progress).

Important Links:

Docs | Devnet Explorer | Discord | Faucet

Interact with the network using any of the following:

  1. Python SDK | Python SDK Examples
  2. Typescript SDK | Typescript SDK Examples
  3. Hardhat Dev Environment

The following contracts are available in each of the packages:

Contract python sdk hardhat sdk typescript sdk Contract Description
AccountOnboard deployment ✅ * Onboard a EOA account - During onboard network creates AES unique for that EOA which is used for decrypting values sent back from the network
AccountOnboard execution "
ERC20Example deployment Confidential ERC20 - deploy and transfer encrypted amount of funds
ERC20Example execution "
NFTExample deployment Confidential NFT example - saving encrypted data
NFTExample execution "
ConfidentialAuction deployment Confidential auction - encrypted bid amount
ConfidentialAuction execution "
ConfidentialIdentityRegistry deployment Confidential Identity Registry - Encrypted identity data
ConfidentialIdentityRegistry execution "
DataOnChain deployment Basic encryption and decryption - Good place to start explorining network capabilties
DataOnChain execution "
Precompile deployment Thorough examples of the precompile functionality
Precompile execution "

(*) no deployment needed (system contract)

Note

Due to the nature of ongoing development, future version might break existing functionality

Faucet

🤖 To request devnet/testnet funds use our faucet

COTI v2 Typescript SDK

The COTI Typescript SDK is comprised of two main components:

  1. The crypto.ts library, which provides cryptographic functions to interact with the COTI network. For a full description of the library visit the libs readme.

  2. Typescript classes to interact with the COTI network. These are located in the src/account directory. The following are provided:

  • confidential-account.ts: designed to handle confidential data by providing methods for encryption and decryption, as well as onboarding new wallets. It utilizes cryptographic functions to ensure the security of data on the COTI network.

  • onboard_contract.ts: interact with the onboarding smart contract. The address and ABI allow a web3-enabled application to connect to the contract, listen for events, and call the OnboardAccount function to onboard new accounts.

  • onboard.ts: facilitates the onboarding of new users by generating cryptographic keys, signing data, and interacting with a blockchain smart contract. The onboard function automates the entire process, ensuring secure onboarding and key management.

Usage

  1. Install dependencies

    yarn
    
  2. Run ERC20 test

    yarn erc20
    

Note

Runnning tests will create an account automatically. The account will be saved to the .env file and will need to be funded. Use the COTI faucet to request devnet/testnet funds.

Pending enhancements

  • Publishing SDK via npmjs

To report issues, please create a github issue

About

TypeScript SDK for COTI v2 - Confidentially Enabling L2

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •