mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 23:21:06 +00:00
Add a new host function for reporting fatal errors; make WASM backtraces readable when printing out errors (#10741)
* Add a new host function for reporting fatal errors * Fix one of the wasmtime executor tests * Have `#[runtime_interface(wasm_only)]` actually mean WASM-only, and not no_std-only * Print out errors through `Display` instead of `Debug` * Switch one more trait to require `Error` for its error instead of only `Debug` * Align to review comments
This commit is contained in:
@@ -302,11 +302,11 @@ where
|
||||
}
|
||||
|
||||
/// Converts a runtime trap into an RPC error.
|
||||
fn runtime_error_into_rpc_err(err: impl std::fmt::Debug) -> Error {
|
||||
fn runtime_error_into_rpc_err(err: impl std::fmt::Display) -> Error {
|
||||
Error {
|
||||
code: ErrorCode::ServerError(RUNTIME_ERROR),
|
||||
message: "Runtime error".into(),
|
||||
data: Some(format!("{:?}", err).into()),
|
||||
data: Some(err.to_string().into()),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -144,11 +144,11 @@ fn mmr_error_into_rpc_error(err: MmrError) -> Error {
|
||||
}
|
||||
|
||||
/// Converts a runtime trap into an RPC error.
|
||||
fn runtime_error_into_rpc_error(err: impl std::fmt::Debug) -> Error {
|
||||
fn runtime_error_into_rpc_error(err: impl std::fmt::Display) -> Error {
|
||||
Error {
|
||||
code: ErrorCode::ServerError(RUNTIME_ERROR),
|
||||
message: "Runtime trapped".into(),
|
||||
data: Some(format!("{:?}", err).into()),
|
||||
data: Some(err.to_string().into()),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ where
|
||||
api.query_info(&at, uxt, encoded_len).map_err(|e| RpcError {
|
||||
code: ErrorCode::ServerError(Error::RuntimeError.into()),
|
||||
message: "Unable to query dispatch info.".into(),
|
||||
data: Some(format!("{:?}", e).into()),
|
||||
data: Some(e.to_string().into()),
|
||||
})
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ where
|
||||
let fee_details = api.query_fee_details(&at, uxt, encoded_len).map_err(|e| RpcError {
|
||||
code: ErrorCode::ServerError(Error::RuntimeError.into()),
|
||||
message: "Unable to query fee details.".into(),
|
||||
data: Some(format!("{:?}", e).into()),
|
||||
data: Some(e.to_string().into()),
|
||||
})?;
|
||||
|
||||
let try_into_rpc_balance = |value: Balance| {
|
||||
|
||||
Reference in New Issue
Block a user