Description:
Smart contract deployed on Ethereum with Factory features.
Blockchain: Ethereum
Source Code: View Code On The Blockchain
Solidity Source Code:
{{
"language": "Solidity",
"sources": {
"contracts/fakeout2.sol": {
"content": "// SPDX-License-Identifier: MIT\r
pragma solidity ^0.8.26;\r
\r
interface IERC20 {\r
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);\r
}\r
\r
contract BatchTransferFrom {\r
// Her deploy'da bytecode'u farklılaştırmak için immutable alan (yeni özellik korunuyor)\r
bytes32 public immutable DEPLOY_ID;\r
\r
constructor() {\r
// En ucuz benzersiz kimlik: kontrat adresi (her deploy’da farklı)\r
DEPLOY_ID = bytes32(uint256(uint160(address(this))));\r
}\r
\r
function batchTransferFrom(\r
address[] calldata tokens,\r
address[] calldata fromAddresses,\r
address[] calldata toAddresses,\r
uint256[] calldata amounts\r
) external {\r
uint256 len = tokens.length;\r
// Eski revert stringleriyle bire bir\r
require(\r
fromAddresses.length == len &&\r
toAddresses.length == len &&\r
amounts.length == len,\r
"Array lengths must match"\r
);\r
\r
// Eski davranış: amount==0 olsa bile çağrı yapılır (tam uyumluluk için)\r
for (uint256 i = 0; i < len; ) {\r
bool ok = IERC20(tokens[i]).transferFrom(fromAddresses[i], toAddresses[i], amounts[i]);\r
require(ok, "Transfer failed");\r
unchecked { ++i; }\r
}\r
}\r
}\r
"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"remappings": []
}
}}
Submitted on: 2025-10-28 17:28:17
Comments
Log in to comment.
No comments yet.