On Fri, Jun 12, 2020 at 6:20 PM Aris Merchant via agora-business <agora-busin...@agoranomic.org> wrote: > > Enter into the lottery today! Everybody wins at least one product for > every card they put in, risk-free*! All you have to do is transfer one > or more cards to the contract, IN THIS THREAD, before I close the > pools (which won't be for a minimum of four days). You'll get at least > one product back*, and may randomly get more. > > I create the below contract. > > * Except in the exceedingly unlikely case I make a mistake, and I > intend to publish a draft resolution to make sure there aren't any > errors that go uncaught. > > -Aris > --- > DracoLotto > > > This is a contract, which any player CAN join by announcement and any party > apart from the Administrator CAN leave.
How does one leave? This defines no method. > > --SETUP-- > The Administrator is Aris. > > Pools are sets of assets. The following are Pools, known as Primary Pools, > and their associated assets: > > - Victory Pool - Victory Cards and Victory Points > - Justice Pool - Justice Cards and Blot-B-Gones > - Legislative Pool - Legislative Cards and Pendants > - Voting Pool - Voting Cards and Extra Votes > > In addition, the House Pool is a Pool. > > For each Primary Pool, there is an untracked natural player switch called > <POOLNAME> Contribution. A player with a positive contribution to a Pool is a > Contributor to that pool. Positive contribution is undefined. > > --INITIAL OPERATION-- > > Before the Pools close: > When this contract receives an asset associated with a Pool, it goes into > that Pool. When this contract receives an asset not associated with any > pool, it goes into the House Pool. > > When a player transfers this contract a Card in the same thread This clause seems a bit vague to me. Maybe replace with: "When a players transfers a Card to this contract in the same thread". Although even with that, I'm not sure why it has to occur in the same thread. > in which this contract was created, eir Contribution for the associated > pool increases by 1. > > After the Pools close: > When this contract receives an asset, it goes into the House Pool. > > --ALGORYTHM-- > Resolving a Primary Pool means performing the following algorithm: > > 1. The Administrator causes this contract to transfer all cards in the pool > to emself, by announcement. > 2. The Administrator pays each card as the minimum possible number of sets > to gain the associated products, which are then placed into the pool. This doesn't define how they are placed into the pool. > 3. Let M equal the number of sets from the previous step that were of greater > than size 1. > 4. The Administrator transfers all assets into the pool back to the contract. This seems connected to part 2. > 5. The Administrator causes this contract to transfer each Contributor > associated products equal to their Contribution by announcement, > removing the products from the pool. I'd prefer if we more carefully distinguished between the direct and indirect objects. > 6. M associated products are transferred from the pool to the House Pool, > removing them from the pool. > 7. The Administrator causes this contract to transfer each asset remaining in > the pool to a randomly selected Contributor by announcement, where each > Contributor's probability of receiving it is proportional to eir > contribution. > > --PROCEDURE-- > > The Pools are open for four days after this contract comes into existence; > thereafter, the Administrator CAN close them With 1 Hour Notice, and > SHALL do so within 48 hours. > > When the Pools close, the Administrator CAN and SHALL, in order: > 1. Resolve each Primary Pool. > 2. Select one individual asset from the House Pool and transfer it to emself > by announcement, removing it from the House Pool. > 3. Transfer each asset remaining in the House Pool to the Dragon Corporation, > removing it from the House Pool. > > After the previous steps have been completed, the Administrator CAN and SHALL, > with notice, Wind Up this contract, causing it to cease to exist. > > The Speaker CANNOT object to any action defined in this section. Why and how is the Speaker limited here? > > --INTERPRETATION-- > > This contract is to be interpreted equitably, in accordance with the manifest > intent of its parties. The Administrator shall have the discretion to > reasonably > interpret this contract to ensure its smooth operation. A mistake on the > part of the Administrator shall not prevent the algorithms specified by > this contract from proceeding. > > This contract CAN be amended by the Administrator without objection from its > parties. -- ---- Publius Scribonius Scholasticus, Herald, Referee, Tailor, Pirate Champion, Badge of the Great Agoran Revival, Badge of the Salted Earth