From 2d4e30b5bfac835c2251b8640b898408714a7c13 Mon Sep 17 00:00:00 2001 From: Nour Alharithi <14929853+moosecat2@users.noreply.github.com> Date: Wed, 24 Sep 2025 13:17:37 -0700 Subject: [PATCH] more robust isDelegateSigner for swift orders --- sdk/src/driftClient.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/sdk/src/driftClient.ts b/sdk/src/driftClient.ts index 4d39ae6d0f..914a57008d 100644 --- a/sdk/src/driftClient.ts +++ b/sdk/src/driftClient.ts @@ -6639,14 +6639,21 @@ export class DriftClient { readablePerpMarketIndex: marketIndex, }); - const isDelegateSigner = takerInfo.signingAuthority.equals( - takerInfo.takerUserAccount.delegate - ); - const borshBuf = Buffer.from( signedSignedMsgOrderParams.orderParams.toString(), 'hex' ); + + const isDelegateSigner = borshBuf + .slice(0, 8) + .equals( + Uint8Array.from( + Buffer.from( + sha256('global' + ':' + 'SignedMsgOrderParamsDelegateMessage') + ).slice(0, 8) + ) + ); + try { const { signedMsgOrderParams } = this.decodeSignedMsgOrderParamsMessage( borshBuf,