Skip to content

scorpiochicago/private-token-workshop-token-template

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vincent Clement Compliant Private Token (Aleo Workshop Project)

The Vincent clement Compliant Private Token is a privacy-preserving smart contract built on the Aleo blockchain as part of the Aleo Workshop. It demonstrates how to build a regulatory-compliant token that integrates OFAC (Office of Foreign Assets Control) address verification for compliant minting and transferring of tokens, both publicly and privately.


1. Deployment Information

  • Program Name: web3chicago.aleo
  • Registry Module: workshop_ofac.aleo (for compliance verification)
  • Blockchain: Aleo Testnet
  • Technology Stack: Leo Language + Aleo zkVM
  • Author: Vincent Clement
  • Deployment ID: 'at1qdf35s4d6wesw64ydgyg4fm45q93yzlemm8lc3nt5jfw37crvcyq7twa5g'
  • Deployment URL: View on Aleo Testnet
  • Transaction ID: 'at1guwwxvnl70s5u0jdhwn8uhjcmh2uakyek54hf268lm5ndrjnevrqprk97a'

2. Functional Overview

The contract demonstrates a compliant token model enforcing regulatory screening before any mint or transfer action. It defines a mapping-based ledger for public balances and record-based storage for private ownership. The OFAC module (workshop_ofac.aleo) ensures that no sanctioned address can participate in minting or transfer operations.

Key Operations

Public Mint

async transition mint_public(public recipient: address, public amount: u64) -> Future {
    let address_check: Future = workshop_ofac.aleo/address_check(recipient);
    return mint_public_onchain(recipient, amount, address_check);
}

Private Mint

async transition mint_private(private recipient: address, private amount: u64) -> (Token, Future) {
    let address_check: Future = workshop_ofac.aleo/address_check(recipient);
    let token: Token = Token { owner: recipient, amount: amount };
    return (token, mint_private_onchain(address_check));
}

Public Transfer

async transition transfer_public(public recipient: address, public amount: u64) -> Future {
    let address_check: Future = workshop_ofac.aleo/address_check(recipient);
    return transfer_public_onchain(self.signer, recipient, amount, address_check);
}

The contract leverages asynchronous address validation (Future and await()) to ensure compliance before transaction completion.


3. Author

Vincent Clement Frontend developer Aleo Workshop Participant

Developed as part of the Aleo Workshop Compliant Token Challenge, demonstrating secure, regulatory-compliant tokenization using Leo and Aleo zk technology.

About

Template Leo project for building compliant private tokens on Aleo.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Leo 100.0%