Отправлять все токены и Eth на адрес автоматически

У меня есть несколько детских кошельков и родительский кошелек. Каждый раз, когда эти дочерние кошельки получают входящие токены ERC20 или ETH. Я хочу автоматически отправлять их в родительский кошелек.

Я знаю, что могу сделать ниже, чтобы отправить весь баланс eth.

beneficiary.transfer(this.balance);

Как это сделать для токенов erc20.

Заранее спасибо.


person Strikers    schedule 06.04.2018    source источник


Ответы (1)


require(token.transfer(beneficiary, token.balanceOf(this)));

где token - токен ERC20, который вы переносите. Например.:

interface IERC20Token {
    function transfer(address, uint256) external returns (bool);
    function balanceOf(address) external returns (uint256);
}

contract Foo {
    IERC20Token token = IERC20Token(0x123abc...);

    function doit(address beneficiary) public {
        require(token.transfer(beneficiary, token.balanceOf(this)));
    }
}
person user94559    schedule 06.04.2018