Token Recycle

(Execution Primitive)

1.1 Token Recycle (Execution Layer)

The Recycle Execution Layer converts surrendered ERC-20 tokens into accounting weight through deterministic smart contract logic.

It is composed of three distinct contracts:

  1. RecycleAssetRegistry

  2. SponsorshipLedger

  3. RecyclingEngine

Each performs a specific role. No contract overlaps responsibilities.


I. Registry Layer — Asset Definition

Contract: RecycleAssetRegistry

The Registry defines which ERC-20 tokens are recyclable.

The RecyclingEngine reads from:

registry()

An asset must be enabled in the registry for recycle execution to proceed.

If disabled, the engine reverts with:

Registry Responsibilities

• Enable / disable tokens • Define unit conversion ratio • Enforce optional caps • Provide read-only metadata to engine

The registry does not hold tokens. It does not distribute value. It only defines eligibility and accounting units.


II. Inventory Layer — SponsorshipLedger

Contract: SponsorshipLedger

The Ledger finalizes token surrender and converts it into accounting units.

Core function:

What Happens On-Chain

  1. Tokens are transferred to SponsorshipLedger

  2. Tokens are forwarded to blackHole()

  3. Accounting units are credited to beneficiary

Event emitted:

This is irreversible.

Tokens are not stored for speculation. They are removed from circulation via burn routing.


Verifiable State

To confirm inventory:

To confirm burn routing:


Consumption Protection

The Ledger enforces:

• Cap limits • No self-sponsoring • Engine-only consumption

Errors include:

Units cannot be consumed directly by users.

Only RecyclingEngine may call:

This preserves execution discipline.


III. Execution Layer — RecyclingEngine

Contract: RecyclingEngine

The Engine converts accounting units into accounting weight via native-paid execution.

Core function:


Execution Flow

When a user calls recycle(token):

  1. User sends native value (msg.value)

  2. Engine calculates units to consume:

  1. Engine calls Ledger:

  1. Router splits native rails

  2. Weight is minted

  3. accNativePerWeight updated

  4. Recycled event emitted

Event:

This event fully describes execution outcome.


IV. Weight Mechanics

Weight is a non-transferable accounting metric.

It is tracked through:

Distribution accrues via:

Claimable amount:

Claim execution:

Event:

Weight does not represent:

• Ownership of tokens • Governance voting (unless defined in Fund layer) • Share of assets

It represents proportional participation in native distribution.


V. Dynamic Weight Pricing

Weight minting depends on:

These parameters determine:

• Initial weight cost • Decay adjustment • Linear growth component

Parameter updates emit:

No silent modifications possible.


VI. Execution Guarantees

Recycle execution will revert if:

• Asset disabled • Insufficient units • Router misconfigured • Native value zero • Division by zero

Errors include:

No partial execution occurs.

Either full state transition or revert.


VII. Summary of Responsibilities

Contract
Responsibility
Holds Tokens
Holds Native

Registry

Asset definition

No

No

Ledger

Unit allocation + burn routing

No (burn only)

No

Engine

Unit consumption + weight minting

No

Yes (temporary for routing)

There is no pooled ERC-20 treasury.

Last updated