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.