syntax = "proto2";

package WithdrawalResult;

option java_package = "com.miaole.live.protocol.response";
option java_outer_classname = "WithdrawalResult";

import "CommonResult.proto";

// 提现方式列表
message WithdrawalMethodList {
  repeated WithdrawalMethodInfo infos = 1;
  optional CommonResult.CountryInfo userCountry = 2;//用户所在国家,国家下拉列表默认展示国家，下拉列表没有展示第一个
  repeated CommonResult.CountryInfo countryList = 3;//收款国家列表
}

// 提现方式信息
message WithdrawalMethodInfo {
  optional int32 expenseType = 1;//提现方式类型
  optional string name = 2;
  optional string nameI18n = 3;
  optional WithdrawInfo withdawCache = 4;//上次提交的提现信息
}

message WithdrawalChannelList {
  repeated WithdrawalChannelInfo infos = 1;
  repeated CommonResult.CountryInfo countryList = 2;//国家列表
  optional string countryId = 3;//当前选中的国家代号
}

message WithdrawalChannelInfo {
    optional int32 expenseType = 1;//提现方式类型
    optional string channelType = 2;//提现渠道
    optional string name = 3;
    optional string nameI18n = 4;
    optional double commissionPercentage = 5;//提现手续费 0.1 表示10%
}

message ArtificialWithdrawalChannelList {
  repeated ArtificialWithdrawalChannelInfo infos = 1;
  repeated CommonResult.CountryInfo countryList = 2;//国家列表
  optional string countryId = 3;//当前选中的国家代号
}

message ArtificialWithdrawalChannelInfo {
  optional int32 expenseType = 1;//提现方式类型
  optional string channelType = 2;//提现渠道 该渠道为具体用户ID
  optional string name = 3;
  optional string userId = 4;
  optional string headUrl = 5;
  optional CommonResult.CountryInfo countryinfo = 6;
  optional int32 workCount = 7;//工人代发次数
  optional string nameI18n = 8;
  optional double commissionPercentage = 9;//提现手续费 0.1 表示10%
}

message WithdrawalUSDTChannelList {
  repeated WithdrawalChannelInfo infos = 1;
  repeated CommonResult.CountryInfo countryList = 2;//国家列表
  optional string countryId = 3;//当前选中的国家代号
  repeated USDTChannelInfo usdtChannels = 4;//USDT NetWork列表
}

message USDTChannelInfo {
    optional string blockchainProvider = 1;//
    optional string name = 2;
    optional string nameI18n = 3;
}

message WithdrawInfo {
        optional string countryId = 1; //收款国家代号
        optional string name = 2;//姓名
        optional string phoneNumber = 3;//手机号
        optional string email = 4;//邮箱

        optional string bankAccount = 5;//银行账号
        optional string bankCode = 6;//银行编码
        optional string bankName = 7;//银行名称
        optional string bankAddress = 8;//银行地址

        optional string blockchainAddress = 9;//虚拟币区块链地址
        optional string blockchainProvider = 10;//虚拟币区块链服务商
}

// 提现方式信息
message WithdrawData {
    optional int32 expenseType = 1;//当前选择的提现方式类型
    optional string channelType = 2;//当前选择的提现渠道
    optional string name = 3;//当前选择的方式名称
    optional string nameI18n = 4;//当前选择的方式名称国际化
    optional WithdrawInfo withdawInfo = 5;//提交的提现信息
}