You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add end-to-end support for Chainflip swap result mapping and improve Solana transaction parsing. Key changes:
- Implement Transaction::with_swap_state and use it when publishing swap updates in the daemon.
- Enhance gem_solana models: record meta.err, add Instruction struct and instructions on TransactionMessage, add get_balance_change utility and unit tests, and introduce SYSTEM_PROGRAMS constant and extra program IDs.
- Update transaction_mapper to only accept single-signature transactions, mark failed transactions when meta.err is present, compute transfer values via get_balance_change, and detect smart-contract calls (skipping known system programs). Add test and testdata for a Chainflip vault swap.
- Implement Chainflip mapping in swapper: new SwapTxResponse parsing, map_swap_result to produce SwapResult with TransactionSwapMetadata, add test fixtures for various swap scenarios, and wire map_swap_result into the provider. Also expose vault addresses for deposit lookups.
- Adjust Mayan proxy mapping logic and tests to treat non-InProgress statuses as final and assert expected metadata.
These changes enable accurate extraction of value/contract info from Solana transactions and populate swap metadata from Chainflip responses for downstream processing and tests.
0 commit comments