Что означает "рассмотреть вопрос о предоставлении`foo` типа "при использовании UncheckedMortalExtrinsic::decode для декодирования внешнего объекта в структуру?

Как я могу декодировать стандартный внешний формат субстрата в Transaction объект таким образом, что было бы возможно получить Senderжелательно в виде строки?

У меня есть этот код, где я жестко закодировал образец внешних данных для тестирования в extrinsic_hex переменная:

use parity_codec::Decode;
use primitives::generic::UncheckedMortalExtrinsic;

fn main() {
    let extrinsic_hex: &'static str="81ffd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d3c6b8941e2976034e67bdd1a999c3eff4403c8ceaf717f18d9760ab18573ab2ce870e9b751c2f14dd9883e54746e1eb6639978ceab49968c25176cc0d2507205040003000ca10f";
    let result = hex::decode(extrinsic_hex);

    match result {
        Ok(v1) => {
            let extr_option = UncheckedMortalExtrinsic::decode(&mut v1.as_slice());
            ()
        }
        _ => {
            println!("Error decoding");
            ()
        }
    }
}

Cargo.toml

[package]
name = "decaddr"
version = "0.1.0"
authors = ["niko"]
edition = "2018"

[dependencies]
parity-codec = { version = "3.4.0", default-features = false, features = ["derive"] }
primitives = { package = "sr-primitives", path = "../sr-primitives"}
hex = { version = "0.3"}

Я получаю ошибку:

   Compiling decaddr v0.1.0 (/home/niko/sub/substrate/core/decaddr)
error[E0282]: type annotations needed
  --> core/decaddr/src/main.rs:11:20
   |
11 |             let extr_option=UncheckedMortalExtrinsic::decode(&mut v1.as_slice());
   |                 ----------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for `Address`
   |                 |
   |                 consider giving `extr_option` a type

Мне не понятно, как это решить.

0 ответов

Другие вопросы по тегам