Skip to content

Commit 43975a8

Browse files
committed
Fetch preparedOrderResponse if undefined
1 parent a17a2b5 commit 43975a8

File tree

3 files changed

+29
-16
lines changed

3 files changed

+29
-16
lines changed

solana/ts/src/matchingEngine/index.ts

+21-3
Original file line numberDiff line numberDiff line change
@@ -958,7 +958,7 @@ export class MatchingEngineProgram {
958958
}) {
959959
const {
960960
payer,
961-
preparedOrderResponse,
961+
preparedOrderResponse: inputPreparedOrderResponse,
962962
auction,
963963
fastVaa,
964964
executorToken,
@@ -970,6 +970,10 @@ export class MatchingEngineProgram {
970970
const mint = this.mint;
971971
const auctionAddress = auction ?? this.auctionAddress(fastVaaAccount.digest());
972972

973+
const preparedOrderResponse =
974+
inputPreparedOrderResponse ??
975+
this.preparedOrderResponseAddress(payer, fastVaaAccount.digest());
976+
973977
const { auctionConfig, bestOfferToken } = await (async () => {
974978
if (inputAuctionConfig === undefined || inputBestOfferToken === undefined) {
975979
const { info } = await this.fetchAuction({ address: auctionAddress });
@@ -1062,7 +1066,7 @@ export class MatchingEngineProgram {
10621066
payer,
10631067
auction: inputAuction,
10641068
executorToken,
1065-
preparedOrderResponse,
1069+
preparedOrderResponse: inputPreparedOrderResponse,
10661070
fastVaa,
10671071
fastVaaAccount,
10681072
auctionConfig: inputAuctionConfig,
@@ -1073,6 +1077,10 @@ export class MatchingEngineProgram {
10731077

10741078
const mint = this.mint;
10751079

1080+
const preparedOrderResponse =
1081+
inputPreparedOrderResponse ??
1082+
this.preparedOrderResponseAddress(payer, fastVaaAccount.digest());
1083+
10761084
const { auctionConfig, bestOfferToken } = await (async () => {
10771085
if (inputAuctionConfig === undefined || inputBestOfferToken === undefined) {
10781086
const { info } = await this.fetchAuction({ address: auctionAddress });
@@ -1177,10 +1185,20 @@ export class MatchingEngineProgram {
11771185
auction?: PublicKey;
11781186
fastVaa: PublicKey;
11791187
}) {
1180-
const { payer, preparedOrderResponse, auction, fastVaa } = accounts;
1188+
const {
1189+
payer,
1190+
preparedOrderResponse: inputPreparedOrderResponse,
1191+
auction,
1192+
fastVaa,
1193+
} = accounts;
11811194
const fastVaaAccount = await VaaAccount.fetch(this.program.provider.connection, fastVaa);
11821195

11831196
const mint = this.mint;
1197+
1198+
const preparedOrderResponse =
1199+
inputPreparedOrderResponse ??
1200+
this.preparedOrderResponseAddress(payer, fastVaaAccount.digest());
1201+
11841202
const { targetChain, toRouterEndpoint } = await (async () => {
11851203
const message = LiquidityLayerMessage.decode(fastVaaAccount.payload());
11861204
if (message.fastMarketOrder == undefined) {

solana/ts/tests/01__matchingEngine.ts

+2-4
Original file line numberDiff line numberDiff line change
@@ -3100,7 +3100,7 @@ describe("Matching Engine", function () {
31003100

31013101
describe("Active Auction", function () {
31023102
it("Cannot Settle Executed Auction", async function () {
3103-
const { auction, fastVaa, fastVaaAccount, prepareIx, preparedOrderResponse } =
3103+
const { auction, fastVaa, fastVaaAccount, prepareIx } =
31043104
await prepareOrderResponse({
31053105
executeOrder: true,
31063106
initAuction: true,
@@ -3128,7 +3128,6 @@ describe("Matching Engine", function () {
31283128
payer: payer.publicKey,
31293129
fastVaa,
31303130
fastVaaAccount,
3131-
preparedOrderResponse,
31323131
executorToken: liquidatorToken,
31333132
auction,
31343133
encodedCctpMessage,
@@ -3154,7 +3153,7 @@ describe("Matching Engine", function () {
31543153
});
31553154

31563155
it("Settle", async function () {
3157-
const { auction, fastVaa, fastVaaAccount, prepareIx, preparedOrderResponse } =
3156+
const { auction, fastVaa, fastVaaAccount, prepareIx } =
31583157
await prepareOrderResponse({
31593158
executeOrder: false,
31603159
initAuction: true,
@@ -3181,7 +3180,6 @@ describe("Matching Engine", function () {
31813180
payer: payer.publicKey,
31823181
fastVaa,
31833182
fastVaaAccount,
3184-
preparedOrderResponse,
31853183
executorToken: liquidatorToken,
31863184
auction,
31873185
encodedCctpMessage,

solana/ts/tests/04__interaction.ts

+6-9
Original file line numberDiff line numberDiff line change
@@ -289,15 +289,14 @@ describe("Matching Engine <> Token Router", function () {
289289
describe("Settle Auction", function () {
290290
describe("Settle No Auction (Local)", function () {
291291
it("Settle", async function () {
292-
const { prepareIx, preparedOrderResponse, auction, fastVaa, finalizedVaa } =
292+
const { prepareIx, auction, fastVaa, finalizedVaa } =
293293
await prepareOrderResponse({
294294
initAuction: false,
295295
executeOrder: false,
296296
prepareOrderResponse: false,
297297
});
298298
const settleIx = await matchingEngine.settleAuctionNoneLocalIx({
299299
payer: payer.publicKey,
300-
preparedOrderResponse,
301300
fastVaa,
302301
auction,
303302
});
@@ -316,12 +315,11 @@ describe("Matching Engine <> Token Router", function () {
316315

317316
describe("Settle Active Auction (Local)", function () {
318317
it("Settle", async function () {
319-
const { prepareIx, preparedOrderResponse, auction, fastVaa } =
320-
await prepareOrderResponse({
321-
initAuction: true,
322-
executeOrder: false,
323-
prepareOrderResponse: false,
324-
});
318+
const { prepareIx, auction, fastVaa } = await prepareOrderResponse({
319+
initAuction: true,
320+
executeOrder: false,
321+
prepareOrderResponse: false,
322+
});
325323

326324
const { address: executorToken } =
327325
await splToken.getOrCreateAssociatedTokenAccount(
@@ -333,7 +331,6 @@ describe("Matching Engine <> Token Router", function () {
333331

334332
const settleIx = await matchingEngine.settleAuctionActiveLocalIx({
335333
payer: payer.publicKey,
336-
preparedOrderResponse,
337334
fastVaa,
338335
auction,
339336
executorToken,

0 commit comments

Comments
 (0)