I only show this here for
transfer, but it also applies tosend.
// SPDX-License-Identifier: WTFPL
pragma solidity 0.8.29;
contract Victim {
mapping(address account => uint256 balances) public balances;| #!/usr/bin/env bash | |
| while [[ "$#" -gt 0 ]]; do | |
| case $1 in | |
| --network) | |
| network="$2" | |
| shift | |
| ;; | |
| --address) | |
| address="$2" |
| # pragma version ~=0.4.2 | |
| """ | |
| @title `CREATE`, `CREATE2`, and `CREATE3` Utility Functions | |
| @license GNU Affero General Public License v3.0 only | |
| @author pcaversaccio | |
| """ | |
| PROXY_CHILD_BYTECODE: constant(Bytes[16]) = x"67363d3d37363d34f03d5260086018f3" | |
| import base58 | |
| import hashlib | |
| def eth_to_tron(eth_address): | |
| eth_address_bytes = bytes.fromhex( | |
| eth_address[2:] if eth_address.startswith("0x") else eth_address | |
| ) | |
| tron_address_bytes = b"\x41" + eth_address_bytes | |
| checksum = hashlib.sha256(hashlib.sha256(tron_address_bytes).digest()).digest()[:4] |
| import hashlib | |
| def base58_encode(data: bytes) -> str: | |
| alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" | |
| value = int.from_bytes(data, "big") | |
| result = [] | |
| while value: | |
| value, remainder = divmod(value, 58) |
| # pragma version ~=0.4.0rc5 | |
| """ | |
| @title `erc4626_fees` Module Reference Implementation | |
| @custom:contract-name erc4626_fees_mock | |
| @license GNU Affero General Public License v3.0 only | |
| @author pcaversaccio | |
| @custom:security I have coded this in ~30mins. It's completely | |
| untested code, so please be careful! | |
| """ |
mkdir test
cd testpyenv| # pragma version ^0.3.10 | |
| """ | |
| @title P256 Signature Verification Function | |
| @custom:contract-name P256Verifier | |
| @license GNU Affero General Public License v3.0 only | |
| @author pcaversaccio | |
| @notice The `verify` function can be used to natively (currently | |
| only supported on Polygon Mumbai test network) verify a | |
| P256 (a.k.a. secp256r1 elliptic curve) signature. For more | |
| technical details, please refer to EIP-7212: |
| // SPDX-License-Identifier: MIT | |
| // File: @openzeppelin/contracts/math/SafeMath.sol | |
| // Original license: SPDX_License_Identifier: MIT | |
| pragma solidity >=0.6.0 <0.8.0; | |
| /** | |
| * @dev Wrappers over Solidity's arithmetic operations with added overflow |