Search in sources :

Example 1 with Uint

use of org.fisco.bcos.web3j.abi.datatypes.Uint in project web3sdk by FISCO-BCOS.

the class FunctionEncoder method encodeParameters.

public static String encodeParameters(List<Type> parameters, StringBuilder result) {
    int dynamicDataOffset = Utils.getLength(parameters) * Type.MAX_BYTE_LENGTH;
    StringBuilder dynamicData = new StringBuilder();
    for (Type parameter : parameters) {
        String encodedValue = TypeEncoder.encode(parameter);
        if (parameter.dynamicType()) {
            String encodedDataOffset = TypeEncoder.encodeNumeric(new Uint(BigInteger.valueOf(dynamicDataOffset)));
            result.append(encodedDataOffset);
            dynamicData.append(encodedValue);
            dynamicDataOffset += (encodedValue.length() >> 1);
        } else {
            result.append(encodedValue);
        }
    }
    result.append(dynamicData);
    return result.toString();
}
Also used : Type(org.fisco.bcos.web3j.abi.datatypes.Type) Uint(org.fisco.bcos.web3j.abi.datatypes.Uint) Uint(org.fisco.bcos.web3j.abi.datatypes.Uint)

Aggregations

Type (org.fisco.bcos.web3j.abi.datatypes.Type)1 Uint (org.fisco.bcos.web3j.abi.datatypes.Uint)1