1.9 KiB
KYC withdraw, deposit limitation
Sprint: 4
Outcome:
each user's withdrawing and deposit for executing must not be reached to daily or monthly limitation
Implementation description:
File destination:
{$Dena_Path}/app/models/deposit.rb
{$Dena_Path}/app/models/withdraw.rb
{$Dena_Path}/app/models/deposit_limit.rb
{$Dena_Path}/app/models/withdraw_limit.rb
{$Dena_Path}/app/models/withdraws/fiat.rb
{$Dena_Path}/app/models/deposits/fiat.rb
{$Dena_Path}/db/migrate/20210504102945_add_kind_to_withdraw_limits.rb
{$Dena_Path}/db/migrate/20210504102945_add_kind_to_withdraw_limits.rb
Commits:
7d4bd576
d436176b
What did we implement:
in the Opendax, withdrawal limitation was handled by a model named WithdrawLimit,
but for deposit limitation, there was no way.
so by following existence rules, we create a new model and called it DepositLimit with the same columns,
and those columns are :
| Name | Type | Description |
| ---- | ---- | ----------- |
| id | integer | Unique table identifier in database. |
| group | string | Member group for define limits. |
| kyc_level | string | KYC level for define limits.|
| limit_24_hour | double | 24 hours limit. |
| limit_1_month | double | 1 month limit. |
and also we added a new column to the mentioned models by name: kind to support fiat and coin limitation
| Name | Type | Description |
| ---- | ---- | ----------- |
| kind | integer | Withdraw or Deposit kind (coin or fiat).|
before creation a withdrawal or deposit record by the user,
we implemented a new function called verify_limits that check the user reached limitation or not,
then permit the new withdraw or deposit record to be created.
TODO
implement admin side include APIs (tower panel) for deposit limitation part