{"id":31956451,"url":"https://github.com/ilyar/chameleon-escrow","last_synced_at":"2025-10-14T14:51:08.669Z","repository":{"id":273353981,"uuid":"919255191","full_name":"ilyar/chameleon-escrow","owner":"ilyar","description":"[WIP] 🦎Chameleon Escrow a system separating guarantee logic from asset management across diverse value forms","archived":false,"fork":false,"pushed_at":"2025-02-23T12:57:50.000Z","size":117,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-23T13:22:23.838Z","etag":null,"topics":["escrow","ton","tvm"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ilyar.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","contributing":"contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-20T03:50:49.000Z","updated_at":"2025-01-22T20:28:47.000Z","dependencies_parsed_at":"2025-01-20T12:29:56.549Z","dependency_job_id":"f09b4c81-08d7-42b0-9144-30af9b2357b7","html_url":"https://github.com/ilyar/chameleon-escrow","commit_stats":null,"previous_names":["ilyar/chameleon-escrow"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ilyar/chameleon-escrow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyar%2Fchameleon-escrow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyar%2Fchameleon-escrow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyar%2Fchameleon-escrow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyar%2Fchameleon-escrow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ilyar","download_url":"https://codeload.github.com/ilyar/chameleon-escrow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyar%2Fchameleon-escrow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279019140,"owners_count":26086685,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["escrow","ton","tvm"],"created_at":"2025-10-14T14:49:09.546Z","updated_at":"2025-10-14T14:51:08.654Z","avatar_url":"https://github.com/ilyar.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chameleon Escrow\n\n**Chameleon Escrow** a system separating guarantee logic from asset management across diverse value forms\n\n## Overview\n\nChameleon Escrow is an escrow solution that separates the guarantee logic from the asset custody mechanism, this modularity allows it to work with different types of assets — tokens, digital assets or other transferable values without changing the underlying `Escrow` contract, interoperating with different `Vault` implementations, the same escrow structure can easily handle multiple forms of value.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"diagram flow\" src=\"https://www.plantuml.com/plantuml/svg/fPLHJzim58NV_IkkseUz36X1soXI9-esYJf1YL8epoQvj16kdSKEXVtwEOuttAYP4Ej3rTnxVFpTOwkvL9gLkjfoyccZTQ4kJauApaHTEKxbzaJXpmf5YaTPpjObsnAYKiOHHby7iCiplI7gAHS5CorG6vR9NIxMyCYuGkArCdna5TUX57h1jWYzERs6cECBB9bGds4XjNG_LrXcJB3UuTNB_1V2y8lNf2nzMfUo4jbKSbb2F_mMZaBgAM8pOPxcXHahPbbM0vuEV0VvygS-zEj_nOIbsZWlaNCitKDKiJ8Zv46-GEzsWt1Je805wfqidthG7mn6vy6456zRm_qIc89UuzBRRqMsPJrx99L6aUfS2WM1IakvsokjwYpsbrExd5QljJ6A30mMSQ2sIiXu33Cik7nrbZ0U4rPfAQhj0vOmF1wIXWoEZhuRrWjeGdWq5Ww26O1dfj5qYHd6o9h61MJMsHKjdrVpXG-vWTlbUkEcoD0thI73d7CJ-c7AKqDPp-CWgG-vbG9VFKPAxgc7eqmiJcChFfL23KepNQcQMgfSOqOSWDidtJ2nnZrUQdaJL98_eyzhpFl3oNGKXZ2zciol2PYFDyMPcQ8kjVEkj88uICARn2tnegcVwoXRr4uUp1o_rJaKv-lGRQSLTnV4BBYQhuBalH1E_XyG_fawXaaS9pUheCL06mRQPd3oRWJQYK0xSt2drv522y1g3-t_TWSzFri0jvTtDG_aWrmXz4zdvsV1598Wl5lC3boehXXdysLyT_lk69tyup7Qlx166pc49FWHJ6zR15534BK9dBgR8EeaYBhkaikzAuBs_dN27pX8-i-3fCJq2Baqt_NBzZS0\"/\u003e\n\u003c/p\u003e\n\n## Key Features\n\nTBD\n\n## How It Works\n\nTBD\n\n## How It Uses\n\nTBD\n\n## Life circle contract/account\n\n```mermaid\nstateDiagram\n    classDef success fill:#EBF9E7\n    classDef info fill:#F0FBFF\n    classDef warning fill:#FFFCEA\n    classDef danger fill:#FFF0F0\n\n    class ACTIVE success\n    class NONEXISTENT info\n    class UNINIT warning\n    class FROZEN danger\n\n    [*] --\u003e NONEXISTENT\n    NONEXISTENT --\u003e UNINIT : send value\n    note left of UNINIT    : initial state of the account\n    UNINIT --\u003e ACTIVE      : initialize\n    ACTIVE --\u003e FROZEN      : due payment\n    note left of FROZEN    : unfreeze message only\n    FROZEN --\u003e ACTIVE      : unfreeze\n    FROZEN --\u003e UNINIT      : unfreeze\n    FROZEN --\u003e NONEXISTENT : delete\n```\n\n## Escrow contract\n\n```mermaid\nstateDiagram\n    classDef success fill:#EBF9E7\n    classDef info fill:#F0FBFF\n    classDef warning fill:#FFFCEA\n    classDef danger fill:#FFF0F0\n\n    class DRAFT info\n    class PROPOSED success\n    class DEPOSITED success\n    class PERFORMED success\n    class DELIVERED success\n    class APPROVED success\n    class CLAIMED success\n    class DISPUTED warning\n    class REJECTED danger\n    class REFUNDED danger\n    class deadline info\n\n    state \"⏳\" as deadline\n\n    [*] --\u003e DRAFT           : deploy **Any**\n    DRAFT --\u003e PROPOSED      : bind with Vault **Buyer**\n    PROPOSED --\u003e DEPOSITED  : deposit \u003c= input from **Vault**\n\n    DEPOSITED --\u003e DISPUTED  : dispute **Buyer**\n    DEPOSITED --\u003e PERFORMED : perform **Seller**\n\n    PERFORMED --\u003e deadline  : deadline\n    deadline --\u003e DISPUTED   : dispute **Buyer**\n    PERFORMED --\u003e DELIVERED : deliver **Seller**\n\n    DELIVERED --\u003e DISPUTED  : dispute **Buyer**\n    DELIVERED --\u003e DISPUTED  : dispute **Seller**\n    DELIVERED --\u003e APPROVED  : approve **Buyer**\n\n    DISPUTED --\u003e REJECTED   : reject **Guard**\n    DISPUTED --\u003e PERFORMED  : perform **Guard**\n\n    REJECTED --\u003e REFUNDED   : claim **Buyer**\n    APPROVED --\u003e CLAIMED    : claim **Seller**\n\n    REFUNDED --\u003e [*]        : claim =\u003e output to **Vault**\n    CLAIMED --\u003e [*]         : claim =\u003e output to **Vault**\n```\n\n## Vault contract\n\n```mermaid\nstateDiagram\n    [*] --\u003e FILLED   : deposit =\u003e output to **Escrow**\n    FILLED --\u003e EMPTY : claim \u003c= input from **Escrow**\n    EMPTY --\u003e [*]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filyar%2Fchameleon-escrow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filyar%2Fchameleon-escrow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filyar%2Fchameleon-escrow/lists"}