05 · Documentation
Exile
The forged token, how its supply is set, and how holders claim it one for one.
Exile is where the city moves. It forges the new token, fixes its supply, and lets every eligible holder swap old for new.
The exiled keep their old tokens. They do not receive new ones.
Forging
Exile forges the new token in the same transaction that finalizes a passed vote. No one has to trigger it separately. No one can delay it.
At the same moment, the outcome is recorded in the Stele.
The new token
The new token is the same token, minus the exiled.
- Same name.
- Same symbol.
- 18 decimals.
It is a plain ERC-20 with no blacklist and no owner. It is also checkpointed with ERC20Votes. A forged token can face a Shard of its own one day.
The new supply
The new supply is built from the old one:
- the old total supply,
- minus the sum of the exiled balances,
- plus 5 % of the old supply, minted to Walls,
- plus 1 % of the old supply, minted to the Treasury.
The 5 % and the 1 % are minted at forge. Everything else exists only through claims. The full new supply is reached when every eligible holder has claimed.
The 5 % seeds the new pool. The 1 % is the protocol's tithe, used to buy back and burn $OSTRA.
Worked example
| Amount | |
|---|---|
| Old supply | 1,000,000 |
| Held by the named addresses | 200,000 (20 %) |
| Eligible supply | 800,000 |
| Minted to Walls, 5 % | 50,000 |
| Minted to Treasury, 1 % | 10,000 |
| New supply | 860,000 |
You held 10,000 old tokens at the snapshot. That was 1 % of the old supply.
You claim 10,000 new tokens. That is 10,000 out of 860,000, or 1.16 %. About 1.2 %.
Your share grows because the exiled share is gone. You did not buy anything. The room got smaller around you.
Claiming
A holder claims with one call: claim(shardId, snapshotBalance, proof, amount).
They state their snapshot balance and prove it against the Shard's root. They choose an amount to claim.
The rule
Claims are one for one. The amount can be at most the smaller of two numbers:
- your snapshot balance, minus what you have already claimed;
- your current balance of the old token.
Both must hold. You need a snapshot balance to be eligible. You need old tokens in hand to hand them in.
What moves
Your old tokens move to Walls. New tokens are minted to you in the same amount.
Claiming takes two steps. First approve the old token. Then claim.
Partial claims
You can claim in parts. Claim some today and the rest later. The contract tracks what each address has claimed, readable from claimed(shardId, account).
No deadline
There is no deadline. A holder who is away for a year can still claim. The claim waits for them.
Who cannot claim
The exiled addresses cannot claim. Their old tokens stay theirs. They can hold them, sell them, or trade them in the old pool. They cannot turn them into the new token.
Why a bag moved after the snapshot claims nothing
A bag moved after the snapshot claims nothing.
Say you held 10,000 at the snapshot and sold 4,000 after it. You can claim 6,000. The 4,000 you sold are gone from your wallet, so you have nothing to hand in for them.
The buyer has those 4,000 old tokens. But the buyer had no snapshot balance, so the buyer has nothing to prove.
Neither side can claim the moved bag. This is deliberate. Without it, anyone could buy old tokens cheap after the vote and claim new ones at full value. The rule closes that door.
Reading the state
| View | Returns |
|---|---|
newTokenOf(shardId) | The forged token's address |
isExiled(shardId, account) | Whether an address was exiled by this Shard |
claimed(shardId, account) | How much an address has claimed |
totalClaimed(shardId) | How much has been claimed in total |
Next: Walls.