Skip to content

docs: state that fee-on-transfer and rebasing tokens are unsupported - #350

Merged
DavidMinarsch merged 1 commit into
mainfrom
docs/readme-unsupported-token-behaviour
Aug 30, 2026
Merged

docs: state that fee-on-transfer and rebasing tokens are unsupported#350
DavidMinarsch merged 1 commit into
mainfrom
docs/readme-unsupported-token-behaviour

Conversation

@DavidMinarsch

Copy link
Copy Markdown
Contributor

autonolas-registries states this in its README; autonolas-tokenomics does not, so the assumption lives only in Treasury source comments:

// We assume that authorized LP tokens in the protocol are safe as they are enabled via the governance
// UniswapV2ERC20 realization has a standard transferFrom() function that returns a boolean value

— above the deposit transfer, and again above the withdrawal.

Why it is worth stating in the README

The boundary is load-bearing. The Treasury reserve ledger books bond deposits at their nominal amount and reconciles against nothing, which is correct for standard LP tokens and wrong for any token whose balance moves outside a transfer. Someone reading only the README could reasonably conclude the ledger is meant to hold arbitrary tokens — and then report the resulting divergence as a defect.

That has now happened, so this is a real gap rather than a hypothetical one.

What it says

The two lines are copied verbatim from the registries README so both repos state the same assumption in the same terms, plus one sentence naming where it bites:

Note that by default the contracts do not work with:

  • Fee on transfer tokens;
  • Balance changes outside token transfers.

This applies in particular to the Treasury reserve ledger, which tracks protocol-owned liquidity: bond deposits are booked at their nominal amount on the assumption that governance enables only LP tokens with standard UniswapV2ERC20 transfer semantics.

Documentation only — no code change.

autonolas-registries carries this note in its README; tokenomics did not, so the
assumption existed only in Treasury source comments - 'We assume that authorized
LP tokens in the protocol are safe as they are enabled via the governance /
UniswapV2ERC20 realization has a standard transferFrom()' above the deposit
transfer, and again above the withdrawal.

That is easy to miss without reading the contract, and the boundary matters: the
reserve ledger books bond deposits at their nominal amount and reconciles against
nothing, which is correct for standard LP tokens and wrong for any token whose
balance moves outside a transfer. A reviewer reading only the README could
reasonably conclude the ledger is meant to hold arbitrary tokens.

Mirrors the registries wording verbatim so the two repos state the same
assumption in the same terms, with one sentence naming where it bites.
@DavidMinarsch
DavidMinarsch merged commit 5c010a9 into main Aug 30, 2026
2 checks passed
@DavidMinarsch
DavidMinarsch deleted the docs/readme-unsupported-token-behaviour branch August 30, 2026 10:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant