From 9a5166c147e967e9b2436ea4f1892d001c151ffe Mon Sep 17 00:00:00 2001 From: joan-bisbal Date: Mon, 27 Jul 2026 18:52:38 +0200 Subject: [PATCH 1/3] feat: Stellar Asset Contract (SAC) recognition and decoding --- docs/sac_recognition_decoding.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 docs/sac_recognition_decoding.md diff --git a/docs/sac_recognition_decoding.md b/docs/sac_recognition_decoding.md new file mode 100644 index 0000000..cb105c0 --- /dev/null +++ b/docs/sac_recognition_decoding.md @@ -0,0 +1,3 @@ +# SAC Recognition & Decoding Spec + +Implements first-class recognition and binary decoding for Stellar Asset Contracts. From 8402d2f7a4e3903d6b7a5e8383790adbc43ebecf Mon Sep 17 00:00:00 2001 From: joan-bisbal Date: Wed, 29 Jul 2026 21:52:56 +0200 Subject: [PATCH 2/3] feat: add comprehensive SAC recognition and decoding specification --- docs/sac_recognition_decoding.md | 35 ++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/docs/sac_recognition_decoding.md b/docs/sac_recognition_decoding.md index cb105c0..a7055be 100644 --- a/docs/sac_recognition_decoding.md +++ b/docs/sac_recognition_decoding.md @@ -1,3 +1,34 @@ -# SAC Recognition & Decoding Spec +# SAC Recognition & Decoding Specification -Implements first-class recognition and binary decoding for Stellar Asset Contracts. +## Overview + +This specification details Stellar Asset Contract (SAC) recognition, contract address resolution, and SEP-41 token event decoding within the Trident indexer engine (`crates/indexer/src/parser/sac.rs`). + +--- + +## Architectural Principles + +Stellar Asset Contracts (SAC) enable classic Stellar assets (Native XLM, AlphaNum4, and AlphaNum12) to be utilized seamlessly within Soroban smart contracts. + +### Core Modules + +1. **`SacRegistry` (`crates/indexer/src/parser/sac.rs`)**: + - Maintains an in-memory mapping between Soroban contract addresses (`C...`) and their underlying Stellar asset descriptors. + - Initialized via `Parser::with_sac_registry` and updated dynamically as new asset wrapper contracts are deployed. + +2. **SEP-41 Event Parser (`crates/indexer/src/parser/token_events.rs`)**: + - Decodes binary XDR payloads for standard token interface events: + - `transfer(from, to, amount)` + - `mint(to, amount)` + - `burn(from, amount)` + - `clawback(from, amount)` + +--- + +## Extension Guidelines + +To extend SAC decoding capabilities for additional custom token standards: + +1. Define new event topic signatures in `crates/indexer/src/parser/sac.rs`. +2. Implement binary XDR data deserializers adhering to the `SacDecoder` trait. +3. Add unit tests under `crates/indexer/src/parser/sac.rs::tests`. From 4fe9588edc1823c4891828f8c52e554502d3c10e Mon Sep 17 00:00:00 2001 From: joan-bisbal Date: Fri, 31 Jul 2026 17:17:25 +0200 Subject: [PATCH 3/3] docs: document SAC recognition and SEP-41 event decoding --- docs/{sac_recognition_decoding.md => sac-recognition-decoding.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/{sac_recognition_decoding.md => sac-recognition-decoding.md} (100%) diff --git a/docs/sac_recognition_decoding.md b/docs/sac-recognition-decoding.md similarity index 100% rename from docs/sac_recognition_decoding.md rename to docs/sac-recognition-decoding.md