diff --git a/wallet/v1/msg.proto b/wallet/v1/msg.proto index 476d992..8e97f91 100644 --- a/wallet/v1/msg.proto +++ b/wallet/v1/msg.proto @@ -71,10 +71,6 @@ message Wallet { Asset */ -message AssetList { - repeated Asset list = 1; -} - message Asset { int64 id = 1; string name = 2; @@ -140,6 +136,22 @@ enum AssetType { ASSET_TYPE_NETWORK_GAS = 3; } +message AssetList { + repeated Asset list = 1; +} + +message AssetFilter { + repeated int64 ids = 1; + repeated AssetType types = 2; // AssetType + repeated AssetType token_types = 3; // AssetType + repeated AssetStatus statuses = 4; + optional bool can_buy = 5; + optional bool can_sell = 6; + optional bool can_deposit = 7; + optional bool can_withdraw = 8; + +} + message AssetDiscountReq { auth.v1.InternalIAM iam = 1; string code = 2; diff --git a/wallet/v1/srv.proto b/wallet/v1/srv.proto index 0c2e227..75a61ed 100644 --- a/wallet/v1/srv.proto +++ b/wallet/v1/srv.proto @@ -17,7 +17,7 @@ service WalletService { rpc GetNetworkList(base.v1.Empty) returns (NetworkList); - rpc GetAssetList(base.v1.Empty) returns (AssetList); + rpc GetAssetList(AssetFilter) returns (AssetList); rpc UserGetAssetList(auth.v1.InternalIAM) returns (AssetList); rpc AdminGetAssetList(base.v1.Empty) returns (AssetList); rpc GetAsset(GetAssetReq) returns (Asset);