complete promise signatures