Skip to content

Functions required by wallet removed #3415

@yeastplume

Description

@yeastplume

I haven't gone through all of the recent update, but kernels_mut was needed by the wallet when updating the excess in signatures when finalizing a transaction. A couple of iterator methods seem to be gone as well.

Real issue here is that changes to grin should be triggering wallet testing as well.

error[E0599]: no method named `kernels_mut` found for mutable reference `&mut grin_core::core::transaction::Transaction` in the current scope
   --> libwallet/src/slate.rs:680:12
    |
680 |         final_tx.kernels_mut()[0].excess = final_excess.clone();
    |                  ^^^^^^^^^^^ method not found in `&mut grin_core::core::transaction::Transaction`

error[E0599]: no method named `kernels_mut` found for mutable reference `&mut grin_core::core::transaction::Transaction` in the current scope
   --> libwallet/src/slate.rs:681:12
    |
681 |         final_tx.kernels_mut()[0].excess_sig = final_sig.clone();
    |                  ^^^^^^^^^^^ method not found in `&mut grin_core::core::transaction::Transaction`

error[E0599]: no method named `iter` found for enum `grin_core::core::transaction::Inputs` in the current scope
   --> libwallet/src/slate.rs:834:16
    |
834 |         for i in ins.iter() {
    |                      ^^^^ method not found in `grin_core::core::transaction::Inputs`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following traits define an item `iter`, perhaps you need to implement one of them:
            candidate #1: `types::WalletBackend`
            candidate #2: `types::WalletOutputBatch`

error[E0599]: no method named `iter` found for reference `&grin_core::core::transaction::Inputs` in the current scope
   --> libwallet/src/slate.rs:960:16
    |
960 |         let inputs = map_vec!(inputs, |inp| InputV4::from(inp));
    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&grin_core::core::transaction::Inputs`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following traits define an item `iter`, perhaps you need to implement one of them:
            candidate #1: `types::WalletBackend`
            candidate #2: `types::WalletOutputBatch`
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: no method named `push` found for enum `grin_core::core::transaction::Inputs` in the current scope
    --> libwallet/src/slate.rs:1118:27
     |
1118 |             None => tx.body.inputs.push(Input {
     |                                    ^^^^ method not found in `grin_core::core::transaction::Inputs`

error[E0308]: mismatched types
    --> libwallet/src/slate.rs:1233:4
     |
1233 |             inputs,
     |             ^^^^^^
     |             |
     |             expected enum `grin_core::core::transaction::Inputs`, found struct `std::vec::Vec`
     |             help: try using a variant of the expected enum: `grin_core::core::transaction::Inputs::FeaturesAndCommit(inputs)`
     |
     = note: expected enum `grin_core::core::transaction::Inputs`
              found struct `std::vec::Vec<grin_core::core::transaction::Input>`

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions