From ff0cfdacaaf176ff7dd0d428c68f0d4e2aa8bd84 Mon Sep 17 00:00:00 2001 From: nfel Date: Sun, 11 May 2025 13:48:01 +0330 Subject: [PATCH] v2: gen contract + healthcheck rpc added Signed-off-by: nfel --- alert/v1/srv.proto | 1 + auth/v1/internal_srv.proto | 1 + auth/v1/srv.proto | 2 ++ market/v1/srv.proto | 2 ++ wallet/v1/msg.proto | 29 +++++++++++++++++++++++++++-- wallet/v1/srv.proto | 10 ++++++++-- 6 files changed, 41 insertions(+), 4 deletions(-) diff --git a/alert/v1/srv.proto b/alert/v1/srv.proto index e0bfc74..e2b5b06 100644 --- a/alert/v1/srv.proto +++ b/alert/v1/srv.proto @@ -6,6 +6,7 @@ import "alert/v1/msg.proto"; import "base/v1/msg.proto"; service AlertSrv { + rpc NotificationSrvHealth(base.v1.Empty) returns (base.v1.StatusRes); rpc Emit(LogEvent) returns (base.v1.StatusRes) {} rpc Update(LogEvent) returns (base.v1.StatusRes) {} rpc Get(AlertFilter) returns (base.v1.StatusRes) {} diff --git a/auth/v1/internal_srv.proto b/auth/v1/internal_srv.proto index d5bfae1..a06d2e5 100644 --- a/auth/v1/internal_srv.proto +++ b/auth/v1/internal_srv.proto @@ -6,6 +6,7 @@ import "auth/v1/msg.proto"; import "base/v1/msg.proto"; service InternalAuthorizationService { + rpc InternalAuthorizationSrvHealth(base.v1.Empty) returns (base.v1.StatusRes); rpc LookUpName(LookUpNameReq) returns (LookUpNameRes) {} // This meant to only be used in a worker process rpc FetchBasicUserInfoList(base.v1.Empty) returns (BasicUserInfoList) {} diff --git a/auth/v1/srv.proto b/auth/v1/srv.proto index f9fa7c3..d90c2ea 100644 --- a/auth/v1/srv.proto +++ b/auth/v1/srv.proto @@ -6,6 +6,8 @@ import "auth/v1/msg.proto"; import "base/v1/msg.proto"; service AuthorizationService { + rpc AuthorizationSrvHealth(base.v1.Empty) returns (base.v1.StatusRes); + rpc CheckIAM(CheckIAMReq) returns (InternalIAM) {} rpc SendLoginOTP(UserSendOtpReq) returns (UserSendOtpRes) {} diff --git a/market/v1/srv.proto b/market/v1/srv.proto index 31380c5..f94fda8 100644 --- a/market/v1/srv.proto +++ b/market/v1/srv.proto @@ -7,6 +7,8 @@ import "base/v1/msg.proto"; import "market/v1/msg.proto"; service MarketplaceSrv { + rpc MarketplaceSrvHealth(base.v1.Empty) returns (base.v1.StatusRes); + rpc GetMarketOrderDet(auth.v1.IdReqWithIAM) returns (MarketOrder); // details of an order by id rpc GetAllOrderList(OrderListFilter) returns (MarketOrderList); // list of all orders (seller and buyer combined) diff --git a/wallet/v1/msg.proto b/wallet/v1/msg.proto index 79ca3f1..bd4b387 100644 --- a/wallet/v1/msg.proto +++ b/wallet/v1/msg.proto @@ -551,8 +551,9 @@ message BuyAssetReq { double amount_irt = 3; double amount_asset = 4; BuyAssetSide side = 5; - optional string discount_code = 6; - optional auth.v1.TFA tfa = 7; // This might be used in the future + optional uint64 contract_id = 6; // Only in asset that require agreement contract + optional string discount_code = 7; + optional auth.v1.TFA tfa = 8; // This might be used in the future } enum BuyAssetSide { @@ -578,3 +579,27 @@ message BuyAssetRes { string irt_hash = 2; string asset_hash = 3; } + +/* Contract */ + +enum ContractType { + CONTRACT_TYPE_ICO = 0; + CONTRACT_TYPE_MARKET = 1; + CONTRACT_TYPE_BNPL = 2; + CONTRACT_TYPE_REDEEM = 3; +} + +message GenerateContractReq { + auth.v1.InternalIAM iam = 1; + int64 asset_id = 2; + int64 amount = 3; + ContractType contract_type = 4; + map metadata = 5; +} + +message ContractRes { + string link = 1; + uint64 contract_id = 2; + string contract_hash = 3; + string contract_content = 4; +} diff --git a/wallet/v1/srv.proto b/wallet/v1/srv.proto index 21705ec..0c2e227 100644 --- a/wallet/v1/srv.proto +++ b/wallet/v1/srv.proto @@ -7,6 +7,8 @@ import "base/v1/msg.proto"; import "wallet/v1/msg.proto"; service WalletService { + rpc WalletSrvHealth(base.v1.Empty) returns (base.v1.StatusRes); + rpc InternalWalletDeleteCache(base.v1.Empty) returns (base.v1.StatusRes); rpc InternalCreateFederation(auth.v1.InternalIAM) returns (base.v1.StatusRes); @@ -26,11 +28,11 @@ service WalletService { rpc UserGetTransactionList(UserGetTransactionListReq) returns (TransactionList); - // Get Token from IPG is and internal api + // Get Token from IPG is and internal api rpc IPGGetToken(IPGGetTokenReq) returns (IPGGetTokenRes); // IPG Confirm is a public api rpc IPGConfirm(IPGConfirmReq) returns (IPGConfirmRes); - // Admin can increase user's balance as wish + // Admin can increase user's balance as wish rpc AdminManualSaleDeposit(SaleManualReq) returns (base.v1.StatusRes); // BNPL @@ -61,6 +63,10 @@ service WalletService { rpc WithdrawIRT(WithdrawIRTReq) returns (WithdrawIRTRes); rpc DepositIRT(DepositIRTReq) returns (IPGGetTokenRes); + // --- Buy Asset --- rpc CalcBuyAsset(BuyAssetReq) returns (CalcBuyAssetRes); rpc BuyAsset(BuyAssetReq) returns (BuyAssetRes); + + // -- Contract -- + rpc GenerateContract(GenerateContractReq) returns (ContractRes); }