授权智能合约无限额ERC20代币后,是否可划转所有ERC20及ETH、USDT、BNB?
ERC20无限授权的权限范围解析
对应授权的ERC20代币:是,一旦授予某智能合约该代币的无限额授权,合约可以一次性划转你钱包内所有的该种ERC20代币。ERC20标准的
approve机制本质是允许授权方调用transferFrom方法转移你的代币,无限额意味着没有数量上限,只要你账户内有该代币余额,合约就有权转走全部。ETH(原生资产):不行。ETH是以太坊的原生加密资产,不遵循ERC20标准,不存在ERC20授权机制。合约要转走你的ETH,只能通过你主动发起转账,或者你调用合约的
payable函数时触发扣ETH的逻辑,和ERC20授权没有任何关联。USDT、BNB这类资产:需按资产类型区分:
- 若为ERC20/兼容ERC20标准的版本(比如以太坊链上的USDT、BSC链上的BEP20格式BNB):只有你对合约授予了该特定代币的无限授权时,合约才能转走你的该类代币。仅授权某一种ERC20代币,不会影响其他ERC20/兼容标准的代币。
- 若为链上原生资产版本(比如BNB Chain的原生BNB):和ETH逻辑一致,不依赖ERC20授权,合约无法通过ERC20授权的方式转走这类资产。
内容的提问来源于stack exchange,提问作者Emma Collins
相关产品推荐
相关产品推荐

