        syncControls()

        syncAllowance()
        syncSwapData()
    }

    override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
        super.touchesEnded(touches, with: event)

        view.endEditing(true)
    }

    private func pathString(path: [SwapToken]) -> String {
        let parts = path.map { token -> String in
            if token.isEther {