feat: add referral code system

This commit is contained in:
2025-12-20 17:36:07 +03:30
parent a8d454bf88
commit 0a08748fe9
5 changed files with 49 additions and 3 deletions
+3
View File
@@ -17,4 +17,7 @@ service InternalWalletSrv {
// Calculate stellar pub-priv key based on national id
rpc GetPublicKeyByNationalID(NationalIDReq) returns (PubKeyRes);
// Commission Logs
rpc InitReferrerCommissionLog(InitReferrerCommissionLogIn) returns (base.v1.Empty);
}
+36 -3
View File
@@ -6,7 +6,7 @@ import "auth/v1/msg.proto";
import "base/v1/msg.proto";
/*
INTERNAL DATA
INTERNAL DATA;
*/
message InternalTransactionData {
@@ -355,6 +355,7 @@ enum TransactionType {
IRT_DEPOSIT = 13;
IRT_WITHDRAWAL = 14;
COMMISSION = 15;
REFERRAL_COMMISSION = 16;
}
enum TransactionStatus {
@@ -442,7 +443,7 @@ message TransferAssetRes {
}
/*
Redeem Token
Redeem Token;
*/
message RedeemTokenReq {
auth.v1.InternalIAM iam = 1;
@@ -497,7 +498,7 @@ message PubKeyRes {
}
/*
Network Details
Network Details;
*/
enum NetworkType {
UNKNOWN_NETWORK_TYPE = 0;
@@ -581,6 +582,38 @@ message CommissionRes {
uint64 commission_log_id = 1;
}
message InitReferrerCommissionLogIn {
int64 referrer_id = 1;
int64 user_id = 2;
double amount = 3;
}
message ReferrerCommissionLogOut {
double amount = 1;
string mobile = 2;
bool is_identity_verified = 3;
double commission_percentage = 4;
}
message ReferrerCommissionLogsList {
repeated ReferrerCommissionLogOut list = 1;
uint32 page_no = 2;
uint32 page_size = 3;
uint32 total_count = 4;
}
message TotalReferralCommissionIn {
int64 referrer_id = 1;
}
message TotalReferralCommissionOut {
double claimed = 1;
double unclaimed = 2;
}
message ClaimReferralCommissionIn {
auth.v1.User user = 1;
}
/*
* IPG - Internet Payment Gateway
* 1. Get Token
+5
View File
@@ -24,6 +24,11 @@ service WalletService {
rpc UserGetTransactionList(TransactionListFilter) returns (TransactionList);
// Commission Logs
rpc GetReferrerCommissionLogsList(auth.v1.InternalIAM) returns (ReferrerCommissionLogsList);
rpc GetTotalReferralCommission(TotalReferralCommissionIn) returns (TotalReferralCommissionOut);
rpc ClaimReferralCommission(ClaimReferralCommissionIn) returns (base.v1.StatusRes);
// Get Token from IPG is and internal api
rpc IPGGetToken(IPGGetTokenReq) returns (IPGGetTokenRes);
// IPG Confirm is a public api