Parse decoded V2 transaction CBORs from Atlas API and create/update documentation YAML files
Important: We are currently migrating to a new instance of the Andamio V2 Preprod network. All addresses in the address-registry.json will be updated as we analyze each transaction. When processing a new transaction CBOR, the addresses in the CBOR are canonical and should replace any existing registry entries.
Key Resources:
public/yaml/transactions/v2/SESSION-NOTES.md - Validator mappings, patterns, and contextpublic/yaml/transactions/v2/address-registry.json - Discovered validators, policies, observerspublic/yaml/transactions/v2/endpoint-registry.json - API endpoint schemaspublic/yaml/transactions/v2/cost-registry.json - Transaction costs and fees.claude/skills/analyze-transaction/hex-patterns.md - Hex encoding patterns for token namespublic/yaml/transactions/v2/ as templates
</introduction>
Read the decoded transaction supplied by the user (JSON format from Atlas API)
Read SESSION-NOTES.md to understand existing validator mappings and patterns
Read address-registry.json to identify known validators/policies by address
Identify transaction components:
Map addresses to validators using address-registry.json
Determine file path: public/yaml/transactions/v2/{system}/{role}/{tx-name}.yaml
Create or update the YAML file with these sections:
name, id, metadata (role, system, description, api_endpoint)costs (txFee, protocolFee, minUtxo, executionUnits)inputs (validator, address, redeemer, datum reference)reference_inputs (UTxO references for scripts)outputs (validator, address, value, datum)mints (policy, tokens, redeemer)withdraws (observer, redeemer) if applicableregistry (local summary of validators/policies used)Update registries if new validators/policies discovered:
inferredFrom trackingAfter completing the YAML documentation, verify and update the monorepo transaction definition:
Locate the definition file:
~/projects/01-projects/andamio-platform/andamio-platform-monorepo/packages/andamio-transactions/src/definitions/v2/{system}/{role}/{tx-name}.tsVerify alignment between YAML and TypeScript:
txParams schema matches the API request body from YAMLendpoint matches metadata.api_endpoint from YAMLestimatedCost aligns with costs section from YAMLdocs.protocolDocs points to the correct MDX documentation pathDo NOT modify:
onSubmit and onConfirmation side effects (separate concern)ui section (unless specifically requested)Update index.ts exports if creating a new definition file
If the transaction includes auxiliary_data.metadata, document it:
CIP-25 NFT Metadata (label 721):
metadata section to the YAML:metadata_721:
policy: "{policy-name}"
asset: "{token-name}"
fields:
name: "{NFT name}"
description: "{description}"
image: "{IPFS URI}"
# ... other fields
Other metadata labels:
Update hex-patterns.md if new token naming patterns are discovered in metadata
When you find ambiguities, ask about:
# V2 Transaction: {Transaction Name}
# Source: Decoded from CBOR transaction