<p class="grammar-nerd">
"with no indirect object" by itself would not work in a rule, because "I
pay x things to y" is the same as "I pay y x things," but the former has
no indirect object (y is in a prepositional phrase).
</p>
On 4/25/2018 7:21 PM, Reuben Staley wrote:
Well, I'm just gonna add that to the list of things I've broken. I
haven't read through this thread all the way but it looks like things
have gotten pretty technical. HOWEVER, I'm glad this is finally being
addressed. The quickest solution would be just to add a clause that says
if Agora owns any PAoaM currencies, they are instead destroyed and then
alias "pay" with no indirect object to "transfer to Agora"
Speaking of PAoaM currencies, they should have a collective name, no?
On 04/25/2018 04:24 PM, Aris Merchant wrote:
I think you mean a non-empty multiset. Also, I don't see any reason to
require the set to be non-empty. That's sensible for constant fees but
could break some types of variable fee.
Here's a phrasing that includes the default and rounds correctly:
"If the Rules associate payment of a multiset of assets (hereafter the
fee for the action; syns: cost, price, charge) with performing an
action, that action is a fee-based action. If the fee is a specified
in terms of a non-natural number of assets, the fee is rounded up to
the nearest natural number. If the fee is specified in terms of a
number without a specified unit, the unit is the official currency of
Agora."
This allows complex fees, which is fine, given that a complex (or
otherwise unreal) fee is impossible to pay and is simply equivalent to
making the action impossible.
-Aris
On Wed, Apr 25, 2018 at 1:30 PM, Kerim Aydin <ke...@u.washington.edu>
wrote:
I tried a version with general assets, if this is ugly can restrict to
currencies...
Proto v2: Let's really define payment solidly please, finally.
Create the following Rule, Fee-based actions:
If the Rules associate payment of a non-empty set of assets
(hereafter
the fee for the action; syns: cost, price, charge) with
performing an
action, that action is a fee-based action.
If the fee is a non-integer quantity of a fungible asset,
the actual
fee is the next highest integer amount of that asset.
[Takes out default - if you mean Coins in the Rules say Coins, if you
fail to specify a type of asset your rule is broken].
To perform a fee-based action, an entity (the Actor) who is
otherwise permitted to perform the action must announce that e
is performing the action; the announcement must specify the
correct set of assets for the fee and indicate intent
to pay that fee for the sole purpose of performing the action.
Upon such an announcement:
- If the Rules specify a recipient for the fee, and the Actor
CAN transfer that specified fee from emself to the recipient,
then that fee is transferred from the Actor to the recipient
and the action is performed simultaneously;
- If the Rules do not specify a recipient, and the Actor CAN
destroy the specified fee in eir possession, then that fee
in eir possession is destroyed and the action is
performed simultaneously.
- Otherwise, no changes are made to asset holdings and the
action is not performed.
If the Rules define a fee-based action but the specified
set of assets is the empty set, then the action is performed by
announcement, but the announcement must include that there
is an (empty or 0) fee for the action.
[Without this 0 edge case: arguments on the nature of the empty set
galore!]
[Todo: change rules to use this wording, remove "pay" = "transfer"
definition
currently in rules]
On Wed, 25 Apr 2018, Ørjan Johansen wrote:
On Wed, 25 Apr 2018, Kerim Aydin wrote:
On Wed, 25 Apr 2018, Ørjan Johansen wrote:
On Wed, 25 Apr 2018, Kerim Aydin wrote:
If the Rules associate a non-negative fee (syn: cost, price,
charge), with an action, or state that an action CAN be
performed
by paying a fee, that action is a fee-based action. If the
specified cost is not an integer, the actual fee is the next
highest integer. The currency of the fee is either the
currency associated with that action, or Coins if no currency
is specified.
"next higher". What if a cost is in a non-currency asset?
I've been trying to figure out wording for non-fungible assets and
failing.
(or at least failing to do both fungible and non-fungible in the same
paragraph while keeping it concise).
It may be too complicated, but then the first sentence should
explicitly state
that it only applies to fees in currencies, lest it be triggered
accidentally
by other "costs", after which the last sentence could absurdly
change the cost
into Coins.
"and announce that there is a fee for performing that specific
action"
seems a
bit redundant, and doesn't seem quite like the thing people do when
phrasing
payments naturally.
How about:
To perform a fee-based action, an entity (the Actor) who is
otherwise permitted to perform the action must announce
that e
is performing the action; the announcement must specify the
correct amount and currency of the fee and indicate intent
to pay that fee for the sole purpose of performing the
action.
I think "I pay 5 coins to do X" indicates intent to pay the fee as
per that
wording?
Yeah.
Greetings,
Ørjan.