xrplwin/xrpl-nfttxmutationparser

解析XRPL NFT交易到上下文感知对象,提供方向、令牌ID和角色。

v1.0.17 2024-03-16 13:46 UTC

README

CI workflow GitHub license Total Downloads

PHP的XRPL NFT交易突变解析器

支持的网络

  • XRPL
  • Xahau

描述

解析NFToken和URIToken(统称为NFT)交易(NFTokenMintURITokenMintNFTokenBurnURITokenBurnNFTokenAcceptOfferURITokenBuyNFTokenCancelOfferURITokenCancelSellOfferNFTokenCreateOfferURITokenCreateSellOfferRemit),并带有账户上下文,返回受影响的NFT、NFT转移、铸造或销毁的方向,以及引用账户在特定交易中的角色。

使用此解析器,您可以找出交易执行后引用账户发生了什么。例如,当令牌铸造时,解析器将输出令牌ID和方向IN,这意味着引用账户是铸造者,新令牌被添加到引用账户的所有权中。

Remit (XLS-55)
Remit交易类型可以铸造单个存在于此交易中的URIToken,就像其他任何NFT一样。此外,Remit可以将零个、一个或多个现有的URIToken从账户转移到目的地,这些令牌存在于nftsref.nfts数组键中,发送账户具有'SELLER'角色,接收者目的地具有'OWNER'角色。

检查内容

  • 令牌ID - 受影响的令牌ID
  • 令牌方向 - 铸造 - IN,销毁 - OUT,出售 - OUT,购买 - IN
  • 角色 - 引用账户在此交易中的角色,是铸造者、销毁者、卖家、买家、经纪人还是发行者
  • 转发的URIToken - Remit交易类型中转移的令牌列表

NFToken(XLS-20)发行者注意事项
发行者仅在NFTokenAcceptOffer交易类型中发生,它是通过检查余额是否改变从修改后的AccountRoot节点中提取的。如果是,则此账户获得了销售百分比,并且是NFToken的发行者。

注意

此软件包按原样提供,请先自行测试。
发现了一个错误? 在此处报告问题

要求

安装

要安装,请运行

composer require xrplwin/xrpl-nfttxmutationparser

用法

use XRPLWin\XRPLNFTTxMutatationParser\NFTTxMutationParser;

$txResult = [
  "Account" => "rBcd..." 
  "Fee" => "1000",
  //...
];
$parser = new NFTTxMutationParser(
  "rAbc...", //This is reference account
  (object)$txResult //This is transaction result
);
$parsedTransaction = $parser->result();

print_r($parsedTransaction);

/*

├ Output for $parsedTransaction:
├ Array (
├     [nft] => 00082710...
├     [nfts] => []
├     [context] => null  
├     [ref] => Array
├         (
├             [account] => rAbc...  
├             [nft] => 00082710...
├             [nfts] => []
├             [direction] => IN
├             [roles] => Array
├                 (
├                     [0] => OWNER
├                 )
├         )
├ )

*/

响应

运行测试

运行"tests"目录中的所有测试。

composer test

./vendor/bin/phpunit --testdox

演示

XRPLWin Playground上查看此操作