Skip to content

Commit ff4e3d0

Browse files
authored
Update parity scale dependencies (#687)
* update scale * taplo fmt
1 parent 22f9f51 commit ff4e3d0

File tree

9 files changed

+55
-1344
lines changed

9 files changed

+55
-1344
lines changed

Cargo.lock

Lines changed: 42 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node-api/Cargo.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@ frame-metadata = { version = "16.0", default-features = false, features = ["curr
1818
hex = { version = "0.4.3", default-features = false }
1919
log = { version = "0.4.14", default-features = false }
2020
scale-bits = { version = "0.4.0", default-features = false, features = ["scale-info", "serde"] }
21-
scale-decode = { version = "0.8.0", default-features = false, features = ["primitive-types", "derive"] }
22-
scale-encode = { version = "0.4.0", default-features = false, features = ["bits", "primitive-types", "derive"] }
21+
scale-decode = { version = "0.10.0", default-features = false, features = ["primitive-types", "derive"] }
22+
scale-encode = { version = "0.5.0", default-features = false, features = ["bits", "primitive-types", "derive"] }
2323
scale-info = { version = "2.0.1", features = ["derive", "decode", "bitvec"], default-features = false }
24+
scale-value = { version = "0.13.0", default-features = false }
2425
serde = { version = "1.0.136", features = ["derive"], default-features = false }
2526
serde_json = { version = "1.0.79", default-features = false, features = ["alloc"] }
2627

node-api/src/events/event_details.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@
1111
use crate::{
1212
error::{DispatchError, Error},
1313
metadata::{MetadataError, PalletMetadata},
14-
scale_value::{Composite, TypeId},
1514
Metadata, Phase, StaticEvent,
1615
};
1716
use alloc::{sync::Arc, vec::Vec};
1817
use codec::Decode;
1918
use log::*;
2019
use scale_decode::DecodeAsFields;
20+
use scale_value::{scale::TypeId, Composite};
2121

2222
/// The event details.
2323
/// Based on subxt EventDetails.

node-api/src/events/mod.rs

Lines changed: 9 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,12 @@ impl<Hash: Copy + Decode> Events<Hash> {
134134
self.find::<Ev>().next().transpose()
135135
}
136136

137+
/// Iterate through the events using metadata to dynamically decode and skip
138+
/// them, and return the last event found which decodes to the provided `Ev` type.
139+
pub fn find_last<Ev: StaticEvent>(&self) -> Result<Option<Ev>, Error> {
140+
self.find::<Ev>().last().transpose()
141+
}
142+
137143
/// Find an event that decodes to the type provided. Returns true if it was found.
138144
pub fn has<Ev: StaticEvent>(&self) -> Result<bool, Error> {
139145
Ok(self.find::<Ev>().next().transpose()?.is_some())
@@ -144,14 +150,14 @@ impl<Hash: Copy + Decode> Events<Hash> {
144150
mod tests {
145151
use super::*;
146152
use crate::{
147-
scale_value::Value,
148153
test_utils::{
149154
event_record, events, events_raw, metadata_with_version, SupportedMetadataVersions,
150155
},
151156
Phase,
152157
};
153158
use codec::Encode;
154159
use scale_info::TypeInfo;
160+
use scale_value::Value;
155161
use sp_core::H256;
156162
use test_case::test_case;
157163

@@ -171,25 +177,7 @@ mod tests {
171177

172178
/// Compare some actual [`RawEventDetails`] with a hand-constructed
173179
/// (probably) [`TestRawEventDetails`].
174-
pub fn assert_raw_events_match(
175-
// Just for convenience, pass in the metadata type constructed
176-
// by the `metadata` function above to simplify caller code.
177-
metadata: &Metadata,
178-
actual: EventDetails<H256>,
179-
expected: TestRawEventDetails,
180-
) {
181-
let types = &metadata.runtime_metadata().types;
182-
183-
// Make sure that the bytes handed back line up with the fields handed back;
184-
// encode the fields back into bytes and they should be equal.
185-
let actual_fields = actual.field_values().expect("can decode field values (1)");
186-
let mut actual_bytes = vec![];
187-
for field in actual_fields.into_values() {
188-
crate::scale_value::encode_as_type(&field, field.context, types, &mut actual_bytes)
189-
.expect("should be able to encode properly");
190-
}
191-
assert_eq!(actual_bytes, actual.field_bytes());
192-
180+
pub fn assert_raw_events_match(actual: EventDetails<H256>, expected: TestRawEventDetails) {
193181
let actual_fields_no_context: Vec<_> = actual
194182
.field_values()
195183
.expect("can decode field values (2)")
@@ -228,7 +216,6 @@ mod tests {
228216

229217
let mut event_details = events.iter();
230218
assert_raw_events_match(
231-
&metadata,
232219
event_details.next().unwrap().unwrap(),
233220
TestRawEventDetails {
234221
phase: Phase::ApplyExtrinsic(123),
@@ -277,7 +264,6 @@ mod tests {
277264
let mut event_details = events.iter();
278265

279266
assert_raw_events_match(
280-
&metadata,
281267
event_details.next().unwrap().unwrap(),
282268
TestRawEventDetails {
283269
index: 0,
@@ -290,7 +276,6 @@ mod tests {
290276
},
291277
);
292278
assert_raw_events_match(
293-
&metadata,
294279
event_details.next().unwrap().unwrap(),
295280
TestRawEventDetails {
296281
index: 1,
@@ -303,7 +288,6 @@ mod tests {
303288
},
304289
);
305290
assert_raw_events_match(
306-
&metadata,
307291
event_details.next().unwrap().unwrap(),
308292
TestRawEventDetails {
309293
index: 2,
@@ -348,7 +332,6 @@ mod tests {
348332

349333
let mut events_iter = events.iter();
350334
assert_raw_events_match(
351-
&metadata,
352335
events_iter.next().unwrap().unwrap(),
353336
TestRawEventDetails {
354337
index: 0,
@@ -361,7 +344,6 @@ mod tests {
361344
},
362345
);
363346
assert_raw_events_match(
364-
&metadata,
365347
events_iter.next().unwrap().unwrap(),
366348
TestRawEventDetails {
367349
index: 1,
@@ -400,7 +382,6 @@ mod tests {
400382
// Dynamically decode:
401383
let mut event_details = events.iter();
402384
assert_raw_events_match(
403-
&metadata,
404385
event_details.next().unwrap().unwrap(),
405386
TestRawEventDetails {
406387
index: 0,
@@ -439,7 +420,6 @@ mod tests {
439420
// Dynamically decode:
440421
let mut event_details = events.iter();
441422
assert_raw_events_match(
442-
&metadata,
443423
event_details.next().unwrap().unwrap(),
444424
TestRawEventDetails {
445425
index: 0,
@@ -448,7 +428,7 @@ mod tests {
448428
pallet_index: 0,
449429
variant: "A".to_string(),
450430
variant_index: 0,
451-
fields: vec![Value::u128(1)],
431+
fields: vec![Value::unnamed_composite(vec![Value::u128(1)])],
452432
},
453433
);
454434
assert!(event_details.next().is_none());
@@ -482,7 +462,6 @@ mod tests {
482462
// Dynamically decode:
483463
let mut event_details = events.iter();
484464
assert_raw_events_match(
485-
&metadata,
486465
event_details.next().unwrap().unwrap(),
487466
TestRawEventDetails {
488467
index: 0,

node-api/src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ pub use scale_decode::DecodeAsType;
2929
pub mod error;
3030
pub mod events;
3131
pub mod metadata;
32-
pub mod scale_value;
3332
pub mod storage;
3433

3534
#[cfg(any(feature = "mocks", test))]

0 commit comments

Comments
 (0)