Proto:  Trades.

[this might be a type of contract or something but it seems nice like
a standalone too]

       A player (the seller) CAN create a Trade Offer by announcement, 
       specifying a set of assets e owns (the tender) and an action 
       (the exchange) that e wants in trade (e.g. a transfer of assets
       to emself).  E may optionally specify a set of players other
       than the seller eligible to make the exchange (buyers).  If e
       does not specify the default buyers are all players other than
       the seller.

       A Trade Offer is valid until:
         (a) a buyer makes the exchange for that Trade Offer;
         (b) the seller withdraws the offer; or
         (c) one week has passed.

       A buyer makes the exchange on a valid Trade Offer by 
       announcement, citing the specific offer as the reason for
       performing the exchange action, provided that (1) the buyer 
       CAN otherwise perform the exchange action by announcement; 
      (2) the seller CAN transfer the tender to the buyer by announcement.

       When the exchange is made, that buyer performs the exchange action,
       and immediately afterwards the tender is transferred from the
       seller to the buyer.  If either portion of the trade fails,
       both fail (no exchange action is performed and no tender is
       transferred).

 

Reply via email to