broadcastStdTx static method
Broadcasts the given stdTx using the info contained
inside the given wallet.
Returns the hash of the transaction once it has been send, or throws an
exception if an error is risen during the sending.
Implementation
static Future<TransactionResult> broadcastStdTx({
required Wallet wallet,
required StdTx stdTx,
String mode = 'sync',
http.Client? client,
}) async {
client ??= http.Client();
// Get the endpoint
final apiUrl = Uri.parse('${wallet.networkInfo.lcdUrl}/txs');
// Build the request body
final requestBody = {'tx': stdTx.toJson(), 'mode': mode};
final requestBodyJson = jsonEncode(requestBody);
// Get the response
final response = await client.post(apiUrl, body: requestBodyJson);
if (response.statusCode != 200) {
throw Exception(
'Expected status code 200 but got ${response.statusCode} - ${response.body}',
);
}
// Convert the response
final json = jsonDecode(response.body) as Map<String, dynamic>;
return _convertJson(json);
}