diff --git a/ts/sdk/src/jitProxyClient.ts b/ts/sdk/src/jitProxyClient.ts index f70ccad8..650da324 100644 --- a/ts/sdk/src/jitProxyClient.ts +++ b/ts/sdk/src/jitProxyClient.ts @@ -197,9 +197,11 @@ export class JitProxyClient { public async getArbPerpIx({ makerInfos, marketIndex, + referrerInfo, }: { makerInfos: MakerInfo[]; marketIndex: number; + referrerInfo?: ReferrerInfo; }): Promise { const userAccounts = [this.driftClient.getUserAccount()]; for (const makerInfo of makerInfos) { @@ -224,6 +226,25 @@ export class JitProxyClient { }); } + if (referrerInfo) { + const referrerIsMaker = + makerInfos.find((maker) => + maker.maker.equals(referrerInfo.referrer) + ) !== undefined; + if (!referrerIsMaker) { + remainingAccounts.push({ + pubkey: referrerInfo.referrer, + isWritable: true, + isSigner: false, + }); + remainingAccounts.push({ + pubkey: referrerInfo.referrerStats, + isWritable: true, + isSigner: false, + }); + } + } + return this.program.methods .arbPerp(marketIndex) .accounts({