Skip to content

Add drafts for arc 20 / arc 22#134

Merged
snarkworld merged 9 commits into
masterfrom
update-status-for-ARC-20-/-ARC-22
Jun 5, 2026
Merged

Add drafts for arc 20 / arc 22#134
snarkworld merged 9 commits into
masterfrom
update-status-for-ARC-20-/-ARC-22

Conversation

@snarkworld

Copy link
Copy Markdown
Collaborator

ARC 20 + ARC 22 drafts

JR and others added 7 commits June 5, 2026 09:22
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: JR <121876847+snarkworld@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: JR <121876847+snarkworld@users.noreply.github.com>
…-ARC-22

Clean up "update status for arc 20 / arc 22"

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds initial draft specifications and Leo interface libraries for ARC-20 (fungible token standard) and ARC-22 (compliance-oriented fungible token standard with freeze-list + compliance records), plus some repository ignore-file updates.

Changes:

  • Add ARC-20 draft README and IARC20 Leo interface package.
  • Add ARC-22 draft README and IARC22 Leo library/interface package (Merkle proof helpers + interfaces).
  • Extend root .gitignore to ignore common Node artifacts.

Reviewed changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
.gitignore Ignores Node artifacts repo-wide.
arc-0020/README.md Introduces the ARC-20 draft specification text.
arc-0020/IARC20/src/lib.leo Adds the IARC20 interface definition.
arc-0020/IARC20/program.json Adds Leo package metadata for IARC20.
arc-0020/IARC20/.gitignore Adds Leo build output ignores for IARC20.
arc-0022/README.md Introduces the ARC-22 draft specification text (compliance + freeze-list).
arc-0022/IARC22/src/lib.leo Adds Merkle helper functions + IARC22/IARC22Freezelist interfaces.
arc-0022/IARC22/program.json Adds Leo package metadata for IARC22.
arc-0022/IARC22/.gitignore Adds Leo build output ignores for IARC22.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread arc-0022/README.md
Comment thread arc-0022/README.md
Comment on lines +65 to +68
fn verify_inclusion(addr: address, merkle_proof: MerkleProof) -> field {
assert_eq(addr as field, merkle_proof.siblings[0u32]);
let (root, depth): (field, u32) = calculate_root_depth_siblings(merkle_proof);
return root;
private input_record: Token,
private sender_merkle_proofs: [MerkleProof; 2u32],
) -> (ComplianceRecord, Token, Final);
fn transfer_public_to_private(recipient: address, public amount: u128) -> (
Comment on lines +185 to +186
fn join(input_1: Token, input_2: Token) -> Token;
fn split(input: Token, amount: u128) -> (Token, Token);
snarkworld and others added 2 commits June 5, 2026 13:31
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: JR <121876847+snarkworld@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: JR <121876847+snarkworld@users.noreply.github.com>

@vicsn vicsn left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One nit, otherwise LGTM

return root1;
}

interface IARC22Freezelist {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Weak preference to not include this interface, as this may not be as interesting to the DeFi apps dynamically using the underlying tokens - just for the compliance officer who is a fixed set of entities currently anyway.

@snarkworld snarkworld merged commit 64156f1 into master Jun 5, 2026
1 check passed
@snarkworld snarkworld deleted the update-status-for-ARC-20-/-ARC-22 branch June 5, 2026 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants