// TODO: use existing libbitcoin-node implementation.
void server_node::fullnode_fetch_history(server_node& node,
    const incoming_message& request, queue_send_callback queue_send)
{
    uint32_t from_height;
    payment_address payaddr;
    if (!unwrap_fetch_history_args(payaddr, from_height, request))
        return;

    fetch_history(node.blockchain(), node.transaction_indexer(), payaddr,
        std::bind(send_history_result, _1, _2, request, queue_send),
        from_height);
}
void server_node::fullnode_fetch_history(server_node& node,
        const incoming_message& request, queue_send_callback queue_send)
{
    uint32_t from_height;
    wallet::payment_address address;

    if (!unwrap_fetch_history_args(address, from_height, request))
        return;

    const auto handler =
        std::bind(send_history_result,
                  _1, _2, request, queue_send);

    fetch_history(node.blockchain(), node.transaction_indexer(), address,
                  handler, from_height);
}