Skip to content

Commit 40fdee9

Browse files
georgehaoachmand
authored andcommitted
feat(libzkp):unbounded depth serde json (scroll-tech#920)
* feat: add transactions len metrics of block processer * fix * format * chore: auto version bump [bot] * remove unusd code --------- Co-authored-by: georgehao <georgehao@users.noreply.github.com>
1 parent eca3e77 commit 40fdee9

File tree

4 files changed

+16
-16
lines changed

4 files changed

+16
-16
lines changed

params/version.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import (
2424
const (
2525
VersionMajor = 5 // Major version component of the current release
2626
VersionMinor = 5 // Minor version component of the current release
27-
VersionPatch = 16 // Patch version component of the current release
27+
VersionPatch = 17 // Patch version component of the current release
2828
VersionMeta = "mainnet" // Version metadata to append to the version string
2929
)
3030

rollup/circuitcapacitychecker/libzkp/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ log = "0.4"
3333
once_cell = "1.19"
3434
serde = "1.0"
3535
serde_derive = "1.0"
36-
serde_json = "1.0.66"
36+
serde_json = { version = "1.0.66", features = ["unbounded_depth"] }
3737

3838
[profile.test]
3939
opt-level = 3

rollup/circuitcapacitychecker/libzkp/src/lib.rs

+14-9
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ pub mod checker {
1212
use std::panic;
1313
use std::ptr::null;
1414
use std::ffi::CStr;
15+
use serde::Deserialize as Deserializea;
16+
use serde_json::Deserializer;
1517

1618
#[derive(Debug, Clone, Deserialize, Serialize)]
1719
pub struct CommonResult {
@@ -48,7 +50,10 @@ pub mod checker {
4850
#[no_mangle]
4951
pub unsafe extern "C" fn parse_json_to_rust_trace(trace_json_ptr: *const c_char) -> *mut BlockTrace {
5052
let trace_json_cstr = unsafe { CStr::from_ptr(trace_json_ptr) };
51-
let trace = serde_json::from_slice::<BlockTrace>(trace_json_cstr.to_bytes());
53+
let trace_json_bytes = trace_json_cstr.to_bytes();
54+
let mut deserializer = Deserializer::from_slice(trace_json_bytes);
55+
deserializer.disable_recursion_limit();
56+
let trace = BlockTrace::deserialize(&mut deserializer);
5257
match trace {
5358
Err(e) => {
5459
log::warn!(
@@ -233,10 +238,10 @@ pub mod checker {
233238
))?
234239
.get_tx_num() as u64)
235240
})
236-
.map_or_else(
237-
|e| bail!("circuit capacity checker (id: {id}) error in get_tx_num: {e:?}"),
238-
|result| result,
239-
)
241+
.map_or_else(
242+
|e| bail!("circuit capacity checker (id: {id}) error in get_tx_num: {e:?}"),
243+
|result| result,
244+
)
240245
}
241246

242247
/// # Safety
@@ -267,10 +272,10 @@ pub mod checker {
267272
.set_light_mode(light_mode);
268273
Ok(())
269274
})
270-
.map_or_else(
271-
|e| bail!("circuit capacity checker (id: {id}) error in set_light_mode: {e:?}"),
272-
|result| result,
273-
)
275+
.map_or_else(
276+
|e| bail!("circuit capacity checker (id: {id}) error in set_light_mode: {e:?}"),
277+
|result| result,
278+
)
274279
}
275280
}
276281

rollup/pipeline/pipeline.go

-5
Original file line numberDiff line numberDiff line change
@@ -143,11 +143,6 @@ func (p *Pipeline) TryPushTxns(txs types.OrderedTransactionSet, onFailingTxn fun
143143
break
144144
}
145145

146-
if p.txs.Len() == 0 && tx.Hash() == common.HexToHash("0x385943c804b88dfa5716a96109dc1128b19ef5561bcf3c6d92c2bc77c7f2c88") {
147-
txs.Shift()
148-
continue
149-
}
150-
151146
result, err := p.TryPushTxn(tx)
152147
if result != nil {
153148
return result

0 commit comments

Comments
 (0)