Conversation
Includes TAIP-3 transactionValue, TAIP-14 supportedAssets enhancements, TAIP-15 Connect restructure, TAIP-18 Asset Exchange, and TAIP-19 ISO 20022. https://claude.ai/code/session_01J3Noh65sbRuzL5MLTHazt2
- TAIP-3: Add transactionValue and expiry fields to Transfer message - TAIP-14: Support flexible asset pricing in Payment (SupportedAsset enum with Simple and Priced variants via serde untagged) - TAIP-15: Restructure Connect message with requester, agents, agreement, expiry fields; expand TransactionLimits (per_day/week/month/year) and ConnectionConstraints (allowedBeneficiaries/SettlementAddresses/Assets) - TAIP-18: Add new Exchange and Quote message types with derive macros, validation, builders, CLI subcommands, and MCP tools - Update all downstream crates, tests, examples, and TypeScript bindings https://claude.ai/code/session_01J3Noh65sbRuzL5MLTHazt2
- Transfer (MCP + CLI): expose expiry and transaction_value fields - Payment (MCP + CLI): expose expiry, wire invoice and fallback_settlement_addresses - Connect (MCP + CLI): expose expiry, agreement, allowed_beneficiaries, allowed_settlement_addresses, allowed_assets in constraints - CLI: add agent-mgmt subcommand with add-agents, remove-agent, replace-agent (TAIP-5) and update-policies (TAIP-7) commands https://claude.ai/code/session_01J3Noh65sbRuzL5MLTHazt2
- tap-mcp: document tap_payment, tap_connect, tap_escrow, tap_capture, tap_exchange, tap_quote tools; add expiry and transaction_value to tap_create_transfer docs; update tool count to 38 - tap-cli: document --expiry, --transaction-value, --invoice-url, --fallback-addresses, --agreement flags; add exchange/quote commands; add agent-mgmt section (add-agents, remove-agent, replace-agent, update-policies) - Root README: mention payment, exchange, and agent-mgmt commands; list all message types in key features https://claude.ai/code/session_01J3Noh65sbRuzL5MLTHazt2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR implements TAIP-18 Exchange and Quote message types for asset exchange requests and pricing, while enhancing existing Transfer, Payment, and Connect messages with additional fields for compliance and operational requirements.
Key Changes
New Message Types (TAIP-18)
Transfer Message Enhancements
expiryfield for transaction expiration timestamps (ISO 8601)transaction_valuefield containingTransactionValuestruct with amount and currency for Travel Rule compliance (TAIP-3)Payment Message Enhancements
expiryfield for payment expirationinvoicefield to support both URL strings and structured invoice objects viaInvoiceReferenceenumfallback_settlement_addressesfield withSettlementAddressparsing#[allow(dead_code)]from previously unused fields now being utilizedSupportedAssetenum andAssetPricingstruct for flexible asset pricing with optional expiryConnect Message Modernization (TAIP-15 v2)
requesterfield (Party) for explicit requester identificationagentsfield (Vec) for standard TAIP-5 agent supportagreementfield for terms of service URLsexpiryfield for connection expirationConnectionConstraintswith:allowed_beneficiaries(Vec)allowed_settlement_addresses(Vec, CAIP-10 format)allowed_assets(Vec, CAIP-19 format)TransactionLimitswith granular time periods:per_day,per_week,per_month,per_year(replacingdaily)agent_id,agent,for_,role)CLI and Tool Support
agent-mgmtcommand group for agent management (AddAgents, RemoveAgent, ReplaceAgent, UpdatePolicies)Supporting Infrastructure
Implementation Details
#[serde(skip_serializing_if = "Option::is_none")]for backward compatibilityTransactionValueandTransactionValueInfostructs enable fiat value specification for complianceInvoiceReferenceenum supports both simple URL and complex invoice object patternsSettlementAddress::from_string()provides CAIP-10 parsing for settlement addresseshttps://claude.ai/code/session_01J3Noh65sbRuzL5MLTHazt2