From a78639799de46b9203ac30e7a8df2d3cd5cb42c7 Mon Sep 17 00:00:00 2001 From: alfred-mk Date: Mon, 16 Feb 2026 14:14:50 +0300 Subject: [PATCH] add a function for ReadSwapToVoucher --- store/swap.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/store/swap.go b/store/swap.go index 9b51b98..c604a6c 100644 --- a/store/swap.go +++ b/store/swap.go @@ -236,3 +236,27 @@ func ReadSwapFromVoucher(ctx context.Context, store DataStore, sessionId string) TokenAddress: data[storedb.DATA_ACTIVE_SWAP_FROM_ADDRESS], }, nil } + +// ReadSwapToVoucher retrieves the swap to voucher being swapped from the pool +func ReadSwapToVoucher(ctx context.Context, store DataStore, sessionId string) (*dataserviceapi.TokenHoldings, error) { + keys := []storedb.DataTyp{ + storedb.DATA_ACTIVE_SWAP_TO_SYM, + storedb.DATA_ACTIVE_SWAP_TO_DECIMAL, + storedb.DATA_ACTIVE_SWAP_TO_ADDRESS, + } + data := make(map[storedb.DataTyp]string) + + for _, key := range keys { + value, err := store.ReadEntry(ctx, sessionId, key) + if err != nil { + return nil, fmt.Errorf("failed to get data key %x: %v", key, err) + } + data[key] = string(value) + } + + return &dataserviceapi.TokenHoldings{ + TokenSymbol: data[storedb.DATA_ACTIVE_SWAP_TO_SYM], + TokenDecimals: data[storedb.DATA_ACTIVE_SWAP_TO_DECIMAL], + TokenAddress: data[storedb.DATA_ACTIVE_SWAP_TO_ADDRESS], + }, nil +}