Skip to content

Commit

Permalink
AMM all
Browse files Browse the repository at this point in the history
  • Loading branch information
zgrguric committed Mar 11, 2024
1 parent 7512b92 commit 2b630e0
Show file tree
Hide file tree
Showing 6 changed files with 726 additions and 5 deletions.
5 changes: 5 additions & 0 deletions src/TxParticipantExtractor.php
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,11 @@ public function __construct(\stdClass $tx, array $options = [])
if(isset($this->tx->Amount->issuer)) {
$this->addAccount($this->tx->Amount->issuer, 'AMOUNT_ISSUER');
}

# Issuer of token from Amount2 - AMM
if(isset($this->tx->Amount2->issuer)) {
$this->addAccount($this->tx->Amount2->issuer, 'AMOUNT2_ISSUER');
}

//Add RegularKey - eg. https://xrpl.org/setregularkey.html
if(isset($this->tx->RegularKey))
Expand Down
11 changes: 6 additions & 5 deletions tests/Tx37Test.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ public function testAMMCreate()
$this->assertEquals([
'r8ZUGctKnnKETutuTSVVU1tmMicG2Dsp5', //initiator
'rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd', //Amount1 issuer
'raonGnW61wAAjphXRiRh4Lva3nK6Qxbbiy',
'raihScAvmDTQNZUhxv9qrQbdbR7kwgTZSD', //Amount2 issuer
'raonGnW61wAAjphXRiRh4Lva3nK6Qxbbiy',

], $parsedTransaction);

Expand All @@ -39,19 +39,20 @@ public function testAMMCreate()
'AMM_AUCTIONSLOT_ACCOUNT',
'AMM_VOTEENTRY_ACCOUNT'
], $accounts['r8ZUGctKnnKETutuTSVVU1tmMicG2Dsp5']);

$this->assertEquals([
'AMOUNT2_ISSUER',
'DIRECTORYNODE_OWNER',
'RIPPLESTATE_HIGHLIMIT_ISSUER',
'AMM_ASSET1_ISSUER'
], $accounts['raihScAvmDTQNZUhxv9qrQbdbR7kwgTZSD']); //Asset 1
], $accounts['raihScAvmDTQNZUhxv9qrQbdbR7kwgTZSD']); //Amount2, Asset 1

$this->assertEquals([
'AMOUNT_ISSUER',
'RIPPLESTATE_HIGHLIMIT_ISSUER',
'DIRECTORYNODE_OWNER',
'AMM_ASSET2_ISSUER',
], $accounts['rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd']); //Asset 2
], $accounts['rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd']); //Amount2, Asset 2

$this->assertEquals([
'RIPPLESTATE_LOWLIMIT_ISSUER',
Expand All @@ -60,7 +61,7 @@ public function testAMMCreate()
'RIPPLESTATE_HIGHLIMIT_ISSUER',
'AMM_AUCTIONSLOT_PRICE_ISSUER',
'AMM_LPTOKENBALANCE_ISSUER',
], $accounts['raonGnW61wAAjphXRiRh4Lva3nK6Qxbbiy']); //Asset 2
], $accounts['raonGnW61wAAjphXRiRh4Lva3nK6Qxbbiy']);

}
}
64 changes: 64 additions & 0 deletions tests/Tx39Test.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<?php declare(strict_types=1);

namespace XRPLWin\XRPLTxParticipantExtractor\Tests;

use PHPUnit\Framework\TestCase;
use XRPLWin\XRPLTxParticipantExtractor\TxParticipantExtractor;

