On Tuesday, June 2, 2020 8:34:29 PM CDT you wrote: > I don’t think this specifies how one becomes a party, so it will require > amendments to add parties. I would like to become a party.
Oops, I guess I incorrectly assumed that you could default join. I cease to be a party to the Needlessly Abstract Exchange if I am, which causes it to terminate automatically as it has less than 1 party. Here's a new version, with joining by announcement. I agree to and become a party to the below contract. { Contract: Needlessly Abstract Exchange Part I: Definitions The Needlessly Abstract Exchange (also known as NAX) is a contract which facilitates trading among Agorans by providing a fair third party to manage assets mid-trade. Any party to this contract is a trader. Any player CAN become or cease to be a party to this contract by announcement. The Exchange Manager is a title belonging to a specific trader. If there is no Exchange Manager or the Exchange Manager would be an entity that is not a trader, the entity that has been a trader for the longest (continuously) becomes the Exchange Manager. The Purse is an integer. If the value of The Purse is indeterminate or ambiguous, it becomes 0. An Order represents a trade. Orders have a Creater, a Fulfiller, Goods, Fullfillment Conditions, and may have an Expiration Condition (if none is specified, an order has no Expiration Condition). Goods is a list of assets, and Fulfillment Conditions can be any text that describes or could at some point describe any combination of assets, actions, or other conditions. Orders may be closed, pending, or open and are open when created. Part II: Order Creation and Fulfillment For every order a trader Creates or attempts to Fulfill, e must first pay 1 coin to this contract (not as part of an order creation or fulfillment) in the same message; otherwise it is INEFFECTIVE. For every coin paid to the contract this way the Purse is increased by 1. Any trader CAN create an order by paying any (non-zero) number of assets to this contract, specifying Fulfillment Conditions, and optionally specifying Expiration Conditions. E becomes the Creator of the order, and all assets paid become the Goods of the order. Any trader CAN attempt to fulfill a specified open order by announcement, and by additionally paying any number of assets to the contract, specifying any actions e does in the same message, and specifying any other evidence e has successfully fulfilled the order. The order becomes pending and e becomes the Fulfiller of the order. PART III: Resolving Orders For each pending order, the Exchange Manager SHALL, in a timely fashion and by announcement, declare the attempt to fulfill Successful or Unsuccessful. E SHALL only declare the attempt Successful if e believes the Fullfillment Conditions have been met and SHALL NOT declare the attempt Unsuccessful unless e believes the Fullfillment Conditions have not been met. When the Exchange Manager declares an attempt Successful, e CAN and SHALL transfer the Goods of the order from this contract to the Fulfiller and transfer any assets that were transferred to the contract as part of the fulfillment attempt to the Creater of the order. The order becomes closed. When the Exchange Manager declares an attempt Unsuccessful, e CAN and SHALL transfer any assets that were transferred to the contract as part of the fulfillment attempt to the Fulfiller. The order becomes open. PART IV: Annulling Orders When the Exchange Manager believes that it would be impossible to fulfill an open order or that the expiration conditions of an open order have been met, e CAN and SHALL, in a timely fashion, Annul the order by transfering all Goods to the Creater of the order. The order becomes closed. When e does so, the Exchange Manager CAN transfer 1 coin from this contract to the creater and SHOULD do so if e believes the reason the order should be annulled was an error, such as a typo or misunderstanding of this contract; if e does the Purse is decreased by one. The Exchange Manager CAN annul an open order without reason by transferring 1 coin from this contract to the creater. E SHOULD NOT do so unless the creater has made more than 2 orders in the last 7 days. PART V: NAX Reports Once a week the Exchange Manager SHALL publish a report. This report SHALL contain a list of any outstanding orders and a list of any orders that have closed in the last week. If it has been more than a week since the last NAX report, this report SHOULD contain all orders that have closed since the last such report. When e publishes such a report, e CAN transfer X coins from this contract to emself, where X is the current value of the purse. When e does so, the purse becomes 0. PART VI: Election and Management Any trader may elect any other trader to be the Exchange Manager, replacing the current Exchange Manager, with X support where X is 1 more than half (rounded up) of the number of traders. The Exchange Manager CAN cap any trader who has created more than 2 orders in the last 7 days by announcement. A trader who has been capped CANNOT create new orders for 7 days from when e made eir last order. } -- nch