实现 transfer 和 canceltransfer