File tree Expand file tree Collapse file tree
chainsql/src/main/java/com/peersafe/chainsql/contract Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -186,7 +186,9 @@ protected <T extends Type, R> R executeCallSingleValueReturn(
186186 }
187187
188188 Object value = result .getValue ();
189- if (returnType .isAssignableFrom (value .getClass ())) {
189+ if (returnType .isAssignableFrom (result .getClass ())) {
190+ return (R ) result ;
191+ } else if (returnType .isAssignableFrom (value .getClass ())) {
190192 return (R ) value ;
191193 } else if (result .getClass ().equals (Address .class ) && returnType .equals (String .class )) {
192194 return (R ) result .toString (); // cast isn't necessary
@@ -208,7 +210,9 @@ public void called(T result) {
208210 }
209211
210212 Object value = result .getValue ();
211- if (returnType .isAssignableFrom (value .getClass ())) {
213+ if (returnType .isAssignableFrom (result .getClass ())) {
214+ cb .called ((R ) result );
215+ } else if (returnType .isAssignableFrom (value .getClass ())) {
212216 cb .called ((R ) value );
213217 } else if (result .getClass ().equals (Address .class ) && returnType .equals (String .class )) {
214218 cb .called ((R ) result .toString ()); // cast isn't necessary
You can’t perform that action at this time.
0 commit comments