From 23c20c0c338b02404384f0d85e91550e44173ee6 Mon Sep 17 00:00:00 2001 From: jolestar Date: Thu, 10 Feb 2022 10:49:06 +0800 Subject: [PATCH 1/2] [rpc] Do not raise error when decode resource or resolve module failed. --- rpc/server/src/module/state_rpc.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rpc/server/src/module/state_rpc.rs b/rpc/server/src/module/state_rpc.rs index 4090f7a6d8..80787a8782 100644 --- a/rpc/server/src/module/state_rpc.rs +++ b/rpc/server/src/module/state_rpc.rs @@ -243,10 +243,9 @@ where .map(|(k, v)| { let struct_tag = StructTag::decode(k.as_slice())?; let decoded = if option.decode { - Some( - view_resource(&statedb, struct_tag.clone(), v.as_slice())? - .into(), - ) + view_resource(&statedb, struct_tag.clone(), v.as_slice()) + .ok() + .map(Into::into) } else { None }; @@ -296,7 +295,8 @@ where let identifier = Identifier::decode(k.as_slice())?; let module_id = ModuleId::new(addr, identifier.clone()); let abi = if option.resolve { - Some(ABIResolver::new(&statedb).resolve_module(&module_id)?) + //ignore the resolve error + ABIResolver::new(&statedb).resolve_module(&module_id).ok() } else { None }; From 97450c9f4b4d23ba34d0173b21d647ca3759f34c Mon Sep 17 00:00:00 2001 From: jolestar Date: Fri, 11 Feb 2022 15:33:47 +0800 Subject: [PATCH 2/2] fixup --- rpc/server/src/module/state_rpc.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/rpc/server/src/module/state_rpc.rs b/rpc/server/src/module/state_rpc.rs index 80787a8782..1a74393145 100644 --- a/rpc/server/src/module/state_rpc.rs +++ b/rpc/server/src/module/state_rpc.rs @@ -243,6 +243,7 @@ where .map(|(k, v)| { let struct_tag = StructTag::decode(k.as_slice())?; let decoded = if option.decode { + //ignore the resource decode error view_resource(&statedb, struct_tag.clone(), v.as_slice()) .ok() .map(Into::into)