syntax = "proto3"; package wallet.v1; import "auth/v1/msg.proto"; import "base/v1/msg.proto"; import "wallet/v1/msg.proto"; service WalletService { rpc InternalWalletDeleteCache(base.v1.Empty) returns (base.v1.StatusRes); rpc InternalCreateFederation(auth.v1.InternalIAM) returns (base.v1.StatusRes); rpc AdminGetFederation(GetFederationReq) returns (Federation); rpc UserGetFederation(auth.v1.InternalIAM) returns (Federation); rpc GetNetworkList(base.v1.Empty) returns (NetworkList); rpc GetAssetList(base.v1.Empty) returns (AssetList); rpc UserGetAssetList(auth.v1.InternalIAM) returns (AssetList); rpc AdminGetAssetList(base.v1.Empty) returns (AssetList); rpc GetAsset(GetAssetReq) returns (Asset); rpc GetAssetPrice(base.v1.IdReq) returns (AssetPrice); rpc UserInitWallet(UserInitWalletReq) returns (base.v1.StatusRes); rpc UserGetWalletList(auth.v1.InternalIAM) returns (WalletList); rpc UserGetTransactionList(UserGetTransactionListReq) returns (TransactionList); // 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 rpc AdminManualSaleDeposit(SaleManualReq) returns (base.v1.StatusRes); // BNPL rpc GetBNPLList(base.v1.Empty) returns (BNPLList); rpc GetBNPLInfo(base.v1.IdReq) returns (BNPLInfo); rpc GetUserBNPLInfo(GetUserBNPLInfoReq) returns (UserBNPLResp); rpc SubmitBNPLForm(UserBNPLReq) returns (base.v1.StatusRes); rpc UpdateBNPL(UserBNPLReq) returns (base.v1.StatusRes); rpc CancleBNPL(auth.v1.IdReqWithIAM) returns (base.v1.StatusRes); // Redeem Token rpc CalculateRedeemToken(RedeemTokenReq) returns (CalculateRedeemTokenRes); rpc RedeemToken(RedeemTokenReq) returns (base.v1.StatusRes); rpc RedeemTokenList(auth.v1.ReqWithIAMAndParams) returns (RedeemTokenResList); rpc GetPublicKeyByNationalID(NationalIDReq) returns (PubKeyRes); // Assets routing rpc InternalTransferAsset(TransferAssetReq) returns (TransferAssetRes); rpc ExternalTransferAsset(TransferAssetReq) returns (TransferAssetRes); rpc LockAsset(LockAssetReq) returns (base.v1.StatusRes); rpc ReleaseAsset(LockAssetReq) returns (base.v1.StatusRes); rpc AssetDiscount(AssetDiscountReq) returns (AssetDiscountRes); // --- IRT --- rpc WithdrawIRT(WithdrawIRTReq) returns (WithdrawIRTRes); rpc DepositIRT(DepositIRTReq) returns (IPGGetTokenRes); rpc BuyAsset(BuyAssetReq) returns (BuyAssetRes); }