-
Notifications
You must be signed in to change notification settings - Fork 283
Buyer-initiated release of funds from escrow (ETH) #1798
Description
For ETH, the ORDER_COMPLETION
message is sent after the buyer has signed a transaction to trigger the ‘execute’ function to release funds from the escrow smart contract. The seller must sign this transaction and pay the gas to successfully call this function.
Ideally we should change this to mirror what we’re doing for UTXO cryptocurrencies, whereby the seller signs a transaction releasing the funds from escrow and sends this information along with the FULFILLMENT
message. The buyer signs and broadcasts this transaction to release funds from multisig to the seller.
In the case of ETH, the seller sends to the buyer a signed transaction calling the execute
function, and the buyer signs and broadcasts the transaction, paying the gas fees. Since the buyer needed to have ETH to begin within to deposit funds into the escrow smart contract, it stands to reason they are more likely to have ETH than sellers to release funds at the end of a successful trade.
That said, if the buyer sends the ORDER_COMPLETION
message but the funds aren’t released (a failing transaction due to insufficient gas), the network message should still go through changing the state to COMPLETED
for the buyer. The seller would receive the message and process it, causing them to broadcast the signed transaction and pay the gas fees to release the funds from escrow.
Activity
[-]Buyer-initiated release of funds from escrow[/-][+]Buyer-initiated release of funds from escrow (ETH)[/+]hoffmabc commentedon Dec 16, 2019
@drwasho we need to clarify the requirements on this since sellers will need gas in order to release the tx. @rmisio for clarity.