Here is my interpretation of the Sell Action. Comments are welcomed =)
A New transaction is valid only if there is no previous sell offer or the previous sell offer is a cancel.
An Update transaction is valid only if there is a previous sell offer with "Available Amount for Sale" (Original Amount less Amount already sold) >0.
A Cancel transaction is valid only if the previous sell offer is an update or new.
Hey bud,
Further to our discussion on email - yeah the forum is starting to look a little subdued - at the mo I have a lot of discussions over email with various parties and I attend the conference calls to sync up on the latest etc and there is of course github discussion on various pulls - but not much is now discussed here on the forum. I want to make sure people know we're still pegging away getting ready for the DEx launch though, so figured I'd reply to your last email here instead.
Re above - I agree we need a set of defined rules like this, though we need to add in modifiers such as reserved funds etc. Perhaps a matrix of actions & expected results should be defined - though this may be better suited to Marv's test plan?
On the signing problem you're having with the test transaction you did with my library - that took me an hour to figure out which I now feel a bit silly about haha - it's actually ridiculously simple - the input has been spent which is why the reference client is refusing to sign. This shouldn't happen because you'd usually create, sign and then broadcast a message for the user in one go. In this case, between the time you created the transaction & now, the input has been spent.
If you look up the transaction the library chose for the input in blockchain.info, that should demonstrate what I mean:
https://blockchain.info/tx/17b2788700ae59b18abf98549c7524871793a79222f6cdb00fbd327287cc1078
TL:DR; just call the library again using the same details and it'll create a new message for you using a new unspent input. That should then sign OK. Hope that makes sense!
Thanks
Zathras