Я написал смарт-контракт на 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;
}
}