updateIdentitiesForAccount method
- String address,
- SEP30Request request,
- String jwt
This endpoint updates the identities for the account. The identities should be entirely replaced with the identities provided in the request, and not merged. Either owner or other or both should be set. If one is currently set and the request does not include it, it is removed. See: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0030.md#put-accountsaddress
Implementation
Future<SEP30AccountResponse> updateIdentitiesForAccount(
String address, SEP30Request request, String jwt) async {
Uri requestURI =
Util.appendEndpointToUrl(_serviceAddress, 'accounts/$address');
Map<String, String> headers = {...RequestBuilder.headers};
headers["Authorization"] = "Bearer " + jwt;
headers.putIfAbsent("Content-Type", () => "application/json");
SEP30AccountResponse result = await httpClient
.put(requestURI, body: json.encode(request.toJson()), headers: headers)
.then((response) {
switch (response.statusCode) {
case 200:
return SEP30AccountResponse.fromJson(json.decode(response.body));
case 400:
throw SEP30BadRequestResponseException(
errorFromResponseBody(response.body));
case 401:
throw SEP30UnauthorizedResponseException(
errorFromResponseBody(response.body));
case 404:
throw SEP30NotFoundResponseException(
errorFromResponseBody(response.body));
case 409:
throw SEP30ConflictResponseException(
errorFromResponseBody(response.body));
default:
throw new SEP30UnknownResponseException(
response.statusCode, response.body);
}
}).catchError((onError) {
throw onError;
});
return result;
}