TronHelperUsdtTransferTest.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace Tests\Unit;
  3. use App\Helpers\TronHelper;
  4. use PHPUnit\Framework\TestCase;
  5. class TronHelperUsdtTransferTest extends TestCase
  6. {
  7. public function test_approval_event_is_not_a_usdt_recharge(): void
  8. {
  9. $result = TronHelper::parseUsdtTransferEventFromTransactionInfo([
  10. 'blockNumber' => 83562014,
  11. 'blockTimeStamp' => 1781355336000,
  12. 'receipt' => ['result' => 'SUCCESS'],
  13. 'log' => [[
  14. 'address' => 'a614f803b6fd780986a42c78ec9c7f77e6ded13c',
  15. 'topics' => [
  16. '8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925',
  17. '000000000000000000000000333acb6d5137263acb0f5a25f34dd45bd87cca39',
  18. '000000000000000000000000b0c9500c261fa39a70de3b350a9f71fa0d46c474',
  19. ],
  20. 'data' => '0000000000000000000000000000000000000000000000000000000005f5e100',
  21. ]],
  22. ], 'TS5y6GiRJdkHD8kodi1nZynqy5ojzjuypq', 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t');
  23. $this->assertFalse($result['success']);
  24. $this->assertTrue($result['invalid']);
  25. }
  26. public function test_transfer_event_to_expected_address_is_a_usdt_recharge(): void
  27. {
  28. $result = TronHelper::parseUsdtTransferEventFromTransactionInfo([
  29. 'blockNumber' => 83562014,
  30. 'blockTimeStamp' => 1781355336000,
  31. 'receipt' => ['result' => 'SUCCESS'],
  32. 'log' => [[
  33. 'address' => 'a614f803b6fd780986a42c78ec9c7f77e6ded13c',
  34. 'topics' => [
  35. TronHelper::TRC20_TRANSFER_TOPIC,
  36. '000000000000000000000000333acb6d5137263acb0f5a25f34dd45bd87cca39',
  37. '000000000000000000000000b0c9500c261fa39a70de3b350a9f71fa0d46c474',
  38. ],
  39. 'data' => '0000000000000000000000000000000000000000000000000000000005f5e100',
  40. ]],
  41. ], 'TS5y6GiRJdkHD8kodi1nZynqy5ojzjuypq', 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t');
  42. $this->assertTrue($result['success']);
  43. $this->assertSame('TEe5txwddmGjsgP5EfBNG8M3qLM4JR3x7Z', $result['from_address']);
  44. $this->assertSame('TS5y6GiRJdkHD8kodi1nZynqy5ojzjuypq', $result['to_address']);
  45. $this->assertSame('100.000000', $result['amount']);
  46. }
  47. }