Skip to content

DAT's pay Function: Code vs. Wiki/Whitepaper Mismatch #603

@cpanagio

Description

@cpanagio

Hello and thanks for sharing your novel work.

I understand that this repository hasn't seen activity in a while, but I wanted to point out a potential discrepancy for whatever it is worth.

In commit 9707da3 titled Remover auto burn, the function pay(...) was modified. Here's the updated line from the commit:

emit Pay(msg.sender, _currencyValue);

This replaced the previous implementation:

// Distribute tokens
if(tokenValue > 0)
{
_mint(to, tokenValue);
if(to == beneficiary && autoBurn)
{
// must mint before this call
_burn(beneficiary, tokenValue, false);
}
}
emit Pay(msg.sender, _to, _currencyValue, tokenValue);

The original implementation enabled the issuance of new FAIRs, equivalent in value to the portion of the payment deposited into the DAT's cash reserve. This feature is still documented in both the c-org/whitepaper and the c-org/wiki.

Based on my understanding solely from reviewing the code, the minting of new FAIRs, as a reaction to payments made to the DAT, seems to have been entirely omitted. This process isn't managed elsewhere (i.e., outside function pay(...)) nor has it been reintroduced in subsequent commits. My assertion is backed by the latest test results where FAIRTotalSupply does not increase for any of the pay transactions.

If my understanding isn't accurate, could you please clarify:

  • where the minting of new FAIRs is implemented
  • the part of the code facilitating the distribution of the newly issued FAIRs, either to the organization or optionally to an address that the payer has specified [c-org/whitepaper].

If it is accurate, I'd greatly appreciate any insight into the rationale behind discontinuing the minting of new FAIRs in response to payments.

Given any of the above holds, it might be beneficial to update either the wiki/whitepaper or the code to ensure their consistency. Alternatively, annotating the divergence for clarity could be helpful for anyone referencing this in the future.

Kind Regards
Christos

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions