Ersetzen mehrerer via MultiversX importierter TX bzgl. LiquidityPools und deren Werte

Hallo zusammen,

ich habe in der MultiversX Integration sehr viele TX, die durch das Bilden von Liquidity Paaren entstanden sind. Also Beispiel: es wurden zwei Assets, WEGLD und USDC zu einem Liquidity Pool Asset EGLDUSDCLP zusammengeführt. In Blockpit tauchen diese als drei einzelne, ungelabelteTransaktionen auf:

  • -10 USDC → extern/Krypto gesendet
  • -1 WEGLD → extern/Krypto gesendet
  • Krypto erhalten → 0,0000000002 EGLDUSDCLP und eine Gebühr in EGLD

Ich würde diese jetzt gerne ausnehmen und ersetzen durch zwei .csv importiere TX. Das Template sieht dafür folgenden Felder vor:
|Integration Name|Label|Outgoing Asset|Outgoing Amount|Incoming Asset|Incoming Amount|Fee Asset (optional)|Fee Amount (optional)|

Dementsprechend habe ich die folgenden beiden Zeilen eingegeben. Die drei Transaktionen werden durch zwei Trades ersetzt wobei die entstehende Menge des neuen Assets (EGLDUSDCLP) zu je 50/50% eingesetzt werden :
|MultiverseX|Trade|WEGLD|1|EGLDUSDCLP|0,0000000001|||
|MultiverseX|Trade|USDC|10|EGLDUSDCLP|0,0000000001|EGLD|0,000475275|

Und hier meine Fragen:

  • Ist das so richtig oder muss ich die Gebühr auch teilen?

  • Auch die Werte für das gebildete LP Token(Asset) fehlen nach Import und werden nicht automatisch ermittelt. Wie kann ich diese Werte via .csv Import gleich mit importieren? Oder muss ich diese dann nochmal alle durchgehen und einpflegen?

  • Gibt es Aussichten auf Verbesserung des Imports? Ist da was bekannt?

Habt ihr sonstige Tipps? Bin für Alles dankbar, was es zum Thema MultiversX an Erfahrungen gibt und entsprechende „Best Practice“ Empfehlungen von Euch.

Schöne Grüße
Roland

Die Eingabelogik ist an sich richtig. Nur stellt sich die Frage, ob du bis zum Ausstieg aus dem LP-Pool nicht nebenbei noch den Assets andere Transaktionen machen möchtest.
Da wäre es wegen FIFO geschickt die Trades in eine manuelle Integration auszulagern. Die Fees könntest du dann getrennt davon in der MultiverseX-Integration mit dem Label Fee ausbuchen.
Eine Neuberechnung für die Wertstellung der LP-Token hast du durchgeführt?

1 „Gefällt mir“

Danke für die Antwort Bernhard. Bislang ist für mich alles noch Theorie und ich habe das .csv noch nicht geladen und neu berechnet. Oje, wie kann ich die Fees getrennt ausbuchen? Ich dachte, die sind Teil einer anderen TX? Meine Absicht war, alle ähnlichen LP Transaktionen durch ein manuel eingepflegtes .csv zu ersetzen. Dazu gehe ich alle Positionen durch und würde wie beschrieben vorgehen. Aber ich bin mir unsicher da ich nicht weiß, ob diese manuell eingepfegten TX dann auch Werte anzeigen. Das ist jetzt schon bei den wenigsten der Fall. Deshalb hätte ich gerne gleich für jede Position den Wert ausgerechnet und mit eingegeben, um nicht danach nochmal alles durchgehen zu müssen.
Bislang gab es keinen Ausstieg aus den Pools, außer in Ausnahmefällen, z.B. um mit den nicht handelbaren LKMEX (jetzt XMEX) und EGLD ein neues LP zu bilden. Also LKMEX aus dem Pool entnommen wurden, um dann mit EGLD aus dem Wallet zu EGLDMEXLP zu werden.
Was meinst du genau mit „noch weitere Transaktionen machen“ bis zum Ausstieg? Die entsprechenden Positionen so lange in ein .csv zu übertragen, bis ich aus den Pool aussteige und die TX aus der MultiverseX Integration solange auszunehmen? Ich bin dabei ein File nur für 2022 zu erstellen und dann wollte ich eins machen für 2023, usw. Und nur die entsprechenden LP Geschichten zu übertragen.

manuell eingepflegte Transaktionen werden beim Einspielen analysiert und automatisch einem Asset zugeordnet. Probier das Uploadfile einfach einmal aus.
Integrationsname befüllst du mit Liquidity-Pool und lässt dort mal zwei Token per Deposit zugehen
In der dritten Zeile nimmst du den Namen der MultiverseX-Integration und trägst dort ein Fee-Label mit einem outgoing-Betrag ein. Damit hast du auch schon die Fee separiert.
Zum Testen klugerweise einen ganz aktuellen Timestamp eintragen (nicht vergessen die Excel-Vorlage verlangt nach UTC-Zeit), damit liegen die Testtransaktionen gleich obenauf in deiner Liste.
Die Trennung in eine extra Integration empfehle vor allem deshalb, weil viel übersichtlicher.

1 „Gefällt mir“

Hi Bernhard, vielen Dank für Deine Hilfe. Ich habe jetzt einige Positionen in ein Sheet übertragen. Jetzt werfen sich neue Fragen auf.

Beispiel 1 - Frage 1:
Ich hoffe ich habe Deine Beschreibung richtig interpretiert und würde grundlegend nach folgendem Schema vorgehen. Ist das so richtig?


Zu dieser Tx zeigt Blockpit den entsprechenden Wert nach Abzug der Gebühr. Wenn ich jetzt die Gebühr einer manuellen Integration (MultiversX-LP) zuführe, wird das Ganze dann nicht zu wirr und unübersichtlich? Ermittelt Blockpit den Wert dann trotzdem noch richtig? Oder ist das egal, da die Summe der Gebühren nachträglich sowieso von der Summe aller Werte abgezogen würde und Blockpit das in Summe für ein Kalenderjahr richtig ermittelt?

Beispiel 2 - Frage 2:
Es gibt ein paar sonderbare Buchungen in Bezug auf die MEX Pools, wie diese hier, wo das gleiche Asset innerhalb einer TX, sowohl als Eingehend, als auch Ausgehend verbucht wird. Wahrscheinlich ist es Geschmacksache wie man sowas nachbilden will. Ich habe es jetzt so gemacht wie in der original TX und dabei auch nicht 50/50% den Pool-Token geteilt, sondern die Anteile 1:1 übertragen, da die org. TX zeigt, dass 1 MEX = 1 MEXFARM. Macht das so Sinn? :slight_smile: :

Ich würde auch den org. Zeitstempel übertragen, um später zu der entsprechenden org. TX die manuell abgeänderte TX besser zuordnen zu können und damit das auch im richtigen Kalenderjahr erscheint. Aber du meintest das mit dem Zeitstempel wahrscheinlich nur, um an einem Beispiel zu überprüfen, wie Blockpit das importiert. Das habe ich bislang noch nicht getestet…

Im darüberstehenden Screen ist die Gebühr doch von deiner API-Integration abgehend gebucht.
Das belässt du normalerweise auch so, um die gesyncte Balance richtig zu belassen.
Wie, und wann sich beim Einstieg in das LP der Wechsel von ELGD zu WELGD ergibt wäre noch zu eruieren. Findet der Wechsel innerhalb der Bereitstellung statt, würde ich ELGD in die Vorlage eintragen.

1 „Gefällt mir“

Genau. Einfach ausprobieren. Ist der Timenstamp im Explorer UTC, dann gibt der Eintrag desselben deine Lokalzeit in Blockpit wieder.

1 „Gefällt mir“

Schwierig zu beurteilen, ohne detaillierte Kenntnis der Funktionsweise dieses Pools.
Was sagen die Explorerdaten?

1 „Gefällt mir“

Also doch nicht in eine neue Integration ausbuchen? Dann ersetzt diese doch die API Integration oder? in Wechsel von EGLD nach WELGD findet scheinbar bei jedem Pool-Einstieg statt. Der Zeitstempel ist, soweit ich dass bisher beurteilen kann, auch immer identisch mit den anderen TX. Meinst Du das mit “innerhalb der Bereitstellung”?

Die MultiverseX Explorerdaten zeigen genau das, was ich beschrieb. Das meinte ich mit original TX.

ja, genau. Sind das die selben Timestamps nehme ich das so an.
Dann wäre der Einstieg in das LP-Pool als Transfer von MultiverseX in die manuelle LP-Integration darzustellen mit den Fees, die für den Trade gegen den Pooltoken nötig waren.
Innerhalb der LP-Integration dann den Trade EGLD->LP-Tokken, ohne Fees.
Somit sind in der LP-Integrationn nur die tatsächlich im Pool befindlichen Werte abgebildet.

1 „Gefällt mir“

Ich habe mir das jetzt nochmal angeschaut. Es werden zum gleichen Zeitpunkt insgesamt bis zu 6 einzelne Transaktionen ausgeführt, wobei eine davon, der Wechsel von EGLD zu WEGLD, im MultiverseX Explorer einen eigenen Hash hat. Und Gebühren werden scheinbar per Hash fällig. Ich lies den Vorgang EGLD zu WEGLD bislang auch unberührt, bis auf die schon diskutierte Änderung des Timestamps auf -1 Sek., damit es nicht zu „fehlende Historie“ Hinweisen kommt, da kurzzeitig die Balance nicht plausibel ist.
Zur Veranschaulichung hier die entsprechenden Screenshots eines Vorgangs. Die Zeitstempel sieht man hier jetzt leider nicht,


Ok, die beteiligten Walletadressen gehe ich mal davon aus sind bei beiden Vorgängen (wrapEGLD und addLiquidity) sind ein und dieselbe bis zur Zeile 2 des zweiten Screenshots. Dann wäre es, so wie sich das Bildmaterial liest a)
ein Trade EGLD zu WEGLD mit EGLD-Fees und b) in jener Wallet ausgehend die ersten 2 Zeilen des zweiten Screenshots als Trade gegen 1/2 Menge EGLDUSDC in der manuellen LP-Integration eingehend mit den ELGD-Fees ganz unten.
Damit wären Zeilen 1-4 abgedeckt. Die 5. Zeile ist mir nicht klar, weshalb und wo die passiert.
Eine Art Reward in USDC für das Bereitstellen der Liquidity im LP-Contract?

Danke für Deine Einschätzung Bernhard. Ja, dann bin ich beruhigt. Ich war mit den manuellen Eintragungen und recht weit, aber mittlerweile wurde mir von BlockPit eine Test-Variante der Integration bereitgestellt und viele der LP Geschichten wurden genau so übertragen wie gewünscht. Ich werde dazu später noch ein paar Screenshots nachreichen, wenn das Thema abgeschlossen ist. Momentan habert es noch an der Wertermittlung für manche Assets, wie RIDE und MEX, aber es sieht jetzt schon nach wesentlich weniger Arbeit aus.
Diese fünfte Zeile wird in Blockpit gar nicht berücksichtigt. Guter Punkt. Da mus ich nochmal nachsehen, wie das bei ähnlichen Transaktionen aussieht.