For CPFP to work... you need to spending one of the outputs of the previous unconfirmed transaction.
Ie.
UnconfirmedTransaction1:
InputA ---> RecipientAddressA
|-> ChangeAddressB
So, you need to be spending the outputs that went to RecipientAddressA
or ChangeAddressB in the CPFP transaction... ie the "children" of the transaction... which means you need to be the
recipient of the original transaction, or the owner of any change address that was used.
So, with the above scenario, the
receiver could setup a CPFP like this:
RecipientAddressA ---> OutputX
or the original sender could spend their unconfirmed change like this:
ChangeAddressB ---> OutputY
Basically, you can only do CPFP if you have
received unconfirmed coins... you cannot use CPFP if you were just the sender and didn't get any change:
In this scenerio...
only ReceiverB can do CPFP... as they're the only "child"