withdraw method
Implementation
Future<WithdrawResponse> withdraw(WithdrawRequest request) async {
Uri serverURI = Uri.parse(_transferServiceAddress + "/withdraw");
_WithdrawRequestBuilder requestBuilder =
new _WithdrawRequestBuilder(httpClient, serverURI);
final Map<String, String> queryParams = {
"asset_code": request.assetCode,
"type": request.type,
"dest": request.dest,
};
if (request.destExtra != null) {
queryParams["dest_extra"] = request.destExtra;
}
if (request.account != null) {
queryParams["account"] = request.account;
}
if (request.memo != null) {
queryParams["memo"] = request.memo;
}
if (request.memoType != null) {
queryParams["memo_type"] = request.memoType;
}
if (request.walletName != null) {
queryParams["wallet_name"] = request.walletName;
}
if (request.walletUrl != null) {
queryParams["wallet_url"] = request.walletUrl;
}
if (request.lang != null) {
queryParams["lang"] = request.lang;
}
if (request.onChangeCallback != null) {
queryParams["on_change_callback"] = request.onChangeCallback;
}
if (request.amount != null) {
queryParams["amount"] = request.amount;
}
if (request.countryCode != null) {
queryParams["country_code"] = request.countryCode;
}
WithdrawResponse response;
try {
response = await requestBuilder
.forQueryParameters(queryParams)
.execute(request.jwt);
} on ErrorResponse catch (e) {
if (e.code == 403) {
_handleForbiddenResponse(e);
}
throw e;
}
return response;
}