Skip to content

Commit dd02a1e

Browse files
authored
improve: frontload test fixes to bump SDK (#2384)
* fix 1 test Signed-off-by: Ihor Farion <[email protected]> * complete fixing tests Signed-off-by: Ihor Farion <[email protected]> * fix lint Signed-off-by: Ihor Farion <[email protected]> * pr comments Signed-off-by: Ihor Farion <[email protected]> * adjust test utility fns to be more explicit Signed-off-by: Ihor Farion <[email protected]> --------- Signed-off-by: Ihor Farion <[email protected]>
1 parent 4c7d0e3 commit dd02a1e

File tree

8 files changed

+189
-133
lines changed

8 files changed

+189
-133
lines changed

src/interfaces/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ export type RelayData = interfaces.RelayData;
5656
export type Deposit = interfaces.Deposit;
5757
export type DepositWithBlock = interfaces.DepositWithBlock;
5858
export type Fill = interfaces.Fill;
59+
export type RelayExecutionEventInfo = interfaces.RelayExecutionEventInfo;
5960
export type FillWithBlock = interfaces.FillWithBlock;
6061
export type SpeedUp = interfaces.SpeedUp;
6162
export type SlowFillRequest = interfaces.SlowFillRequest;

test/Dataworker.loadData.slowFill.ts

Lines changed: 6 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -576,7 +576,7 @@ describe("Dataworker: Load bundle data: Computing slow fills", async function ()
576576

577577
it("Slow fill request for deposit that isn't eligible for slow fill", async function () {
578578
const invalidOutputToken = erc20_1;
579-
const _depositObject = await depositV3(
579+
const depositObject = await depositV3(
580580
spokePool_1,
581581
destinationChainId,
582582
depositor,
@@ -585,14 +585,7 @@ describe("Dataworker: Load bundle data: Computing slow fills", async function ()
585585
invalidOutputToken.address,
586586
amountToDeposit
587587
);
588-
const depositObject = {
589-
..._depositObject,
590-
inputToken: toAddressType(_depositObject.inputToken, originChainId),
591-
outputToken: toAddressType(_depositObject.outputToken, destinationChainId),
592-
depositor: toAddressType(_depositObject.depositor, originChainId),
593-
recipient: toAddressType(_depositObject.recipient, destinationChainId),
594-
exclusiveRelayer: toAddressType(_depositObject.exclusiveRelayer, destinationChainId),
595-
};
588+
596589
await spokePoolClient_1.update();
597590

598591
await requestSlowFill(spokePool_2, relayer, depositObject);
@@ -621,7 +614,7 @@ describe("Dataworker: Load bundle data: Computing slow fills", async function ()
621614
await mockConfigStore.update();
622615
(spokePoolClient_1 as any).configStoreClient = mockConfigStore;
623616
(spokePoolClient_2 as any).configStoreClient = mockConfigStore;
624-
const _depositObject = await depositV3(
617+
const depositObject = await depositV3(
625618
spokePool_1,
626619
destinationChainId,
627620
depositor,
@@ -630,14 +623,7 @@ describe("Dataworker: Load bundle data: Computing slow fills", async function ()
630623
erc20_2.address,
631624
amountToDeposit
632625
);
633-
const depositObject = {
634-
..._depositObject,
635-
inputToken: toAddressType(_depositObject.inputToken, originChainId),
636-
outputToken: toAddressType(_depositObject.outputToken, destinationChainId),
637-
depositor: toAddressType(_depositObject.depositor, originChainId),
638-
recipient: toAddressType(_depositObject.recipient, destinationChainId),
639-
exclusiveRelayer: toAddressType(_depositObject.exclusiveRelayer, destinationChainId),
640-
};
626+
641627
await spokePoolClient_1.update();
642628
expect(mockConfigStore.liteChainIndicesUpdates.length).to.equal(1);
643629
expect(mockConfigStore.liteChainIndicesUpdates[0].timestamp).to.be.lt(depositObject.quoteTimestamp);
@@ -667,7 +653,7 @@ describe("Dataworker: Load bundle data: Computing slow fills", async function ()
667653
await mockConfigStore.update();
668654
(spokePoolClient_1 as any).configStoreClient = mockConfigStore;
669655
(spokePoolClient_2 as any).configStoreClient = mockConfigStore;
670-
const _depositObject = await depositV3(
656+
const depositObject = await depositV3(
671657
spokePool_1,
672658
destinationChainId,
673659
depositor,
@@ -676,14 +662,7 @@ describe("Dataworker: Load bundle data: Computing slow fills", async function ()
676662
erc20_2.address,
677663
amountToDeposit
678664
);
679-
const depositObject = {
680-
..._depositObject,
681-
inputToken: toAddressType(_depositObject.inputToken, originChainId),
682-
outputToken: toAddressType(_depositObject.outputToken, destinationChainId),
683-
depositor: toAddressType(_depositObject.depositor, originChainId),
684-
recipient: toAddressType(_depositObject.recipient, destinationChainId),
685-
exclusiveRelayer: toAddressType(_depositObject.exclusiveRelayer, destinationChainId),
686-
};
665+
687666
await spokePoolClient_1.update();
688667
expect(mockConfigStore.liteChainIndicesUpdates.length).to.equal(1);
689668
expect(mockConfigStore.liteChainIndicesUpdates[0].timestamp).to.be.lt(depositObject.quoteTimestamp);

test/Dataworker.loadData.unexecutableSlowFill.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,10 @@ describe("Dataworker: Load bundle data: Computing unexecutable slow fills", asyn
238238
await spokePoolClient_1.update();
239239
const deposits = spokePoolClient_1.getDeposits();
240240
expect(deposits.length).to.equal(3);
241-
const eligibleSlowFills = depositsWithSlowFillRequests.filter((x) => erc20_2.address === x.outputToken);
242-
const ineligibleSlowFills = depositsWithSlowFillRequests.filter((x) => erc20_2.address !== x.outputToken);
241+
const eligibleSlowFills = depositsWithSlowFillRequests.filter((x) => erc20_2.address === x.outputToken.toNative());
242+
const ineligibleSlowFills = depositsWithSlowFillRequests.filter(
243+
(x) => erc20_2.address !== x.outputToken.toNative()
244+
);
243245

244246
// Generate slow fill requests for the slow fill-eligible deposits
245247
await requestSlowFill(spokePool_2, relayer, eligibleSlowFills[0]);

test/Relayer.BasicFill.ts

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -442,7 +442,7 @@ describe("Relayer: Check for Unfilled Deposits and Fill", async function () {
442442

443443
// Make two deposits - one with the relayer as exclusiveRelayer, and one with a random address.
444444
// Verify that the relayer can immediately fill the first deposit, and both after the exclusivity window.
445-
for (const exclusiveRelayer of [randomAddress(), relayerAddress]) {
445+
for (const exclusiveRelayer of [randomAddress(), relayerAddress.toNative()]) {
446446
const deposit = await depositV3(
447447
spokePool_1,
448448
destinationChainId,
@@ -463,18 +463,15 @@ describe("Relayer: Check for Unfilled Deposits and Fill", async function () {
463463

464464
deposits.forEach((deposit) => {
465465
const depositHash = spokePoolClients[deposit.destinationChainId].getDepositHash(deposit);
466-
const status =
467-
deposit.exclusiveRelayer === relayerAddress.toEvmAddress() ? FillStatus.Filled : FillStatus.Unfilled;
466+
const status = deposit.exclusiveRelayer.eq(relayerAddress) ? FillStatus.Filled : FillStatus.Unfilled;
468467
expect(fillStatus[depositHash] ?? FillStatus.Unfilled).to.equal(status);
469468
});
470469

471470
txnReceipts = await relayerInstance.checkForUnfilledDepositsAndFill();
472471
expect((await txnReceipts[destinationChainId]).length).to.equal(0);
473472
expect(lastSpyLogIncludes(spy, "0 unfilled deposits found")).to.be.true;
474473

475-
const exclusiveDeposit = deposits.find(
476-
({ exclusiveRelayer }) => exclusiveRelayer !== relayerAddress.toEvmAddress()
477-
);
474+
const exclusiveDeposit = deposits.find(({ exclusiveRelayer }) => exclusiveRelayer.eq(relayerAddress));
478475
expect(exclusiveDeposit).to.exist;
479476
await spokePool_2.setCurrentTime(exclusiveDeposit!.exclusivityDeadline + 1);
480477
await updateAllClients();
@@ -591,10 +588,7 @@ describe("Relayer: Check for Unfilled Deposits and Fill", async function () {
591588
outputToken,
592589
outputAmount
593590
);
594-
const fillAmount = profitClient.getFillAmountInUsd({
595-
...deposit1,
596-
outputToken: toAddressType(deposit1.outputToken, destinationChainId),
597-
})!;
591+
const fillAmount = profitClient.getFillAmountInUsd(deposit1)!;
598592
expect(fillAmount).to.exist;
599593

600594
// Simple escalating confirmation requirements; cap off with a default upper limit.
@@ -644,14 +638,7 @@ describe("Relayer: Check for Unfilled Deposits and Fill", async function () {
644638
await updateAllClients();
645639

646640
originChainCommitment = relayerInstance.computeOriginChainCommitment(originChainId, 0, Number.MAX_SAFE_INTEGER);
647-
expect(
648-
originChainCommitment.eq(
649-
getFillAmount(
650-
{ ...deposit1, outputToken: toAddressType(deposit1.outputToken, destinationChainId) },
651-
tokenPrice
652-
)
653-
)
654-
).to.be.true;
641+
expect(originChainCommitment.eq(getFillAmount(deposit1, tokenPrice))).to.be.true;
655642

656643
let originChainLimits = relayerInstance.computeOriginChainLimits(originChainId);
657644
expect(isChainOvercommitted(originChainLimits)).to.be.false;
@@ -955,7 +942,7 @@ describe("Relayer: Check for Unfilled Deposits and Fill", async function () {
955942
spokePool_1,
956943
{
957944
...deposit,
958-
updatedRecipient: update.recipient,
945+
updatedRecipient: toAddressType(update.recipient, destinationChainId),
959946
updatedOutputAmount: update.outputAmount,
960947
updatedMessage: update.message,
961948
},
@@ -1022,7 +1009,12 @@ describe("Relayer: Check for Unfilled Deposits and Fill", async function () {
10221009
const updatedRecipient = randomAddress();
10231010
await updateDeposit(
10241011
spokePool_1,
1025-
{ ...deposit, updatedRecipient, updatedOutputAmount, updatedMessage },
1012+
{
1013+
...deposit,
1014+
updatedRecipient: toAddressType(updatedRecipient, destinationChainId),
1015+
updatedOutputAmount,
1016+
updatedMessage,
1017+
},
10261018
depositor
10271019
);
10281020

@@ -1039,7 +1031,12 @@ describe("Relayer: Check for Unfilled Deposits and Fill", async function () {
10391031
updatedMessage = EMPTY_MESSAGE;
10401032
await updateDeposit(
10411033
spokePool_1,
1042-
{ ...deposit, updatedRecipient, updatedOutputAmount, updatedMessage },
1034+
{
1035+
...deposit,
1036+
updatedRecipient: toAddressType(updatedRecipient, destinationChainId),
1037+
updatedOutputAmount,
1038+
updatedMessage,
1039+
},
10431040
depositor
10441041
);
10451042

test/Relayer.SlowFill.ts

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ import {
3838
winston,
3939
deployMulticall3,
4040
} from "./utils";
41-
import { SvmAddress, EvmAddress, toAddressType } from "../src/utils";
41+
import { SvmAddress, EvmAddress } from "../src/utils";
4242

4343
import { Relayer } from "../src/relayer/Relayer";
4444
import { RelayerConfig } from "../src/relayer/RelayerConfig"; // Tested
@@ -241,14 +241,7 @@ describe("Relayer: Initiates slow fill requests", async function () {
241241

242242
// Verify that the slowFill request was received by the destination SpokePoolClient.
243243
await Promise.all([spokePoolClient_1.update(), spokePoolClient_2.update(), hubPoolClient.update()]);
244-
const slowFillRequest = spokePoolClient_2.getSlowFillRequest({
245-
...deposit,
246-
inputToken: toAddressType(inputToken, originChainId),
247-
outputToken: toAddressType(outputToken, destinationChainId),
248-
depositor: toAddressType(deposit.depositor, originChainId),
249-
recipient: toAddressType(deposit.recipient, destinationChainId),
250-
exclusiveRelayer: toAddressType(deposit.exclusiveRelayer, destinationChainId),
251-
});
244+
const slowFillRequest = spokePoolClient_2.getSlowFillRequest(deposit);
252245
expect(slowFillRequest).to.exist;
253246

254247
const txnReceipts = await relayerInstance.checkForUnfilledDepositsAndFill();

test/Relayer.UnfilledDeposits.ts

Lines changed: 14 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ import {
4343
randomAddress,
4444
setupTokensForWallet,
4545
deployMulticall3,
46+
depositIntoPrimitiveTypes,
47+
fillIntoPrimitiveTypes,
4648
} from "./utils";
4749
// Tested
4850
import { Relayer } from "../src/relayer/Relayer";
@@ -233,14 +235,7 @@ describe("Relayer: Unfilled Deposits", async function () {
233235
unfilledDeposits.map((unfilledDeposit) => {
234236
return {
235237
...unfilledDeposit,
236-
deposit: {
237-
...unfilledDeposit.deposit,
238-
inputToken: unfilledDeposit.deposit.inputToken.toEvmAddress(),
239-
outputToken: unfilledDeposit.deposit.outputToken.toEvmAddress(),
240-
depositor: unfilledDeposit.deposit.depositor.toEvmAddress(),
241-
recipient: unfilledDeposit.deposit.recipient.toEvmAddress(),
242-
exclusiveRelayer: unfilledDeposit.deposit.exclusiveRelayer.toEvmAddress(),
243-
},
238+
deposit: depositIntoPrimitiveTypes(unfilledDeposit.deposit),
244239
};
245240
})
246241
)
@@ -249,7 +244,7 @@ describe("Relayer: Unfilled Deposits", async function () {
249244
[...deposits]
250245
.sort((a, b) => (a.destinationChainId > b.destinationChainId ? 1 : -1))
251246
.map((deposit) => ({
252-
deposit,
247+
deposit: depositIntoPrimitiveTypes(deposit),
253248
unfilledAmount: deposit.outputAmount,
254249
invalidFills: [],
255250
version: configStoreClient.configStoreVersion,
@@ -287,14 +282,7 @@ describe("Relayer: Unfilled Deposits", async function () {
287282
unfilledDeposits.map((unfilledDeposit) => {
288283
return {
289284
...unfilledDeposit,
290-
deposit: {
291-
...unfilledDeposit.deposit,
292-
inputToken: unfilledDeposit.deposit.inputToken.toEvmAddress(),
293-
outputToken: unfilledDeposit.deposit.outputToken.toEvmAddress(),
294-
depositor: unfilledDeposit.deposit.depositor.toEvmAddress(),
295-
recipient: unfilledDeposit.deposit.recipient.toEvmAddress(),
296-
exclusiveRelayer: unfilledDeposit.deposit.exclusiveRelayer.toEvmAddress(),
297-
},
285+
deposit: depositIntoPrimitiveTypes(unfilledDeposit.deposit),
298286
};
299287
})
300288
)
@@ -303,7 +291,7 @@ describe("Relayer: Unfilled Deposits", async function () {
303291
deposits
304292
.filter(({ depositId }) => depositId !== filledDeposit!.depositId)
305293
.map((deposit) => ({
306-
deposit,
294+
deposit: depositIntoPrimitiveTypes(deposit),
307295
unfilledAmount: deposit.outputAmount,
308296
invalidFills: [],
309297
version: configStoreClient.configStoreVersion,
@@ -333,15 +321,12 @@ describe("Relayer: Unfilled Deposits", async function () {
333321
unfilledDeposits = _getAllUnfilledDeposits();
334322
expect(
335323
unfilledDeposits.map((unfilledDeposit) => {
324+
const depositV3PrimitiveEvmArgs = depositIntoPrimitiveTypes(unfilledDeposit.deposit);
336325
return {
337326
...unfilledDeposit,
338327
deposit: {
339328
...unfilledDeposit.deposit,
340-
inputToken: unfilledDeposit.deposit.inputToken.toEvmAddress(),
341-
outputToken: unfilledDeposit.deposit.outputToken.toEvmAddress(),
342-
depositor: unfilledDeposit.deposit.depositor.toEvmAddress(),
343-
recipient: unfilledDeposit.deposit.recipient.toEvmAddress(),
344-
exclusiveRelayer: unfilledDeposit.deposit.exclusiveRelayer.toEvmAddress(),
329+
...depositV3PrimitiveEvmArgs,
345330
},
346331
invalidFills: [
347332
{
@@ -366,12 +351,14 @@ describe("Relayer: Unfilled Deposits", async function () {
366351
{
367352
deposit: {
368353
...deposit,
354+
...depositIntoPrimitiveTypes(deposit),
369355
depositId: sdkUtils.toBN(deposit.depositId),
370356
},
371357
unfilledAmount: deposit.outputAmount,
372358
invalidFills: [
373359
{
374360
...invalidFill,
361+
...fillIntoPrimitiveTypes(invalidFill),
375362
depositId: sdkUtils.toBN(invalidFill.depositId),
376363
},
377364
],
@@ -516,14 +503,7 @@ describe("Relayer: Unfilled Deposits", async function () {
516503
outputAmount,
517504
{ quoteTimestamp }
518505
);
519-
deposits.push({
520-
...deposit,
521-
inputToken: toAddressType(deposit.inputToken, originChainId),
522-
outputToken: toAddressType(deposit.outputToken, destinationChainId),
523-
depositor: toAddressType(deposit.depositor, originChainId),
524-
recipient: toAddressType(deposit.recipient, destinationChainId),
525-
exclusiveRelayer: toAddressType(deposit.exclusiveRelayer, destinationChainId),
526-
});
506+
deposits.push(deposit);
527507

528508
// Modify the HubPool LP balance to ensure that subsequent deposits will receive a different LP fee.
529509
const lpTokenBalance = await lpToken.balanceOf(owner.address);
@@ -621,11 +601,7 @@ describe("Relayer: Unfilled Deposits", async function () {
621601
...unfilledDeposit,
622602
deposit: {
623603
...unfilledDeposit.deposit,
624-
inputToken: unfilledDeposit.deposit.inputToken.toEvmAddress(),
625-
outputToken: unfilledDeposit.deposit.outputToken.toEvmAddress(),
626-
depositor: unfilledDeposit.deposit.depositor.toEvmAddress(),
627-
recipient: unfilledDeposit.deposit.recipient.toEvmAddress(),
628-
exclusiveRelayer: unfilledDeposit.deposit.exclusiveRelayer.toEvmAddress(),
604+
...depositIntoPrimitiveTypes(unfilledDeposit.deposit),
629605
},
630606
invalidFills: [
631607
{
@@ -649,13 +625,14 @@ describe("Relayer: Unfilled Deposits", async function () {
649625
.to.deep.equal([
650626
{
651627
deposit: {
652-
...deposit,
628+
...depositIntoPrimitiveTypes(deposit),
653629
depositId: sdkUtils.toBN(deposit.depositId),
654630
},
655631
unfilledAmount: deposit.outputAmount,
656632
invalidFills: [
657633
{
658634
...invalidFill,
635+
...fillIntoPrimitiveTypes(invalidFill),
659636
depositId: sdkUtils.toBN(invalidFill.depositId),
660637
},
661638
],

0 commit comments

Comments
 (0)