Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add escrow_accept operation #275

Closed
theoreticalbts opened this issue Aug 15, 2016 · 1 comment
Closed

Add escrow_accept operation #275

theoreticalbts opened this issue Aug 15, 2016 · 1 comment
Labels

Comments

@theoreticalbts
Copy link
Contributor

Related: #143

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!

@mvandeberg
Copy link
Contributor

Escrow has been merged for some time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants