Browse Source

no message

DESKTOP-70VPDLK\Administrator 2 months ago
parent
commit
2bdd91eefe

+ 35 - 61
app/Console/Commands/TestCommand.php

@@ -2,71 +2,18 @@
 
 namespace App\Console\Commands;
 
-use App\Jobs\BarrageJob;
-use App\Jobs\ShopNoticeJob;
-use App\Jobs\VerifyImg;
 use App\Models\Contract;
-use App\Models\CouponGrantRange;
-use App\Models\ErrorRecord;
-use App\Models\Express;
-use App\Models\Goods;
-use App\Models\GoodsSpec;
-use App\Models\ImGroup;
-use App\Models\ImMyGroup;
-use App\Models\Member;
 use App\Models\MemberClan;
-use App\Models\MemberOpenId;
-use App\Models\Members;
-use App\Models\Menu;
-use App\Models\Order;
-use App\Models\OrderAccountsSet;
-use App\Models\OrderItem;
-use App\Models\PayOrder;
-use App\Models\RefundOrder;
-use App\Models\Region;
-use App\Models\SeckillGoods;
-use App\Models\Shop;
-use App\Models\ShopOrder;
-use App\Models\ShopSet;
-use App\Models\ShopUser;
-use App\Models\Withdraw;
-use App\Servers\AlbumServer;
-use App\Servers\BarrageServer;
-use App\Servers\CommentServer;
-use App\Servers\CommonServer;
 use App\Servers\ContractServer;
-use App\Servers\Coupon\CouponGrantServer;
-use App\Servers\Electricity\JdElectricityServer;
-use App\Servers\Electricity\TbElectricityServer;
-use App\Servers\ExpressServer;
-use App\Servers\GrantPondServer;
-use App\Servers\HxServer;
-use App\Servers\Icon\Address;
-use App\Servers\Icon\BanRPC;
-use App\Servers\Icon\TronRPC;
-use App\Servers\ImgServer;
-use App\Servers\ImServer;
-use App\Servers\MemberClanServer;
-use App\Servers\MemberServer;
-use App\Servers\OrderServer;
-use App\Servers\PayServer;
-use App\Servers\RedisDataServer;
-use App\Servers\RefundOrderServer;
-use App\Servers\SeckillServer;
-use App\Servers\SensitiveServer;
-use App\Servers\ShopFileServer;
-use App\Servers\ShopNoticeServer;
-use App\Servers\ShopOrderServer;
-use App\Servers\ShopServer;
-use App\Servers\UsedServer;
-use App\Servers\WeixinServer;
-use App\Servers\WxTemplateServer;
-use App\Servers\ZfbServer;
+use BitWasp\Bitcoin\Bitcoin;
+use BitWasp\Bitcoin\Address\PayToPubKeyHashAddress;
+use BitWasp\Bitcoin\Crypto\Random\Random;
+use BitWasp\Bitcoin\Key\Factory\HierarchicalKeyFactory;
+use BitWasp\Bitcoin\Mnemonic\Bip39\Bip39Mnemonic;
+use BitWasp\Bitcoin\Mnemonic\Bip39\Bip39SeedGenerator;
+use BitWasp\Bitcoin\Mnemonic\MnemonicFactory;
 use Illuminate\Console\Command;
-use Illuminate\Support\Facades\DB;
-use SimpleSoftwareIO\QrCode\Facades\QrCode;
-use SwooleTW\Http\Websocket\Facades\Websocket;
-use Topsdk\Topapi\TopApiClient;
+use Web3p\EthereumUtil\Util;
 
 class TestCommand extends Command
 {
@@ -102,6 +49,33 @@ class TestCommand extends Command
      */
     public function handle()
     {
+        $random = new Random();
+        // 生成随机数(initial entropy)
+        $entropy = $random->bytes(Bip39Mnemonic::MIN_ENTROPY_BYTE_LEN);
+        $bip39 = MnemonicFactory::bip39();
+        // 通过随机数生成助记词
+        $mnemonic = $bip39->entropyToMnemonic($entropy);
+        echo "mnemonic: " . $mnemonic.PHP_EOL.PHP_EOL;// 助记词
+
+        $seedGenerator = new Bip39SeedGenerator();
+        // 通过助记词生成种子,传入可选加密串'hello'
+        $seed = $seedGenerator->getSeed($mnemonic);
+        echo "seed: " . $seed->getHex() . PHP_EOL;
+        $hdFactory = new HierarchicalKeyFactory();
+        $master = $hdFactory->fromEntropy($seed);
+
+        $hardened = $master->derivePath("44'/60'/0'/0/0");
+        echo 'WIF: ' . $hardened->getPrivateKey()->toWif();
+        echo PHP_EOL;
+        $address = new PayToPubKeyHashAddress($hardened->getPublicKey()->getPubKeyHash());
+        echo 'address: ' . $address->getAddress();
+        echo PHP_EOL;
+        echo " - m/44'/60'/0'/0/0 " .PHP_EOL;
+        echo " public key: " . $hardened->getPublicKey()->getHex().PHP_EOL;
+        echo " private key: " . $hardened->getPrivateKey()->getHex().PHP_EOL;// 可以导入到imtoken使用的私钥
+        $util = new Util();
+        echo " address: " . $util->publicKeyToAddress($util->privateKeyToPublicKey($hardened->getPrivateKey()->getHex())) . PHP_EOL;// 私钥导入imtoken后一样的地址
+        dd(1221);
 //        ContractServer::creatServer()->verifyContractCommon();
 //        dd(12);
 //        $ids=Member::where('id','>',1)->pluck('id')->toArray();

+ 50 - 0
app/Console/Commands/TronAnalyze.php

@@ -0,0 +1,50 @@
+<?php
+
+namespace App\Console\Commands;
+
+use App\Servers\EthAnalyzeServer;
+use App\Servers\TronAnalyzeServer;
+use Illuminate\Console\Command;
+
+class TronAnalyze extends Command
+{
+    /**
+     * The name and signature of the console command.
+     *
+     * @var string
+     */
+    protected $signature = 'analyze:tron';
+
+    /**
+     * The console command description.
+     *
+     * @var string
+     */
+    protected $description = '波场区块分析';
+
+    /**
+     * Create a new command instance.
+     *
+     * @return void
+     */
+    public function __construct()
+    {
+        parent::__construct();
+    }
+
+    /**
+     * Execute the console command.
+     *
+     * @return mixed
+     */
+    public function handle()
+    {
+        //
+        $this->info('start------------------');
+        while (true){
+            $ret=TronAnalyzeServer::tronAnalyze();
+            if(empty($ret))sleep(3);
+        }
+        $this->info('end------------------');
+    }
+}

+ 1 - 1
app/Http/Controllers/Api/CommonController.php

@@ -36,7 +36,7 @@ class CommonController extends FrontController
 
     function index()
     {
-        $contract=Contract::where('id',33)->first();
+        $contract=Contract::where('id',1)->first();
         $memberTeam=MemberClan::where('m_id',$contract->{'m_id'})->select(['id','m_id','p_ids','one_m_id','two_m_id'])->first();
         $pIds=array_reverse(array_filter(explode(',',$memberTeam->{'p_ids'})));
         ContractServer::creatServer()->teamProportion($contract,$pIds);

+ 144 - 0
app/Servers/BnbAnalyzeServer.php

@@ -0,0 +1,144 @@
+<?php
+
+
+namespace App\Servers;
+
+
+use App\Models\BlockInfo;
+
+use App\Models\BlockItem;
+use App\Models\Member;
+use App\Models\MemberCoin;
+use App\Models\Task;
+use App\Models\Withdraw;
+use App\Servers\Icon\BanRPC;
+use App\Servers\Icon\EthereumRPC;
+
+use App\Servers\Icon\Utils;
+use Illuminate\Support\Facades\DB;
+
+/**
+ * Tron区块分析模块
+ */
+class BnbAnalyzeServer
+{
+
+
+    public static function bnbAnalyze()
+    {
+//        dump(time());
+        $contractAddress=env('CONTRACT_ADDRESS');
+        $usdtAddress=env('USDT_ADDRESS');
+        $block_info = BlockInfo::where('id', 1)->first();
+        if($block_info->{'num'}>=$block_info->{'analyze'} - 5 ){
+            $tron_block = BanRPC::creatServer()->sendBlockNumber();
+        }else{
+            $tron_block=$block_info->{'num'};
+        }
+        if ($block_info->{'analyze'} + 6 < $tron_block) {
+            $analyze = $block_info->{'analyze'} + 1;
+            $block_deal = BanRPC::creatServer()->sendBlockByNumber($analyze);
+//            dump(time());
+            if (empty($block_deal)) return false;
+            DB::beginTransaction();
+            if (!empty($block_deal['transactions'])) {
+                foreach ($block_deal['transactions'] as $t_key=>$deal_info) {
+
+                    if(strtolower($deal_info['to'])==strtolower($usdtAddress) ){
+                        //USDT充币流程
+                        $to=strtolower('0x'.substr($deal_info['input'],34,40));
+                        $modelName=substr($deal_info['input'],0,10);
+                        if(strtolower($to)==strtolower($contractAddress) && $modelName=='0xa9059cbb'){
+                            $money='0x'.substr($deal_info['input'],74);
+                            $money=Utils::int2fund(Utils::hex2dec( $money));
+                            $testServe=env('TEST_SERVE');
+                            if($testServe){
+                                $money*=100000;
+                            }
+                            $block_item = [
+                                'm_id' => 0,
+                                'coin_id' => 1,
+                                'contract_address' => $usdtAddress,
+                                'coin_name' => 'USDT',
+                                'block_num' => $block_info->{'analyze'} + 1,
+                                'money' => $money,
+                                'from_a' =>$deal_info['from'],
+                                'hash' => $deal_info['hash'],
+                                'to_a' => $to,
+                                'pay_at' => date('Y-m-d H:i:s'),
+                                'fee_limit' =>0,
+                            ];
+                        }
+                        if (!empty($block_item)) {
+                            $member = Member::where('address', $block_item['from_a'])->select(['id','address','m_id'])->first();
+                            if (!empty($member)) {
+                                $deal =  BanRPC::creatServer()->getTransactionReceipt($deal_info['hash']);//交易查询
+                                //交易已完成 返回数据格式数据 ,将数据json保存
+                                if ($deal['status'] != '0x1'){
+                                    continue;
+                                }
+                                $member_coin = MemberCoin::where('m_id',$member->{'id'})->where('coin_id',1)->select(['id','address','num','m_id'])->first();
+                                $block_item['m_id'] = $member_coin->{'m_id'};
+                                $block_item['to_type'] = 1;
+                                $item_num = BlockItem::where('m_id', $block_item['m_id'])->where('hash', $block_item['hash'])->where('coin_id', $block_item['coin_id'])->count();
+                                if($item_num<=0){
+                                    $block_item=BlockItem::create($block_item);
+                                    if($block_item['to_type']==1){
+                                        //转入检测
+                                        $itemMoney=MoneyDetailServer::creatServer()->write(1,1,$block_item['money'],1,$member->{'id'},'用户充值成功',$block_item->{'id'});
+                                        WalletServer::creatServer()->addCoinNum($member->{'m_id'},$itemMoney);
+                                    }
+                                }
+                            }
+                        }
+                    }elseif(strtolower($deal_info['to'])==strtolower($contractAddress) ){
+                        $modelName=substr($deal_info['input'],0,10);
+                        if($modelName=='0x33289a46'){
+                            $money='0x'.substr($deal_info['input'],10);
+                            $money=Utils::int2fund(Utils::hex2dec( $money));
+                            $from=strtolower($deal_info['from']);
+                            $member=Member::where('address',$from)->first();
+                            if($member){
+                                $num=Withdraw::where('hash',$deal_info['hash'])->count();
+                                if($num<=0){
+                                   $w= Withdraw::create([
+                                        'm_id' => $member->{'m_id'},
+                                        'coin_id' => 1,
+                                        'money' => $money,
+                                        'service_money' => 0,
+                                        'withdraw_money' => 0,
+                                        'status' => 1,
+                                        'withdraw_type' => 1
+                                    ]);
+                                    $memberCoin=MemberCoin::where('m_id',$member->{'id'})->where('coin_id',1)->first();
+                                    if ($memberCoin && $memberCoin->{'num'}>$money){
+                                        Task::create([
+                                            'u_id' => $member->{'id'},
+                                            'm_id' => $member->{'m_id'},
+                                            'model_name' => 'withdraw',
+                                            'execute_id' => 0,
+                                            'data' => ['money'=>$money,'service_money'=>0,'address'=>$deal_info['from'],'withdraw_money'=>$money,'execute_id'=>$w->{'id'}],
+                                            'status' => 0
+                                        ]);
+                                    }
+                                }
+
+                            }
+                        }
+
+                    }
+
+
+                }
+            }
+
+            BlockInfo::where('id', 1)->update(['analyze' => $block_info->{'analyze'} + 1, 'num' => $tron_block]);
+            DB::commit();
+
+            return true;
+        }
+        return false;
+
+    }
+
+}

+ 4 - 2
composer.json

@@ -9,11 +9,13 @@
     "license": "MIT",
     "require": {
         "php": "^7.2",
+        "ext-json": "*",
         "alibabacloud/sdk": "^1.8",
         "alipaysdk/easysdk": "^2.2",
         "barryvdh/laravel-debugbar": "3.2.3",
         "barryvdh/laravel-ide-helper": "2.8",
         "baum/baum": "^1.1",
+        "bitwasp/bitcoin": "1.0.x-dev",
         "caouecs/laravel-lang": "~3.0",
         "cartalyst/sentry": "^2.1",
         "cblink/region": "^1.0",
@@ -35,8 +37,8 @@
         "simplesoftwareio/simple-qrcode": "^4.1",
         "tymon/jwt-auth": "^1.0",
         "web3p/ethereum-tx": "^0.4.3",
-        "webpatser/laravel-uuid": "^3.0",
-      "ext-json": "*"
+        "web3p/ethereum-util": "^0.1.4",
+        "webpatser/laravel-uuid": "^3.0"
     },
     "require-dev": {
         "beyondcode/laravel-dump-server": "^1.0",

+ 271 - 17
composer.lock

@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "8e2eea9df5cf90e5886106000c02f504",
+    "content-hash": "7a6ec149243d96d0c57a8de662aa07b8",
     "packages": [
         {
             "name": "adbario/php-dot-notation",
@@ -984,6 +984,164 @@
             },
             "time": "2015-03-04T12:07:54+00:00"
         },
+        {
+            "name": "bitwasp/bech32",
+            "version": "v0.0.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/Bit-Wasp/bech32.git",
+                "reference": "e1ea58c848a4ec59d81b697b3dfe9cc99968d0e7"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/Bit-Wasp/bech32/zipball/e1ea58c848a4ec59d81b697b3dfe9cc99968d0e7",
+                "reference": "e1ea58c848a4ec59d81b697b3dfe9cc99968d0e7",
+                "shasum": ""
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^5.4.0",
+                "squizlabs/php_codesniffer": "^2.0.0"
+            },
+            "type": "library",
+            "autoload": {
+                "files": [
+                    "src/bech32.php"
+                ],
+                "psr-4": {
+                    "BitWasp\\Bech32\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "Unlicense"
+            ],
+            "authors": [
+                {
+                    "name": "Thomas Kerin",
+                    "homepage": "https://thomaskerin.io",
+                    "role": "Author"
+                }
+            ],
+            "description": "Pure (no dependencies) implementation of bech32",
+            "homepage": "https://github.com/bit-wasp/bech32",
+            "support": {
+                "issues": "https://github.com/Bit-Wasp/bech32/issues",
+                "source": "https://github.com/Bit-Wasp/bech32/tree/more-tests"
+            },
+            "time": "2018-02-05T22:23:47+00:00"
+        },
+        {
+            "name": "bitwasp/bitcoin",
+            "version": "1.0.x-dev",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/Bit-Wasp/bitcoin-php.git",
+                "reference": "670063be60655500a327d5d470d6eba0d77c6941"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/Bit-Wasp/bitcoin-php/zipball/670063be60655500a327d5d470d6eba0d77c6941",
+                "reference": "670063be60655500a327d5d470d6eba0d77c6941",
+                "shasum": ""
+            },
+            "require": {
+                "bitwasp/bech32": "^0.0.1",
+                "bitwasp/buffertools": "^0.5.0",
+                "composer/semver": "^1.4.0|^3.2.0",
+                "lastguest/murmurhash": "v2.0.0",
+                "mdanter/ecc": "^0.5.0",
+                "php-64bit": ">=7.0",
+                "pleonasm/merkle-tree": "1.0.0"
+            },
+            "require-dev": {
+                "bitwasp/bitcoinconsensus": "v3.0.0",
+                "bitwasp/secp256k1-php": "^v0.2.0",
+                "ext-json": "*",
+                "nbobtc/bitcoind-php": "v2.0.2",
+                "phpunit/phpunit": "^5.4.0",
+                "squizlabs/php_codesniffer": "^2.0.0"
+            },
+            "suggest": {
+                "ext-bitcoinconsensus": "The bitcoinconsensus library for safest possible script verification",
+                "ext-secp256k1": "The secp256k1 library for fast and safe elliptic curve operations"
+            },
+            "default-branch": true,
+            "type": "library",
+            "autoload": {
+                "files": [
+                    "src/Script/functions.php"
+                ],
+                "psr-4": {
+                    "BitWasp\\Bitcoin\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "Unlicense"
+            ],
+            "authors": [
+                {
+                    "name": "Thomas Kerin",
+                    "homepage": "https://thomaskerin.io",
+                    "role": "Author"
+                }
+            ],
+            "description": "PHP Bitcoin library with functions for transactions, signatures, serialization, Random/Deterministic ECDSA keys, blocks, RPC bindings",
+            "homepage": "https://github.com/bit-wasp/bitcoin-php",
+            "support": {
+                "issues": "https://github.com/Bit-Wasp/bitcoin-php/issues",
+                "source": "https://github.com/Bit-Wasp/bitcoin-php/tree/1.0"
+            },
+            "time": "2021-01-16T21:13:16+00:00"
+        },
+        {
+            "name": "bitwasp/buffertools",
+            "version": "v0.5.7",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/Bit-Wasp/buffertools-php.git",
+                "reference": "133746d0b514e0016d8479b54aa97475405a9f1f"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/Bit-Wasp/buffertools-php/zipball/133746d0b514e0016d8479b54aa97475405a9f1f",
+                "reference": "133746d0b514e0016d8479b54aa97475405a9f1f",
+                "shasum": ""
+            },
+            "require": {
+                "php-64bit": ">=7.0.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^6.0",
+                "squizlabs/php_codesniffer": "~2.0"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "BitWasp\\Buffertools\\": "src/Buffertools/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Thomas Kerin",
+                    "homepage": "https://thomaskerin.io"
+                },
+                {
+                    "name": "Ruben de Vries",
+                    "email": "ruben@rubensayshi.com"
+                }
+            ],
+            "description": "Toolbox for working with binary and hex data. Similar to NodeJS Buffer.",
+            "support": {
+                "issues": "https://github.com/Bit-Wasp/buffertools-php/issues",
+                "source": "https://github.com/Bit-Wasp/buffertools-php/tree/v0.5.7"
+            },
+            "time": "2020-01-17T21:31:49+00:00"
+        },
         {
             "name": "caouecs/laravel-lang",
             "version": "3.0.62",
@@ -4138,6 +4296,57 @@
             },
             "time": "2019-08-07T15:10:45+00:00"
         },
+        {
+            "name": "lastguest/murmurhash",
+            "version": "2.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/lastguest/murmurhash-php.git",
+                "reference": "4fb7516f67e695e5d7fa129d1bbb925ec0ebe408"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/lastguest/murmurhash-php/zipball/4fb7516f67e695e5d7fa129d1bbb925ec0ebe408",
+                "reference": "4fb7516f67e695e5d7fa129d1bbb925ec0ebe408",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^7"
+            },
+            "require-dev": {
+                "phpstan/phpstan": "^0.6.3",
+                "phpunit/phpunit": "^5"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "lastguest\\": "src/lastguest/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Stefano Azzolini",
+                    "email": "lastguest@gmail.com",
+                    "homepage": "https://github.com/lastguest/murmurhash-php"
+                }
+            ],
+            "description": "MurmurHash3 Hash",
+            "homepage": "https://github.com/lastguest/murmurhash-php",
+            "keywords": [
+                "hash",
+                "hashing",
+                "murmur"
+            ],
+            "support": {
+                "issues": "https://github.com/lastguest/murmurhash-php/issues",
+                "source": "https://github.com/lastguest/murmurhash-php/tree/master"
+            },
+            "time": "2017-10-10T15:16:12+00:00"
+        },
         {
             "name": "lcobucci/jwt",
             "version": "3.3.3",
@@ -6240,6 +6449,53 @@
             ],
             "time": "2022-09-02T17:04:26+00:00"
         },
