sync with upstream bitcoin/master