/***
* AMMDeposit
*/
final class Tx39Test extends TestCase
{
public function testAMMDeposit()
{
$transaction = file_get_contents(__DIR__.'/fixtures/tx39.json');
$transaction = \json_decode($transaction);
$TxParticipantExtractor = new TxParticipantExtractor($transaction->result);

$parsedTransaction = $TxParticipantExtractor->result();
$this->assertIsArray($parsedTransaction);

$this->assertEquals([
'rBsnqu7dx1ZETaTwZpTNKfmxaSHveJbAWr', //initiator
'rPsLc5urbzLd5S39MWDo8GfkukqTTvdxvt',
'rhjVJF4ccwbnSCU3gVvpyi6KgqUz8bLmcy',
'rpSVjvfXqPtfX5VQU3rKmBbbF2dYeiCc6Q',
'rU4W6ZvbTW9HAxxT685jqGqDNn1egrHfGC',
'rpWFofBE6nuTaKjYLMHS7o3pNV9UJuVtJc',
'rNNnGdeXukFLk2KBAadffET5wLNqoRTcVB',
'rBsCCWiouB8vXGJS7Vw2QBysM5uiczcS2W',
'rP32yzQE7xX94YcSedw18QquqnN6Tw4zS3',
'rKtkrtWyD4mNiEYxtKnH9LM7aSAjJGC88e',
'r4EVW2tiEkTRmxCuyRd35txXPwUBUKG269',
], $parsedTransaction);

$accounts = $TxParticipantExtractor->accounts();

//This regular key is transaction signer
$this->assertEquals([
'INITIATOR',
'TXSIGNER',
'RIPPLESTATE_LOWLIMIT_ISSUER',
'ACCOUNTROOT_ACCOUNT',
'RIPPLESTATE_HIGHLIMIT_ISSUER',
'DIRECTORYNODE_OWNER'
], $accounts['rBsnqu7dx1ZETaTwZpTNKfmxaSHveJbAWr']);

$this->assertEquals([
'AMOUNT2_ISSUER',
'AMM_ASSET2_ISSUER',
'RIPPLESTATE_HIGHLIMIT_ISSUER',
], $accounts['rPsLc5urbzLd5S39MWDo8GfkukqTTvdxvt']);

$this->assertEquals([
'AMM_LPTOKENBALANCE_ISSUER',
'AMM_AUCTIONSLOT_PRICE_ISSUER',
'RIPPLESTATE_LOWLIMIT_ISSUER',
'DIRECTORYNODE_OWNER',
'ACCOUNTROOT_ACCOUNT',
], $accounts['rhjVJF4ccwbnSCU3gVvpyi6KgqUz8bLmcy']);


}
}
74 changes: 74 additions & 0 deletions tests/Tx40Test.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<?php declare(strict_types=1);

namespace XRPLWin\XRPLTxParticipantExtractor\Tests;

use PHPUnit\Framework\TestCase;
use XRPLWin\XRPLTxParticipantExtractor\TxParticipantExtractor;

/***
* AMMVote
*/
final class Tx40Test extends TestCase
{
public function testAMMVote()
{
$transaction = file_get_contents(__DIR__.'/fixtures/tx40.json');
$transaction = \json_decode($transaction);
$TxParticipantExtractor = new TxParticipantExtractor($transaction->result);

$parsedTransaction = $TxParticipantExtractor->result();
$this->assertIsArray($parsedTransaction);

$this->assertEquals([
'rMFYxTLxTDpj2YMSovi898vuXeYg91UU1v',
'rpSVjvfXqPtfX5VQU3rKmBbbF2dYeiCc6Q',
'rhjVJF4ccwbnSCU3gVvpyi6KgqUz8bLmcy',
'rU4W6ZvbTW9HAxxT685jqGqDNn1egrHfGC',
'rpWFofBE6nuTaKjYLMHS7o3pNV9UJuVtJc',
'rNNnGdeXukFLk2KBAadffET5wLNqoRTcVB',
'rBsCCWiouB8vXGJS7Vw2QBysM5uiczcS2W',
'rP32yzQE7xX94YcSedw18QquqnN6Tw4zS3',
'rKtkrtWyD4mNiEYxtKnH9LM7aSAjJGC88e',
'r4EVW2tiEkTRmxCuyRd35txXPwUBUKG269',
'rPsLc5urbzLd5S39MWDo8GfkukqTTvdxvt',

], $parsedTransaction);

$accounts = $TxParticipantExtractor->accounts();

//This regular key is transaction signer
$this->assertEquals([
'INITIATOR',
'TXSIGNER',
'ACCOUNTROOT_ACCOUNT'
], $accounts['rMFYxTLxTDpj2YMSovi898vuXeYg91UU1v']);

$this->assertEquals([
'AMM_AUCTIONSLOT_ACCOUNT',
'AMM_VOTEENTRY_ACCOUNT',
], $accounts['rpSVjvfXqPtfX5VQU3rKmBbbF2dYeiCc6Q']);

$this->assertEquals([
'AMM_AUCTIONSLOT_PRICE_ISSUER',
'AMM_LPTOKENBALANCE_ISSUER',
], $accounts['rhjVJF4ccwbnSCU3gVvpyi6KgqUz8bLmcy']);

$this->assertEquals([
'AMM_VOTEENTRY_ACCOUNT',
], $accounts['rU4W6ZvbTW9HAxxT685jqGqDNn1egrHfGC']);

$this->assertEquals([
'AMM_VOTEENTRY_ACCOUNT',
], $accounts['rKtkrtWyD4mNiEYxtKnH9LM7aSAjJGC88e']);

$this->assertEquals([
'AMM_VOTEENTRY_ACCOUNT',
], $accounts['r4EVW2tiEkTRmxCuyRd35txXPwUBUKG269']);

$this->assertEquals([
'AMM_ASSET2_ISSUER',
], $accounts['rPsLc5urbzLd5S39MWDo8GfkukqTTvdxvt']);


}
}
Loading

0 comments on commit 2b630e0

Please sign in to comment.