+        {
+            "name": "pleonasm/merkle-tree",
+            "version": "1.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/pleonasm/merkle-tree.git",
+                "reference": "9ddc9d0a0e396750fada378f3aa90f6c02dd56a1"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/pleonasm/merkle-tree/zipball/9ddc9d0a0e396750fada378f3aa90f6c02dd56a1",
+                "reference": "9ddc9d0a0e396750fada378f3aa90f6c02dd56a1",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.4.0"
+            },
+            "require-dev": {
+                "ext-xdebug": ">=2.2.0",
+                "phpunit/php-invoker": ">=1.0.0,<1.2.0",
+                "phpunit/phpunit": "3.7.19",
+                "satooshi/php-coveralls": "*@dev",
+                "squizlabs/php_codesniffer": "*"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-0": {
+                    "Pleo": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-2-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Matthew Nagi",
+                    "email": "matthew.nagi@base-2.net"
+                }
+            ],
+            "description": "An implementation of a Merkle Tree in PHP",
+            "support": {
+                "issues": "https://github.com/pleonasm/merkle-tree/issues",
+                "source": "https://github.com/pleonasm/merkle-tree/tree/master"
+            },
+            "time": "2013-05-22T20:46:20+00:00"
+        },
         {
             "name": "predis/predis",
             "version": "v1.1.10",
@@ -10202,27 +10458,22 @@
         },
         {
             "name": "web3p/ethereum-util",
-            "version": "0.1.3",
+            "version": "0.1.4",
             "source": {
                 "type": "git",
                 "url": "https://github.com/web3p/ethereum-util.git",
-                "reference": "77a860f35028eae57cd7e7a044ab6c11ffe1ad9e"
+                "reference": "9a01f5389835d4092d338bb7b7d119017052ca68"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/web3p/ethereum-util/zipball/77a860f35028eae57cd7e7a044ab6c11ffe1ad9e",
-                "reference": "77a860f35028eae57cd7e7a044ab6c11ffe1ad9e",
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
+                "url": "https://api.github.com/repos/web3p/ethereum-util/zipball/9a01f5389835d4092d338bb7b7d119017052ca68",
+                "reference": "9a01f5389835d4092d338bb7b7d119017052ca68",
+                "shasum": ""
             },
             "require": {
                 "kornrunner/keccak": "~1",
                 "php": "^7.1 | ^8.0",
+                "phpseclib/phpseclib": "~2.0",
                 "simplito/elliptic-php": "~1.0.6"
             },
             "require-dev": {
@@ -10247,9 +10498,9 @@
             "description": "A collection of utility functions for Ethereum written in PHP.",
             "support": {
                 "issues": "https://github.com/web3p/ethereum-util/issues",
-                "source": "https://github.com/web3p/ethereum-util/tree/0.1.3"
+                "source": "https://github.com/web3p/ethereum-util/tree/0.1.4"
             },
-            "time": "2021-06-05T05:35:13+00:00"
+            "time": "2022-12-18T05:42:39+00:00"
         },
         {
             "name": "web3p/rlp",
@@ -12461,12 +12712,15 @@
     ],
     "aliases": [],
     "minimum-stability": "dev",
-    "stability-flags": [],
+    "stability-flags": {
+        "bitwasp/bitcoin": 20
+    },
     "prefer-stable": true,
     "prefer-lowest": false,
     "platform": {
-        "php": "^7.2"
+        "php": "^7.2",
+        "ext-json": "*"
     },
     "platform-dev": [],
-    "plugin-api-version": "2.3.0"
+    "plugin-api-version": "2.6.0"
 }