@@ -124,7 +124,9 @@ async function updateTxValuesV3(transaction: DbTx): Promise<void> {
124124 } = transaction
125125
126126 let depositIsFiat = false
127+ let depositIsUsd = false
127128 let payoutIsFiat = false
129+ let payoutIsUsd = false
128130 const ratesRequest : RatesV3Params = {
129131 targetFiat : 'USD' ,
130132 crypto : [ ] ,
@@ -139,7 +141,9 @@ async function updateTxValuesV3(transaction: DbTx): Promise<void> {
139141 } ,
140142 rate : undefined
141143 } )
142- } else if ( isFiatCurrency ( depositCurrency ) && depositCurrency !== 'USD' ) {
144+ } else if ( depositCurrency === 'USD' ) {
145+ depositIsUsd = true
146+ } else if ( isFiatCurrency ( depositCurrency ) ) {
143147 depositIsFiat = true
144148 ratesRequest . fiat . push ( {
145149 isoDate : new Date ( isoDate ) ,
@@ -162,7 +166,9 @@ async function updateTxValuesV3(transaction: DbTx): Promise<void> {
162166 } ,
163167 rate : undefined
164168 } )
165- } else if ( isFiatCurrency ( payoutCurrency ) && payoutCurrency !== 'USD' ) {
169+ } else if ( payoutCurrency === 'USD' ) {
170+ payoutIsUsd = true
171+ } else if ( isFiatCurrency ( payoutCurrency ) ) {
166172 payoutIsFiat = true
167173 ratesRequest . fiat . push ( {
168174 isoDate : new Date ( isoDate ) ,
@@ -200,8 +206,9 @@ async function updateTxValuesV3(transaction: DbTx): Promise<void> {
200206 ( rate . asset . tokenId ?? null ) === payoutTokenId
201207 )
202208
203- const depositRate = depositRateObf ?. rate
204- const payoutRate = payoutRateObf ?. rate
209+ // USD is the target fiat, so it has an implicit rate of 1.0
210+ const depositRate = depositIsUsd ? 1 : depositRateObf ?. rate
211+ const payoutRate = payoutIsUsd ? 1 : payoutRateObf ?. rate
205212
206213 // Calculate and fill out payoutAmount if it is zero
207214 if ( payoutAmount === 0 ) {
0 commit comments