94: Buy back Evelyn IOU tokens only below the Evelyn reference price

This commit is contained in:
2026-10-07 08:21:52 +02:00
parent 00a7f13c6f
commit e283f0b8f2
22 changed files with 649 additions and 17 deletions
+29 -8
View File
@@ -99,10 +99,27 @@ sikre tokenens pris eller muliggøre ny funktionalitet.
### 2.2 Buybacks og burn
En af de vigtigste mekanismer i Evelyn er det automatiske tilbagekøb og efterfølgende burn af 'Evelyn IOU' tokens.
En fast procentdel af overskuddet anvendes på at købe tokens på markedet – uanset den aktuelle pris – og brænde
dem permanent. Dette reducerer det samlede udbud og skaber et kontinuerligt deflationært pres, hvilket typisk er
positivt for investorerne. Buyback-strategien sikrer, at investorerne får en god pris for deres tokens, når det
udnyttes at ikke alle investorer sælger på samme tid, da de har forskellige forventninger til prisen.
En fast procentdel af overskuddet anvendes på at købe tokens på markedet, når
Evelyn Price Index er under nul, og brænde dem permanent. Det reducerer udbuddet,
når den aktuelle EVE-pris er lavere end Evelyns referencepris.
Når et input ellers er klar til køb, læser burneren en frisk kanonisk EVE/USDT-pris
fra `TickerService` og kalder den tilsvarende `EvelynStatusService.getReferencePrice()`
med det aktuelle beslutningstidspunkt. Køb tillades kun ved
`aktuel pris < referencepris`; lighed giver intet køb. Der bruges samme eksisterende
maksimale prisalder som til burn-værdiansættelsen, uden nye prisindstillinger.
Referencekurven beregnes af status-servicen; hverken den sidst gemte historikværdi
eller grafens punkter bruges til købsbeslutningen.
Ved lighed, højere pris eller manglende, ugyldige, for gamle eller utilgængelige
prisdata springes alle nye køb over i iterationen, og årsagen logges. Forløbet
fortsætter til EVE-saldo og mulig burn efter de selvstændige burn-regler. En fejl i
referenceopslaget blokerer derfor ikke burn, når dens egen friske værdiansættelse
og øvrige krav er opfyldt. Priserne vurderes igen ved næste ellers berettigede
iteration; et prisskip sætter ingen permanent suspension.
Med referencepris 15 USDT/EVE tillader 14,99 et ellers berettiget køb; 15,00 og
15,01 springer købet over. I alle tilfælde fortsætter EVE-burn-vurderingen.
Produktionsprocessen `evelyn.iou-burner.prod` accepterer følgende inputs i rækkefølge:
@@ -131,7 +148,8 @@ ingen inputtoken/USDC-pris eller nye Ticker-kilder og historikfiler.
Højst ét input forsøges vekslet pr. iteration, med en times pause efter hver
afsluttet iteration. Jupiter vælger pool og rute til EVE. USDT har fortsat første
prioritet, så en vedvarende spendabel USDT-saldo kan udsætte SyrupUSDC-veksling.
Efter buyback genlæses hele den synlige EVE-saldo, også ved direkte
Efter det mulige buyback, også når prisbetingelsen springer købet over,
genlæses hele den synlige EVE-saldo, også ved direkte
EVE-indbetalinger. Ejeren har valgt et produktionsminimum på **0,1 EVE pr. burn**
og en **reserve på 0,01 EVE**. Hub'en angiver begge som `MoneyAmount` med EVE's
kanoniske UUID. Minimum skal være positivt, reserve skal være ikke-negativ;
@@ -141,8 +159,9 @@ Burnbeløbet beregnes som `max(EVE-saldo - EVE-reserve, 0)`, afrundet ned til
EVE-mintens præcision. Der brændes kun, når dette faktiske beløb er positivt og
mindst minimum. Når tærsklen nås, brændes hele det berettigede beløb over
reserven; minimum er en tærskel, og der er intet burn-maksimum. Eventuelle
afrundingsrester bliver i wallet'en sammen med reserven. Små buybacks fortsætter
uafhængigt og samler EVE op mellem burns. Under tærsklen sker hverken burn eller
afrundingsrester bliver i wallet'en sammen med reserven. Små buybacks fortsætter,
når købspris og inputkrav tillader det, og samler EVE op mellem burns.
Under tærsklen sker hverken burn eller
burn-notifikation.
| EVE-saldo | Produktionshandling | EVE tilbage efter succes |
@@ -165,7 +184,9 @@ Inputgrænserne begrænser ikke EVE-burn.
Ved ukendt swap-resultat gemmes den oprindelige signatur, inputvaluta, beløb og
validitetsoplysninger i processen. Senere iterationer undersøger samme signatur
uden at gensende transaktionen. Bekræftet succes eller fejl ved mindst `CONFIRMED`
frigiver nye swaps med frisklæste saldi. Udløb frigiver kun et swap, når den
frigiver mulig ny inputvurdering med frisklæste saldi; ethvert nyt køb skal stadig
bestå den aktuelle prisbetingelse. Afklaringen er read-only og fortsætter også
ved pris lig med eller over referenceprisen. Udløb frigiver kun et swap, når den
oprindelige transaktions validitet er udløbet, og frisk finalized historik for
signerens adresse med tilstrækkelig lokal dækning beviser, at den ikke blev udført.
En begrænset historikside, der ikke dækker hele perioden, er fortsat uafklaret.