Is there a function where I could swap token off chain or do we have to tip oneanother like in the past?