mirror of
https://repo.getmonero.org/AnonDev/xmrmemes.git
synced 2024-12-23 14:39:25 -05:00
139 lines
3.9 KiB
PHP
139 lines
3.9 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Tip;
|
|
use App\Models\Address;
|
|
use App\Models\Meme;
|
|
use Illuminate\Http\Request;
|
|
|
|
use MoneroIntegrations\MoneroPhp\walletRPC;
|
|
|
|
class TipController extends Controller
|
|
{
|
|
|
|
public function check()
|
|
{
|
|
try {
|
|
$walletRPC = new walletRPC('127.0.0.1', config('app.xmr_network_port')); // Change to match your wallet (monero-wallet-rpc) IP address and port; 18083 is the customary port for mainnet, 28083 for testnet, 38083 for stagenet
|
|
$open_wallet = $walletRPC->open_wallet(config('app.xmr_wallet_name'), '');
|
|
$get_transfers = $walletRPC->get_transfers('all', true);
|
|
// dd($get_transfers);
|
|
// dd($walletRPC->get_balance());
|
|
foreach ($get_transfers['in'] as $transfer) {
|
|
$address = Address::where('address', $transfer['address'])->first();
|
|
$tip_exists = Tip::where('txid', $transfer['txid'])->first();
|
|
if ($address && !$tip_exists) {
|
|
$tip = new Tip();
|
|
$tip->address_id = $address->id;
|
|
$tip->amount = $transfer['amount'];
|
|
$tip->txid = $transfer['txid'];
|
|
$tip->height = $transfer['height'];
|
|
$tip->save();
|
|
}
|
|
}
|
|
$walletRPC->close_wallet();
|
|
} catch (\Exception $e) {
|
|
echo 'Caught exception: ', $e->getMessage(), "\n";
|
|
}
|
|
}
|
|
|
|
public function payout()
|
|
{
|
|
ini_set('display_errors', 1);
|
|
ini_set('display_startup_errors', 1);
|
|
error_reporting(E_ALL);
|
|
try {
|
|
$walletRPC = new walletRPC('127.0.0.1', config('app.xmr_network_port')); // Change to match your wallet (monero-wallet-rpc) IP address and port; 18083 is the customary port for mainnet, 28083 for testnet, 38083 for stagenet
|
|
$open_wallet = $walletRPC->open_wallet(config('app.xmr_wallet_name'), '');
|
|
$tip = Tip::where('is_sent', 0)->firstOrFail();
|
|
$meme = Meme::where('address_id', $tip->address_id)->first();
|
|
if ($meme->user->address) {
|
|
$send_funds = $walletRPC->sweep_all($meme->user->address, $tip->address->address_index);
|
|
$tip->is_sent = 1;
|
|
$tip->save();
|
|
}
|
|
$walletRPC->close_wallet();
|
|
} catch (\Exception $e) {
|
|
echo 'Caught exception: ', $e->getMessage(), "\n";
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* Display a listing of the resource.
|
|
*
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function index()
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Show the form for creating a new resource.
|
|
*
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function create()
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Store a newly created resource in storage.
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function store(Request $request)
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Display the specified resource.
|
|
*
|
|
* @param \App\Models\Tip $tip
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function show(Tip $tip)
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Show the form for editing the specified resource.
|
|
*
|
|
* @param \App\Models\Tip $tip
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function edit(Tip $tip)
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Update the specified resource in storage.
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @param \App\Models\Tip $tip
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function update(Request $request, Tip $tip)
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Remove the specified resource from storage.
|
|
*
|
|
* @param \App\Models\Tip $tip
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function destroy(Tip $tip)
|
|
{
|
|
//
|
|
}
|
|
}
|