Skip to content

Update sideshift plugin with new optional API fields#218

Open
j0ntz wants to merge 1 commit into
masterfrom
jon/merge-sideshift-pr
Open

Update sideshift plugin with new optional API fields#218
j0ntz wants to merge 1 commit into
masterfrom
jon/merge-sideshift-pr

Conversation

@j0ntz

@j0ntz j0ntz commented Jun 10, 2026

Copy link
Copy Markdown

CHANGELOG

Does this branch warrant an entry to the CHANGELOG?

  • Yes
  • No

Dependencies

none

Description

Recreates external fork PR #208 ("Update sideshift plugin") on a fresh branch off current master. The original PR is from a fork (popfendi) and is in a CONFLICTING state because master evolved since it was opened (the StandardTx shape and the asSideshiftTx cleaner both gained fields). This re-applies the partner's change cleanly onto current master.

Sideshift's API now returns additional optional fields: settledAt, depositContractAddress, settleContractAddress, depositHash, settleHash, depositEvmChainId, settleEvmChainId. This change:

  • Captures all of the above in the asSideshiftTx cleaner (asOptional).
  • Wires depositTxid from tx.depositHash and payoutTxid from tx.settleHash in processSideshiftTx.

Per the partner's note, the remaining new fields (contract addresses, EVM chain IDs, settledAt) are intentionally captured on rawTx for use where needed and are not yet mapped to StandardTx output.

Asana: https://app.asana.com/0/1215088146871429/1214638405678783

Testing

  • npm run build.types (tsc), npm run build.lib, and npm run build.dist pass with the change (verified locally via npm run prepare; only the setup step, which requires a live CouchDB, could not run in the agent sandbox).
  • Full live integration against a CouchDB instance populated with live Sideshift data was not possible in the agent environment (no CouchDB / Sideshift credentials). Recommend a maintainer run the live couch test before merge.

Note

Low Risk
Optional API parsing and txid mapping in a single partner plugin; no auth or shared infrastructure changes.

Overview
Extends the SideShift partner plugin to accept new optional fields from SideShift’s API (depositHash, settleHash, contract addresses, EVM chain IDs, settledAt) in the asSideshiftTx cleaner.

Behavior change: processSideshiftTx now sets depositTxid and payoutTxid on StandardTx from depositHash and settleHash instead of leaving them undefined. Contract addresses, EVM chain IDs, and settledAt remain on rawTx only (not mapped to StandardTx yet).

Reviewed by Cursor Bugbot for commit d461bee. Bugbot is set up for automated code reviews on this repo. Configure here.

Sideshift's API now returns optional settledAt, deposit/settle contract
addresses, deposit/settle hashes, and deposit/settle EVM chain IDs. Capture
these in the asSideshiftTx cleaner and wire depositTxid/payoutTxid from the
new deposit/settle hashes. The remaining new fields are available on rawTx.

Recreates #208 (external fork PR) onto current
master.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant