Comment on page
Start Transaction (ETH)
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 :
0x0000000000000000000000000000000000000000
Nothing is sent/received on this address, it's used internally for mapping purposes.