From ff60104bbd4e95de483d4b97de3db3710533963a Mon Sep 17 00:00:00 2001 From: gkmk Date: Thu, 1 Feb 2024 20:33:33 +0100 Subject: [PATCH 01/30] Add received transfers function for v10 --- src/Models/Wallet.php | 15 +++++++++++++++ tests/Units/Service/AtomicServiceTest.php | 2 ++ 2 files changed, 17 insertions(+) diff --git a/src/Models/Wallet.php b/src/Models/Wallet.php index 77c76f739..2375944ba 100644 --- a/src/Models/Wallet.php +++ b/src/Models/Wallet.php @@ -13,6 +13,7 @@ use Bavix\Wallet\Internal\Service\MathServiceInterface; use Bavix\Wallet\Internal\Service\UuidFactoryServiceInterface; use Bavix\Wallet\Services\AtomicServiceInterface; +use Bavix\Wallet\Services\CastServiceInterface; use Bavix\Wallet\Services\RegulatorServiceInterface; use Bavix\Wallet\Traits\CanConfirm; use Bavix\Wallet\Traits\CanExchange; @@ -20,6 +21,7 @@ use Bavix\Wallet\Traits\HasGift; use DateTimeInterface; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\MorphTo; use Illuminate\Database\RecordsNotFoundException; use Illuminate\Support\Str; @@ -162,4 +164,17 @@ protected function initializeMorphOneWallet(): void { $this->uuid = app(UuidFactoryServiceInterface::class)->uuid4(); } + + /** + * returns all the receiving transfers to this wallet. + * + * @return HasMany + */ + public function receivedTransfers(): HasMany + { + return app(CastServiceInterface::class) + ->getWallet($this, false) + ->hasMany(config('wallet.transfer.model', Transfer::class), 'to_id') + ; + } } diff --git a/tests/Units/Service/AtomicServiceTest.php b/tests/Units/Service/AtomicServiceTest.php index 523ccf5ae..e64f526ab 100644 --- a/tests/Units/Service/AtomicServiceTest.php +++ b/tests/Units/Service/AtomicServiceTest.php @@ -35,6 +35,8 @@ public function testBlock(): void ); self::assertSame(1, $user2->transfers()->count()); + self::assertSame(2, $user2->wallet->receivedTransfers()->count()); + self::assertSame(1, $user1->wallet->receivedTransfers()->count()); self::assertSame(2, $user1->transfers()->count()); self::assertSame(3, $user2->transactions()->count()); self::assertSame(4, $user1->transactions()->count()); From 5b030286f87c3c45d5ea2c0c74a361105f21a5a2 Mon Sep 17 00:00:00 2001 From: gkmk Date: Thu, 1 Feb 2024 20:43:28 +0100 Subject: [PATCH 02/30] fix Wallet model receivedTransfers relationship --- src/Models/Wallet.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/Models/Wallet.php b/src/Models/Wallet.php index 2375944ba..fdc7e20b5 100644 --- a/src/Models/Wallet.php +++ b/src/Models/Wallet.php @@ -172,9 +172,6 @@ protected function initializeMorphOneWallet(): void */ public function receivedTransfers(): HasMany { - return app(CastServiceInterface::class) - ->getWallet($this, false) - ->hasMany(config('wallet.transfer.model', Transfer::class), 'to_id') - ; + return $this->hasMany(config('wallet.transfer.model', Transfer::class), 'to_id'); } } From 2071af4c5b6e0b6b1eba9c43abd4e83f9ebd33db Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Thu, 1 Feb 2024 22:44:31 +0300 Subject: [PATCH 03/30] Update Wallet.php Signed-off-by: Maxim Babichev --- src/Models/Wallet.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Models/Wallet.php b/src/Models/Wallet.php index fdc7e20b5..814513c7e 100644 --- a/src/Models/Wallet.php +++ b/src/Models/Wallet.php @@ -13,7 +13,6 @@ use Bavix\Wallet\Internal\Service\MathServiceInterface; use Bavix\Wallet\Internal\Service\UuidFactoryServiceInterface; use Bavix\Wallet\Services\AtomicServiceInterface; -use Bavix\Wallet\Services\CastServiceInterface; use Bavix\Wallet\Services\RegulatorServiceInterface; use Bavix\Wallet\Traits\CanConfirm; use Bavix\Wallet\Traits\CanExchange; From 4aa14e566946aac31ad72eb01859dad864dcf009 Mon Sep 17 00:00:00 2001 From: Github bot Date: Thu, 1 Feb 2024 19:47:01 +0000 Subject: [PATCH 04/30] Update changelog.md --- changelog.md | 3458 +++++++++++++++++++++++++++----------------------- 1 file changed, 1841 insertions(+), 1617 deletions(-) diff --git a/changelog.md b/changelog.md index 1e003b9e0..e5c7deb34 100644 --- a/changelog.md +++ b/changelog.md @@ -1,2001 +1,2225 @@ # Changelog +## 10.1.3 - 2024-02-01 + +### What's Changed + +* build(deps): bump bavix/.github from 0.1.7 to 0.1.9 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/854 +* add a check for passing the correct model by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/859 +* Update Transfer Model by [@gkmk](https://github.com/gkmk) in https://github.com/bavix/laravel-wallet/pull/858 +* phpstan baseline by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/860 +* [10.x] received transfers by [@gkmk](https://github.com/gkmk) in https://github.com/bavix/laravel-wallet/pull/878 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/10.1.2...10.1.3 + ## 10.1.1 - 2024-01-19 -## What's Changed -* [docs] documentation of float wallets has been expanded by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/824 -* Update upgrade-guide.md by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/825 -* build(deps): bump bavix/.github from 0.1.0 to 0.1.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/832 -* build(deps): bump axios from 1.6.3 to 1.6.4 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/833 -* build(deps): bump axios from 1.6.4 to 1.6.5 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/840 -* build(deps): bump mini-css-extract-plugin from 2.7.6 to 2.7.7 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/843 -* build(deps-dev): update rector/rector requirement from ^0.17 to ^0.19 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/841 -* build(deps): bump css-loader from 6.8.1 to 6.9.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/842 -* add docs bavix/laravel-wallet-uuid by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/844 -* build(deps): bump size-limit from 11.0.1 to 11.0.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/847 -* build(deps): bump bavix/.github from 0.1.1 to 0.1.4 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/848 -* build(deps): bump actions/cache from 3 to 4 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/849 -* build(deps): bump bavix/.github from 0.1.4 to 0.1.6 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/850 -* Update changelog.md by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/851 -* build(deps): bump css-loader from 6.9.0 to 6.9.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/852 -* build(deps): bump bavix/.github from 0.1.6 to 0.1.7 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/853 - - +## What's Changed + +* [docs] documentation of float wallets has been expanded by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/824 +* Update upgrade-guide.md by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/825 +* build(deps): bump bavix/.github from 0.1.0 to 0.1.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/832 +* build(deps): bump axios from 1.6.3 to 1.6.4 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/833 +* build(deps): bump axios from 1.6.4 to 1.6.5 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/840 +* build(deps): bump mini-css-extract-plugin from 2.7.6 to 2.7.7 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/843 +* build(deps-dev): update rector/rector requirement from ^0.17 to ^0.19 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/841 +* build(deps): bump css-loader from 6.8.1 to 6.9.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/842 +* add docs bavix/laravel-wallet-uuid by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/844 +* build(deps): bump size-limit from 11.0.1 to 11.0.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/847 +* build(deps): bump bavix/.github from 0.1.1 to 0.1.4 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/848 +* build(deps): bump actions/cache from 3 to 4 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/849 +* build(deps): bump bavix/.github from 0.1.4 to 0.1.6 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/850 +* Update changelog.md by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/851 +* build(deps): bump css-loader from 6.9.0 to 6.9.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/852 +* build(deps): bump bavix/.github from 0.1.6 to 0.1.7 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/853 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/10.1.0...10.1.1 ## 10.1.0 - 2023-12-28 -## What's Changed -* build(deps-dev): update laravel/cashier requirement from ^14.12 to ^15.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/817 -* build(deps): bump axios from 1.6.2 to 1.6.3 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/821 -* [10.x] add getDynamicDefaultSlug by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/822 - - +## What's Changed + +* build(deps-dev): update laravel/cashier requirement from ^14.12 to ^15.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/817 +* build(deps): bump axios from 1.6.2 to 1.6.3 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/821 +* [10.x] add getDynamicDefaultSlug by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/822 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/10.0.2...10.1.0 ## 10.0.2 - 2023-12-13 -## What's Changed -* Bump bavix/.github from 0.0.5 to 0.0.7 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/784 -* docs: accessing float amount by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/786 -* docs: changing wallet decimal_places by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/785 -* remove driftingly/rector-laravel by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/787 -* Bump postcss from 8.4.19 to 8.4.31 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/788 -* Bump webpack from 5.88.2 to 5.89.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/790 -* Bump size-limit from 9.0.0 to 10.0.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/792 -* Bump bavix/.github from 0.0.7 to 0.0.8 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/793 -* remove cozyhouse by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/794 -* Bump axios from 1.5.1 to 1.6.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/795 -* add support php 8.3 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/796 -* Bump size-limit from 10.0.1 to 10.0.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/797 -* Qodana by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/798 -* build(deps): bump actions/checkout from 3 to 4 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/799 -* build(deps): bump axios from 1.6.0 to 1.6.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/801 -* build(deps): bump size-limit from 10.0.2 to 11.0.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/802 -* build(deps): bump axios from 1.6.1 to 1.6.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/803 -* build(deps): bump bavix/.github from 0.0.8 to 0.0.9 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/808 -* build(deps): bump size-limit from 11.0.0 to 11.0.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/810 -* build(deps): bump actions/stale from 8 to 9 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/811 -* build(deps): bump bavix/.github from 0.0.9 to 0.1.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/812 -* build(deps): bump JetBrains/qodana-action from 2023.2 to 2023.3 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/813 -* add support database cache by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/815 - - +## What's Changed + +* Bump bavix/.github from 0.0.5 to 0.0.7 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/784 +* docs: accessing float amount by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/786 +* docs: changing wallet decimal_places by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/785 +* remove driftingly/rector-laravel by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/787 +* Bump postcss from 8.4.19 to 8.4.31 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/788 +* Bump webpack from 5.88.2 to 5.89.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/790 +* Bump size-limit from 9.0.0 to 10.0.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/792 +* Bump bavix/.github from 0.0.7 to 0.0.8 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/793 +* remove cozyhouse by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/794 +* Bump axios from 1.5.1 to 1.6.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/795 +* add support php 8.3 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/796 +* Bump size-limit from 10.0.1 to 10.0.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/797 +* Qodana by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/798 +* build(deps): bump actions/checkout from 3 to 4 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/799 +* build(deps): bump axios from 1.6.0 to 1.6.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/801 +* build(deps): bump size-limit from 10.0.2 to 11.0.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/802 +* build(deps): bump axios from 1.6.1 to 1.6.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/803 +* build(deps): bump bavix/.github from 0.0.8 to 0.0.9 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/808 +* build(deps): bump size-limit from 11.0.0 to 11.0.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/810 +* build(deps): bump actions/stale from 8 to 9 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/811 +* build(deps): bump bavix/.github from 0.0.9 to 0.1.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/812 +* build(deps): bump JetBrains/qodana-action from 2023.2 to 2023.3 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/813 +* add support database cache by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/815 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/10.0.1...10.0.2 ## 10.0.1 - 2023-09-29 -## What's Changed -* Bump semver from 7.3.8 to 7.5.4 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/726 -* Bump webpack from 5.76.3 to 5.88.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/724 -* Bump webpack from 5.88.1 to 5.88.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/730 -* Update symplify/easy-coding-standard requirement from ^11.5 to ^12.0 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/732 -* Updated laravel rector set by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/733 -* Update driftingly/rector-laravel requirement from ^0.21 to ^0.22 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/735 -* Create npm workflow by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/736 -* Update docs.yaml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/737 -* Update docs.yaml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/739 -* Update docs.yaml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/740 -* Update docs.yaml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/741 -* Lumen documentation update by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/743 -* [Snyk] Upgrade webpack-cli from 5.0.0 to 5.1.4 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/747 -* [Snyk] Upgrade axios from 1.3.4 to 1.4.0 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/748 -* [Snyk] Upgrade size-limit from 8.2.4 to 8.2.6 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/750 -* [Snyk] Upgrade mini-css-extract-plugin from 2.7.5 to 2.7.6 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/751 -* [Snyk] Upgrade docsify from 4.13.0 to 4.13.1 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/752 -* Update driftingly/rector-laravel requirement from ^0.22 to ^0.24 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/753 -* Bump axios from 1.4.0 to 1.5.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/756 -* Bump bavix/.github from 0.0.4 to 0.0.5 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/759 -* Bump size-limit from 8.2.6 to 9.0.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/762 -* Bump actions/stale from 6 to 8 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/761 -* Bump actions/checkout from 3 to 4 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/760 -* docs: update wording to sound grammatically correct by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/766 -* docs: customize name and slug of default wallet by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/765 -* docs: fixed grammatical error by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/764 -* Bump uuid from 9.0.0 to 9.0.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/768 -* checking the Wallet class extensibility by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/769 -* docs: Create configuration.md by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/771 -* docs: add configuration file to sidebar by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/772 -* docs: move configuration details to separate file by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/773 -* docs: update for clarity by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/774 -* Update driftingly/rector-laravel requirement from ^0.24 to ^0.25 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/779 -* Update driftingly/rector-laravel requirement from ^0.25 to ^0.26 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/780 -* Bump axios from 1.5.0 to 1.5.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/781 -* Add semgrep by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/783 - -## New Contributors -* [@justinkekeocha](https://github.com/justinkekeocha) made their first contribution in https://github.com/bavix/laravel-wallet/pull/766 - +## What's Changed + +* Bump semver from 7.3.8 to 7.5.4 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/726 +* Bump webpack from 5.76.3 to 5.88.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/724 +* Bump webpack from 5.88.1 to 5.88.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/730 +* Update symplify/easy-coding-standard requirement from ^11.5 to ^12.0 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/732 +* Updated laravel rector set by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/733 +* Update driftingly/rector-laravel requirement from ^0.21 to ^0.22 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/735 +* Create npm workflow by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/736 +* Update docs.yaml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/737 +* Update docs.yaml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/739 +* Update docs.yaml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/740 +* Update docs.yaml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/741 +* Lumen documentation update by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/743 +* [Snyk] Upgrade webpack-cli from 5.0.0 to 5.1.4 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/747 +* [Snyk] Upgrade axios from 1.3.4 to 1.4.0 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/748 +* [Snyk] Upgrade size-limit from 8.2.4 to 8.2.6 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/750 +* [Snyk] Upgrade mini-css-extract-plugin from 2.7.5 to 2.7.6 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/751 +* [Snyk] Upgrade docsify from 4.13.0 to 4.13.1 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/752 +* Update driftingly/rector-laravel requirement from ^0.22 to ^0.24 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/753 +* Bump axios from 1.4.0 to 1.5.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/756 +* Bump bavix/.github from 0.0.4 to 0.0.5 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/759 +* Bump size-limit from 8.2.6 to 9.0.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/762 +* Bump actions/stale from 6 to 8 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/761 +* Bump actions/checkout from 3 to 4 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/760 +* docs: update wording to sound grammatically correct by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/766 +* docs: customize name and slug of default wallet by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/765 +* docs: fixed grammatical error by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/764 +* Bump uuid from 9.0.0 to 9.0.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/768 +* checking the Wallet class extensibility by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/769 +* docs: Create configuration.md by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/771 +* docs: add configuration file to sidebar by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/772 +* docs: move configuration details to separate file by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/773 +* docs: update for clarity by [@justinkekeocha](https://github.com/justinkekeocha) in https://github.com/bavix/laravel-wallet/pull/774 +* Update driftingly/rector-laravel requirement from ^0.24 to ^0.25 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/779 +* Update driftingly/rector-laravel requirement from ^0.25 to ^0.26 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/780 +* Bump axios from 1.5.0 to 1.5.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/781 +* Add semgrep by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/783 + +## New Contributors + +* [@justinkekeocha](https://github.com/justinkekeocha) made their first contribution in https://github.com/bavix/laravel-wallet/pull/766 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/10.0.0...10.0.1 ## 10.0.0 - 2023-07-08 -### Added -- Added environment variables for cache and locks (WALLET_CACHE_DRIVER, WALLET_CACHE_TTL, WALLET_LOCK_DRIVER, WALLET_LOCK_TTL). -- Transaction/transfer uuids added to External API. -- Improved support for custom types with phpstan. Now you will find more errors. -- Added the ability to buy for any wallet through the basket (receiving wallet). - -### Deprecated -- Method deprecated `BookkeeperServiceInterface::missing`. Use `BookkeeperServiceInterface::forget`. - -### Deleted -- Removed `LockProviderNotFoundException`. - -### Fixed -- Fixed empty state bug. -- Fixed return types in phpdoc, added strong typing. - -### Changed -- Viewing a balance no longer creates a wallet. Solves problems with laravel nova. #658. Thank you [@myounis97](https://github.com/myounis97) -- Contract changed `EagerLoaderServiceInterface`. Added customer. -- The `to_type` and `from_type` columns in the translation table are no longer used. Will be removed in 11.x. -- For all transfers, the relationship type has been changed from `MorphMany` to `HasMany`. -- Minimum php version 8.1. -- Minimum laravel version 10.0. -- Minimum doctrine/dbal version 3.5. -- Minimum brick/math version 0.10. - -## What's Changed -* [9.x] Adding a wallet creation event check for a muti wallet by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/664 -* [9.x] rector-fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/665 -* [9.x] ecs-fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/666 -* [9.x] add exchange unit. decimal_places=8 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/670 -* Bump mini-css-extract-plugin from 2.7.3 to 2.7.5 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/672 -* Bump webpack from 5.76.1 to 5.76.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/673 -* Bump webpack from 5.76.2 to 5.76.3 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/674 -* [10.x] New version by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/628 - - +### Added + +- Added environment variables for cache and locks (WALLET_CACHE_DRIVER, WALLET_CACHE_TTL, WALLET_LOCK_DRIVER, WALLET_LOCK_TTL). +- Transaction/transfer uuids added to External API. +- Improved support for custom types with phpstan. Now you will find more errors. +- Added the ability to buy for any wallet through the basket (receiving wallet). + +### Deprecated + +- Method deprecated `BookkeeperServiceInterface::missing`. Use `BookkeeperServiceInterface::forget`. + +### Deleted + +- Removed `LockProviderNotFoundException`. + +### Fixed + +- Fixed empty state bug. +- Fixed return types in phpdoc, added strong typing. + +### Changed + +- Viewing a balance no longer creates a wallet. Solves problems with laravel nova. #658. Thank you [@myounis97](https://github.com/myounis97) +- Contract changed `EagerLoaderServiceInterface`. Added customer. +- The `to_type` and `from_type` columns in the translation table are no longer used. Will be removed in 11.x. +- For all transfers, the relationship type has been changed from `MorphMany` to `HasMany`. +- Minimum php version 8.1. +- Minimum laravel version 10.0. +- Minimum doctrine/dbal version 3.5. +- Minimum brick/math version 0.10. + +## What's Changed + +* [9.x] Adding a wallet creation event check for a muti wallet by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/664 +* [9.x] rector-fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/665 +* [9.x] ecs-fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/666 +* [9.x] add exchange unit. decimal_places=8 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/670 +* Bump mini-css-extract-plugin from 2.7.3 to 2.7.5 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/672 +* Bump webpack from 5.76.1 to 5.76.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/673 +* Bump webpack from 5.76.2 to 5.76.3 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/674 +* [10.x] New version by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/628 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/9.6.2...10.0.0 ## 9.6.2 - 2023-03-15 -### Fixed -- * [9.x] Fixed WalletService::create() without db::transaction() by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/663. Thank you [@oasin](https://github.com/oasin) #659 - -## What's Changed -* Bump axios from 1.2.3 to 1.2.6 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/642 -* Bump axios from 1.2.6 to 1.3.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/645 -* Bump axios from 1.3.2 to 1.3.3 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/648 -* Bump size-limit from 8.1.2 to 8.2.4 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/649 -* Bump axios from 1.3.3 to 1.3.4 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/656 -* Bump mini-css-extract-plugin from 2.7.0 to 2.7.3 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/661 -* Bump webpack from 5.75.0 to 5.76.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/662 -* [9.x] Fixed WalletService::create() without db::transaction() by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/663 - - +### Fixed + +- * [9.x] Fixed WalletService::create() without db::transaction() by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/663. Thank you [@oasin](https://github.com/oasin) #659 + + +## What's Changed + +* Bump axios from 1.2.3 to 1.2.6 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/642 +* Bump axios from 1.2.6 to 1.3.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/645 +* Bump axios from 1.3.2 to 1.3.3 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/648 +* Bump size-limit from 8.1.2 to 8.2.4 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/649 +* Bump axios from 1.3.3 to 1.3.4 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/656 +* Bump mini-css-extract-plugin from 2.7.0 to 2.7.3 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/661 +* Bump webpack from 5.75.0 to 5.76.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/662 +* [9.x] Fixed WalletService::create() without db::transaction() by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/663 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/9.6.1...9.6.2 ## 8.4.3 - 2023-02-05 -### Fixed -- Fixed infinite lock - +### Fixed + +- Fixed infinite lock + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/8.4.2...8.4.3 ## 7.3.6 - 2023-02-05 -### Fixed -- Fixed infinite lock - +### Fixed + +- Fixed infinite lock + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/7.3.5...7.3.6 ## 9.6.1 - 2023-01-30 -### Added -* Add support laravel 10.x - -## What's Changed -* Bump docsify from 4.12.2 to 4.13.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/596 -* add driftingly/rector-laravel by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/606 -* Bump axios from 1.1.3 to 1.2.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/605 -* Bump webpack-cli from 4.10.0 to 5.0.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/604 -* Bump mini-css-extract-plugin from 2.6.1 to 2.7.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/603 -* Bump webpack from 5.74.0 to 5.75.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/601 -* Bump css-loader from 6.7.1 to 6.7.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/600 -* update packages by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/620 -* fix rector.php by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/624 -* Bump css-loader from 6.7.2 to 6.7.3 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/616 -* Bump axios from 1.2.0 to 1.2.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/625 -* update changelog.md by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/633 -* Bump size-limit from 8.1.0 to 8.1.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/638 -* Bump axios from 1.2.2 to 1.2.3 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/640 -* Bump size-limit from 8.1.1 to 8.1.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/639 - - +### Added + +* Add support laravel 10.x + +## What's Changed + +* Bump docsify from 4.12.2 to 4.13.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/596 +* add driftingly/rector-laravel by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/606 +* Bump axios from 1.1.3 to 1.2.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/605 +* Bump webpack-cli from 4.10.0 to 5.0.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/604 +* Bump mini-css-extract-plugin from 2.6.1 to 2.7.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/603 +* Bump webpack from 5.74.0 to 5.75.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/601 +* Bump css-loader from 6.7.1 to 6.7.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/600 +* update packages by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/620 +* fix rector.php by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/624 +* Bump css-loader from 6.7.2 to 6.7.3 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/616 +* Bump axios from 1.2.0 to 1.2.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/625 +* update changelog.md by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/633 +* Bump size-limit from 8.1.0 to 8.1.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/638 +* Bump axios from 1.2.2 to 1.2.3 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/640 +* Bump size-limit from 8.1.1 to 8.1.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/639 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/9.6.0...9.6.1 ## 8.4.2 - 2022-12-29 -### Fixed -- fix withdraw/transfer - +### Fixed + +- fix withdraw/transfer + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/8.4.1...8.4.2 ## 7.3.5 - 2022-12-29 -### Fixed -- fix withdraw/transfer - +### Fixed + +- fix withdraw/transfer + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/7.3.4...7.3.5 ## 9.6.0 - 2022-10-27 -### Added -* Full support for standard transactions and laravel nova #589 - -## What's Changed -* psalm-fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/585 -* Bump axios from 0.27.2 to 1.1.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/586 -* Bump axios from 1.1.2 to 1.1.3 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/591 -* Deprecating save-state and set-output commands by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/594 -* [9.6] Event Architecture by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/589 - - +### Added + +* Full support for standard transactions and laravel nova #589 + +## What's Changed + +* psalm-fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/585 +* Bump axios from 0.27.2 to 1.1.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/586 +* Bump axios from 1.1.2 to 1.1.3 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/591 +* Deprecating save-state and set-output commands by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/594 +* [9.6] Event Architecture by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/589 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/9.5.0...9.6.0 ## 9.5.0 - 2022-10-06 -### Added -* Improved performance api handles #576 - -### Changed -* Cache query optimize. v2 #580 -* Optimize StateServiceInterface #582 - -### Fixed -* Memory leak. StateServiceInterface #583 - -## What's Changed -* [9.5] Improved performance api handles by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/576 -* [9.5] Cache query optimize. v2 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/580 -* [9.5] Optimize StateServiceInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/582 -* [9.5] docs by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/581 -* [9.5] StateServiceInterface. Memory Leak. Optimize by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/583 - - +### Added + +* Improved performance api handles #576 + +### Changed + +* Cache query optimize. v2 #580 +* Optimize StateServiceInterface #582 + +### Fixed + +* Memory leak. StateServiceInterface #583 + +## What's Changed + +* [9.5] Improved performance api handles by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/576 +* [9.5] Cache query optimize. v2 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/580 +* [9.5] Optimize StateServiceInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/582 +* [9.5] docs by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/581 +* [9.5] StateServiceInterface. Memory Leak. Optimize by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/583 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/9.4.0...9.5.0 ## 9.4.0 - 2022-09-29 -### Added -* Add support Model::preventSilentlyDiscardingAttributes() #574 #572 -* Add partial support octane #573 #570 - -## What's Changed -* Add check php 8.2 in github actions by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/567 -* Bump size-limit from 8.0.1 to 8.1.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/568 -* [9.4] add support Model::preventSilentlyDiscardingAttributes() by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/574 -* [9.4] partial octane support by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/573 - +### Added + +* Add support Model::preventSilentlyDiscardingAttributes() #574 #572 +* Add partial support octane #573 #570 + +## What's Changed + +* Add check php 8.2 in github actions by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/567 +* Bump size-limit from 8.0.1 to 8.1.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/568 +* [9.4] add support Model::preventSilentlyDiscardingAttributes() by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/574 +* [9.4] partial octane support by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/573 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/9.3.0...9.4.0 ## 9.3.0 - 2022-09-06 -### Added -* StorageServiceLockDecorator by [@rez1dent3](https://github.com/rez1dent3) in #563 -* StateServiceInterface by [@rez1dent3](https://github.com/rez1dent3) in #564 -* Add atomic-service.md by [@rez1dent3](https://github.com/rez1dent3) in #561 - -### Updated -* Bump uuid from 8.3.2 to 9.0.0 by [@dependabot](https://github.com/dependabot) in #566 - -## What's Changed -* atomic-service.md by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/561 -* Bump uuid from 8.3.2 to 9.0.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/566 -* [9.3] StorageServiceLockDecorator by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/563 -* [9.3] StateServiceInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/564 - - +### Added + +* StorageServiceLockDecorator by [@rez1dent3](https://github.com/rez1dent3) in #563 +* StateServiceInterface by [@rez1dent3](https://github.com/rez1dent3) in #564 +* Add atomic-service.md by [@rez1dent3](https://github.com/rez1dent3) in #561 + +### Updated + +* Bump uuid from 8.3.2 to 9.0.0 by [@dependabot](https://github.com/dependabot) in #566 + +## What's Changed + +* atomic-service.md by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/561 +* Bump uuid from 8.3.2 to 9.0.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/566 +* [9.3] StorageServiceLockDecorator by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/563 +* [9.3] StateServiceInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/564 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/9.2.0...9.3.0 ## 9.2.0 - 2022-09-04 -### Updated -- upgrade actions by [@rez1dent3](https://github.com/rez1dent3) in #541 -- Bump size-limit from 8.0.0 to 8.0.1 by [@dependabot](https://github.com/dependabot) in #543 -- Update rector/rector requirement from ^0.13 to ^0.14 by [@dependabot](https://github.com/dependabot) in #544 -- Update laravel/cashier requirement from ^13.11 to ^14.0 by [@dependabot](https://github.com/dependabot) in #545 -- Update linters and rules by [@rez1dent3](https://github.com/rez1dent3) in #547 -- Bump prismjs from 1.28.0 to 1.29.0 by [@dependabot](https://github.com/dependabot) in #549 - -### Fixed -- Contract phpdoc fix by [@rez1dent3](https://github.com/rez1dent3) in #551 -- fix TestCase by [@rez1dent3](https://github.com/rez1dent3) in #555 - -### Added -- Add telegram link by [@rez1dent3](https://github.com/rez1dent3) in #553 -- Ability to dynamically create a wallet by [@rez1dent3](https://github.com/rez1dent3) in #550 -- Quality tests by [@rez1dent3](https://github.com/rez1dent3) in #554 -- Allow to use atomic service by [@rez1dent3](https://github.com/rez1dent3) in #548 -- docs by [@rez1dent3](https://github.com/rez1dent3) in #557 - -### Changed -- refactoring with new phpstan by [@rez1dent3](https://github.com/rez1dent3) in #556 - - -## What's Changed -* upgrade actions by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/541 -* Bump size-limit from 8.0.0 to 8.0.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/543 -* Update rector/rector requirement from ^0.13 to ^0.14 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/544 -* Update laravel/cashier requirement from ^13.11 to ^14.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/545 -* Update linters and rules by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/547 -* Bump prismjs from 1.28.0 to 1.29.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/549 -* Contract phpdoc fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/551 -* [9.2] Ability to dynamically create a wallet by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/550 -* Add telegram link by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/553 -* [9.x] Quality tests by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/554 -* fix TestCase by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/555 -* [9.2] refactoring with new phpstan by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/556 -* [9.2] Allow to use atomic service by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/548 -* [9.2] docs by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/557 -* npm by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/558 -* update changelog.md by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/559 - - +### Updated + +- upgrade actions by [@rez1dent3](https://github.com/rez1dent3) in #541 +- Bump size-limit from 8.0.0 to 8.0.1 by [@dependabot](https://github.com/dependabot) in #543 +- Update rector/rector requirement from ^0.13 to ^0.14 by [@dependabot](https://github.com/dependabot) in #544 +- Update laravel/cashier requirement from ^13.11 to ^14.0 by [@dependabot](https://github.com/dependabot) in #545 +- Update linters and rules by [@rez1dent3](https://github.com/rez1dent3) in #547 +- Bump prismjs from 1.28.0 to 1.29.0 by [@dependabot](https://github.com/dependabot) in #549 + +### Fixed + +- Contract phpdoc fix by [@rez1dent3](https://github.com/rez1dent3) in #551 +- fix TestCase by [@rez1dent3](https://github.com/rez1dent3) in #555 + +### Added + +- Add telegram link by [@rez1dent3](https://github.com/rez1dent3) in #553 +- Ability to dynamically create a wallet by [@rez1dent3](https://github.com/rez1dent3) in #550 +- Quality tests by [@rez1dent3](https://github.com/rez1dent3) in #554 +- Allow to use atomic service by [@rez1dent3](https://github.com/rez1dent3) in #548 +- docs by [@rez1dent3](https://github.com/rez1dent3) in #557 + +### Changed + +- refactoring with new phpstan by [@rez1dent3](https://github.com/rez1dent3) in #556 + +## What's Changed + +* upgrade actions by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/541 +* Bump size-limit from 8.0.0 to 8.0.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/543 +* Update rector/rector requirement from ^0.13 to ^0.14 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/544 +* Update laravel/cashier requirement from ^13.11 to ^14.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/545 +* Update linters and rules by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/547 +* Bump prismjs from 1.28.0 to 1.29.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/549 +* Contract phpdoc fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/551 +* [9.2] Ability to dynamically create a wallet by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/550 +* Add telegram link by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/553 +* [9.x] Quality tests by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/554 +* fix TestCase by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/555 +* [9.2] refactoring with new phpstan by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/556 +* [9.2] Allow to use atomic service by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/548 +* [9.2] docs by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/557 +* npm by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/558 +* update changelog.md by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/559 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/9.1.0...9.2.0 ## 9.1.0 - 2022-08-08 -### Added -- TransactionCreatedEvent #538 ([@myckhel](https://github.com/myckhel) #535) - -### Fixed -- Fixed a bug with sending multiple events inside the queue. Extra events were sent. - - -## What's Changed -* Bump size-limit from 7.0.8 to 8.0.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/537 -* [9.1] TransactionCreatedEvent by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/538 - - +### Added + +- TransactionCreatedEvent #538 ([@myckhel](https://github.com/myckhel) #535) + +### Fixed + +- Fixed a bug with sending multiple events inside the queue. Extra events were sent. + +## What's Changed + +* Bump size-limit from 7.0.8 to 8.0.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/537 +* [9.1] TransactionCreatedEvent by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/538 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/9.0.4...9.1.0 ## 7.3.4 - 2022-08-08 -### Fixed -- Fixed a bug with sending multiple events inside the queue. Extra events were sent. - +### Fixed + +- Fixed a bug with sending multiple events inside the queue. Extra events were sent. + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/7.3.3...7.3.4 ## 9.0.4 - 2022-07-28 -### Fixed -- Add allow plugin infection by [@rez1dent3](https://github.com/rez1dent3) in #528 -- Fix transaction amount_float mutator by [@keatliang2005](https://github.com/keatliang2005) in #533 #534 - -### Updated -- Bump terser from 5.13.0 to 5.14.2 by [@dependabot](https://github.com/dependabot) in #527 -- Bump webpack from 5.73.0 to 5.74.0 by [@dependabot](https://github.com/dependabot) in #529 - -## What's Changed -* add allow plugin infection by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/528 -* Bump terser from 5.13.0 to 5.14.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/527 -* Bump webpack from 5.73.0 to 5.74.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/529 -* Fix transaction amount_float mutator by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/534 - - +### Fixed + +- Add allow plugin infection by [@rez1dent3](https://github.com/rez1dent3) in #528 +- Fix transaction amount_float mutator by [@keatliang2005](https://github.com/keatliang2005) in #533 #534 + +### Updated + +- Bump terser from 5.13.0 to 5.14.2 by [@dependabot](https://github.com/dependabot) in #527 +- Bump webpack from 5.73.0 to 5.74.0 by [@dependabot](https://github.com/dependabot) in #529 + +## What's Changed + +* add allow plugin infection by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/528 +* Bump terser from 5.13.0 to 5.14.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/527 +* Bump webpack from 5.73.0 to 5.74.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/529 +* Fix transaction amount_float mutator by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/534 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/9.0.3...9.0.4 ## 9.0.3 - 2022-06-22 -### Fixed -- Fixed lumen. Change CacheManager to CacheFactory for compatibility. #520 #521 [@Beagon](https://github.com/Beagon) - -## What's Changed -* Bump mini-css-extract-plugin from 2.6.0 to 2.6.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/519 -* Change CacheManager to CacheFactory for compatibility with Lumen by [@Beagon](https://github.com/Beagon) in #520 #521 - +### Fixed + +- Fixed lumen. Change CacheManager to CacheFactory for compatibility. #520 #521 [@Beagon](https://github.com/Beagon) + +## What's Changed + +* Bump mini-css-extract-plugin from 2.6.0 to 2.6.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/519 +* Change CacheManager to CacheFactory for compatibility with Lumen by [@Beagon](https://github.com/Beagon) in #520 #521 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/9.0.2...9.0.3 ## 9.0.2 - 2022-06-18 -### Fixed -- Fix laravel-ide-helper generate:model #517 [@keatliang2005](https://github.com/keatliang2005) - -## What's Changed -* Update rector/rector requirement from ^0.12 to ^0.13 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/507 -* update ecs, rector config by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/508 -* Bump webpack from 5.72.1 to 5.73.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/510 -* Replacing the README interface names with the correct ones by [@nathanwritescode-uk](https://github.com/nathanwritescode-uk) in https://github.com/bavix/laravel-wallet/pull/511 -* Typos in interfaces and copy-paste by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/512 -* deptrac fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/515 -* Bump webpack-cli from 4.9.2 to 4.10.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/513 -* Update symplify/easy-coding-standard requirement from ^10.2 to ^11.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/514 -* Update cknow/laravel-money requirement from ^6.5 to ^7.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/518 -* Fix laravel-ide-helper generate:model by [@keatliang2005](https://github.com/keatliang2005) in https://github.com/bavix/laravel-wallet/pull/517 - -## New Contributors -* [@nathanwritescode-uk](https://github.com/nathanwritescode-uk) made their first contribution in https://github.com/bavix/laravel-wallet/pull/511 -* [@keatliang2005](https://github.com/keatliang2005) made their first contribution in https://github.com/bavix/laravel-wallet/pull/517 - +### Fixed + +- Fix laravel-ide-helper generate:model #517 [@keatliang2005](https://github.com/keatliang2005) + +## What's Changed + +* Update rector/rector requirement from ^0.12 to ^0.13 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/507 +* update ecs, rector config by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/508 +* Bump webpack from 5.72.1 to 5.73.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/510 +* Replacing the README interface names with the correct ones by [@nathanwritescode-uk](https://github.com/nathanwritescode-uk) in https://github.com/bavix/laravel-wallet/pull/511 +* Typos in interfaces and copy-paste by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/512 +* deptrac fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/515 +* Bump webpack-cli from 4.9.2 to 4.10.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/513 +* Update symplify/easy-coding-standard requirement from ^10.2 to ^11.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/514 +* Update cknow/laravel-money requirement from ^6.5 to ^7.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/518 +* Fix laravel-ide-helper generate:model by [@keatliang2005](https://github.com/keatliang2005) in https://github.com/bavix/laravel-wallet/pull/517 + +## New Contributors + +* [@nathanwritescode-uk](https://github.com/nathanwritescode-uk) made their first contribution in https://github.com/bavix/laravel-wallet/pull/511 +* [@keatliang2005](https://github.com/keatliang2005) made their first contribution in https://github.com/bavix/laravel-wallet/pull/517 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/9.0.1...9.0.2 ## 9.0.1 - 2022-05-19 -### Fixed -- Fixed a bug that prevented items from being returned via `Cart::withItem` - -## What's Changed -* update README.md by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/494 -* update README.md by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/495 -* Bump webpack from 5.72.0 to 5.72.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/503 -* Incorrect operation of product returns by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/499 - - +### Fixed + +- Fixed a bug that prevented items from being returned via `Cart::withItem` + +## What's Changed + +* update README.md by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/494 +* update README.md by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/495 +* Bump webpack from 5.72.0 to 5.72.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/503 +* Incorrect operation of product returns by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/499 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/9.0.0...9.0.1 ## 9.0.0 - 2022-05-02 -### Added -- ExtraDtoInterface #479 -- Product custom price #485 - -### Changed -- Changing the logic of funds transfers #483 -- Split Product interface #474 -- PHP 8+ Union types #482 -- Eager loading #480 - -### Removed -- method `Cart::addItems` -- method `Cart::addItem` -- method `Cart::setMeta` - -### Updated -- Performance just got a little better -- Public contracts have become stricter -- Inside is now strongly typed - -### Deprecated -- interface `Product` -- method `CartPay::paid` - -## What's Changed -* Bump prismjs from 1.27.0 to 1.28.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/491 -* Bump axios from 0.21.4 to 0.27.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/488 -* Bump mini-css-extract-plugin from 1.6.2 to 2.6.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/487 -* Bump size-limit from 4.12.0 to 7.0.8 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/490 -* Bump css-loader from 5.2.7 to 6.7.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/489 -* add rerun by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/492 -* [LTS] [9.x] Features and performance. Work on stability by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/481 - - +### Added + +- ExtraDtoInterface #479 +- Product custom price #485 + +### Changed + +- Changing the logic of funds transfers #483 +- Split Product interface #474 +- PHP 8+ Union types #482 +- Eager loading #480 + +### Removed + +- method `Cart::addItems` +- method `Cart::addItem` +- method `Cart::setMeta` + +### Updated + +- Performance just got a little better +- Public contracts have become stricter +- Inside is now strongly typed + +### Deprecated + +- interface `Product` +- method `CartPay::paid` + +## What's Changed + +* Bump prismjs from 1.27.0 to 1.28.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/491 +* Bump axios from 0.21.4 to 0.27.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/488 +* Bump mini-css-extract-plugin from 1.6.2 to 2.6.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/487 +* Bump size-limit from 4.12.0 to 7.0.8 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/490 +* Bump css-loader from 5.2.7 to 6.7.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/489 +* add rerun by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/492 +* [LTS] [9.x] Features and performance. Work on stability by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/481 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/8.4.1...9.0.0 ## 8.4.1 - 2022-04-26 -### Deprecated -- Cart::getUniqueItems - -## What's Changed -* [8.4.1] deprecated Cart::getUniqueItems by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/486 - - +### Deprecated + +- Cart::getUniqueItems + +## What's Changed + +* [8.4.1] deprecated Cart::getUniqueItems by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/486 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/8.4.0...8.4.1 ## 8.4.0 - 2022-04-20 -### Added -- MaximalTaxable -- Added strictness in internal classes - -## What's Changed -* [8.4] Added a minimal description of methods and recommendations for develo… by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/473 - - +### Added + +- MaximalTaxable +- Added strictness in internal classes + +## What's Changed + +* [8.4] Added a minimal description of methods and recommendations for develo… by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/473 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/8.3.0...8.4.0 ## 8.3.0 - 2022-04-15 -### Added -- Added the ability to create custom events - -### Removed -- UnknownEventException - -### Updated -- Reduced the amount of memory consumed in the cart -- Improved product returns performance - -## What's Changed -* Major performance improvement for the projects with slow test suites, using --only-covering-test-cases option by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/461 -* fix phpunits.yaml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/464 -* Error in force transaction float by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/470 -* [8.3] Simplified creation of events. The list check has been removed, now y… by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/468 - - +### Added + +- Added the ability to create custom events + +### Removed + +- UnknownEventException + +### Updated + +- Reduced the amount of memory consumed in the cart +- Improved product returns performance + +## What's Changed + +* Major performance improvement for the projects with slow test suites, using --only-covering-test-cases option by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/461 +* fix phpunits.yaml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/464 +* Error in force transaction float by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/470 +* [8.3] Simplified creation of events. The list check has been removed, now y… by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/468 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/8.2.0...8.3.0 ## 8.2.1 - 2022-04-14 -### Fixed -- Error in force transaction float #469 [@EdX9](https://github.com/EdX9) - -## What's Changed -* Major performance improvement for the projects with slow test suites, using --only-covering-test-cases option by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/461 -* fix phpunits.yaml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/464 - - +### Fixed + +- Error in force transaction float #469 [@EdX9](https://github.com/EdX9) + +## What's Changed + +* Major performance improvement for the projects with slow test suites, using --only-covering-test-cases option by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/461 +* fix phpunits.yaml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/464 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/8.2.0...8.2.1 ## 8.2.0 - 2022-04-03 -### Added -- Add exception `TransactionStartException` - -## What's Changed -* Bump minimist from 1.2.5 to 1.2.6 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/456 -* Checking the transaction level at startup by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/458 - - +### Added + +- Add exception `TransactionStartException` + +## What's Changed + +* Bump minimist from 1.2.5 to 1.2.6 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/456 +* Checking the transaction level at startup by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/458 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/8.1.1...8.2.0 ## 8.1.1 - 2022-03-18 -### Updated -- Expanding the error description. Helps to reduce the number of issue. - -## What's Changed -* Reduce the number of issues on github by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/453 - - +### Updated + +- Expanding the error description. Helps to reduce the number of issue. + +## What's Changed + +* Reduce the number of issues on github by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/453 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/8.1.0...8.1.1 ## 8.1.0 - 2022-03-13 -### Removed -- Method `getAvailableBalance`. - -### Added -- Methods `withItems`, `withItem`, `withMeta` on Cart-object. - -### Deprecated -- Method `addItems`, `addItem`, `setMeta` on Cart-Object. - -## What's Changed -* Bump prismjs from 1.26.0 to 1.27.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/447 -* breaking backward compatibility by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/448 - - +### Removed + +- Method `getAvailableBalance`. + +### Added + +- Methods `withItems`, `withItem`, `withMeta` on Cart-object. + +### Deprecated + +- Method `addItems`, `addItem`, `setMeta` on Cart-Object. + +## What's Changed + +* Bump prismjs from 1.26.0 to 1.27.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/447 +* breaking backward compatibility by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/448 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/8.0.6...8.1.0 ## 8.0.6 - 2022-02-25 -### Updated -- Replaced an object with an interface (Events) #444 [@ysfkaya](https://github.com/ysfkaya) - -## What's Changed -* Event dispatcher to interface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/445 - - +### Updated + +- Replaced an object with an interface (Events) #444 [@ysfkaya](https://github.com/ysfkaya) + +## What's Changed + +* Event dispatcher to interface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/445 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/8.0.5...8.0.6 ## 7.3.3 - 2022-02-25 -### Updated -- Replaced an object with an interface (Events) #444 [@ysfkaya](https://github.com/ysfkaya) - +### Updated + +- Replaced an object with an interface (Events) #444 [@ysfkaya](https://github.com/ysfkaya) + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/7.3.2...7.3.3 ## 8.0.5 - 2022-02-21 -### Added -- Spanish language #443 [@EdX9](https://github.com/EdX9) - -## What's Changed -* Spanish Error Transalate by [@EdX9](https://github.com/EdX9) in https://github.com/bavix/laravel-wallet/pull/443 - -## New Contributors -* [@EdX9](https://github.com/EdX9) made their first contribution in https://github.com/bavix/laravel-wallet/pull/443 - +### Added + +- Spanish language #443 [@EdX9](https://github.com/EdX9) + +## What's Changed + +* Spanish Error Transalate by [@EdX9](https://github.com/EdX9) in https://github.com/bavix/laravel-wallet/pull/443 + +## New Contributors + +* [@EdX9](https://github.com/EdX9) made their first contribution in https://github.com/bavix/laravel-wallet/pull/443 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/8.0.4...8.0.5 ## 8.0.4 - 2022-02-19 -### Added -- Added validation when resetting confirmation. Caused unexpected system behavior. - -## What's Changed -* [8.0.4] Added validation when resetting confirmation. Caused unexpected syste… by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/442 - - +### Added + +- Added validation when resetting confirmation. Caused unexpected system behavior. + +## What's Changed + +* [8.0.4] Added validation when resetting confirmation. Caused unexpected syste… by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/442 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/8.0.3...8.0.4 ## 8.0.3 - 2022-02-18 -### Fixed -- Fixed "UUID Duplicate entry" bug on eager loading. #438 [@DanielSpravtsev](https://github.com/DanielSpravtsev) -- Use predefined PHP float epsilon (phpunit) sebastianbergmann/phpunit#4874 - -## What's Changed -* update package-lock.json by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/436 -* #438 UUID Duplicate entry fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/440 - - +### Fixed + +- Fixed "UUID Duplicate entry" bug on eager loading. #438 [@DanielSpravtsev](https://github.com/DanielSpravtsev) +- Use predefined PHP float epsilon (phpunit) sebastianbergmann/phpunit#4874 + +## What's Changed + +* update package-lock.json by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/436 +* #438 UUID Duplicate entry fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/440 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/8.0.2...8.0.3 ## 8.0.2 - 2022-02-12 -### Fixed -- Added keys to service provider - -## What's Changed -* 8.0.2 add keys by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/435 - - +### Fixed + +- Added keys to service provider + +## What's Changed + +* 8.0.2 add keys by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/435 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/8.0.1...8.0.2 ## 8.0.1 - 2022-02-12 -### Fixed -- Fixed bug preventing redis from being used #429 [@mattvb91](https://github.com/mattvb91) - -## What's Changed -* Bump follow-redirects from 1.14.5 to 1.14.8 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/430 -* Bump nanoid from 3.1.30 to 3.2.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/431 -* 8.0.1 fix service provider (custom cache) by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/432 - - +### Fixed + +- Fixed bug preventing redis from being used #429 [@mattvb91](https://github.com/mattvb91) + +## What's Changed + +* Bump follow-redirects from 1.14.5 to 1.14.8 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/430 +* Bump nanoid from 3.1.30 to 3.2.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/431 +* 8.0.1 fix service provider (custom cache) by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/432 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/8.0.0...8.0.1 ## 7.3.2 - 2022-02-12 -### Fixed -- Added keys to service provider - +### Fixed + +- Added keys to service provider + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/7.3.1...7.3.2 ## 7.3.1 - 2022-02-12 -### Fixed -- Fixed bug preventing redis from being used #429 [@mattvb91](https://github.com/mattvb91) - +### Fixed + +- Fixed bug preventing redis from being used #429 [@mattvb91](https://github.com/mattvb91) + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/7.3.0...7.3.1 ## 8.0.0 - 2022-02-08 -### Added -- Add support laravel ^9.0 -- Added support for owner string identifiers #423 [@adesege](https://github.com/adesege) - -### Removed -- Removed php 7.4 support - -## What's Changed -* Extend Wallet holder_id property to support string type by [@adesege](https://github.com/adesege) in https://github.com/bavix/laravel-wallet/pull/423 -* Adding support for laravel 9 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/424 - -## New Contributors -* [@adesege](https://github.com/adesege) made their first contribution in https://github.com/bavix/laravel-wallet/pull/423 - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/7.3.0...8.0.0 +### Added -## 7.3.0 - 2021-12-10 +- Add support laravel ^9.0 +- Added support for owner string identifiers #423 [@adesege](https://github.com/adesege) -### Added -- Credit Limits -- WalletCreatedEvent - -### Updated -- Optimization of check for withdrawals - -## What's Changed -* Update symplify/easy-coding-standard requirement from ^9.4 to ^10.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/420 -* [7.3] WalletCreatedEvent, Credit Limits, walletTransactions by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/415 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/7.2.0...7.3.0 +### Removed -## 7.2.0 - 2021-12-07 +- Removed php 7.4 support -### Added -- Added balance update event - -## What's Changed -* [7.2] Events by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/414 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/7.1.0...7.2.0 +## What's Changed -## 7.1.0 - 2021-12-05 +* Extend Wallet holder_id property to support string type by [@adesege](https://github.com/adesege) in https://github.com/bavix/laravel-wallet/pull/423 +* Adding support for laravel 9 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/424 -### Added -- Transaction support. -- Now, within the transaction, the wallet has its own balance state. - -### Fixed -- Fixed unit tests with checking for transaction level (mariadb). - -### Updated -- Due to the state within transactions, I was able to speed up the computation up to 25 times for complex transfers. - -### Removed -- class `WalletServiceLegacy` -- method `CommonServiceLegacy::addBalance` - -## What's Changed -* [7.1] Transaction State by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/412 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/7.0.0...7.1.0 +## New Contributors -## 7.0.0 - 2021-11-25 +* [@adesege](https://github.com/adesege) made their first contribution in https://github.com/bavix/laravel-wallet/pull/423 -### Updated -- Optimization of the `payFreeCart` and `payFree` request. Now the package does not update the repository. But there is no point in updating it, because the client does not pay anything. -- Now everything is in contracts. It became easier for you to modify the package to suit your needs. -- Updated package core. If you are tied to the kernel, then you will have to rewrite some code. -- Optimized the algorithm for transfers and purchases. When paying for a large basket, the productivity increase at the peak is up to 24 times. -- If a batch of transactions does not change the balance, then the accounting service will not update the wallet balance. - -### Fixed -- Fixed issues with postgres. There was a bug when working with currencies, for some reason the request sometimes dropped and went into a deadlock. - -### Added -- Added `uuid` column to the wallet table. -- Added `phpstan`, `psalm`, `deptrac`, `rector`. The package update should now be smoother and with fewer bugs. - -### Renamed -- rename `CommonService` to `CommonServiceLegacy` -- rename `MetaService` to `MetaServiceLegacy` -- rename `WalletService` to `WalletServiceLegacy` - -### Deprecated -- class `CommonServiceLegacy` -- class `WalletServiceLegacy` - -### Removed -- command `RefreshBalance`. Now you need to write this class yourself. -- class `Storable` -- class `Rateable` -- interface `Mathable` -- class `Bring` -- method `Cart::alreadyBuy` -- method `Cart::canBuy` -- class `EmptyLock` -- class `Operation` -- method `CommonService::verifyWithdraw` -- method `CommonService::multiOperation` -- method `CommonService::assemble` -- method `CommonService::multiBrings` -- class `DbService` -- class `ExchangeService` -- class `LockService` -- method `WalletService::discount` -- method `WalletService::decimalPlacesValue` -- method `WalletService::decimalPlaces` -- method `WalletService::checkAmount` -- method `WalletService::adjustment` -- class `BrickMath` -- class `Rate` -- class `Store` - -## What's Changed -* [7.x] Mainline by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/407 -* drop assert's by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/411 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.2.4...7.0.0 +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/7.3.0...8.0.0 -## 6.2.4 - 2021-11-12 +## 7.3.0 - 2021-12-10 -### Fixed -- Fixed error LockProviderNotFoundException - -## What's Changed -* Update laravel/cashier requirement from ^12.5 to ^13.6 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/402 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.2.3...6.2.4 +### Added -## 6.2.3 - 2021-11-08 +- Credit Limits +- WalletCreatedEvent -### Fixed -- Fixed a bug with `migrate:refresh` - -## What's Changed -* adding php 8.1 support to github actions by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/398 -* migrate:refresh fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/401 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.2.2...6.2.3 +### Updated -## 6.2.2 - 2021-11-02 +- Optimization of check for withdrawals -### Changed -- Update key from cache - -## What's Changed -* Update phpstan/phpstan requirement from ^0.12 to ^1.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/392 -* fix key in BookkeeperService by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/394 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.2.1...6.2.2 +## What's Changed -## 6.2.1 - 2021-11-02 +* Update symplify/easy-coding-standard requirement from ^9.4 to ^10.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/420 +* [7.3] WalletCreatedEvent, Credit Limits, walletTransactions by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/415 -### Fixed -- Fix looping for old configs. #387 [@AbdullahFaqeir](https://github.com/AbdullahFaqeir), #391 [@Hussam3bd](https://github.com/Hussam3bd) [@alexstewartja](https://github.com/alexstewartja) - -## What's Changed -* Looping by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/393 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.2.0...6.2.1 +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/7.2.0...7.3.0 -## 6.2.0 - 2021-10-29 +## 7.2.0 - 2021-12-07 -### Added -- ECS -- Added new exception `UnconfirmedInvalid` - -### Changed -- Raised the minimum php version `7.4+` -- Merged migrations - -### Deprecated -- class `Storable` -- class `Rateable` -- interface `Mathable` -- class `Bring` -- method `Cart::alreadyBuy` -- method `Cart::canBuy` -- class `EmptyLock` -- class `Operation` -- method `CommonService::verifyWithdraw` -- method `CommonService::multiOperation` -- method `CommonService::assemble` -- method `CommonService::multiBrings` -- method `CommonService::addBalance` -- class `DbService` -- class `ExchangeService` -- class `LockService` -- class `MetaService` -- method `WalletService::discount` -- method `WalletService::decimalPlacesValue` -- method `WalletService::decimalPlaces` -- method `WalletService::checkAmount` -- method `WalletService::refresh` -- method `WalletService::adjustment` -- class `BrickMath` -- class `Rate` -- class `Store` - -## What's Changed -* Trying to speed up tests in sqlite by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/324 -* Upgrade to GitHub-native Dependabot by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/327 -* add unit by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/349 -* Bump prismjs from 1.23.0 to 1.25.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/359 -* Bump axios from 0.21.1 to 0.21.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/364 -* [7.x. Stage 1] Reformat code (ecs) by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/365 -* update docs by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/366 -* [7.x. Stage 1] merge migrations by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/367 -* [7.x. Stage 1] add new exception (UnconfirmedInvalid) by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/369 -* [7.x. Stage 1] add ExchangeInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/370 -* [7.x. Stage 1] add MathInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/371 -* [7.x. Stage 1] add UuidInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/373 -* [7.x. Stage 2] add BookkeeperInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/372 -* [7.x. Stage 2] add BasketInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/375 -* [7.x. Stage 3] DI in legacy by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/376 -* [7.x. Stage 3] add ConsistencyInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/377 -* [7.x. Stage 4] add CartInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/380 -* [7.x. Stage 5] add balanceInt by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/381 -* [7.x. Stage 5] no longer use methods: decimalPlaces, decimalPlacesValue by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/382 -* [7.x. Stage 5] Release 6.2 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/383 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.1.0...6.2.0 +### Added -## 6.1.0 - 2021-04-17 +- Added balance update event -### Added -- Added Github Actions -- Add farsi locale; #317 #320 [@hsharghi](https://github.com/hsharghi) -- Added the ability to add meta data from the cart #318 -- Added exceptions to phpdoc - -### Changed -- Reworked unit tests -- Unit tests work faster - -### Fixed -- Fixed a bug in the calculation of the commission - -## What's Changed -* Add Github Actions by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/319 -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/321 -* Add Farsi translation by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/320 -* Making the documentation more readable by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/313 -* Added transfer of meta-information through the cart by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/323 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.0.4...6.1.0 +## What's Changed -## 6.0.4 - 2021-04-07 +* [7.2] Events by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/414 -### Added -- Updated key "confirmed_invalid" in Arabic; #316 [@omarhen](https://github.com/omarhen) - -## What's Changed -* #303 verification of automatic wallet creation. by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/304 -* Bump docsify from 4.11.6 to 4.12.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/306 -* Bump prismjs from 1.22.0 to 1.23.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/307 -* Update ar lang by [@omarhen](https://github.com/omarhen) in https://github.com/bavix/laravel-wallet/pull/316 - -## New Contributors -* [@omarhen](https://github.com/omarhen) made their first contribution in https://github.com/bavix/laravel-wallet/pull/316 - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.0.3...6.0.4 +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/7.1.0...7.2.0 -## 6.0.3 - 2021-01-31 +## 7.1.0 - 2021-12-05 -### Added -- Add arabic locale; #302 [@akhedrane](https://github.com/akhedrane) - -## What's Changed -* Bump axios from 0.21.0 to 0.21.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/295 -* add arabic locale by [@akhedrane](https://github.com/akhedrane) in https://github.com/bavix/laravel-wallet/pull/302 - -## New Contributors -* [@akhedrane](https://github.com/akhedrane) made their first contribution in https://github.com/bavix/laravel-wallet/pull/302 - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.0.2...6.0.3 +### Added -## 6.0.2 - 2020-11-28 +- Transaction support. +- Now, within the transaction, the wallet has its own balance state. -### Added -- Added `getWalletOrFail` method. - -## What's Changed -* 6.x bug fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/282 -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/289 -* Add getWalletOrFail method by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/288 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.0.1...6.0.2 +### Fixed -## 6.0.1 - 2020-11-18 +- Fixed unit tests with checking for transaction level (mariadb). -### Fixed -- Fixed a bug when updating the balance, refund and full write-off. #279 [@vaibhavpandeyvpz](https://github.com/vaibhavpandeyvpz) -- Fixed bugs in unit tests. - -## What's Changed -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/281 -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/283 -* 5.x fix bug by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/280 -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/284 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.0.0...6.0.1 +### Updated -## 5.5.1 - 2020-11-18 +- Due to the state within transactions, I was able to speed up the computation up to 25 times for complex transfers. -### Fixed -- Fixed a bug when updating the balance, refund and full write-off. #279 [@vaibhavpandeyvpz](https://github.com/vaibhavpandeyvpz) -- Fixed bugs in unit tests. - -## What's Changed -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/281 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.5.0...5.5.1 +### Removed -## 6.0.0 - 2020-11-13 +- class `WalletServiceLegacy` +- method `CommonServiceLegacy::addBalance` -### Added -- Bigger and safer. There are never many tests. As always, new test cases have been added. -- Package `brick/math` is now required. -- Added examples of integrations with the `cknow/laravel-money` package in unit tests. -- The `Storable` interface has an additional method `fresh` to clean up all data. -- Added psalm, but not used yet. -- Added phpmetrics, thanks to which it was possible to remove a lot of loops in the code. -- Added meta column in wallet, now the package is more extensible. I moved currency from the config to the meta. -- Added an icon to the documentation. -- Added full support for php 8. We are waiting for the release. -- Added `adjustment` method, it deals with balance adjustment. In automatic mode, it calculates the difference between the current amount on the balance sheet and for transactions, and if the balance does not converge, then finishes with a transaction. -- Added the ability to initialize the default wallet with the required meta parameters (needed to work with currencies). -- Added method `negative` to `Mathable` interface. - -### Changed -- Now the package works exclusively with strings, there are fewer problems when working with large numbers. -- Now, to work with cryptocurrencies, it is not necessary to install `bcmath`. -- JS documentation is no longer dependent on CDN, everything is collected in one bundle. -- Updated the command to refresh the balance, now without a transaction for all wallets. Use carefully. -- Currencies are now in "wallets.meta.currency", please do not use the config for these cases. -- English documentation has been slightly improved. -- Updated phpunit to support php 8. - -### Removed -- Removed php 7.2 support. -- Drop package `laravel/legacy-factories`. -- Remove `BCMath` and `Math` classes. - -### Fixed -- Fixed a bug when withdrawing large funds from the wallet. Sometimes the number went beyond int64 and the exception fell on "negative number". - -### Deprecated -- The key in the currencies config will be removed in 7.x. Use "wallet.meta.currency". - -## What's Changed -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/215 -* Upgrade by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/212 -* Fixed errors in the library on postgresql and mysql by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/217 -* Develop by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/219 -* Travis CI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/220 -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/223 -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/224 -* Add dependency brick/math by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/221 -* add percona 8 & mariadb 10 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/225 -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/238 -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/241 -* Update infection/infection requirement from 0.17.* to 0.18 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/251 -* Major 6.x by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/222 -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/262 -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/263 -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/266 -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/267 -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/269 -* Improving the code with a static analyzer by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/268 -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/270 -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/275 -* Major 6.x by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/257 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.3.2...6.0.0 +## What's Changed -## 5.5.0 - 2020-10-01 +* [7.1] Transaction State by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/412 -### Added -- Added brick/math dependency (Optional in version 5.x. If you already have a package installed, the library will switch to it automatically) -- Added more php annotations, now it's easier to work with the library. -- Updated travis. Now we check not only SQLite, but also mysql & postgres. - -### Fixed -- Fixed memory leak in models. - -### Deprecated -- class `BCMath`. -- class `Math`. - -## What's Changed -* Travis CI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/220 -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/223 -* Add dependency brick/math by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/221 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.4.0...5.5.0 +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/7.0.0...7.1.0 -## 5.4.0 - 2020-09-30 +## 7.0.0 - 2021-11-25 -### Added -- Temporarily added package (to develop) laravel/legacy-factories. - -### Changed -- PHP 7.3+ support, 7.2 is no longer supported. -- Formatted code using StyleCI. -- The mysql/postgres balance refresh command no longer performs a single request update. -- If you use standard laravel transactions and open it, the library will not open a new transaction. -This removes a lot of errors that were sent to my email. -- Removed automatic creation of the default wallet when calling `createWallet`. #218 - -### Fixed -- Fixed migrations for unit tests (your app should not be affected). -- Fixed nested transactions in databases. This is now one transaction. -- Fixed risk in unit tests for the postgres database. - -## What's Changed -* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/215 -* Upgrade by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/212 -* Fixed errors in the library on postgresql and mysql by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/217 -* Develop by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/219 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.3.2...5.4.0 +### Updated -## 5.3.2 - 2020-08-31 +- Optimization of the `payFreeCart` and `payFree` request. Now the package does not update the repository. But there is no point in updating it, because the client does not pay anything. +- Now everything is in contracts. It became easier for you to modify the package to suit your needs. +- Updated package core. If you are tied to the kernel, then you will have to rewrite some code. +- Optimized the algorithm for transfers and purchases. When paying for a large basket, the productivity increase at the peak is up to 24 times. +- If a batch of transactions does not change the balance, then the accounting service will not update the wallet balance. -### Added -- Add support laravel ~8.0 -- Dependency Allowed `illuminate/database` ^8.0 -- Dependency Allowed `doctrine/dbal` ^3.0 -- Dependency Allowed `infection/infection` 0.17.* -- Added new unit tests - -## What's Changed -* Update infection/infection requirement from 0.15.*|0.16.* to ^0.17.0 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/200 -* Laravel 8 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/208 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.3.1...5.3.2 +### Fixed -## 5.3.1 - 2020-08-18 +- Fixed issues with postgres. There was a bug when working with currencies, for some reason the request sometimes dropped and went into a deadlock. -### Fixed -- Fixed migration issue with db table prefix #195 [@reedknight](https://github.com/reedknight) [@cispl-shaswatad](https://github.com/cispl-shaswatad) - -## What's Changed -* Pull195 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/196 -* Fixed migration issue with db table prefix by [@reedknight](https://github.com/reedknight) in https://github.com/bavix/laravel-wallet/pull/195 -* Develop by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/197 - -## New Contributors -* [@reedknight](https://github.com/reedknight) made their first contribution in https://github.com/bavix/laravel-wallet/pull/195 - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.3.0...5.3.1 +### Added -## 5.3.0 - 2020-08-10 +- Added `uuid` column to the wallet table. +- Added `phpstan`, `psalm`, `deptrac`, `rector`. The package update should now be smoother and with fewer bugs. -### Added -- Add `resetConfirm`, `safeResetConfirm` methods (unconfirmed). -- Allow default migrations to be ignored. #189 [@driangonzales](https://github.com/driangonzales) - -## What's Changed -* Develop by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/192 -* Allow default migrations to be ignored by [@adriangonzales](https://github.com/adriangonzales) in https://github.com/bavix/laravel-wallet/pull/189 - -## New Contributors -* [@adriangonzales](https://github.com/adriangonzales) made their first contribution in https://github.com/bavix/laravel-wallet/pull/189 - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.2.1...5.3.0 +### Renamed -## 5.2.1 - 2020-06-10 +- rename `CommonService` to `CommonServiceLegacy` +- rename `MetaService` to `MetaServiceLegacy` +- rename `WalletService` to `WalletServiceLegacy` -### Added -- Added support `laravel/cashier ^12.0` - -## What's Changed -* Activating Open Collective by [@monkeywithacupcake](https://github.com/monkeywithacupcake) in https://github.com/bavix/laravel-wallet/pull/173 -* Update laravel/cashier requirement from ^10.0|^11.0 to ^12.0.0 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/180 -* New Features by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/163 - -## New Contributors -* [@monkeywithacupcake](https://github.com/monkeywithacupcake) made their first contribution in https://github.com/bavix/laravel-wallet/pull/173 - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.2.0...5.2.1 +### Deprecated -## 5.2.0 - 2020-04-15 +- class `CommonServiceLegacy` +- class `WalletServiceLegacy` -### Added -- Added support `laravel/cashier ^11.0` - -## What's Changed -* Update infection/infection requirement from ^0.15 to ^0.16 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/161 -* Update laravel/cashier requirement from ^10.0 to ^11.0 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/165 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.1.0...5.2.0 +### Removed -## 5.1.0 - 2020-03-26 +- command `RefreshBalance`. Now you need to write this class yourself. +- class `Storable` +- class `Rateable` +- interface `Mathable` +- class `Bring` +- method `Cart::alreadyBuy` +- method `Cart::canBuy` +- class `EmptyLock` +- class `Operation` +- method `CommonService::verifyWithdraw` +- method `CommonService::multiOperation` +- method `CommonService::assemble` +- method `CommonService::multiBrings` +- class `DbService` +- class `ExchangeService` +- class `LockService` +- method `WalletService::discount` +- method `WalletService::decimalPlacesValue` +- method `WalletService::decimalPlaces` +- method `WalletService::checkAmount` +- method `WalletService::adjustment` +- class `BrickMath` +- class `Rate` +- class `Store` -### Added -- Added support `ramsey/uuid ^4.0` - -### Fixed -- pg12 support - -## What's Changed -* Update ramsey/uuid requirement from ^3.0 to ^4.0 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/157 -* fix pg12 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/158 -* Postgres 12 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/159 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.0.2...5.1.0 +## What's Changed -## 5.0.2 - 2020-03-22 +* [7.x] Mainline by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/407 +* drop assert's by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/411 -### Fixed -- fix `bindTo` method #155 - -## What's Changed -* Develop by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/153 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.0.1...5.0.2 +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.2.4...7.0.0 -## 4.2.2 - 2020-03-22 +## 6.2.4 - 2021-11-12 -### Fixed -- fix `bindTo` method #155 - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/4.2.1...4.2.2 +### Fixed -## 4.1.4 - 2020-03-22 +- Fixed error LockProviderNotFoundException -### Fixed -- fix `bindTo` method #155 - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/4.1.3...4.1.4 +## What's Changed -## 4.1.3 - 2020-03-20 +* Update laravel/cashier requirement from ^12.5 to ^13.6 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/402 -### Added -Added a patch from version 4.2.1 #150 - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/4.1.2...4.1.3 +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.2.3...6.2.4 -## 5.0.1 - 2020-03-19 +## 6.2.3 - 2021-11-08 -### Added -- Added a patch from version 4.2.1 #150 - -## What's Changed -* add cases by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/148 -* V4.0 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/151 -* Develop by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/152 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.0.0...5.0.1 +### Fixed -## 4.2.1 - 2020-03-19 +- Fixed a bug with `migrate:refresh` -### Fixed -- Fixed wallet recalculate command #150 - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/4.2.0...4.2.1 +## What's Changed -## 5.0.0 - 2020-03-13 +* adding php 8.1 support to github actions by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/398 +* migrate:refresh fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/401 -### Added -- add support "Arbitrary Precision Mathematics" (`ext-bcmath`) #139 #146 -- add `Mathable` service (helps switch quickly from bcmath to php computing) - -### Changed -- add unit cases -- upgrade composer packages -- Now all casts are in the config, not in the model. If you use bcmath, then all values are reduced to a string. - -### Removed -- Strong typing (models, interfaces, etc.) -- all deprecated methods are removed -- `nesbot/carbon` is no longer needed for the library to work - -## What's Changed -* 5.0.x - Arbitrary Precision Mathematics by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/140 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/4.2.2...5.0.0 +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.2.2...6.2.3 -## 4.2.0 - 2020-03-07 +## 6.2.2 - 2021-11-02 -### Added -- Add laravel 7 support - -## What's Changed -* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/145 -* add support laravel 7.x by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/144 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/4.1.2...4.2.0 +### Changed + +- Update key from cache + +## What's Changed + +* Update phpstan/phpstan requirement from ^0.12 to ^1.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/392 +* fix key in BookkeeperService by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/394 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.2.1...6.2.2 + +## 6.2.1 - 2021-11-02 + +### Fixed + +- Fix looping for old configs. #387 [@AbdullahFaqeir](https://github.com/AbdullahFaqeir), #391 [@Hussam3bd](https://github.com/Hussam3bd) [@alexstewartja](https://github.com/alexstewartja) + +## What's Changed + +* Looping by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/393 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.2.0...6.2.1 + +## 6.2.0 - 2021-10-29 + +### Added + +- ECS +- Added new exception `UnconfirmedInvalid` + +### Changed + +- Raised the minimum php version `7.4+` +- Merged migrations + +### Deprecated + +- class `Storable` +- class `Rateable` +- interface `Mathable` +- class `Bring` +- method `Cart::alreadyBuy` +- method `Cart::canBuy` +- class `EmptyLock` +- class `Operation` +- method `CommonService::verifyWithdraw` +- method `CommonService::multiOperation` +- method `CommonService::assemble` +- method `CommonService::multiBrings` +- method `CommonService::addBalance` +- class `DbService` +- class `ExchangeService` +- class `LockService` +- class `MetaService` +- method `WalletService::discount` +- method `WalletService::decimalPlacesValue` +- method `WalletService::decimalPlaces` +- method `WalletService::checkAmount` +- method `WalletService::refresh` +- method `WalletService::adjustment` +- class `BrickMath` +- class `Rate` +- class `Store` + +## What's Changed + +* Trying to speed up tests in sqlite by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/324 +* Upgrade to GitHub-native Dependabot by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/327 +* add unit by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/349 +* Bump prismjs from 1.23.0 to 1.25.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/359 +* Bump axios from 0.21.1 to 0.21.2 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/364 +* [7.x. Stage 1] Reformat code (ecs) by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/365 +* update docs by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/366 +* [7.x. Stage 1] merge migrations by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/367 +* [7.x. Stage 1] add new exception (UnconfirmedInvalid) by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/369 +* [7.x. Stage 1] add ExchangeInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/370 +* [7.x. Stage 1] add MathInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/371 +* [7.x. Stage 1] add UuidInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/373 +* [7.x. Stage 2] add BookkeeperInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/372 +* [7.x. Stage 2] add BasketInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/375 +* [7.x. Stage 3] DI in legacy by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/376 +* [7.x. Stage 3] add ConsistencyInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/377 +* [7.x. Stage 4] add CartInterface by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/380 +* [7.x. Stage 5] add balanceInt by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/381 +* [7.x. Stage 5] no longer use methods: decimalPlaces, decimalPlacesValue by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/382 +* [7.x. Stage 5] Release 6.2 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/383 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.1.0...6.2.0 + +## 6.1.0 - 2021-04-17 + +### Added + +- Added Github Actions +- Add farsi locale; #317 #320 [@hsharghi](https://github.com/hsharghi) +- Added the ability to add meta data from the cart #318 +- Added exceptions to phpdoc + +### Changed + +- Reworked unit tests +- Unit tests work faster + +### Fixed + +- Fixed a bug in the calculation of the commission + +## What's Changed + +* Add Github Actions by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/319 +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/321 +* Add Farsi translation by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/320 +* Making the documentation more readable by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/313 +* Added transfer of meta-information through the cart by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/323 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.0.4...6.1.0 + +## 6.0.4 - 2021-04-07 + +### Added + +- Updated key "confirmed_invalid" in Arabic; #316 [@omarhen](https://github.com/omarhen) + +## What's Changed + +* #303 verification of automatic wallet creation. by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/304 +* Bump docsify from 4.11.6 to 4.12.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/306 +* Bump prismjs from 1.22.0 to 1.23.0 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/307 +* Update ar lang by [@omarhen](https://github.com/omarhen) in https://github.com/bavix/laravel-wallet/pull/316 + +## New Contributors + +* [@omarhen](https://github.com/omarhen) made their first contribution in https://github.com/bavix/laravel-wallet/pull/316 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.0.3...6.0.4 + +## 6.0.3 - 2021-01-31 + +### Added + +- Add arabic locale; #302 [@akhedrane](https://github.com/akhedrane) + +## What's Changed + +* Bump axios from 0.21.0 to 0.21.1 by [@dependabot](https://github.com/dependabot) in https://github.com/bavix/laravel-wallet/pull/295 +* add arabic locale by [@akhedrane](https://github.com/akhedrane) in https://github.com/bavix/laravel-wallet/pull/302 + +## New Contributors + +* [@akhedrane](https://github.com/akhedrane) made their first contribution in https://github.com/bavix/laravel-wallet/pull/302 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.0.2...6.0.3 + +## 6.0.2 - 2020-11-28 + +### Added + +- Added `getWalletOrFail` method. + +## What's Changed + +* 6.x bug fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/282 +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/289 +* Add getWalletOrFail method by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/288 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.0.1...6.0.2 + +## 6.0.1 - 2020-11-18 + +### Fixed + +- Fixed a bug when updating the balance, refund and full write-off. #279 [@vaibhavpandeyvpz](https://github.com/vaibhavpandeyvpz) +- Fixed bugs in unit tests. + +## What's Changed + +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/281 +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/283 +* 5.x fix bug by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/280 +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/284 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/6.0.0...6.0.1 + +## 5.5.1 - 2020-11-18 + +### Fixed + +- Fixed a bug when updating the balance, refund and full write-off. #279 [@vaibhavpandeyvpz](https://github.com/vaibhavpandeyvpz) +- Fixed bugs in unit tests. + +## What's Changed + +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/281 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.5.0...5.5.1 + +## 6.0.0 - 2020-11-13 + +### Added + +- Bigger and safer. There are never many tests. As always, new test cases have been added. +- Package `brick/math` is now required. +- Added examples of integrations with the `cknow/laravel-money` package in unit tests. +- The `Storable` interface has an additional method `fresh` to clean up all data. +- Added psalm, but not used yet. +- Added phpmetrics, thanks to which it was possible to remove a lot of loops in the code. +- Added meta column in wallet, now the package is more extensible. I moved currency from the config to the meta. +- Added an icon to the documentation. +- Added full support for php 8. We are waiting for the release. +- Added `adjustment` method, it deals with balance adjustment. In automatic mode, it calculates the difference between the current amount on the balance sheet and for transactions, and if the balance does not converge, then finishes with a transaction. +- Added the ability to initialize the default wallet with the required meta parameters (needed to work with currencies). +- Added method `negative` to `Mathable` interface. + +### Changed + +- Now the package works exclusively with strings, there are fewer problems when working with large numbers. +- Now, to work with cryptocurrencies, it is not necessary to install `bcmath`. +- JS documentation is no longer dependent on CDN, everything is collected in one bundle. +- Updated the command to refresh the balance, now without a transaction for all wallets. Use carefully. +- Currencies are now in "wallets.meta.currency", please do not use the config for these cases. +- English documentation has been slightly improved. +- Updated phpunit to support php 8. + +### Removed + +- Removed php 7.2 support. +- Drop package `laravel/legacy-factories`. +- Remove `BCMath` and `Math` classes. + +### Fixed + +- Fixed a bug when withdrawing large funds from the wallet. Sometimes the number went beyond int64 and the exception fell on "negative number". + +### Deprecated + +- The key in the currencies config will be removed in 7.x. Use "wallet.meta.currency". + +## What's Changed + +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/215 +* Upgrade by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/212 +* Fixed errors in the library on postgresql and mysql by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/217 +* Develop by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/219 +* Travis CI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/220 +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/223 +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/224 +* Add dependency brick/math by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/221 +* add percona 8 & mariadb 10 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/225 +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/238 +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/241 +* Update infection/infection requirement from 0.17.* to 0.18 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/251 +* Major 6.x by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/222 +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/262 +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/263 +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/266 +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/267 +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/269 +* Improving the code with a static analyzer by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/268 +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/270 +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/275 +* Major 6.x by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/257 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.3.2...6.0.0 + +## 5.5.0 - 2020-10-01 + +### Added + +- Added brick/math dependency (Optional in version 5.x. If you already have a package installed, the library will switch to it automatically) +- Added more php annotations, now it's easier to work with the library. +- Updated travis. Now we check not only SQLite, but also mysql & postgres. + +### Fixed + +- Fixed memory leak in models. + +### Deprecated + +- class `BCMath`. +- class `Math`. + +## What's Changed + +* Travis CI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/220 +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/223 +* Add dependency brick/math by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/221 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.4.0...5.5.0 + +## 5.4.0 - 2020-09-30 + +### Added + +- Temporarily added package (to develop) laravel/legacy-factories. + +### Changed + +- PHP 7.3+ support, 7.2 is no longer supported. +- Formatted code using StyleCI. +- The mysql/postgres balance refresh command no longer performs a single request update. +- If you use standard laravel transactions and open it, the library will not open a new transaction. + This removes a lot of errors that were sent to my email. +- Removed automatic creation of the default wallet when calling `createWallet`. #218 + +### Fixed + +- Fixed migrations for unit tests (your app should not be affected). +- Fixed nested transactions in databases. This is now one transaction. +- Fixed risk in unit tests for the postgres database. + +## What's Changed + +* Apply fixes from StyleCI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/215 +* Upgrade by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/212 +* Fixed errors in the library on postgresql and mysql by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/217 +* Develop by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/219 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.3.2...5.4.0 + +## 5.3.2 - 2020-08-31 + +### Added + +- Add support laravel ~8.0 +- Dependency Allowed `illuminate/database` ^8.0 +- Dependency Allowed `doctrine/dbal` ^3.0 +- Dependency Allowed `infection/infection` 0.17.* +- Added new unit tests + +## What's Changed + +* Update infection/infection requirement from 0.15.*|0.16.* to ^0.17.0 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/200 +* Laravel 8 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/208 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.3.1...5.3.2 + +## 5.3.1 - 2020-08-18 + +### Fixed + +- Fixed migration issue with db table prefix #195 [@reedknight](https://github.com/reedknight) [@cispl-shaswatad](https://github.com/cispl-shaswatad) + +## What's Changed + +* Pull195 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/196 +* Fixed migration issue with db table prefix by [@reedknight](https://github.com/reedknight) in https://github.com/bavix/laravel-wallet/pull/195 +* Develop by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/197 + +## New Contributors + +* [@reedknight](https://github.com/reedknight) made their first contribution in https://github.com/bavix/laravel-wallet/pull/195 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.3.0...5.3.1 + +## 5.3.0 - 2020-08-10 + +### Added + +- Add `resetConfirm`, `safeResetConfirm` methods (unconfirmed). +- Allow default migrations to be ignored. #189 [@driangonzales](https://github.com/driangonzales) + +## What's Changed + +* Develop by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/192 +* Allow default migrations to be ignored by [@adriangonzales](https://github.com/adriangonzales) in https://github.com/bavix/laravel-wallet/pull/189 + +## New Contributors + +* [@adriangonzales](https://github.com/adriangonzales) made their first contribution in https://github.com/bavix/laravel-wallet/pull/189 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.2.1...5.3.0 + +## 5.2.1 - 2020-06-10 + +### Added + +- Added support `laravel/cashier ^12.0` + +## What's Changed + +* Activating Open Collective by [@monkeywithacupcake](https://github.com/monkeywithacupcake) in https://github.com/bavix/laravel-wallet/pull/173 +* Update laravel/cashier requirement from ^10.0|^11.0 to ^12.0.0 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/180 +* New Features by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/163 + +## New Contributors + +* [@monkeywithacupcake](https://github.com/monkeywithacupcake) made their first contribution in https://github.com/bavix/laravel-wallet/pull/173 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.2.0...5.2.1 + +## 5.2.0 - 2020-04-15 + +### Added + +- Added support `laravel/cashier ^11.0` + +## What's Changed + +* Update infection/infection requirement from ^0.15 to ^0.16 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/161 +* Update laravel/cashier requirement from ^10.0 to ^11.0 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/165 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.1.0...5.2.0 + +## 5.1.0 - 2020-03-26 + +### Added + +- Added support `ramsey/uuid ^4.0` + +### Fixed + +- pg12 support + +## What's Changed + +* Update ramsey/uuid requirement from ^3.0 to ^4.0 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/157 +* fix pg12 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/158 +* Postgres 12 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/159 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.0.2...5.1.0 + +## 5.0.2 - 2020-03-22 + +### Fixed + +- fix `bindTo` method #155 + +## What's Changed + +* Develop by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/153 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.0.1...5.0.2 + +## 4.2.2 - 2020-03-22 + +### Fixed + +- fix `bindTo` method #155 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/4.2.1...4.2.2 + +## 4.1.4 - 2020-03-22 + +### Fixed + +- fix `bindTo` method #155 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/4.1.3...4.1.4 + +## 4.1.3 - 2020-03-20 + +### Added + +Added a patch from version 4.2.1 #150 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/4.1.2...4.1.3 + +## 5.0.1 - 2020-03-19 + +### Added + +- Added a patch from version 4.2.1 #150 + +## What's Changed + +* add cases by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/148 +* V4.0 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/151 +* Develop by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/152 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/5.0.0...5.0.1 + +## 4.2.1 - 2020-03-19 + +### Fixed + +- Fixed wallet recalculate command #150 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/4.2.0...4.2.1 + +## 5.0.0 - 2020-03-13 + +### Added + +- add support "Arbitrary Precision Mathematics" (`ext-bcmath`) #139 #146 +- add `Mathable` service (helps switch quickly from bcmath to php computing) + +### Changed + +- add unit cases +- upgrade composer packages +- Now all casts are in the config, not in the model. If you use bcmath, then all values are reduced to a string. + +### Removed + +- Strong typing (models, interfaces, etc.) +- all deprecated methods are removed +- `nesbot/carbon` is no longer needed for the library to work + +## What's Changed + +* 5.0.x - Arbitrary Precision Mathematics by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/140 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/4.2.2...5.0.0 + +## 4.2.0 - 2020-03-07 + +### Added + +- Add laravel 7 support + +## What's Changed + +* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/145 +* add support laravel 7.x by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/144 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/4.1.2...4.2.0 ## 4.1.2 - 2020-01-20 -### Added -- add `$amountFloat` to Transaction model - +### Added + +- add `$amountFloat` to Transaction model + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/4.1.1...4.1.2 ## 4.1.1 - 2020-01-16 -### Changed -- upgrade composer packages -- add unit cases - +### Changed + +- upgrade composer packages +- add unit cases + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/4.1.0...4.1.1 ## 4.1.0 - 2019-12-15 -### Added -- Added ability to override type - -## What's Changed -* Update phpstan/phpstan requirement from ^0.11 to ^0.12 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/130 -* Added ability to override type by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/131 - - +### Added + +- Added ability to override type + +## What's Changed + +* Update phpstan/phpstan requirement from ^0.11 to ^0.12 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/130 +* Added ability to override type by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/131 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/4.0.1...4.1.0 ## 4.0.1 - 2019-11-30 -### Fixed -- Encountered error: "You are not the owner of the wallet" #129 [@arjayosma](https://github.com/arjayosma) - -## What's Changed -* Update infection/infection requirement from ^0.14 to ^0.15 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/128 - - +### Fixed + +- Encountered error: "You are not the owner of the wallet" #129 [@arjayosma](https://github.com/arjayosma) + +## What's Changed + +* Update infection/infection requirement from ^0.14 to ^0.15 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/128 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/4.0.0...4.0.1 ## 4.0.0 - 2019-10-04 -### Added -- Added interface `Storeable` for creating your own wallet balance repositories. #103 -- Added support for [pcov](https://pecl.php.net/package/pcov), now coated unit tests work in a few seconds, not minutes. -- Allow developers to inherit classes: `Operation`, `Bring`, etc.. #106 -- Added personal product discounts (see `Discount` interface). -- Added a separate service for working with the connection. It’s not possible to configure flexibly at the moment, wait for new releases. - -### Changed -- The minimum version of php 7.2. -- Old versions of the `laravel/cashier` package have been removed, now support begins with the seventh version. -- New argument `Customer $customer` added to `getAmountProduct` method. #117 [@jlstandout](https://github.com/jlstandout) -- Now for `LockService` you can choose your own (separate) cache. -- Personal discount information has been added to the `transfers` table. Data is not used in the library, but will be needed for the future. -- New argument `Customer $customer` added to `getTotal` method. #117 - -### Fixed -- Giving a gift (Santa) no longer goes into minus due to taxes. #111 -- Upon receipt, the configuration is marked with default values. #117 -- Fixed a bug due to which the wallet could go negative when transferring (exchanging) money, tax. #117 -- A more correct balance change, a bug with a successful update in the database and an unsuccessful update of the balance (race condition) field was fixed. -- Fixed a bug with a purchase without funds and tax. When trying to pay, an exception was thrown. -- Reworked and fixed unit tests, fixed bugs. - -### Deprecated -- `ProxyService` is deprecated and is no longer used. -- `WalletService::getBalance` method is deprecated, use `Storeable::getBalance`. - -## What's Changed -* #103 add storable by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/104 -* Update infection/infection requirement from ^0.13 to ^0.14 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/109 -* Update .travis.yml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/110 -* Santa fee by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/112 -* Pcov by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/114 -* Docs by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/113 -* Update .scrutinizer.yml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/115 -* fix config wallet.lock.cache by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/116 -* add support select database by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/118 -* Add the ability to calculate the price relative to the wallet by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/120 -* Attempt to introduce a discount system into the system by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/119 - - +### Added + +- Added interface `Storeable` for creating your own wallet balance repositories. #103 +- Added support for [pcov](https://pecl.php.net/package/pcov), now coated unit tests work in a few seconds, not minutes. +- Allow developers to inherit classes: `Operation`, `Bring`, etc.. #106 +- Added personal product discounts (see `Discount` interface). +- Added a separate service for working with the connection. It’s not possible to configure flexibly at the moment, wait for new releases. + +### Changed + +- The minimum version of php 7.2. +- Old versions of the `laravel/cashier` package have been removed, now support begins with the seventh version. +- New argument `Customer $customer` added to `getAmountProduct` method. #117 [@jlstandout](https://github.com/jlstandout) +- Now for `LockService` you can choose your own (separate) cache. +- Personal discount information has been added to the `transfers` table. Data is not used in the library, but will be needed for the future. +- New argument `Customer $customer` added to `getTotal` method. #117 + +### Fixed + +- Giving a gift (Santa) no longer goes into minus due to taxes. #111 +- Upon receipt, the configuration is marked with default values. #117 +- Fixed a bug due to which the wallet could go negative when transferring (exchanging) money, tax. #117 +- A more correct balance change, a bug with a successful update in the database and an unsuccessful update of the balance (race condition) field was fixed. +- Fixed a bug with a purchase without funds and tax. When trying to pay, an exception was thrown. +- Reworked and fixed unit tests, fixed bugs. + +### Deprecated + +- `ProxyService` is deprecated and is no longer used. +- `WalletService::getBalance` method is deprecated, use `Storeable::getBalance`. + +## What's Changed + +* #103 add storable by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/104 +* Update infection/infection requirement from ^0.13 to ^0.14 by [@dependabot-preview](https://github.com/dependabot-preview) in https://github.com/bavix/laravel-wallet/pull/109 +* Update .travis.yml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/110 +* Santa fee by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/112 +* Pcov by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/114 +* Docs by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/113 +* Update .scrutinizer.yml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/115 +* fix config wallet.lock.cache by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/116 +* add support select database by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/118 +* Add the ability to calculate the price relative to the wallet by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/120 +* Attempt to introduce a discount system into the system by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/119 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/3.3.0...4.0.0 ## 3.3.0 - 2019-09-19 -### Added -- Added the ability to easily overload the main classes #106 - -## What's Changed -* #106 Extends by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/107 -* #106 #105 add example by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/108 - - +### Added + +- Added the ability to easily overload the main classes #106 + +## What's Changed + +* #106 Extends by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/107 +* #106 #105 add example by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/108 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/3.2.1...3.3.0 ## 3.2.1 - 2019-09-10 -### Fixed -- Fixed calculation of commission for exchange #101 [@haojingliu](https://github.com/haojingliu) -- Update docs #99 [@abishekrsrikaanth](https://github.com/abishekrsrikaanth) - -## What's Changed -* Fee fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/102 - - +### Fixed + +- Fixed calculation of commission for exchange #101 [@haojingliu](https://github.com/haojingliu) +- Update docs #99 [@abishekrsrikaanth](https://github.com/abishekrsrikaanth) + +## What's Changed + +* Fee fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/102 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/3.2.0...3.2.1 ## 3.2.0 - 2019-08-16 -### Added -- Race condition problem resolved #82 [@kak2z7702](https://github.com/kak2z7702) #22 [@sidor555](https://github.com/sidor555) -- Add Code Climate service -- Add support lumen (update docs) - -### Changed -- Optimize code -- More unit tests, test fixes - -## What's Changed -* Atomic Locks by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/84 -* merge infection by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/86 -* Mock by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/90 -* Update .travis.yml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/91 -* updating branch by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/92 -* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/94 -* Update .scrutinizer.yml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/93 -* Race Condition [Atomic Locks] by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/83 -* add doc install lumen framework by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/96 -* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/97 - - +### Added + +- Race condition problem resolved #82 [@kak2z7702](https://github.com/kak2z7702) #22 [@sidor555](https://github.com/sidor555) +- Add Code Climate service +- Add support lumen (update docs) + +### Changed + +- Optimize code +- More unit tests, test fixes + +## What's Changed + +* Atomic Locks by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/84 +* merge infection by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/86 +* Mock by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/90 +* Update .travis.yml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/91 +* updating branch by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/92 +* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/94 +* Update .scrutinizer.yml by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/93 +* Race Condition [Atomic Locks] by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/83 +* add doc install lumen framework by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/96 +* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/97 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/3.1.6...3.2.0 ## 3.1.6 - 2019-08-08 -### Added -- Add support laravel cashier #87 [@imhuso](https://github.com/imhuso) - -## What's Changed -* add infection to composer by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/89 -* Add support Cashier by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/88 - - +### Added + +- Add support laravel cashier #87 [@imhuso](https://github.com/imhuso) + +## What's Changed + +* add infection to composer by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/89 +* Add support Cashier by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/88 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/3.1.5...3.1.6 ## 3.1.5 - 2019-08-07 -### Fixed -- Fixed math rounding (mantissa) #85 [@anthoz69](https://github.com/anthoz69) - -## What's Changed -* add support php 8 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/80 - - +### Fixed + +- Fixed math rounding (mantissa) #85 [@anthoz69](https://github.com/anthoz69) + +## What's Changed + +* add support php 8 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/80 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/3.1.4...3.1.5 ## 3.1.4 - 2019-08-03 -### Added -- Add support `barryvdh/laravel-ide-helper` - -### Fixed -- Fixed receiving `wallets.transfers` relationship [@imhuso](https://github.com/imhuso) - -## What's Changed -* #78 Relations by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/79 - - +### Added + +- Add support `barryvdh/laravel-ide-helper` + +### Fixed + +- Fixed receiving `wallets.transfers` relationship [@imhuso](https://github.com/imhuso) + +## What's Changed + +* #78 Relations by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/79 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/3.1.3...3.1.4 ## 3.1.3 - 2019-07-31 -### Added -- Add support SQLite on command `RefreshBalance` -- Add support laravel 6.0 -- Add support php 7.4 -- Add unit-test's - -## What's Changed -* #75 add support laravel 6.0 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/76 -* Refresh command by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/77 - - +### Added + +- Add support SQLite on command `RefreshBalance` +- Add support laravel 6.0 +- Add support php 7.4 +- Add unit-test's + +## What's Changed + +* #75 add support laravel 6.0 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/76 +* Refresh command by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/77 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/3.1.2...3.1.3 ## 3.1.2 - 2019-07-30 -### Added -- Allow to free buy with a negative balance -- Add parameter `$allowZero` to method `canWithdraw` - -### Fixed -- method canWithdraw, with a negative price, almost always true - +### Added + +- Allow to free buy with a negative balance +- Add parameter `$allowZero` to method `canWithdraw` + +### Fixed + +- method canWithdraw, with a negative price, almost always true + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/3.1.1...3.1.2 ## 3.1.1 - 2019-07-29 -### Added -- Add getCurrencyAttribute -- New unit-test's -- Add docker for php7.4 (need to develop) - -### Changed -- Travis CI -- Update README.md - -### Removed -- Deprecated interface Taxing - -## What's Changed -* Travis CI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/71 -* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/74 - - +### Added + +- Add getCurrencyAttribute +- New unit-test's +- Add docker for php7.4 (need to develop) + +### Changed + +- Travis CI +- Update README.md + +### Removed + +- Deprecated interface Taxing + +## What's Changed + +* Travis CI by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/71 +* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/74 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/3.1.0...3.1.1 ## 3.1.0 - 2019-07-27 -### Added -- Add exchange method's. -- Add confirm method's. -- Add method `hasWallet`, sometimes required to verify wallet existence. -- Add currency service (create usd, eur,...). -- Add `MinimalTaxable`. -- Add `Taxable`. -- New exception's. -- Add decimal places (replacement ratio). - -### Deprecated -- method `calculateBalance`. - -### Changed -- Updated dependencies (composer.json). -- New status `exchange`. - -### Fixed -- Wallet is not always created. #63 #51 -- Migration mariadb, pgsql, mysql. -- Fix documentation. -- Optimize code, fasted 1.1x. - -### Deprecated -- class `Taxing`. - -### Removed -- The ability to change the ratio `coefficient`. -- Removed private and protected methods, the traits turned out to be more clean. - -## What's Changed -* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/52 -* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/53 -* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/54 -* add static by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/55 -* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/66 -* Decimal places by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/67 -* Exchangeable by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/51 - - +### Added + +- Add exchange method's. +- Add confirm method's. +- Add method `hasWallet`, sometimes required to verify wallet existence. +- Add currency service (create usd, eur,...). +- Add `MinimalTaxable`. +- Add `Taxable`. +- New exception's. +- Add decimal places (replacement ratio). + +### Deprecated + +- method `calculateBalance`. + +### Changed + +- Updated dependencies (composer.json). +- New status `exchange`. + +### Fixed + +- Wallet is not always created. #63 #51 +- Migration mariadb, pgsql, mysql. +- Fix documentation. +- Optimize code, fasted 1.1x. + +### Deprecated + +- class `Taxing`. + +### Removed + +- The ability to change the ratio `coefficient`. +- Removed private and protected methods, the traits turned out to be more clean. + +## What's Changed + +* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/52 +* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/53 +* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/54 +* add static by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/55 +* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/66 +* Decimal places by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/67 +* Exchangeable by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/51 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/3.0.4...3.1.0 ## 3.0.4 - 2019-07-22 -### Fixed -- fixed PostgresSQL 11 - -## What's Changed -* fix pg11 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/59 - - +### Fixed + +- fixed PostgresSQL 11 + +## What's Changed + +* fix pg11 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/59 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/3.0.3...3.0.4 ## 3.0.3 - 2019-07-06 -### Fixed -- Fixed creating a wallet with default slug. #57 [@kak2z7702](https://github.com/kak2z7702) - +### Fixed + +- Fixed creating a wallet with default slug. #57 [@kak2z7702](https://github.com/kak2z7702) + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/3.0.2...3.0.3 ## 3.0.2 - 2019-06-17 -### Added -- Add support laravel 5.9 (new name 6.0) -- Add support mariadb: 5.5, 10.0+ -- Add support percona: 5.6 -- Add support mysql: 5.6 - -## What's Changed -* add support mariadb 10.1 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/48 - - +### Added + +- Add support laravel 5.9 (new name 6.0) +- Add support mariadb: 5.5, 10.0+ +- Add support percona: 5.6 +- Add support mysql: 5.6 + +## What's Changed + +* add support mariadb 10.1 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/48 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/3.0.1...3.0.2 ## 3.0.1 - 2019-06-17 -### Fixed -- The shortened syntax for getting the balance did not work. - -## What's Changed -* fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/50 - - +### Fixed + +- The shortened syntax for getting the balance did not work. + +## What's Changed + +* fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/50 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/3.0.0...3.0.1 ## 3.0.0 - 2019-05-24 -### Added -- Add service `CommonService` -- Add service `ProxyService` -- Add service `WalletService` -- Add object Bring (simple transfer) -- Add object Operation (simple transaction) -- Add feature Cart (multi pay + quantity) -- Add method `payFreeCart` -- Add method `safePayCart` -- Add method `payCart` -- Add method `forcePayCart` -- Add method `safeRefundCart` -- Add method `refundCart` -- Add method `forceRefundCart` -- Add method `safeRefundGiftCart` -- Add method `refundGiftCart` -- Add method `forceRefundGiftCart` -- Add method `getUniqueId` to Interface `Product` - -### Changed -- applied fixes from cs-fixer -- change singleton path `bavix.wallet::transaction` to `Bavix\Wallet\Models\Transaction::class` -- change singleton path `bavix.wallet::transfer` to `Bavix\Wallet\Models\Transfer::class` -- change singleton path `bavix.wallet::wallet` to `Bavix\Wallet\Models\Wallet::class` -- change method `canBuy`. Added parameter `$quantity` - -### Removed -- method `calculateBalance`. -- method `holderTransfers`. -- attribute `$status` from Interfaces/Wallet::transfer -- attribute `$status` from Interfaces/Wallet::safeTransfer -- attribute `$status` from Interfaces/Wallet::forceTransfer -- attribute `$status` from Interfaces/WalletFloat::transfer -- attribute `$status` from Interfaces/WalletFloat::safeTransfer -- attribute `$status` from Interfaces/WalletFloat::forceTransfer -- class `Tax` -- class `WalletProxy` -- protected method `checkAmount` -- protected method `assemble` -- protected method `change` -- protected method `holderTransfers` -- protected method `addBalance` - -## What's Changed -* 3.0-dev: Fix bad architecture by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/36 -* 3.0-Dev by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/38 -* 3.1 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/44 -* Docs by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/45 -* 3.0-Dev: Architecture correction by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/40 -* remove changelog from docs by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/46 - - +### Added + +- Add service `CommonService` +- Add service `ProxyService` +- Add service `WalletService` +- Add object Bring (simple transfer) +- Add object Operation (simple transaction) +- Add feature Cart (multi pay + quantity) +- Add method `payFreeCart` +- Add method `safePayCart` +- Add method `payCart` +- Add method `forcePayCart` +- Add method `safeRefundCart` +- Add method `refundCart` +- Add method `forceRefundCart` +- Add method `safeRefundGiftCart` +- Add method `refundGiftCart` +- Add method `forceRefundGiftCart` +- Add method `getUniqueId` to Interface `Product` + +### Changed + +- applied fixes from cs-fixer +- change singleton path `bavix.wallet::transaction` to `Bavix\Wallet\Models\Transaction::class` +- change singleton path `bavix.wallet::transfer` to `Bavix\Wallet\Models\Transfer::class` +- change singleton path `bavix.wallet::wallet` to `Bavix\Wallet\Models\Wallet::class` +- change method `canBuy`. Added parameter `$quantity` + +### Removed + +- method `calculateBalance`. +- method `holderTransfers`. +- attribute `$status` from Interfaces/Wallet::transfer +- attribute `$status` from Interfaces/Wallet::safeTransfer +- attribute `$status` from Interfaces/Wallet::forceTransfer +- attribute `$status` from Interfaces/WalletFloat::transfer +- attribute `$status` from Interfaces/WalletFloat::safeTransfer +- attribute `$status` from Interfaces/WalletFloat::forceTransfer +- class `Tax` +- class `WalletProxy` +- protected method `checkAmount` +- protected method `assemble` +- protected method `change` +- protected method `holderTransfers` +- protected method `addBalance` + +## What's Changed + +* 3.0-dev: Fix bad architecture by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/36 +* 3.0-Dev by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/38 +* 3.1 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/44 +* Docs by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/45 +* 3.0-Dev: Architecture correction by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/40 +* remove changelog from docs by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/46 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/2.4.1...3.0.0 ## 2.4.1 - 2019-05-17 -### Fixed -- Readme.md -- lumen framework - -### Added -- new tests have been added. -- method `refreshBalance`. - -### Deprecated -- method `calculateBalance`. -- method `holderTransfers`. - -## What's Changed -* 2.5-Dev: Bug fixes by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/39 - - +### Fixed + +- Readme.md +- lumen framework + +### Added + +- new tests have been added. +- method `refreshBalance`. + +### Deprecated + +- method `calculateBalance`. +- method `holderTransfers`. + +## What's Changed + +* 2.5-Dev: Bug fixes by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/39 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/2.4.0...2.4.1 ## 2.4.0 - 2019-05-14 -### Added -- Add zh-CN trans. [@MoeCasts](https://github.com/MoeCasts) -- Add ru trans -- Add method `holderTransfers` - -### Changed -- optimize `getWallet` method -- optimize relations wallets - -### Fixed -- fixed getting a default wallet [@MoeCasts](https://github.com/MoeCasts) - -### Removed -- trait CanBePaid (deprecated ^2.2) -- trait CanBePaidFloat (deprecated ^2.2) - -## What's Changed -* Add zh-CN trans by [@moecasts](https://github.com/moecasts) in https://github.com/bavix/laravel-wallet/pull/32 -* 2.4 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/31 - -## New Contributors -* [@moecasts](https://github.com/moecasts) made their first contribution in https://github.com/bavix/laravel-wallet/pull/32 - +### Added + +- Add zh-CN trans. [@MoeCasts](https://github.com/MoeCasts) +- Add ru trans +- Add method `holderTransfers` + +### Changed + +- optimize `getWallet` method +- optimize relations wallets + +### Fixed + +- fixed getting a default wallet [@MoeCasts](https://github.com/MoeCasts) + +### Removed + +- trait CanBePaid (deprecated ^2.2) +- trait CanBePaidFloat (deprecated ^2.2) + +## What's Changed + +* Add zh-CN trans by [@moecasts](https://github.com/moecasts) in https://github.com/bavix/laravel-wallet/pull/32 +* 2.4 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/31 + +## New Contributors + +* [@moecasts](https://github.com/moecasts) made their first contribution in https://github.com/bavix/laravel-wallet/pull/32 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/2.3.2...2.4.0 ## 2.3.2 - 2019-05-13 -### Fixed -- patch migrations - +### Fixed + +- patch migrations + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/2.3.1...2.3.2 ## 2.3.1 - 2019-05-13 -### Added -- Added require dependency doctrine/dbal in composer.json - +### Added + +- Added require dependency doctrine/dbal in composer.json + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/2.3.0...2.3.1 ## 2.3.0 - 2019-05-13 -### Added -- Add support Themosis Framework - -### Changed -- In all the methods of translations have added the status of the transfer. - -### Fixed -- correction of errors during installation is not correct status. - -## What's Changed -* Master to themosis by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/27 -* fix phpunit by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/29 -* Themosis by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/28 -* global upgrade by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/30 - - +### Added + +- Add support Themosis Framework + +### Changed + +- In all the methods of translations have added the status of the transfer. + +### Fixed + +- correction of errors during installation is not correct status. + +## What's Changed + +* Master to themosis by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/27 +* fix phpunit by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/29 +* Themosis by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/28 +* global upgrade by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/30 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/2.2.2...2.3.0 ## 2.2.2 - 2019-05-12 -### Fixed -- fixed fee counting. see issue #25 - -## What's Changed -* Fee fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/26 - - +### Fixed + +- fixed fee counting. see issue #25 + +## What's Changed + +* Fee fix by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/26 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/2.2.1...2.2.2 ## 2.2.1 - 2019-02-17 -### Added -- Add support Laravel 5.8. - +### Added + +- Add support Laravel 5.8. + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/2.2.0...2.2.1 ## 2.2.0 - 2019-01-10 -### Added -- Add trait `CanPay`. -- Add trait `CanPayFloat`. - -### Deprecated -- Trait `CanBePaid`. -- Trait `CanBePaidFloat`. - -## What's Changed -* #19 add CanPay/CanPayFloat by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/20 - - +### Added + +- Add trait `CanPay`. +- Add trait `CanPayFloat`. + +### Deprecated + +- Trait `CanBePaid`. +- Trait `CanBePaidFloat`. + +## What's Changed + +* #19 add CanPay/CanPayFloat by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/20 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/2.1.0...2.2.0 ## 2.1.0 - 2018-11-22 -### Added -- File changelog. -- Add `HasGift` trait. -- Added status column to the `transfers` table. -- Added status_last column to the `transfers` table. -- Added methods: refundGift, safeRefundGift, forceRefundGift -- A new argument is added to the "old `refund`" methods `$gifts`. - -### Fixed -- Due to the addition of new functionality `gifts` -there are possible problems that need to be addressed. -Namely, when returning the goods, -the funds would not be returned to -the person who paid for it. -Which would raise a lot of questions. - -### Changed -- Composer.json: add new keywords. -- the $gifts argument (Boolean type) is added to -the paid, refund, safeRefund, forceRefund method's. - -### Removed -- Removed column `refund` from `transfers` table. -Now it has been replaced by the status column. - +### Added + +- File changelog. +- Add `HasGift` trait. +- Added status column to the `transfers` table. +- Added status_last column to the `transfers` table. +- Added methods: refundGift, safeRefundGift, forceRefundGift +- A new argument is added to the "old `refund`" methods `$gifts`. + +### Fixed + +- Due to the addition of new functionality `gifts` + there are possible problems that need to be addressed. + Namely, when returning the goods, + the funds would not be returned to + the person who paid for it. + Which would raise a lot of questions. + +### Changed + +- Composer.json: add new keywords. +- the $gifts argument (Boolean type) is added to + the paid, refund, safeRefund, forceRefund method's. + +### Removed + +- Removed column `refund` from `transfers` table. + Now it has been replaced by the status column. + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/2.0.1...2.1.0 ## 2.0.1 - 2018-11-21 -### Added -- add method getAvailableBalance. -public getAvailableBalance(): int. - +### Added + +- add method getAvailableBalance. + public getAvailableBalance(): int. + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/2.0.0...2.0.1 ## 2.0.0 - 2018-11-21 -### Added -- table `wallets`. -- add `wallet_id` to table `transactions` and foreign key's. -- add `fee` to table `transfers`. -- add localization's. -- add Taxing interface. -- add WalletFloat interface. -- add const TYPE_DEPOSIT, TYPE_WITHDRAW. -- add Wallet model. -- add working with fractional (float) numbers. -- add method calculateBalance. -- add method payFree. -public payFree(Product $product): Transfer. -- add CanBePaidFloat trait. -- Added the ability to collect Commission -when withdrawing funds in transfers. -- Added the ability to work with multiple wallets. -- Added a class that stores user balance. To avoid any problems. -- add HasWalletFloat trait. -- add HasWallets trait. - -### Changed -- Add $type argument before $amount. -protected change(string $type, int $amount, ?array $meta, bool $confirmed): Transaction. - -### Fixed -- Due to the addition of the ability to buy for free, -there was a bug in which we returned the full cost. -- Due to the addition of the ability to work with -many wallets, there were bugs with payments. -When the user bought the goods and the goods were -assigned to the wallet, not to the user. -This change of method: change, transactions, -transfers, wallet, etc. - -## What's Changed -* upgrade by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/15 -* V1.x by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/16 -* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/17 -* Build 2.0 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/14 - - +### Added + +- table `wallets`. +- add `wallet_id` to table `transactions` and foreign key's. +- add `fee` to table `transfers`. +- add localization's. +- add Taxing interface. +- add WalletFloat interface. +- add const TYPE_DEPOSIT, TYPE_WITHDRAW. +- add Wallet model. +- add working with fractional (float) numbers. +- add method calculateBalance. +- add method payFree. + public payFree(Product $product): Transfer. +- add CanBePaidFloat trait. +- Added the ability to collect Commission + when withdrawing funds in transfers. +- Added the ability to work with multiple wallets. +- Added a class that stores user balance. To avoid any problems. +- add HasWalletFloat trait. +- add HasWallets trait. + +### Changed + +- Add $type argument before $amount. + protected change(string $type, int $amount, ?array $meta, bool $confirmed): Transaction. + +### Fixed + +- Due to the addition of the ability to buy for free, + there was a bug in which we returned the full cost. +- Due to the addition of the ability to work with + many wallets, there were bugs with payments. + When the user bought the goods and the goods were + assigned to the wallet, not to the user. + This change of method: change, transactions, + transfers, wallet, etc. + +## What's Changed + +* upgrade by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/15 +* V1.x by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/16 +* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/17 +* Build 2.0 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/14 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/1.2.3...2.0.0 ## 1.2.3 - 2018-11-11 -### Changed -- readme: Added new features. -- Composer.json: add new keywords. - +### Changed + +- readme: Added new features. +- Composer.json: add new keywords. + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/1.2.2...1.2.3 ## 1.2.2 - 2018-11-10 -### Added -- method public forcePay(Product $product): Transfer. -- method public forceRefund(Product $product): bool. - -### Changed -- the `$force` parameter was added to the `pay` method. -public pay(Product $product, bool $force = false): Transfer. -- the `$force` parameter was added to the `safePay` method. -public safePay(Product $product, bool $force = false): ?Transfer. -- the `$force` parameter was added to the `canBuy` method. -public canBuy(Customer $customer, bool $force = false): bool. -- the `$force` parameter was added to the `refund` method. -public refund(Product $product, bool $force = false): bool. -- the `$force` parameter was added to the `safeRefund` method. -public safeRefund(Product $product, bool $force = false): bool. - -### Fixed -- Fixed magic method. -He accounted for unconfirmed transactions. - -## What's Changed -* add force method's by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/13 - - +### Added + +- method public forcePay(Product $product): Transfer. +- method public forceRefund(Product $product): bool. + +### Changed + +- the `$force` parameter was added to the `pay` method. + public pay(Product $product, bool $force = false): Transfer. +- the `$force` parameter was added to the `safePay` method. + public safePay(Product $product, bool $force = false): ?Transfer. +- the `$force` parameter was added to the `canBuy` method. + public canBuy(Customer $customer, bool $force = false): bool. +- the `$force` parameter was added to the `refund` method. + public refund(Product $product, bool $force = false): bool. +- the `$force` parameter was added to the `safeRefund` method. + public safeRefund(Product $product, bool $force = false): bool. + +### Fixed + +- Fixed magic method. + He accounted for unconfirmed transactions. + +## What's Changed + +* add force method's by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/13 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/1.2.1...1.2.2 ## 1.2.1 - 2018-11-09 -### Added -- check for php 7.3 - -## What's Changed -* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/11 -* patch laravel 5.5 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/12 - - +### Added + +- check for php 7.3 + +## What's Changed + +* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/11 +* patch laravel 5.5 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/12 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/1.2.0...1.2.1 ## 1.2.0 - 2018-11-09 -### Added -- phpunit to the project. - -## What's Changed -* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/10 -* Version 1.2.0 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/9 - - +### Added + +- phpunit to the project. + +## What's Changed + +* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/10 +* Version 1.2.0 by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/9 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/1.1.2...1.2.0 ## 1.1.2 - 2018-11-08 -### Fixed -- Fixed "balance" method. -He counted the amount along with the unconfirmed transactions. - +### Fixed + +- Fixed "balance" method. + He counted the amount along with the unconfirmed transactions. + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/1.1.1...1.1.2 ## 1.1.1 - 2018-11-08 -### Changed -- Update readme. -- New indexes have names for quick removal. - -### Fixed -- Fixed `down` migration method `transfers`. - -## What's Changed -* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/8 - - +### Changed + +- Update readme. +- New indexes have names for quick removal. + +### Fixed + +- Fixed `down` migration method `transfers`. + +## What's Changed + +* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/8 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/1.1.0...1.1.1 ## 1.1.0 - 2018-11-08 -### Added -- Added index for fields in "transfers" table: ['from_type', 'from_id', 'refund']. -- Added index for fields in "transfers" table: ['to_type', 'to_id', 'refund']. -- In the table "transactions" added to the type index. -- Exception ProductEnded -- Method public paid(Product $product): ?Transfer. -- Method public canBuy(Customer $customer): bool. -- Static balance caching. Also the description for what it is necessary. - -### Changed -- In the table "transactions" is deleted the index of the field "uuid" and added a unique index. -- In the table "transfers" is deleted the index of the field "uuid" and added a unique index. -- Method `pay` began to check the possibility of buying. - -### Removed -- public resetBalance(): void - -## What's Changed -* add paid by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/4 -* add canBuy by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/5 -* update method pay by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/6 -* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/7 - - +### Added + +- Added index for fields in "transfers" table: ['from_type', 'from_id', 'refund']. +- Added index for fields in "transfers" table: ['to_type', 'to_id', 'refund']. +- In the table "transactions" added to the type index. +- Exception ProductEnded +- Method public paid(Product $product): ?Transfer. +- Method public canBuy(Customer $customer): bool. +- Static balance caching. Also the description for what it is necessary. + +### Changed + +- In the table "transactions" is deleted the index of the field "uuid" and added a unique index. +- In the table "transfers" is deleted the index of the field "uuid" and added a unique index. +- Method `pay` began to check the possibility of buying. + +### Removed + +- public resetBalance(): void + +## What's Changed + +* add paid by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/4 +* add canBuy by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/5 +* update method pay by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/6 +* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/7 + **Full Changelog**: https://github.com/bavix/laravel-wallet/compare/1.0.0...1.1.0 ## 1.0.0 - 2018-11-07 -### Added -- Added `refund` field to `transfers` table. - -### Changed -- Updated the `refund` method. -The operation is now executed in the transaction and updates the new `refund` field. - -### Deprecated -- public resetBalance(): void - -## What's Changed -* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/2 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/0.0.1...1.0.0 +### Added -## 0.0.1 - 2018-11-07 +- Added `refund` field to `transfers` table. -### Added -- written README. -- Project configuration file created. -- Migration 2018_11_06_222923_create_transactions_table. -- Migration 2018_11_07_192923_create_transfers_table. -- `HasWallet` trait and `Wallet` interface. - - methods: - - private checkAmount(int $amount): void - - public forceWithdraw(int $amount, ?array $meta = null, bool $confirmed = true): Transaction - - public deposit(int $amount, ?array $meta = null, bool $confirmed = true): Transaction - - public withdraw(int $amount, ?array $meta = null, bool $confirmed = true): Transaction - - public canWithdraw(int $amount): bool - - public transfer(Wallet $wallet, int $amount, ?array $meta = null): Transfer - - public safeTransfer(Wallet $wallet, int $amount, ?array $meta = null): ?Transfer - - public forceTransfer(Wallet $wallet, int $amount, ?array $meta = null): Transfer - - protected assemble(Wallet $wallet, Transaction $withdraw, Transaction $deposit): Transfer - - protected change(int $amount, ?array $meta, bool $confirmed): Transaction - - public resetBalance(): void - - relations: - - public transactions(): MorphMany - - public transfers(): MorphMany - - magic property - - public getBalanceAttribute(): int -- `CanBePaid` trait and `Product`, `Costomer` interface's - - methods: - - public pay(Product $product): Transfer - - public safePay(Product $product): ?Transfer - - public refund(Product $product): bool - - public safeRefund(Product $product): bool -- Exceptions: AmountInvalid, BalanceIsEmpty. -- Models: Transfer, Transaction. - -## What's Changed -* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/1 - - -**Full Changelog**: https://github.com/bavix/laravel-wallet/commits/0.0.1 +### Changed + +- Updated the `refund` method. + The operation is now executed in the transaction and updates the new `refund` field. + +### Deprecated + +- public resetBalance(): void +## What's Changed +* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/2 +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/0.0.1...1.0.0 + +## 0.0.1 - 2018-11-07 + +### Added + +- written README. +- Project configuration file created. +- Migration 2018_11_06_222923_create_transactions_table. +- Migration 2018_11_07_192923_create_transfers_table. +- `HasWallet` trait and `Wallet` interface. + - methods: + - private checkAmount(int $amount): void + - public forceWithdraw(int $amount, ?array $meta = null, bool $confirmed = true): Transaction + - public deposit(int $amount, ?array $meta = null, bool $confirmed = true): Transaction + - public withdraw(int $amount, ?array $meta = null, bool $confirmed = true): Transaction + - public canWithdraw(int $amount): bool + - public transfer(Wallet $wallet, int $amount, ?array $meta = null): Transfer + - public safeTransfer(Wallet $wallet, int $amount, ?array $meta = null): ?Transfer + - public forceTransfer(Wallet $wallet, int $amount, ?array $meta = null): Transfer + - protected assemble(Wallet $wallet, Transaction $withdraw, Transaction $deposit): Transfer + - protected change(int $amount, ?array $meta, bool $confirmed): Transaction + - public resetBalance(): void + + - relations: + - public transactions(): MorphMany + - public transfers(): MorphMany + + - magic property + - public getBalanceAttribute(): int + + +- `CanBePaid` trait and `Product`, `Costomer` interface's + - methods: + - public pay(Product $product): Transfer + - public safePay(Product $product): ?Transfer + - public refund(Product $product): bool + - public safeRefund(Product $product): bool + + +- Exceptions: AmountInvalid, BalanceIsEmpty. +- Models: Transfer, Transaction. + +## What's Changed + +* Scrutinizer Auto-Fixes by [@scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer) in https://github.com/bavix/laravel-wallet/pull/1 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/commits/0.0.1 From 8638f52f925bb2ac78b8cbf7a1746715374c26e8 Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Sun, 11 Feb 2024 18:10:53 +0300 Subject: [PATCH 05/30] github actions --- .github/workflows/code-quality.yaml | 4 ++-- .github/workflows/code-style.yaml | 4 ++-- .github/workflows/deptrac.yaml | 4 ++-- .github/workflows/docs.yaml | 2 +- .github/workflows/phpstan.yaml | 4 ++-- .github/workflows/phpunits.yaml | 4 ++-- .github/workflows/rector.yaml | 4 ++-- .github/workflows/semgrep.yml | 4 ++-- 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/code-quality.yaml b/.github/workflows/code-quality.yaml index 1e150b30a..57eac6b47 100644 --- a/.github/workflows/code-quality.yaml +++ b/.github/workflows/code-quality.yaml @@ -2,9 +2,9 @@ name: Qodana on: workflow_dispatch: push: - branches: [ master ] + branches: [ 10.x ] pull_request: - branches: [ master ] + branches: [ 10.x ] jobs: qodana: diff --git a/.github/workflows/code-style.yaml b/.github/workflows/code-style.yaml index 51dc2272a..1addacba9 100644 --- a/.github/workflows/code-style.yaml +++ b/.github/workflows/code-style.yaml @@ -2,9 +2,9 @@ name: code-style on: push: - branches: [ master ] + branches: [ 10.x ] pull_request: - branches: [ master ] + branches: [ 10.x ] jobs: ecs: diff --git a/.github/workflows/deptrac.yaml b/.github/workflows/deptrac.yaml index 13769bde1..64cc3465f 100644 --- a/.github/workflows/deptrac.yaml +++ b/.github/workflows/deptrac.yaml @@ -2,9 +2,9 @@ name: deptrac on: push: - branches: [ master ] + branches: [ 10.x ] pull_request: - branches: [ master ] + branches: [ 10.x ] jobs: deptrac: diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index ff24d585b..77a5ba4af 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -2,7 +2,7 @@ name: build docs on: pull_request: - branches: [ master ] + branches: [ 10.x ] jobs: build_pages: diff --git a/.github/workflows/phpstan.yaml b/.github/workflows/phpstan.yaml index befbf417a..a217b4c98 100644 --- a/.github/workflows/phpstan.yaml +++ b/.github/workflows/phpstan.yaml @@ -2,9 +2,9 @@ name: phpstan on: push: - branches: [ master ] + branches: [ 10.x ] pull_request: - branches: [ master ] + branches: [ 10.x ] jobs: phpstan: diff --git a/.github/workflows/phpunits.yaml b/.github/workflows/phpunits.yaml index 3da3d2e9b..bf133e28b 100644 --- a/.github/workflows/phpunits.yaml +++ b/.github/workflows/phpunits.yaml @@ -2,9 +2,9 @@ name: phpunits on: push: - branches: [ master ] + branches: [ 10.x ] pull_request: - branches: [ master ] + branches: [ 10.x ] env: MEMCACHED_HOST: localhost diff --git a/.github/workflows/rector.yaml b/.github/workflows/rector.yaml index 2739226cc..4bfaae27c 100644 --- a/.github/workflows/rector.yaml +++ b/.github/workflows/rector.yaml @@ -2,9 +2,9 @@ name: rector on: push: - branches: [ master ] + branches: [ 10.x ] pull_request: - branches: [ master ] + branches: [ 10.x ] jobs: rector: diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index e900f715a..0d0cd01dd 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -2,9 +2,9 @@ name: semgrep on: push: - branches: [ master ] + branches: [ 10.x ] pull_request: - branches: [ master ] + branches: [ 10.x ] jobs: semgrep: From 977086d82d70ff9ff95d3774127db7f9a076e157 Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Sun, 11 Feb 2024 18:12:36 +0300 Subject: [PATCH 06/30] autofix --- .github/workflows/autofix.yaml | 89 +++++++++++++++++++++++++++++++ .github/workflows/code-style.yaml | 41 -------------- .github/workflows/rector.yaml | 41 -------------- 3 files changed, 89 insertions(+), 82 deletions(-) create mode 100644 .github/workflows/autofix.yaml delete mode 100644 .github/workflows/code-style.yaml delete mode 100644 .github/workflows/rector.yaml diff --git a/.github/workflows/autofix.yaml b/.github/workflows/autofix.yaml new file mode 100644 index 000000000..123dba7b1 --- /dev/null +++ b/.github/workflows/autofix.yaml @@ -0,0 +1,89 @@ +name: fixer + +on: + push: + branches: [ 10.x ] + pull_request: + branches: [ 10.x ] + +jobs: + autofix: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: 8.1 + extensions: mbstring, pgsql, mysql, sqlite, redis, memcached, bcmath + coverage: pcov + env: + runner: self-hosted + + - name: Validate composer.json and composer.lock + run: composer validate --strict + + - name: Cache Composer packages + id: composer-cache + uses: actions/cache@v4 + with: + path: vendor + key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} + restore-keys: | + ${{ runner.os }}-php- + + - name: Install dependencies + run: composer install --prefer-dist --no-progress + + - name: Run rector-fix + run: composer rector-fix + + - name: Run ecs-fix + run: composer ecs-fix + + - name: Run rector + run: composer rector + + - name: Run ecs + run: composer ecs + + - name: Run parabench + run: composer parabench + + - name: "Check if build has changed" + if: success() + id: has-changes + run: | + echo "stdout<> $GITHUB_OUTPUT + echo "$(git diff --stat)" >> $GITHUB_OUTPUT + echo 'EOF' >> $GITHUB_OUTPUT + + - name: Import GPG key + if: ${{ steps.has-changes.outputs.stdout }} + uses: crazy-max/ghaction-import-gpg@v6 + with: + gpg_private_key: ${{ secrets.GPG_BOT }} + passphrase: ${{ secrets.GPG_PASSPHRASE }} + fingerprint: ${{ secrets.GPG_FINGERPRINT }} + git_config_global: true + git_user_signingkey: true + git_commit_gpgsign: true + git_committer_name: Github bot + git_committer_email: bot@babichev.net + + - name: "Commit files" + if: ${{ steps.has-changes.outputs.stdout }} + env: + GH_TOKEN: ${{ secrets.BOT_TOKEN }} + run: | + gh pr checkout ${{ github.event.pull_request.number }} + git commit -S -m "autofix" -a + + - name: "Push changes" + if: ${{ steps.has-changes.outputs.stdout }} + env: + GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }} + run: git push -u origin HEAD \ No newline at end of file diff --git a/.github/workflows/code-style.yaml b/.github/workflows/code-style.yaml deleted file mode 100644 index 1addacba9..000000000 --- a/.github/workflows/code-style.yaml +++ /dev/null @@ -1,41 +0,0 @@ -name: code-style - -on: - push: - branches: [ 10.x ] - pull_request: - branches: [ 10.x ] - -jobs: - ecs: - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: 8.1 - extensions: bcmath - env: - runner: self-hosted - - - name: Validate composer.json and composer.lock - run: composer validate --strict - - - name: Cache Composer packages - id: composer-cache - uses: actions/cache@v4 - with: - path: vendor - key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} - restore-keys: | - ${{ runner.os }}-php- - - - name: Install dependencies - run: composer install --prefer-dist --no-progress - - - name: Run ecs - run: composer ecs diff --git a/.github/workflows/rector.yaml b/.github/workflows/rector.yaml deleted file mode 100644 index 4bfaae27c..000000000 --- a/.github/workflows/rector.yaml +++ /dev/null @@ -1,41 +0,0 @@ -name: rector - -on: - push: - branches: [ 10.x ] - pull_request: - branches: [ 10.x ] - -jobs: - rector: - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: 8.1 - extensions: bcmath - env: - runner: self-hosted - - - name: Validate composer.json and composer.lock - run: composer validate --strict - - - name: Cache Composer packages - id: composer-cache - uses: actions/cache@v4 - with: - path: vendor - key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} - restore-keys: | - ${{ runner.os }}-php- - - - name: Install dependencies - run: composer install --prefer-dist --no-progress - - - name: Run rector - run: composer rector From cdd2b6dd21eedf113d79707174947f733d6183d8 Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Sun, 11 Feb 2024 18:13:28 +0300 Subject: [PATCH 07/30] phpstan baseline --- phpstan.src.baseline.neon | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpstan.src.baseline.neon b/phpstan.src.baseline.neon index 4b7b1f4ad..b64dd3355 100644 --- a/phpstan.src.baseline.neon +++ b/phpstan.src.baseline.neon @@ -82,7 +82,7 @@ parameters: - message: "#^Parameter \\#1 \\$related of method Illuminate\\\\Database\\\\Eloquent\\\\Model\\:\\:hasMany\\(\\) expects string, mixed given\\.$#" - count: 4 + count: 5 path: src/Models/Wallet.php - From 37acbee74d137fb202aa6a9a1c53d7c4eaa35aea Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Sun, 11 Feb 2024 18:21:18 +0300 Subject: [PATCH 08/30] fixes --- composer.json | 13 +++++++------ tests/Infra/PackageModels/TransactionMoney.php | 4 ++-- tests/Infra/Values/Money.php | 14 ++++++++++++++ tests/Units/Domain/WalletExtensionTest.php | 4 ++-- 4 files changed, 25 insertions(+), 10 deletions(-) create mode 100644 tests/Infra/Values/Money.php diff --git a/composer.json b/composer.json index e8d99e14d..dd55a1c12 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,8 @@ "wallet", "payments" ], - "minimum-stability": "stable", + "minimum-stability": "dev", + "prefer-stable": true, "homepage": "https://bavix.github.io/laravel-wallet/", "license": "MIT", "authors": [ @@ -26,14 +27,12 @@ "ext-json": "*", "ext-pdo": "*", "brick/math": "~0.10", - "doctrine/dbal": "^3.5", - "illuminate/contracts": "^10.0", - "illuminate/database": "^10.0", + "illuminate/contracts": "^10.0|^11.0", + "illuminate/database": "^10.0|^11.0", "ramsey/uuid": "^4.0" }, "require-dev": { "brianium/paratest": "^7.2", - "cknow/laravel-money": "^7.1", "ergebnis/phpstan-rules": "^1.0", "infection/infection": "~0.27", "laravel/cashier": "^15.0", @@ -47,7 +46,9 @@ }, "suggest": { "bavix/laravel-wallet-swap": "Addition to the laravel-wallet library for quick setting of exchange rates", - "bavix/laravel-wallet-warmup": "Addition to the laravel-wallet library for refresh balance wallets" + "bavix/laravel-wallet-uuid": "Addition to the laravel-wallet library uuid support in laravel-wallet", + "bavix/laravel-wallet-warmup": "Addition to the laravel-wallet library for refresh balance wallets", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^3.5.1)." }, "autoload": { "psr-4": { diff --git a/tests/Infra/PackageModels/TransactionMoney.php b/tests/Infra/PackageModels/TransactionMoney.php index 13dcd28ed..b9dfc13b4 100644 --- a/tests/Infra/PackageModels/TransactionMoney.php +++ b/tests/Infra/PackageModels/TransactionMoney.php @@ -4,7 +4,7 @@ namespace Bavix\Wallet\Test\Infra\PackageModels; -use Cknow\Money\Money; +use Bavix\Wallet\Test\Infra\Values\Money; /** * Class Transaction. @@ -17,7 +17,7 @@ final class TransactionMoney extends \Bavix\Wallet\Models\Transaction public function getCurrencyAttribute(): Money { - $this->currency ??= \money($this->amount, $this->meta['currency'] ?? 'USD'); + $this->currency ??= new Money($this->amount, $this->meta['currency'] ?? 'USD'); return $this->currency; } diff --git a/tests/Infra/Values/Money.php b/tests/Infra/Values/Money.php new file mode 100644 index 000000000..49cc06be5 --- /dev/null +++ b/tests/Infra/Values/Money.php @@ -0,0 +1,14 @@ +getKey() > 0); self::assertSame($transaction->amountInt, $buyer->balanceInt); self::assertInstanceOf(TransactionMoney::class, $transaction); - self::assertSame('1000', $transaction->currency->getAmount()); - self::assertSame('EUR', $transaction->currency->getCurrency()->getCode()); + self::assertSame('1000', $transaction->currency->amount); + self::assertSame('EUR', $transaction->currency->currency); } public function testNoCustomAttribute(): void From 2852e717a86f96e6cf67c9e3dcc897bd8fb50482 Mon Sep 17 00:00:00 2001 From: Github bot Date: Sun, 11 Feb 2024 15:22:10 +0000 Subject: [PATCH 09/30] autofix --- src/Models/Wallet.php | 10 +++++----- tests/Units/Domain/DiscountTest.php | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Models/Wallet.php b/src/Models/Wallet.php index 814513c7e..358e20b34 100644 --- a/src/Models/Wallet.php +++ b/src/Models/Wallet.php @@ -159,11 +159,6 @@ public function getCurrencyAttribute(): string return $this->meta['currency'] ?? Str::upper($this->slug); } - protected function initializeMorphOneWallet(): void - { - $this->uuid = app(UuidFactoryServiceInterface::class)->uuid4(); - } - /** * returns all the receiving transfers to this wallet. * @@ -173,4 +168,9 @@ public function receivedTransfers(): HasMany { return $this->hasMany(config('wallet.transfer.model', Transfer::class), 'to_id'); } + + protected function initializeMorphOneWallet(): void + { + $this->uuid = app(UuidFactoryServiceInterface::class)->uuid4(); + } } diff --git a/tests/Units/Domain/DiscountTest.php b/tests/Units/Domain/DiscountTest.php index 87e7ca86e..8d4b9d95a 100644 --- a/tests/Units/Domain/DiscountTest.php +++ b/tests/Units/Domain/DiscountTest.php @@ -13,9 +13,9 @@ use Bavix\Wallet\Test\Infra\Factories\ItemDiscountFactory; use Bavix\Wallet\Test\Infra\Models\Buyer; use Bavix\Wallet\Test\Infra\Models\ItemDiscount; -use Bavix\Wallet\Test\Infra\TestCase; use Bavix\Wallet\Test\Infra\PackageModels\Transaction as InfraTransaction; use Bavix\Wallet\Test\Infra\PackageModels\Wallet as InfraWallet; +use Bavix\Wallet\Test\Infra\TestCase; /** * @internal From 7df0bd34b76710f68997030f1247bd50e5f85e44 Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Sun, 11 Feb 2024 18:23:27 +0300 Subject: [PATCH 10/30] working on laravel11 support --- .github/workflows/phpunits.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/phpunits.yaml b/.github/workflows/phpunits.yaml index bf133e28b..001d37801 100644 --- a/.github/workflows/phpunits.yaml +++ b/.github/workflows/phpunits.yaml @@ -19,6 +19,7 @@ jobs: strategy: matrix: php-versions: [8.1, 8.2, 8.3] + stability: [prefer-lowest, prefer-stable] databases: [testing, pgsql, mysql, mariadb] caches: [array, redis, memcached, database] locks: [redis, memcached] @@ -115,7 +116,7 @@ jobs: - name: Install dependencies id: composer-dependencies - run: composer install --prefer-dist --no-progress + run: composer install --${{ matrix.stability }} --no-progress - name: Check codeclimate id: codeclimate-check From 95ff6b7741b731e3d1fef5ef8b6b79f0226231a2 Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Sun, 11 Feb 2024 18:28:48 +0300 Subject: [PATCH 11/30] update require-dev --- composer.json | 12 +++++----- phpstan.common.neon | 58 +++------------------------------------------ phpstan.src.neon | 46 ++++++++++++++++++++--------------- phpstan.tests.neon | 57 +++++++++++++++++++++++++------------------- 4 files changed, 69 insertions(+), 104 deletions(-) diff --git a/composer.json b/composer.json index dd55a1c12..c924d048b 100644 --- a/composer.json +++ b/composer.json @@ -32,15 +32,15 @@ "ramsey/uuid": "^4.0" }, "require-dev": { - "brianium/paratest": "^7.2", - "ergebnis/phpstan-rules": "^1.0", + "brianium/paratest": "^7.4", + "ergebnis/phpstan-rules": "^2.1", "infection/infection": "~0.27", "laravel/cashier": "^15.0", - "nunomaduro/collision": "^7.7", - "nunomaduro/larastan": "^2.6", - "orchestra/testbench": "^8.5", + "nunomaduro/collision": "^7.7|^8.0", + "larastan/larastan": "^2.8", + "orchestra/testbench": "^8.21|^9.0", "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^10.2", + "phpunit/phpunit": "^10.5", "rector/rector": "^0.19", "symplify/easy-coding-standard": "^12.0" }, diff --git a/phpstan.common.neon b/phpstan.common.neon index 8d97ee03a..5e647514c 100644 --- a/phpstan.common.neon +++ b/phpstan.common.neon @@ -1,60 +1,8 @@ includes: - - vendor/nunomaduro/larastan/extension.neon + - vendor/larastan/larastan/extension.neon + - vendor/ergebnis/phpstan-rules/rules.neon parameters: level: 9 fileExtensions: - - php - -parametersSchema: - ergebnis: structure([ - allowAbstractClasses: bool() - classesAllowedToBeExtended: listOf(string()) - classesNotRequiredToBeAbstractOrFinal: listOf(string()) - interfacesImplementedByContainers: listOf(string()) - ]) - -rules: - - Ergebnis\PHPStan\Rules\Closures\NoNullableReturnTypeDeclarationRule - - Ergebnis\PHPStan\Rules\Closures\NoParameterWithNullableTypeDeclarationRule - - Ergebnis\PHPStan\Rules\Expressions\NoCompactRule - - Ergebnis\PHPStan\Rules\Expressions\NoEmptyRule - - Ergebnis\PHPStan\Rules\Expressions\NoErrorSuppressionRule - - Ergebnis\PHPStan\Rules\Expressions\NoEvalRule - - Ergebnis\PHPStan\Rules\Expressions\NoIssetRule - - Ergebnis\PHPStan\Rules\Files\DeclareStrictTypesRule - - Ergebnis\PHPStan\Rules\Functions\NoNullableReturnTypeDeclarationRule - - Ergebnis\PHPStan\Rules\Functions\NoParameterWithNullableTypeDeclarationRule - - Ergebnis\PHPStan\Rules\Functions\NoParameterWithNullDefaultValueRule - - Ergebnis\PHPStan\Rules\Methods\FinalInAbstractClassRule - - Ergebnis\PHPStan\Rules\Methods\NoConstructorParameterWithDefaultValueRule - - Ergebnis\PHPStan\Rules\Methods\PrivateInFinalClassRule - - Ergebnis\PHPStan\Rules\Statements\NoSwitchRule - -services: - - - class: Ergebnis\PHPStan\Rules\Classes\FinalRule - arguments: - allowAbstractClasses: %ergebnis.allowAbstractClasses% - classesNotRequiredToBeAbstractOrFinal: %ergebnis.classesNotRequiredToBeAbstractOrFinal% - tags: - - phpstan.rules.rule - - - - class: Ergebnis\PHPStan\Rules\Classes\NoExtendsRule - arguments: - classesAllowedToBeExtended: %ergebnis.classesAllowedToBeExtended% - tags: - - phpstan.rules.rule - - - - class: Ergebnis\PHPStan\Rules\Classes\PHPUnit\Framework\TestCaseWithSuffixRule - tags: - - phpstan.rules.rule - - - - class: Ergebnis\PHPStan\Rules\Methods\NoParameterWithContainerTypeDeclarationRule - arguments: - interfacesImplementedByContainers: %ergebnis.interfacesImplementedByContainers% - tags: - - phpstan.rules.rule + - php \ No newline at end of file diff --git a/phpstan.src.neon b/phpstan.src.neon index 7952daa9c..1ecc9585d 100644 --- a/phpstan.src.neon +++ b/phpstan.src.neon @@ -7,24 +7,32 @@ parameters: fileExtensions: - php ergebnis: - allowAbstractClasses: true - classesAllowedToBeExtended: - # laravel - - Illuminate\Support\ServiceProvider - - Illuminate\Database\Eloquent\Model + noParameterWithNullableTypeDeclaration: + enabled: false + noNullableReturnTypeDeclaration: + enabled: false + noParameterWithNullDefaultValue: + enabled: false + final: + allowAbstractClasses: true + classesNotRequiredToBeAbstractOrFinal: + - Bavix\Wallet\Models\Wallet + - Bavix\Wallet\Models\Transfer + - Bavix\Wallet\Models\Transaction + noExtends: + classesAllowedToBeExtended: + # laravel + - Illuminate\Support\ServiceProvider + - Illuminate\Database\Eloquent\Model - # php exceptions - - LogicException - - RuntimeException - - UnderflowException - - UnexpectedValueException - - InvalidArgumentException - - classesNotRequiredToBeAbstractOrFinal: - - Bavix\Wallet\Models\Wallet - - Bavix\Wallet\Models\Transfer - - Bavix\Wallet\Models\Transaction - interfacesImplementedByContainers: - - Psr\Container\ContainerInterface + # php exceptions + - LogicException + - RuntimeException + - UnderflowException + - UnexpectedValueException + - InvalidArgumentException + noParameterWithContainerTypeDeclaration: + interfacesImplementedByContainers: + - Psr\Container\ContainerInterface paths: - - src/ + - src/ \ No newline at end of file diff --git a/phpstan.tests.neon b/phpstan.tests.neon index 85854cf85..206a2032c 100644 --- a/phpstan.tests.neon +++ b/phpstan.tests.neon @@ -9,32 +9,41 @@ parameters: fileExtensions: - php ergebnis: - allowAbstractClasses: false - classesAllowedToBeExtended: - # laravel - - Illuminate\Support\ServiceProvider - - Illuminate\Database\Eloquent\Model - - Illuminate\Database\Migrations\Migration - - Illuminate\Database\Eloquent\Factories\Factory + noParameterWithNullableTypeDeclaration: + enabled: false + noNullableReturnTypeDeclaration: + enabled: false + noParameterWithNullDefaultValue: + enabled: false + final: + allowAbstractClasses: false + classesNotRequiredToBeAbstractOrFinal: + - Bavix\Wallet\Models\Wallet + - Bavix\Wallet\Models\Transfer + - Bavix\Wallet\Models\Transaction + noExtends: + classesAllowedToBeExtended: + # laravel + - Illuminate\Support\ServiceProvider + - Illuminate\Database\Eloquent\Model + - Illuminate\Database\Migrations\Migration + - Illuminate\Database\Eloquent\Factories\Factory - # php exceptions - - RuntimeException - - InvalidArgumentException + # php exceptions + - RuntimeException + - InvalidArgumentException - # phpunit - - Orchestra\Testbench\TestCase - - Bavix\Wallet\Test\Infra\TestCase + # phpunit + - Orchestra\Testbench\TestCase + - Bavix\Wallet\Test\Infra\TestCase - # wallet - - Bavix\Wallet\Models\Wallet - - Bavix\Wallet\Models\Transfer - - Bavix\Wallet\Models\Transaction + # wallet + - Bavix\Wallet\Models\Wallet + - Bavix\Wallet\Models\Transfer + - Bavix\Wallet\Models\Transaction - classesNotRequiredToBeAbstractOrFinal: - - Bavix\Wallet\Models\Wallet - - Bavix\Wallet\Models\Transfer - - Bavix\Wallet\Models\Transaction - interfacesImplementedByContainers: - - Psr\Container\ContainerInterface + noParameterWithContainerTypeDeclaration: + interfacesImplementedByContainers: + - Psr\Container\ContainerInterface paths: - - tests/ + - tests/ \ No newline at end of file From a13ddac56151588cfbb6ded9631601066790ac6b Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Sun, 11 Feb 2024 18:29:55 +0300 Subject: [PATCH 12/30] fix composer install --- .github/workflows/phpunits.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/phpunits.yaml b/.github/workflows/phpunits.yaml index 001d37801..47600a10b 100644 --- a/.github/workflows/phpunits.yaml +++ b/.github/workflows/phpunits.yaml @@ -116,7 +116,7 @@ jobs: - name: Install dependencies id: composer-dependencies - run: composer install --${{ matrix.stability }} --no-progress + run: composer update --${{ matrix.stability }} --prefer-dist --no-progress - name: Check codeclimate id: codeclimate-check From 95b4efcfc354006c1a34a53d7a05b7b95a20c2b7 Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Sun, 11 Feb 2024 18:30:54 +0300 Subject: [PATCH 13/30] revert update brianium/paratest --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index c924d048b..03d474f77 100644 --- a/composer.json +++ b/composer.json @@ -32,7 +32,7 @@ "ramsey/uuid": "^4.0" }, "require-dev": { - "brianium/paratest": "^7.4", + "brianium/paratest": "^7.2", "ergebnis/phpstan-rules": "^2.1", "infection/infection": "~0.27", "laravel/cashier": "^15.0", From d218605575983bfcde0c185cb5f318d7443cd2c3 Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Sun, 11 Feb 2024 18:38:40 +0300 Subject: [PATCH 14/30] update mariadb --- .github/workflows/phpunits.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/phpunits.yaml b/.github/workflows/phpunits.yaml index 47600a10b..1f4b3f284 100644 --- a/.github/workflows/phpunits.yaml +++ b/.github/workflows/phpunits.yaml @@ -74,7 +74,7 @@ jobs: - 3306:3306 mariadb: - image: mariadb:10.5 + image: mariadb:10.10 env: MYSQL_ROOT_PASSWORD: wallet MYSQL_DATABASE: wallet From 3b620ec662f1962207b8c654e860dfa11ebbfd26 Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Sun, 11 Feb 2024 18:40:07 +0300 Subject: [PATCH 15/30] update rector --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 03d474f77..3aeca726a 100644 --- a/composer.json +++ b/composer.json @@ -41,7 +41,7 @@ "orchestra/testbench": "^8.21|^9.0", "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^10.5", - "rector/rector": "^0.19", + "rector/rector": "^1.0", "symplify/easy-coding-standard": "^12.0" }, "suggest": { From 4d9a125708c5080421859406fc3cc8405399971c Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Sun, 11 Feb 2024 18:43:13 +0300 Subject: [PATCH 16/30] brianium/paratest ^7.3 --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 3aeca726a..e28961bf6 100644 --- a/composer.json +++ b/composer.json @@ -32,7 +32,7 @@ "ramsey/uuid": "^4.0" }, "require-dev": { - "brianium/paratest": "^7.2", + "brianium/paratest": "^7.3", "ergebnis/phpstan-rules": "^2.1", "infection/infection": "~0.27", "laravel/cashier": "^15.0", From b3e879b2ae03fa28bcb5fdeb55e097422f81f879 Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Sun, 11 Feb 2024 18:46:30 +0300 Subject: [PATCH 17/30] brianium/paratest ^7.3 --- .github/workflows/phpunits.yaml | 2 +- composer.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/phpunits.yaml b/.github/workflows/phpunits.yaml index 1f4b3f284..175fc3025 100644 --- a/.github/workflows/phpunits.yaml +++ b/.github/workflows/phpunits.yaml @@ -120,7 +120,7 @@ jobs: - name: Check codeclimate id: codeclimate-check - run: echo "execute=${{ matrix.php-versions == '8.2' && matrix.caches == 'array' && matrix.databases == 'testing' }}" >> $GITHUB_OUTPUT + run: echo "execute=${{ matrix.php-versions == '8.3' && matrix.caches == 'array' && matrix.databases == 'testing' }}" >> $GITHUB_OUTPUT - name: Prepare codeclimate id: codeclimate-prepare diff --git a/composer.json b/composer.json index e28961bf6..27a3253ba 100644 --- a/composer.json +++ b/composer.json @@ -36,7 +36,7 @@ "ergebnis/phpstan-rules": "^2.1", "infection/infection": "~0.27", "laravel/cashier": "^15.0", - "nunomaduro/collision": "^7.7|^8.0", + "nunomaduro/collision": "^7.8|^8.0", "larastan/larastan": "^2.8", "orchestra/testbench": "^8.21|^9.0", "phpstan/phpstan": "^1.10", From 4359ce80efd17e6efc7e8f62b437ba1df94fab63 Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Sun, 11 Feb 2024 19:08:15 +0300 Subject: [PATCH 18/30] revert minimum-stability --- composer.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 27a3253ba..23360fce2 100644 --- a/composer.json +++ b/composer.json @@ -12,8 +12,7 @@ "wallet", "payments" ], - "minimum-stability": "dev", - "prefer-stable": true, + "minimum-stability": "stable", "homepage": "https://bavix.github.io/laravel-wallet/", "license": "MIT", "authors": [ From eed73be0e2509b253282fe156b783eacbbbfb053 Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Sun, 11 Feb 2024 19:08:53 +0300 Subject: [PATCH 19/30] update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 28ad79152..e66e1243b 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ laravel-wallet - Easy work with virtual wallet. | 7.x | ^6.0,^7.0,^8.0 | 7.4,8.0,8.1 | Nov 25, 2021 | Mar 1, 2022 | Sep 6, 2022 | | 8.x | ^9.0 | 8.0,8.1 | Feb 8, 2022 | May 1, 2022 | Jun 1, 2022 | | 9.x [LTS] | ^9.0,^10.0 | 8.0,8.1,8.2,8.3 | May 2, 2022 | Feb 1, 2023 | Feb 6, 2024 | -| 10.x [LTS] | ^10.0 | 8.1,8.2,8.3 | Jul 8, 2023 | May 1, 2024 | Feb 4, 2025 | +| 10.x [LTS] | ^10.0,^11.0 | 8.1,8.2,8.3 | Jul 8, 2023 | May 1, 2024 | Feb 4, 2025 | ### Upgrade Guide From 783219834022978fbdbde5fce48d0a44a0476cc5 Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Sat, 9 Mar 2024 18:16:06 +0300 Subject: [PATCH 20/30] fix initializeMorphOneWallet --- src/Models/Wallet.php | 2 +- tests/Units/Domain/EagerLoadingTest.php | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Models/Wallet.php b/src/Models/Wallet.php index 814513c7e..51f32a853 100644 --- a/src/Models/Wallet.php +++ b/src/Models/Wallet.php @@ -161,7 +161,7 @@ public function getCurrencyAttribute(): string protected function initializeMorphOneWallet(): void { - $this->uuid = app(UuidFactoryServiceInterface::class)->uuid4(); + $this->uuid ??= app(UuidFactoryServiceInterface::class)->uuid4(); } /** diff --git a/tests/Units/Domain/EagerLoadingTest.php b/tests/Units/Domain/EagerLoadingTest.php index 3df738a08..bc1094e53 100644 --- a/tests/Units/Domain/EagerLoadingTest.php +++ b/tests/Units/Domain/EagerLoadingTest.php @@ -22,11 +22,14 @@ final class EagerLoadingTest extends TestCase { public function testUuidDuplicate(): void { + $expected = []; + /** @var Collection $buyerTimes */ $buyerTimes = BuyerFactory::times(10)->create(); foreach ($buyerTimes as $buyerTime) { self::assertTrue($buyerTime->wallet->relationLoaded('holder')); $buyerTime->deposit(100); + $expected[] = $buyerTime->wallet->uuid; } /** @var Collection $buyers */ @@ -47,6 +50,7 @@ public function testUuidDuplicate(): void self::assertCount(10, array_unique($uuids)); self::assertCount(1, array_unique($balances)); + self::assertEquals($expected, $uuids); } public function testTransferTransactions(): void From ab1ee5899d32c61de0e6b6443668fc6efa077ce4 Mon Sep 17 00:00:00 2001 From: Github bot Date: Sat, 9 Mar 2024 15:18:33 +0000 Subject: [PATCH 21/30] Update changelog.md --- changelog.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/changelog.md b/changelog.md index e5c7deb34..37366a1c3 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,13 @@ # Changelog +## 10.1.4 - 2024-03-09 + +### What's Changed + +* [10.x] fix initializeMorphOneWallet by [@rez1dent3](https://github.com/rez1dent3) in https://github.com/bavix/laravel-wallet/pull/905 + +**Full Changelog**: https://github.com/bavix/laravel-wallet/compare/10.1.3...10.1.4 + ## 10.1.3 - 2024-02-01 ### What's Changed @@ -2182,11 +2190,17 @@ Added a patch from version 4.2.1 #150 ### Added - written README. + - Project configuration file created. + - Migration 2018_11_06_222923_create_transactions_table. + - Migration 2018_11_07_192923_create_transfers_table. + - `HasWallet` trait and `Wallet` interface. + - methods: + - private checkAmount(int $amount): void - public forceWithdraw(int $amount, ?array $meta = null, bool $confirmed = true): Transaction - public deposit(int $amount, ?array $meta = null, bool $confirmed = true): Transaction @@ -2200,14 +2214,17 @@ Added a patch from version 4.2.1 #150 - public resetBalance(): void - relations: + - public transactions(): MorphMany - public transfers(): MorphMany - magic property + - public getBalanceAttribute(): int - `CanBePaid` trait and `Product`, `Costomer` interface's + - methods: - public pay(Product $product): Transfer - public safePay(Product $product): ?Transfer @@ -2216,7 +2233,9 @@ Added a patch from version 4.2.1 #150 - Exceptions: AmountInvalid, BalanceIsEmpty. + - Models: Transfer, Transaction. + ## What's Changed From 64484fbb7930131062baff8eff9fccb798ef67b9 Mon Sep 17 00:00:00 2001 From: Github bot Date: Sat, 9 Mar 2024 15:27:09 +0000 Subject: [PATCH 22/30] autofix --- src/Models/Wallet.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Models/Wallet.php b/src/Models/Wallet.php index 51f32a853..9cec8c5a4 100644 --- a/src/Models/Wallet.php +++ b/src/Models/Wallet.php @@ -159,11 +159,6 @@ public function getCurrencyAttribute(): string return $this->meta['currency'] ?? Str::upper($this->slug); } - protected function initializeMorphOneWallet(): void - { - $this->uuid ??= app(UuidFactoryServiceInterface::class)->uuid4(); - } - /** * returns all the receiving transfers to this wallet. * @@ -173,4 +168,9 @@ public function receivedTransfers(): HasMany { return $this->hasMany(config('wallet.transfer.model', Transfer::class), 'to_id'); } + + protected function initializeMorphOneWallet(): void + { + $this->uuid ??= app(UuidFactoryServiceInterface::class)->uuid4(); + } } From fefcc10e123f324355b7fe6bafc9b8a3a8cd91be Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Sat, 9 Mar 2024 18:27:35 +0300 Subject: [PATCH 23/30] phpstan fix --- src/Models/Transaction.php | 2 +- src/Models/Transfer.php | 2 +- src/Models/Wallet.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Models/Transaction.php b/src/Models/Transaction.php index 5672da404..0bae76222 100644 --- a/src/Models/Transaction.php +++ b/src/Models/Transaction.php @@ -38,7 +38,7 @@ class Transaction extends Model final public const TYPE_WITHDRAW = 'withdraw'; /** - * @var string[] + * @var array */ protected $fillable = [ 'payable_type', diff --git a/src/Models/Transfer.php b/src/Models/Transfer.php index 89f23444b..58d35d49e 100644 --- a/src/Models/Transfer.php +++ b/src/Models/Transfer.php @@ -42,7 +42,7 @@ class Transfer extends Model final public const STATUS_GIFT = 'gift'; /** - * @var string[] + * @var array */ protected $fillable = [ 'status', diff --git a/src/Models/Wallet.php b/src/Models/Wallet.php index 51f32a853..f0875e442 100644 --- a/src/Models/Wallet.php +++ b/src/Models/Wallet.php @@ -55,7 +55,7 @@ class Wallet extends Model implements Customer, WalletFloat, Confirmable, Exchan use HasGift; /** - * @var string[] + * @var array */ protected $fillable = [ 'holder_type', From 72fb61c1d1831e111f6d066e86ccaff963b717bd Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Sat, 9 Mar 2024 19:36:42 +0300 Subject: [PATCH 24/30] fix phpstan --- tests/Infra/Models/Item.php | 2 +- tests/Infra/Models/ItemDiscount.php | 2 +- tests/Infra/Models/ItemDiscountTax.php | 2 +- tests/Infra/Models/ItemMaxTax.php | 2 +- tests/Infra/Models/ItemMeta.php | 2 +- tests/Infra/Models/ItemMinTax.php | 2 +- tests/Infra/Models/ItemMultiPrice.php | 2 +- tests/Infra/Models/ItemTax.php | 2 +- tests/Infra/Models/ItemWallet.php | 2 +- tests/Infra/Models/Manager.php | 2 +- tests/Infra/Models/User.php | 2 +- tests/Infra/Models/UserConfirm.php | 2 +- tests/Infra/Models/UserDynamic.php | 2 +- tests/Infra/Models/UserFloat.php | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/tests/Infra/Models/Item.php b/tests/Infra/Models/Item.php index 2ae3e37dd..fd2a5e981 100644 --- a/tests/Infra/Models/Item.php +++ b/tests/Infra/Models/Item.php @@ -29,7 +29,7 @@ final class Item extends Model implements ProductLimitedInterface use HasWallets; /** - * @var string[] + * @var array */ protected $fillable = ['name', 'quantity', 'price']; diff --git a/tests/Infra/Models/ItemDiscount.php b/tests/Infra/Models/ItemDiscount.php index 8d0e78567..8cf5ac656 100644 --- a/tests/Infra/Models/ItemDiscount.php +++ b/tests/Infra/Models/ItemDiscount.php @@ -24,7 +24,7 @@ final class ItemDiscount extends Model implements ProductLimitedInterface, Disco use HasWallet; /** - * @var string[] + * @var array */ protected $fillable = ['name', 'quantity', 'price']; diff --git a/tests/Infra/Models/ItemDiscountTax.php b/tests/Infra/Models/ItemDiscountTax.php index 48a41b0c6..14e4ff583 100644 --- a/tests/Infra/Models/ItemDiscountTax.php +++ b/tests/Infra/Models/ItemDiscountTax.php @@ -25,7 +25,7 @@ final class ItemDiscountTax extends Model implements ProductLimitedInterface, Di use HasWallet; /** - * @var string[] + * @var array */ protected $fillable = ['name', 'quantity', 'price']; diff --git a/tests/Infra/Models/ItemMaxTax.php b/tests/Infra/Models/ItemMaxTax.php index 3c3fa3955..4f1ebee67 100644 --- a/tests/Infra/Models/ItemMaxTax.php +++ b/tests/Infra/Models/ItemMaxTax.php @@ -24,7 +24,7 @@ final class ItemMaxTax extends Model implements ProductLimitedInterface, Maximal use HasWallet; /** - * @var string[] + * @var array */ protected $fillable = ['name', 'quantity', 'price']; diff --git a/tests/Infra/Models/ItemMeta.php b/tests/Infra/Models/ItemMeta.php index f6adb0a28..65d4edd08 100644 --- a/tests/Infra/Models/ItemMeta.php +++ b/tests/Infra/Models/ItemMeta.php @@ -25,7 +25,7 @@ final class ItemMeta extends Model implements ProductLimitedInterface use HasWallets; /** - * @var string[] + * @var array */ protected $fillable = ['name', 'quantity', 'price']; diff --git a/tests/Infra/Models/ItemMinTax.php b/tests/Infra/Models/ItemMinTax.php index b2b951842..57832ee6b 100644 --- a/tests/Infra/Models/ItemMinTax.php +++ b/tests/Infra/Models/ItemMinTax.php @@ -24,7 +24,7 @@ final class ItemMinTax extends Model implements ProductLimitedInterface, Minimal use HasWallet; /** - * @var string[] + * @var array */ protected $fillable = ['name', 'quantity', 'price']; diff --git a/tests/Infra/Models/ItemMultiPrice.php b/tests/Infra/Models/ItemMultiPrice.php index ed8696636..8399ab3cc 100644 --- a/tests/Infra/Models/ItemMultiPrice.php +++ b/tests/Infra/Models/ItemMultiPrice.php @@ -25,7 +25,7 @@ final class ItemMultiPrice extends Model implements ProductLimitedInterface use HasWallet; /** - * @var string[] + * @var array */ protected $fillable = ['name', 'quantity', 'price', 'prices']; diff --git a/tests/Infra/Models/ItemTax.php b/tests/Infra/Models/ItemTax.php index e9a812695..9d4e5dec9 100644 --- a/tests/Infra/Models/ItemTax.php +++ b/tests/Infra/Models/ItemTax.php @@ -24,7 +24,7 @@ final class ItemTax extends Model implements ProductLimitedInterface, Taxable use HasWallet; /** - * @var string[] + * @var array */ protected $fillable = ['name', 'quantity', 'price']; diff --git a/tests/Infra/Models/ItemWallet.php b/tests/Infra/Models/ItemWallet.php index 35d30cffe..70fe59e18 100644 --- a/tests/Infra/Models/ItemWallet.php +++ b/tests/Infra/Models/ItemWallet.php @@ -25,7 +25,7 @@ final class ItemWallet extends Model implements ProductLimitedInterface use HasWallets; /** - * @var string[] + * @var array */ protected $fillable = ['name', 'quantity', 'price']; diff --git a/tests/Infra/Models/Manager.php b/tests/Infra/Models/Manager.php index 63c6be65a..62d9b8af2 100644 --- a/tests/Infra/Models/Manager.php +++ b/tests/Infra/Models/Manager.php @@ -19,7 +19,7 @@ final class Manager extends Model implements Wallet use HasWallet; /** - * @var string[] + * @var array */ protected $fillable = ['name', 'email']; } diff --git a/tests/Infra/Models/User.php b/tests/Infra/Models/User.php index f5c5084c2..70b2c2496 100644 --- a/tests/Infra/Models/User.php +++ b/tests/Infra/Models/User.php @@ -19,7 +19,7 @@ final class User extends Model implements Wallet use HasWallet; /** - * @var string[] + * @var array */ protected $fillable = ['name', 'email']; } diff --git a/tests/Infra/Models/UserConfirm.php b/tests/Infra/Models/UserConfirm.php index 269faf96f..66d1781f4 100644 --- a/tests/Infra/Models/UserConfirm.php +++ b/tests/Infra/Models/UserConfirm.php @@ -22,7 +22,7 @@ final class UserConfirm extends Model implements Wallet, Confirmable use CanConfirm; /** - * @var string[] + * @var array */ protected $fillable = ['name', 'email']; diff --git a/tests/Infra/Models/UserDynamic.php b/tests/Infra/Models/UserDynamic.php index af81cff8b..d16b8e04f 100644 --- a/tests/Infra/Models/UserDynamic.php +++ b/tests/Infra/Models/UserDynamic.php @@ -19,7 +19,7 @@ final class UserDynamic extends Model implements Wallet use HasWallet; /** - * @var string[] + * @var array */ protected $fillable = ['name', 'email']; diff --git a/tests/Infra/Models/UserFloat.php b/tests/Infra/Models/UserFloat.php index e93631505..3c7cd24ee 100644 --- a/tests/Infra/Models/UserFloat.php +++ b/tests/Infra/Models/UserFloat.php @@ -20,7 +20,7 @@ final class UserFloat extends Model implements Wallet, WalletFloat use HasWalletFloat; /** - * @var string[] + * @var array */ protected $fillable = ['name', 'email']; From fc75bdd6512d6d0ccdeb4b1562b15089a61b5d4f Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Tue, 12 Mar 2024 19:12:48 +0300 Subject: [PATCH 25/30] update minimum-stability --- composer.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 23360fce2..27a3253ba 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,8 @@ "wallet", "payments" ], - "minimum-stability": "stable", + "minimum-stability": "dev", + "prefer-stable": true, "homepage": "https://bavix.github.io/laravel-wallet/", "license": "MIT", "authors": [ From b8f5a430b71a9456bfeac13eb6266ae3c31fbdff Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Tue, 12 Mar 2024 19:29:01 +0300 Subject: [PATCH 26/30] fix mariadb --- tests/Infra/TestCase.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tests/Infra/TestCase.php b/tests/Infra/TestCase.php index b1c5f91d6..f7a1aa364 100644 --- a/tests/Infra/TestCase.php +++ b/tests/Infra/TestCase.php @@ -64,11 +64,13 @@ final protected function getEnvironmentSetUp($app): void $config->set('database.connections.pgsql.prefix', 'tests'); $config->set('database.connections.mysql.prefix', 'tests'); - /** @var array $mysql */ - $mysql = $config->get('database.connections.mysql'); - $config->set('database.connections.mariadb', array_merge($mysql, [ - 'port' => 3307, - ])); + if (!$config->has('database.connections.mariadb')) { + /** @var array $mysql */ + $mysql = $config->get('database.connections.mysql'); + $config->set('database.connections.mariadb', $mysql); + } + + $config->set('database.connections.mariadb.port', 3307); // new table name's $config->set('wallet.transaction.table', 'transaction'); From c5d473bcce4a6de3e282c729625fcdd75d98f105 Mon Sep 17 00:00:00 2001 From: Github bot Date: Tue, 12 Mar 2024 16:30:57 +0000 Subject: [PATCH 27/30] autofix --- tests/Infra/TestCase.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Infra/TestCase.php b/tests/Infra/TestCase.php index f7a1aa364..cf74a8a63 100644 --- a/tests/Infra/TestCase.php +++ b/tests/Infra/TestCase.php @@ -64,7 +64,7 @@ final protected function getEnvironmentSetUp($app): void $config->set('database.connections.pgsql.prefix', 'tests'); $config->set('database.connections.mysql.prefix', 'tests'); - if (!$config->has('database.connections.mariadb')) { + if (! $config->has('database.connections.mariadb')) { /** @var array $mysql */ $mysql = $config->get('database.connections.mysql'); $config->set('database.connections.mariadb', $mysql); From d961ec972837a1ff7ee27752f051b0c8d06970d1 Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Tue, 12 Mar 2024 19:43:42 +0300 Subject: [PATCH 28/30] laravel/framework:* --- .github/workflows/phpunits.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/phpunits.yaml b/.github/workflows/phpunits.yaml index 175fc3025..46e6a3073 100644 --- a/.github/workflows/phpunits.yaml +++ b/.github/workflows/phpunits.yaml @@ -19,7 +19,7 @@ jobs: strategy: matrix: php-versions: [8.1, 8.2, 8.3] - stability: [prefer-lowest, prefer-stable] + laravel-versions: [^10.0, ^11.0] databases: [testing, pgsql, mysql, mariadb] caches: [array, redis, memcached, database] locks: [redis, memcached] @@ -115,8 +115,8 @@ jobs: ${{ runner.os }}-php- - name: Install dependencies - id: composer-dependencies - run: composer update --${{ matrix.stability }} --prefer-dist --no-progress + id: Install dependencies + run: composer req --dev laravel/framework:${{ matrix.laravel-versions }} -W - name: Check codeclimate id: codeclimate-check From 63863e3776708e6f3a41ab783aa25a12483214c4 Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Tue, 12 Mar 2024 19:48:03 +0300 Subject: [PATCH 29/30] fix --- .github/workflows/phpunits.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/phpunits.yaml b/.github/workflows/phpunits.yaml index 46e6a3073..0bae0caad 100644 --- a/.github/workflows/phpunits.yaml +++ b/.github/workflows/phpunits.yaml @@ -115,7 +115,7 @@ jobs: ${{ runner.os }}-php- - name: Install dependencies - id: Install dependencies + id: composer-dependencies run: composer req --dev laravel/framework:${{ matrix.laravel-versions }} -W - name: Check codeclimate From bf4cebb6fdaeabff444beb7203cadd1e4ba785f5 Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Tue, 12 Mar 2024 20:00:57 +0300 Subject: [PATCH 30/30] fix --- .github/workflows/phpunits.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/phpunits.yaml b/.github/workflows/phpunits.yaml index 0bae0caad..dc2ab672d 100644 --- a/.github/workflows/phpunits.yaml +++ b/.github/workflows/phpunits.yaml @@ -116,7 +116,7 @@ jobs: - name: Install dependencies id: composer-dependencies - run: composer req --dev laravel/framework:${{ matrix.laravel-versions }} -W + run: composer req --dev laravel/framework:${{ matrix.laravel-versions }} -W || composer install - name: Check codeclimate id: codeclimate-check