| Current Path : /home/users/unlimited/www/api.xalonx.com/vendor/bavix/laravel-wallet/src/Interfaces/ |
| Current File : /home/users/unlimited/www/api.xalonx.com/vendor/bavix/laravel-wallet/src/Interfaces/Confirmable.php |
<?php
declare(strict_types=1);
namespace Bavix\Wallet\Interfaces;
use Bavix\Wallet\Exceptions\BalanceIsEmpty;
use Bavix\Wallet\Exceptions\ConfirmedInvalid;
use Bavix\Wallet\Exceptions\InsufficientFunds;
use Bavix\Wallet\Exceptions\UnconfirmedInvalid;
use Bavix\Wallet\Exceptions\WalletOwnerInvalid;
use Bavix\Wallet\Internal\Exceptions\ExceptionInterface;
use Bavix\Wallet\Internal\Exceptions\RecordNotFoundException;
use Bavix\Wallet\Internal\Exceptions\TransactionFailedException;
use Bavix\Wallet\Models\Transaction;
use Illuminate\Database\RecordsNotFoundException;
interface Confirmable
{
/**
* @throws BalanceIsEmpty
* @throws InsufficientFunds
* @throws ConfirmedInvalid
* @throws WalletOwnerInvalid
* @throws RecordNotFoundException
* @throws RecordsNotFoundException
* @throws TransactionFailedException
* @throws ExceptionInterface
*/
public function confirm(Transaction $transaction): bool;
public function safeConfirm(Transaction $transaction): bool;
/**
* @throws UnconfirmedInvalid
* @throws WalletOwnerInvalid
* @throws RecordNotFoundException
* @throws RecordsNotFoundException
* @throws TransactionFailedException
* @throws ExceptionInterface
*/
public function resetConfirm(Transaction $transaction): bool;
public function safeResetConfirm(Transaction $transaction): bool;
/**
* @throws ConfirmedInvalid
* @throws WalletOwnerInvalid
* @throws RecordNotFoundException
* @throws RecordsNotFoundException
* @throws TransactionFailedException
* @throws ExceptionInterface
*/
public function forceConfirm(Transaction $transaction): bool;
}