You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Escrow needs an additional step where from, to and agent all agree to participate. For example, if A wants to send to B using C as escrow, but C doesn't want to do business with A, C has no way to indicate this to the parties before the fee is given to C. Likewise, if B only wants to participate if C agrees to act as escrow agent [1], then C and B have to work out some confirmation protocol where B doesn't send the goods until C signs off on the request, essentially verifying off-chain that C is willing to be the escrow agent for this transaction.
If we had a working multisig UI, we would be able to simply require A, B, and C to sign the escrow_transfer_operation. But we don't, so we need another object to accumulate partial signatures.
Replace escrow_transfer with propose_escrow and accept_escrow, where propose_escrow creates the object and accept_escrow adds signatures
propose_escrow has expiration field
propose_escrow has a proposer field which must be one of from, to or agent
accept_escrow must be called to add sigs for other two parties
When from does propose_escrow or accept_escrow, funds move from from balance to escrow object
Fee is not given to agent until all parties have signed
If object created by propose_escrow expires, funds return to from, and agent does not receive fee
escrow_dispute and escrow_release work as before
[1] This is kind of the point of escrow -- if A/B didn't care about whether C was going to do their job, they wouldn't use escrow in the first place!
The text was updated successfully, but these errors were encountered:
Related: #143
Escrow needs an additional step where
from
,to
andagent
all agree to participate. For example, if A wants to send to B using C as escrow, but C doesn't want to do business with A, C has no way to indicate this to the parties before the fee is given to C. Likewise, if B only wants to participate if C agrees to act as escrow agent [1], then C and B have to work out some confirmation protocol where B doesn't send the goods until C signs off on the request, essentially verifying off-chain that C is willing to be the escrow agent for this transaction.If we had a working multisig UI, we would be able to simply require A, B, and C to sign the escrow_transfer_operation. But we don't, so we need another object to accumulate partial signatures.
escrow_transfer
withpropose_escrow
andaccept_escrow
, wherepropose_escrow
creates the object andaccept_escrow
adds signaturespropose_escrow
has expiration fieldpropose_escrow
has aproposer
field which must be one offrom
,to
oragent
accept_escrow
must be called to add sigs for other two partiesfrom
doespropose_escrow
oraccept_escrow
, funds move fromfrom
balance to escrow objectpropose_escrow
expires, funds return tofrom
, and agent does not receive feeescrow_dispute
andescrow_release
work as before[1] This is kind of the point of escrow -- if A/B didn't care about whether C was going to do their job, they wouldn't use escrow in the first place!
The text was updated successfully, but these errors were encountered: