94: Buy back Evelyn IOU tokens only below the Evelyn reference price
This commit is contained in:
+29
-8
@@ -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.
|
||||
|
||||
@@ -177,7 +177,9 @@ nenjim.journal.service</code></pre>
|
||||
<code>start()</code>, and recorded only after successful return. An omitted process is therefore neither
|
||||
constructed, registered, started, nor displayed by Process Manager.</p>
|
||||
<p><code>[AUTO_START]</code> is the complete manually ordered process dependency closure. The Hub does not infer,
|
||||
insert, recursively construct, or reorder dependencies; JavaFX runtime must precede selected JavaFX
|
||||
insert, recursively construct, or reorder dependencies. Ticker and Production Evelyn status must precede
|
||||
a selected Production IOU Burner; the Hub injects that status service for reference-price decisions before
|
||||
new buybacks and fails clearly if the predecessor is unavailable. JavaFX runtime must precede selected JavaFX
|
||||
applications. Construction, registration, and startup remain fail-fast without rollback. Earlier successful
|
||||
snapshot entries remain truthful after a later failure, and the online point plus blocking wait are reached
|
||||
only after every configured process succeeds.</p>
|
||||
|
||||
@@ -283,6 +283,11 @@ navngivne `Production`- og `Test`-instanser gennem `EvelynStatusServiceImpl` og
|
||||
`EvelynStatusService`-views i Mission Control. Process Manager viser de nye ID'er fra Hub'ens startup-snapshot.
|
||||
Historik ligger fortsat i `data/evelyn/<instance-name>/status.log` med formatversion 1 og kræver ingen migration.
|
||||
|
||||
Hvis `evelyn.iou-burner.prod` vælges, skal både `assetaz.ticker.default` og
|
||||
`evelyn.status.prod` stå før den. Hub'en injicerer Production status-servicen til
|
||||
referenceprisopslag før nye buybacks; en manglende eller senere status-forgænger
|
||||
giver en tydelig konstruktionsfejl uden implicit oprettelse eller omordning.
|
||||
|
||||
Efter validering konstruerer og starter Hub'en Registry, registrerer det som `nenjim.registry.service` og registrerer
|
||||
startup-milepælen. Derefter konstrueres og registreres hele den nuværende passive graph uden at starte workers eller
|
||||
processer. Først herefter behandles resten af `[AUTO_START]` i den angivne rækkefølge, begyndende med Journal. Hver
|
||||
|
||||
Reference in New Issue
Block a user