class RewardContract extends BaseContract {

    public RemoteCall<CallResponse<List<Reward>>> getDelegateReward(String address,List<String> nodeList) {
        List<NodeId> bytesTypeList = nodeList.stream().map(nodeId ->  new NodeId(nodeId)).collect(Collectors.toList());
        CustomStaticArray<NodeId> dynamicArray =  new CustomStaticArray<>(bytesTypeList);
        Function function = new Function(FunctionType.GET_DELEGATE_REWARD_FUNC_TYPE,
                Arrays.asList(new BytesType(Bech32.addressDecode(address)), dynamicArray));
        return executeRemoteCallListValueReturn(function, Reward.class);
    }

    private  RewardContract(String contractAddress, Web3j web3j);
    private  RewardContract(String contractAddress, long chainId, Web3j web3j, Credentials credentials);
    private  RewardContract(String contractAddress, Web3j web3j, TransactionManager transactionManager);

}