Skip to content

Commit 885d8df

Browse files
fix: set sellerDeposit=0 and drFeeAmount=0 in signMetaTxCommitToBuyerOffer e2e test
Meta-tx relayers cannot forward ETH value, so commitToBuyerOffer with a non-zero sellerDeposit would fail with InsufficientValueReceived(). Set both sellerDeposit and drFeeAmount to 0 so no ETH transfer is needed. Co-authored-by: levalleux-ludo <7184124+levalleux-ludo@users.noreply.github.com>
1 parent 52848ca commit 885d8df

1 file changed

Lines changed: 10 additions & 17 deletions

File tree

e2e/tests/meta-tx.test.ts

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { ZERO_ADDRESS } from "./../../packages/core-sdk/tests/mocks";
22
import { BigNumberish } from "@ethersproject/bignumber";
3-
import { parseEther } from "@ethersproject/units";
43
import { Wallet, BigNumber, constants } from "ethers";
54
import { OfferFieldsFragment } from "../../packages/core-sdk/src/subgraph";
65
import { mockCreateOfferArgs } from "../../packages/common/tests/mocks";
@@ -735,9 +734,11 @@ describe("meta-tx", () => {
735734
describe("#signMetaTxCommitToBuyerOffer()", () => {
736735
test("native exchange token buyer-initiated offer", async () => {
737736
const exchangeToken = constants.AddressZero;
738-
const drFeeAmount = parseEther("0.005");
737+
// drFeeAmount must be 0 so the seller doesn't need to deposit funds before
738+
// committing via meta-tx (meta-tx can't carry ETH value)
739+
const drFeeAmount = "0";
739740

740-
// Create a dispute resolver with a fee amount
741+
// Create a dispute resolver with zero fee (required for meta-tx compatibility)
741742
const { fundedWallet: drFundedWallet } =
742743
await initCoreSDKWithFundedWallet(sellerWallet);
743744
const drAddress = drFundedWallet.address.toLowerCase();
@@ -769,12 +770,14 @@ describe("meta-tx", () => {
769770
sellerWallet: sellerFundedWallet
770771
} = await initSellerAndBuyerSDKs(sellerWallet);
771772

772-
// Buyer creates a buyer-initiated offer
773+
// Buyer creates a buyer-initiated offer.
774+
// sellerDeposit must be 0 so the meta-tx relayer doesn't need to forward ETH value.
773775
const buyerInitiatedOffer = await createOffer(buyerCoreSDKBuyer, {
774776
creator: OfferCreator.Buyer,
775777
quantityAvailable: 1,
776778
disputeResolverId: disputeResolver.id,
777-
exchangeToken
779+
exchangeToken,
780+
sellerDeposit: "0"
778781
});
779782

780783
// Buyer deposits offer.price to allow the seller to commit
@@ -786,18 +789,8 @@ describe("meta-tx", () => {
786789
await buyerCoreSDKBuyer.waitForGraphNodeIndexing(buyerDepositTx);
787790

788791
// Seller creates a seller account
789-
const seller = await createSeller(
790-
sellerCoreSDKBuyer,
791-
sellerFundedWallet.address
792-
);
793-
794-
// Seller deposits DR fee amount
795-
const sellerDepositTx = await sellerCoreSDKBuyer.depositFunds(
796-
seller.id,
797-
drFeeAmount,
798-
exchangeToken
799-
);
800-
await sellerCoreSDKBuyer.waitForGraphNodeIndexing(sellerDepositTx);
792+
await createSeller(sellerCoreSDKBuyer, sellerFundedWallet.address);
793+
// No seller depositFunds needed: drFeeAmount = 0 and sellerDeposit = 0
801794

802795
const nonce = Date.now();
803796

0 commit comments

Comments
 (0)