Skip to content

Commit 2d4e30b

Browse files
committed
more robust isDelegateSigner for swift orders
1 parent 3ff1240 commit 2d4e30b

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

sdk/src/driftClient.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6639,14 +6639,21 @@ export class DriftClient {
66396639
readablePerpMarketIndex: marketIndex,
66406640
});
66416641

6642-
const isDelegateSigner = takerInfo.signingAuthority.equals(
6643-
takerInfo.takerUserAccount.delegate
6644-
);
6645-
66466642
const borshBuf = Buffer.from(
66476643
signedSignedMsgOrderParams.orderParams.toString(),
66486644
'hex'
66496645
);
6646+
6647+
const isDelegateSigner = borshBuf
6648+
.slice(0, 8)
6649+
.equals(
6650+
Uint8Array.from(
6651+
Buffer.from(
6652+
sha256('global' + ':' + 'SignedMsgOrderParamsDelegateMessage')
6653+
).slice(0, 8)
6654+
)
6655+
);
6656+
66506657
try {
66516658
const { signedMsgOrderParams } = this.decodeSignedMsgOrderParamsMessage(
66526659
borshBuf,

0 commit comments

Comments
 (0)