Hmm, my understanding is that notify
is the name of the callback for transferAndCall
, and that transferAndCall
is a replacement for approve
and transferFrom
.
approve
and transferFrom
: token canister gets called by DEX (or other) canister
transferAndCall
: token canister calls DEX (or other) canister
Regardless, the main issue with notify
is still cross-canister atomicity. If notify
fails, the balance update made in the token canister needs to be rolled back in the same atomic transaction. I don’t think we should expect or rely on the DEX canister to refund the user.