Skip to content

Commit 18bdef5

Browse files
committed
fixup! Update sideshift plugin with new optional API fields
1 parent 5c366b3 commit 18bdef5

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

src/partners/sideshift.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,9 @@ const asSideshiftTx = asObject({
159159
depositNetwork: asOptional(asString),
160160
depositHash: asOptional(asString),
161161
depositContractAddress: asOptional(asString),
162-
depositEvmChainId: asOptional(asNumber),
162+
// asMaybe so an unexpected encoding (e.g. a numeric string) degrades to
163+
// undefined instead of throwing and aborting the whole 5-day query block
164+
depositEvmChainId: asMaybe(asNumber),
163165
invoiceAmount: asString,
164166
settleAddress: asObject({
165167
address: asString
@@ -169,7 +171,7 @@ const asSideshiftTx = asObject({
169171
settleNetwork: asOptional(asString),
170172
settleHash: asOptional(asString),
171173
settleContractAddress: asOptional(asString),
172-
settleEvmChainId: asOptional(asNumber),
174+
settleEvmChainId: asMaybe(asNumber),
173175
createdAt: asString,
174176
settledAt: asOptional(asString)
175177
})
@@ -371,6 +373,11 @@ export async function processSideshiftTx(
371373
status: statusMap[tx.status],
372374
orderId: tx.id,
373375
countryCode: null,
376+
// On EVM networks, TRON, Aptos, Sui, NEAR, and Algorand, SideShift's
377+
// depositHash is the internal sweep transaction (deposit contract to
378+
// their wallet), not the customer's own deposit transaction. The API
379+
// exposes no better field, so treat this as an order reference, not a
380+
// pointer to the customer's on-chain payment.
374381
depositTxid: tx.depositHash,
375382
depositAddress,
376383
depositCurrency: tx.depositAsset,

0 commit comments

Comments
 (0)