Start Transaction (ETH)

Start Transaction (Ether)

To start a transaction with a native token, there is no need to allow the Escrow contract to spend a certain amount. The user just has to send the total (price+fees) with the transaction.

In this example we have an ad with the following information:

  • Marketplace id : marketplaceId1

  • Ad id : adId2

  • Price of the ad (excluding fees) : 2 ETH

  • Seller's address : 0x70997970C51812dc3A010C7d01b50e0d17dc79C8

The fees for this token is 2%, the user must send the total amount (price+fees) which is : 2*1,02 = 2,04 ETH

//New transaction
await escrow.startTransaction(
    "marketplaceId1", //Marketplace id
    "adId2", //Ad id
    ethers.utils.parseEther("2"), //Ad price
    "0x0000000000000000000000000000000000000000", //ETH address
    "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", //Seller's address
    {
      value: ethers.utils.parseEther("2.04"), //Price+fees in ETH
    }
);

Even if it's an ETH transaction you must specify a token address that matches the ETH address in the whitelist : 0x0000000000000000000000000000000000000000Nothing is sent/received on this address, it's used internally for mapping purposes.

Last updated