public static boolean containsHexPrefix(String input) { return !Strings.isEmpty(input) && input.length() > 1 && input.charAt(0) == '0' && input.charAt(1) == 'x'; }
/** * Decode ABI encoded return values from smart contract function call. * * @param rawInput ABI encoded input * @param outputParameters list of return types as {@link TypeReference} * @return {@link List} of values returned by function, {@link Collections#emptyList()} if * invalid response */ public static List<Type> decode( String rawInput, List<TypeReference<Type>> outputParameters) { String input = Numeric.cleanHexPrefix(rawInput); if (Strings.isEmpty(input)) { return Collections.emptyList(); } else { return build(input, outputParameters); } }
public static void main(String[] args) throws Exception { String[] fullArgs; if (args.length == 5) { fullArgs = new String[args.length + 1]; fullArgs[0] = JAVA_TYPES_ARG; System.arraycopy(args, 0, fullArgs, 1, args.length); } else { fullArgs = args; } if (fullArgs.length != 6) { exitError(USAGE); } boolean useJavaNativeTypes = useJavaNativeTypes(fullArgs[0], USAGE); String jsonFileLocation = parsePositionalArg(fullArgs, 1); String destinationDirLocation = parseParameterArgument(fullArgs, "-o", "--outputDir"); String basePackageName = parseParameterArgument(fullArgs, "-p", "--package"); if (Strings.isEmpty(jsonFileLocation) || Strings.isEmpty(destinationDirLocation) || Strings.isEmpty(basePackageName)) { exitError(USAGE); } new TruffleJsonFunctionWrapperGenerator( jsonFileLocation, destinationDirLocation, basePackageName, useJavaNativeTypes) .generate(); }
/** * Decode ABI encoded return values from smart contract function call. * * @param rawInput ABI encoded input * @param outputParameters list of return types as {@link TypeReference} * @return {@link List} of values returned by function, {@link Collections#emptyList()} if * invalid response */ public static List<Type> decode( String rawInput, List<TypeReference<Type>> outputParameters) { String input = Numeric.cleanHexPrefix(rawInput); if (Strings.isEmpty(input)) { return Collections.emptyList(); } else { return build(input, outputParameters); } }
public static void main(String[] args) throws Exception { String[] fullArgs; if (args.length == 5) { fullArgs = new String[args.length + 1]; fullArgs[0] = JAVA_TYPES_ARG; System.arraycopy(args, 0, fullArgs, 1, args.length); } else { fullArgs = args; } if (fullArgs.length != 6) { exitError(USAGE); } boolean useJavaNativeTypes = useJavaNativeTypes(fullArgs[0], USAGE); String jsonFileLocation = parsePositionalArg(fullArgs, 1); String destinationDirLocation = parseParameterArgument(fullArgs, "-o", "--outputDir"); String basePackageName = parseParameterArgument(fullArgs, "-p", "--package"); if (Strings.isEmpty(jsonFileLocation) || Strings.isEmpty(destinationDirLocation) || Strings.isEmpty(basePackageName)) { exitError(USAGE); } new TruffleJsonFunctionWrapperGenerator( jsonFileLocation, destinationDirLocation, basePackageName, useJavaNativeTypes) .generate(); }