Skip to content

How is a seller meant to claim season points without retiring the note that does the selling? #153

Description

@tbuza

Version: v0.2.0 · mainnet, generation 4.0.36 · seller role · Season 2

This is a question about intended flow, not a defect report. We cannot find a path that lets a note
both bank its season points and keep selling, and the choice appears to be irreversible, so
we would rather ask than discover the answer on the last day of the season.

What we have established

Points only pay out once a note is linked to the registered wallet, and the withdrawal is what
creates that link
— that is how Season 1 credited for us. Every note in the current top five reads
not linked on the dashboard, including the leader's, which suggests every active seller is in the
same position.

But withdrawing sets _hasWithdrawn, and that flag blocks postSellOffer. The client checks it
explicitly, on mainnet today:

$ dexdo --data-dir ~/.dexdo6 doctor --market ~/.dexdo6/market-n906.json
  PASS seller PrivateNote withdrawn state
       addr=0000…0004::08956663b7574d3b080441e6bcfb167f5f13775884017e07da95c06ef7770f5d
       expected=hasWithdrawn=false actual=hasWithdrawn=false
       - seller note has not withdrawn; postSellOffer is not blocked by _hasWithdrawn

So as we read it: link the note and it can never sell again; keep selling and the points stay
unpaid.
One note cannot do both.

That matters because the note is not just a balance — it is the seller identity. Ours carries the
leaderboard position, every resting order, seven gateways, and the open deals. Retiring it stops the
whole operation, not one book.

The questions

  1. Is withdrawTokens the only way to link a note for season payout? Or is there a separate
    link/registration step that does not set _hasWithdrawn?
  2. Is there an intended path to claim points while continuing to sell? --note-index documents
    "one root key -> many notes, a specific deal/order lives on a specific sub-note". If points and
    the leaderboard entry attach to the root identity, a seller could sell from one sub-note and
    withdraw another. If they attach to the individual note address, that does not work. Which is it?
  3. Is there a deadline? Must the link exist before the season closes, or can a note be linked
    afterwards and still be credited for the season it earned in?
  4. If the intended answer is "run two notes and hand over" — sell from note A, deploy note B,
    note transfer the trading record across, then withdraw A — is that supported and does the
    leaderboard treat B as a new entrant starting at zero?

Why we are asking rather than testing

The test is not free. A second note needs its own 250 SHELL gas deposit, and a note's gas pocket
cannot be moved to a wallet without the very withdrawal we are trying to characterise. More to the
point, if the answer is "one-way", then getting the sequence wrong either strands a season's points
or ends a seller's trading early — and every seller on the leaderboard is currently exposed to that
same decision.

A sentence in note withdraw --help about the _hasWithdrawn consequence for sellers would help
the next operator; right now the flag's effect on postSellOffer is only visible through
doctor --market.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    trackedAccepted and assigned a DEXDO- ticket

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions