@konstantinst13

Как в Solidity сделать так, чтоб при поступлении денег на кошелёк Metamask, они автоматически перенаправлялись на нужный смарт контракт?

Я написал смарт-контракт на Solidity, который при получении денег на свой адрес перенаправляет 50% на первый кошелек, 25% на второй кошелек.

Я написал это в Remix IDE, но мне этот смарт контракт нужен на моём кошельке Metamask.
Как сделать так, чтобы когда деньги поступали на кошелек Metamask (допустим, если у меня купили NFT), они автоматически перенаправлялись на этот смарт-контракт? (А потом этот смарт-контракт распределит их на два нужных кошелька).

P.S. Пожалуйста, если не сложно, просмотрите код, проверьте его на безопасность и корректность. Если что-то не так написано, подскажите, пожалуйста, как правильно переписать. Я новичок в Solidity. Спасибо за внимание.

Смарт-контракт:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract Demo {
        constructor() payable{}
        receive() external payable{}

        

        address addr1 = 0x583031D1113aD414F02576BD6afaBfb302140225;
        address addr2 = 0xdD870fA1b7C4700F2BD7f44238821C26f7392148;

        function withdrawFunds() external {
            //address target = payable(_to);
            address payable wallet1 = payable(addr1);
            address payable wallet2 = payable(addr2);

            uint _50 = address(this).balance/100*50; //50% of balance of contract
            uint _25 = address(this).balance/100*25; //25% of balance of contract

            wallet1.transfer(_50);
            wallet2.transfer(_25);
        }

        function receiveFunds() external payable {
            this.withdrawFunds();
        }

        function getBalance() public view returns(uint){
            return address(this).balance;
        }
}
  • Вопрос задан
  • 156 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы