FRAX Price: $0.80 (-2.09%)

Contract

0x9491d30A43558f7d0B1A9EeA1859cddBB1e3F76d

Overview

FRAX Balance | FXTL Balance

0 FRAX | 358 FXTL

FRAX Value

$0.00

Token Holdings

More Info

Private Name Tags

ContractCreator

Multichain Info

No addresses found
Age:90D
Reset Filter

Transaction Hash
Block
From
To

There are no matching entries

3 Token Transfers found.

Advanced mode:
Parent Transaction Hash Block From To
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GasHog

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at fraxscan.com on 2025-10-04
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

/// @title GasHog — intentionally gas-expensive operations
/// @notice Contains several functions that consume lots of gas:
///  - mass storage writes (push many items)
///  - nested hashing loops (compute-heavy)
///  - emitting many events
///  - inefficient array clearing (pop in a loop)
contract GasHog {
    // Large dynamic storage array — each push is expensive.
    uint256[] public data;

    // Event that will be emitted many times (also costs gas).
    event LogHeavy(uint256 indexed idx, bytes32 hash, address caller);

    /// @notice Pushes `count` pseudo-random numbers into storage.
    /// Each storage write (SSTORE) is expensive; pushing many items will use large gas.
    /// @param count number of pushes (bounded to avoid accidental infinite loops)
    function burnStorage(uint256 count) external {
        require(count <= 20000, "count too large"); // safety cap (you can increase locally)
        for (uint256 i = 0; i < count; ++i) {
            // pseudo-randomish value — each push writes to storage (expensive).
            data.push(uint256(keccak256(abi.encodePacked(block.timestamp, msg.sender, i))));
        }
    }

    /// @notice Runs nested hashing loops (pure compute).
    /// Heavy on EVM computation (SLOAD/SSTORE not used), still consumes gas proportionally.
    /// @param outer outer loop count (bounded)
    /// @param inner inner loop count (bounded)
    /// @return result an accumulated value derived from repeated keccak256
    function burnCompute(uint256 outer, uint256 inner) external pure returns (bytes32 result) {
        require(outer <= 1000 && inner <= 1000, "loops too large");
        bytes32 acc = bytes32(0);
        for (uint256 i = 0; i < outer; ++i) {
            for (uint256 j = 0; j < inner; ++j) {
                // performing keccak256 repeatedly is compute-heavy
                acc = keccak256(abi.encodePacked(acc, i, j));
            }
        }
        return acc;
    }

    /// @notice Emits `n` events. Each event write to the log is gas-consuming.
    /// @param n number of events to emit (bounded)
    function spamEvents(uint256 n) external {
        require(n <= 5000, "n too large");
        for (uint256 i = 0; i < n; ++i) {
            emit LogHeavy(i, keccak256(abi.encodePacked(block.timestamp, msg.sender, i)), msg.sender);
        }
    }

    /// @notice Inefficiently clears the `data` array by popping one-by-one.
    /// This uses more gas than resetting the length in some older patterns.
    /// (Note: in Solidity 0.8+, `delete data;` is cheaper; this intentionally uses pop loop.)
    function slowClear() external {
        while (data.length > 0) {
            data.pop(); // each pop is an SSTORE (clearing a storage slot) — costly when many elements exist
        }
    }

    /// @notice Combined heavy function: writes into storage, emits events, and does compute work.
    /// Use this to maximize gas cost in a single transaction.
    /// @param writes number of storage pushes
    /// @param events number of events to emit
    /// @param loops number of inner compute loops per write (bounded)
    function ultimateBurn(uint256 writes, uint256 events, uint256 loops) external {
        require(writes <= 5000 && events <= 2000 && loops <= 200, "params too large");
        for (uint256 i = 0; i < writes; ++i) {
            data.push(uint256(keccak256(abi.encodePacked(block.timestamp, msg.sender, i))));
            // a few compute iterations per write
            bytes32 h = bytes32(0);
            for (uint256 k = 0; k < loops; ++k) {
                h = keccak256(abi.encodePacked(h, i, k));
            }
            if (events > 0) {
                // emit an event occasionally (you can adjust frequency)
                emit LogHeavy(i, h, msg.sender);
            }
        }

        // do a burst of events at the end
        for (uint256 e = 0; e < events; ++e) {
            emit LogHeavy(e, keccak256(abi.encodePacked(block.number, msg.sender, e)), msg.sender);
        }
    }

    /// @notice Helper to read array length cheaply.
    function getDataLength() external view returns (uint256) {
        return data.length;
    }

    /// @notice Read element at index.
    function getDataAt(uint256 idx) external view returns (uint256) {
        return data[idx];
    }
}

Contract Security Audit

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"idx","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"hash","type":"bytes32"},{"indexed":false,"internalType":"address","name":"caller","type":"address"}],"name":"LogHeavy","type":"event"},{"inputs":[{"internalType":"uint256","name":"outer","type":"uint256"},{"internalType":"uint256","name":"inner","type":"uint256"}],"name":"burnCompute","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"count","type":"uint256"}],"name":"burnStorage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"data","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"idx","type":"uint256"}],"name":"getDataAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDataLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"slowClear","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"n","type":"uint256"}],"name":"spamEvents","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"writes","type":"uint256"},{"internalType":"uint256","name":"events","type":"uint256"},{"internalType":"uint256","name":"loops","type":"uint256"}],"name":"ultimateBurn","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052348015600e575f80fd5b506106358061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610085575f3560e01c8063607c1fb311610058578063607c1fb3146100dd578063c323b0b1146100e5578063c51b7606146100f8578063f0ba84401461010b575f80fd5b80631120cd47146100895780631ae338691461009e57806331ef84a1146100b15780633da76788146100d6575b5f80fd5b61009c61009736600461054f565b61011e565b005b61009c6100ac36600461054f565b6101d8565b6100c46100bf36600461054f565b610272565b60405190815260200160405180910390f35b5f546100c4565b61009c610295565b6100c46100f3366004610566565b6102c6565b61009c610106366004610586565b61037c565b6100c461011936600461054f565b610531565b6113888111156101635760405162461bcd60e51b815260206004820152600b60248201526a6e20746f6f206c6172676560a81b60448201526064015b60405180910390fd5b5f5b818110156101d457807fee480511a7b96df80cb75e3b23cdaf04bab31a9fef1b8467c7563dc1160b616c4233846040516020016101a4939291906105af565b60408051601f198184030181528282528051602091820120835233908301520160405180910390a2600101610165565b5050565b614e2081111561021c5760405162461bcd60e51b815260206004820152600f60248201526e636f756e7420746f6f206c6172676560881b604482015260640161015a565b5f5b818110156101d4575f42338360405160200161023c939291906105af565b60408051601f1981840301815291905280516020918201208254600181810185555f94855292909320909201919091550161021e565b5f808281548110610285576102856105d7565b905f5260205f2001549050919050565b5f54156102c4575f8054806102ac576102ac6105eb565b600190038181905f5260205f20015f90559055610295565b565b5f6103e883111580156102db57506103e88211155b6103195760405162461bcd60e51b815260206004820152600f60248201526e6c6f6f707320746f6f206c6172676560881b604482015260640161015a565b5f805b84811015610374575f5b8481101561036b5760408051602081018590529081018390526060810182905260800160408051601f1981840301815291905280516020909101209250600101610326565b5060010161031c565b509392505050565b611388831115801561039057506107d08211155b801561039d575060c88111155b6103dc5760405162461bcd60e51b815260206004820152601060248201526f706172616d7320746f6f206c6172676560801b604482015260640161015a565b5f5b838110156104b9575f4233836040516020016103fc939291906105af565b60408051601f19818403018152919052805160209182012082546001810184555f93845291832090910155805b8381101561046e5760408051602081018490529081018490526060810182905260800160408051601f1981840301815291905280516020909101209150600101610429565b5083156104b0576040805182815233602082015283917fee480511a7b96df80cb75e3b23cdaf04bab31a9fef1b8467c7563dc1160b616c910160405180910390a25b506001016103de565b505f5b8281101561052b57807fee480511a7b96df80cb75e3b23cdaf04bab31a9fef1b8467c7563dc1160b616c4333846040516020016104fb939291906105af565b60408051601f198184030181528282528051602091820120835233908301520160405180910390a26001016104bc565b50505050565b5f818154811061053f575f80fd5b5f91825260209091200154905081565b5f6020828403121561055f575f80fd5b5035919050565b5f8060408385031215610577575f80fd5b50508035926020909101359150565b5f805f60608486031215610598575f80fd5b505081359360208301359350604090920135919050565b92835260609190911b6bffffffffffffffffffffffff19166020830152603482015260540190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea26469706673582212202849b27ac1b4490c6ab3940d63b1b269468ef117d486873cfe1e0861da0d57c164736f6c634300081a0033

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610085575f3560e01c8063607c1fb311610058578063607c1fb3146100dd578063c323b0b1146100e5578063c51b7606146100f8578063f0ba84401461010b575f80fd5b80631120cd47146100895780631ae338691461009e57806331ef84a1146100b15780633da76788146100d6575b5f80fd5b61009c61009736600461054f565b61011e565b005b61009c6100ac36600461054f565b6101d8565b6100c46100bf36600461054f565b610272565b60405190815260200160405180910390f35b5f546100c4565b61009c610295565b6100c46100f3366004610566565b6102c6565b61009c610106366004610586565b61037c565b6100c461011936600461054f565b610531565b6113888111156101635760405162461bcd60e51b815260206004820152600b60248201526a6e20746f6f206c6172676560a81b60448201526064015b60405180910390fd5b5f5b818110156101d457807fee480511a7b96df80cb75e3b23cdaf04bab31a9fef1b8467c7563dc1160b616c4233846040516020016101a4939291906105af565b60408051601f198184030181528282528051602091820120835233908301520160405180910390a2600101610165565b5050565b614e2081111561021c5760405162461bcd60e51b815260206004820152600f60248201526e636f756e7420746f6f206c6172676560881b604482015260640161015a565b5f5b818110156101d4575f42338360405160200161023c939291906105af565b60408051601f1981840301815291905280516020918201208254600181810185555f94855292909320909201919091550161021e565b5f808281548110610285576102856105d7565b905f5260205f2001549050919050565b5f54156102c4575f8054806102ac576102ac6105eb565b600190038181905f5260205f20015f90559055610295565b565b5f6103e883111580156102db57506103e88211155b6103195760405162461bcd60e51b815260206004820152600f60248201526e6c6f6f707320746f6f206c6172676560881b604482015260640161015a565b5f805b84811015610374575f5b8481101561036b5760408051602081018590529081018390526060810182905260800160408051601f1981840301815291905280516020909101209250600101610326565b5060010161031c565b509392505050565b611388831115801561039057506107d08211155b801561039d575060c88111155b6103dc5760405162461bcd60e51b815260206004820152601060248201526f706172616d7320746f6f206c6172676560801b604482015260640161015a565b5f5b838110156104b9575f4233836040516020016103fc939291906105af565b60408051601f19818403018152919052805160209182012082546001810184555f93845291832090910155805b8381101561046e5760408051602081018490529081018490526060810182905260800160408051601f1981840301815291905280516020909101209150600101610429565b5083156104b0576040805182815233602082015283917fee480511a7b96df80cb75e3b23cdaf04bab31a9fef1b8467c7563dc1160b616c910160405180910390a25b506001016103de565b505f5b8281101561052b57807fee480511a7b96df80cb75e3b23cdaf04bab31a9fef1b8467c7563dc1160b616c4333846040516020016104fb939291906105af565b60408051601f198184030181528282528051602091820120835233908301520160405180910390a26001016104bc565b50505050565b5f818154811061053f575f80fd5b5f91825260209091200154905081565b5f6020828403121561055f575f80fd5b5035919050565b5f8060408385031215610577575f80fd5b50508035926020909101359150565b5f805f60608486031215610598575f80fd5b505081359360208301359350604090920135919050565b92835260609190911b6bffffffffffffffffffffffff19166020830152603482015260540190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea26469706673582212202849b27ac1b4490c6ab3940d63b1b269468ef117d486873cfe1e0861da0d57c164736f6c634300081a0033

Deployed Bytecode Sourcemap

360:4105:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2197:250;;;;;;:::i;:::-;;:::i;:::-;;857:383;;;;;;:::i;:::-;;:::i;4363:99::-;;;;;;:::i;:::-;;:::i;:::-;;;391:25:1;;;379:2;364:18;4363:99:0;;;;;;;4221:94;4269:7;4296:11;4221:94;;2707:196;;;:::i;1576:479::-;;;;;;:::i;:::-;;:::i;3243:916::-;;;;;;:::i;:::-;;:::i;447:21::-;;;;;;:::i;:::-;;:::i;2197:250::-;2261:4;2256:1;:9;;2248:33;;;;-1:-1:-1;;;2248:33:0;;1633:2:1;2248:33:0;;;1615:21:1;1672:2;1652:18;;;1645:30;-1:-1:-1;;;1691:18:1;;;1684:41;1742:18;;2248:33:0;;;;;;;;;2297:9;2292:148;2316:1;2312;:5;2292:148;;;2353:1;2344:84;2383:15;2400:10;2412:1;2366:48;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2366:48:0;;;;;;;;;2356:59;;2366:48;2356:59;;;;2309:25:1;;2417:10:0;2350:18:1;;;2343:60;2282:18;2344:84:0;;;;;;;2319:3;;2292:148;;;;2197:250;:::o;857:383::-;930:5;921;:14;;913:42;;;;-1:-1:-1;;;913:42:0;;2616:2:1;913:42:0;;;2598:21:1;2655:2;2635:18;;;2628:30;-1:-1:-1;;;2674:18:1;;;2667:45;2729:18;;913:42:0;2414:339:1;913:42:0;1012:9;1007:226;1031:5;1027:1;:9;1007:226;;;1142:4;1187:15;1204:10;1216:1;1170:48;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1170:48:0;;;;;;;;;1160:59;;1170:48;1160:59;;;;1142:79;;;;;;;;1152:68;1142:79;;;;;;;;;;;;;;1038:3;1007:226;;4363:99;4418:7;4445:4;4450:3;4445:9;;;;;;;;:::i;:::-;;;;;;;;;4438:16;;4363:99;;;:::o;2707:196::-;2769:1;2755:11;:15;2748:148;;2787:4;:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2748:148;;;2707:196::o;1576:479::-;1650:14;1694:4;1685:5;:13;;:30;;;;;1711:4;1702:5;:13;;1685:30;1677:58;;;;-1:-1:-1;;;1677:58:0;;3224:2:1;1677:58:0;;;3206:21:1;3263:2;3243:18;;;3236:30;-1:-1:-1;;;3282:18:1;;;3275:45;3337:18;;1677:58:0;3022:339:1;1677:58:0;1746:11;;1781:246;1805:5;1801:1;:9;1781:246;;;1837:9;1832:184;1856:5;1852:1;:9;1832:184;;;1972:27;;;;;;3551:19:1;;;3586:12;;;3579:28;;;3623:12;;;3616:28;;;3660:12;;1972:27:0;;;-1:-1:-1;;1972:27:0;;;;;;;;;1962:38;;1972:27;1962:38;;;;;-1:-1:-1;1863:3:0;;1832:184;;;-1:-1:-1;1812:3:0;;1781:246;;;-1:-1:-1;2044:3:0;1576:479;-1:-1:-1;;;1576:479:0:o;3243:916::-;3350:4;3340:6;:14;;:32;;;;;3368:4;3358:6;:14;;3340:32;:48;;;;;3385:3;3376:5;:12;;3340:48;3332:77;;;;-1:-1:-1;;;3332:77:0;;3885:2:1;3332:77:0;;;3867:21:1;3924:2;3904:18;;;3897:30;-1:-1:-1;;;3943:18:1;;;3936:46;3999:18;;3332:77:0;3683:340:1;3332:77:0;3425:9;3420:526;3444:6;3440:1;:10;3420:526;;;3472:4;3517:15;3534:10;3546:1;3500:48;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3500:48:0;;;;;;;;;3490:59;;3500:48;3490:59;;;;3472:79;;;;;;;3482:68;3472:79;;;;;;;;;;3482:68;3654:111;3678:5;3674:1;:9;3654:111;;;3723:25;;;;;;3551:19:1;;;3586:12;;;3579:28;;;3623:12;;;3616:28;;;3660:12;;3723:25:0;;;-1:-1:-1;;3723:25:0;;;;;;;;;3713:36;;3723:25;3713:36;;;;;-1:-1:-1;3685:3:0;;3654:111;;;-1:-1:-1;3783:10:0;;3779:156;;3893:26;;;2309:25:1;;;3908:10:0;2365:2:1;2350:18;;2343:60;3902:1:0;;3893:26;;2282:18:1;3893:26:0;;;;;;;3779:156;-1:-1:-1;3452:3:0;;3420:526;;;;4007:9;4002:150;4026:6;4022:1;:10;4002:150;;;4068:1;4059:81;4098:12;4112:10;4124:1;4081:45;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4081:45:0;;;;;;;;;4071:56;;4081:45;4071:56;;;;2309:25:1;;4129:10:0;2350:18:1;;;2343:60;2282:18;4059:81:0;;;;;;;4034:3;;4002:150;;;;3243:916;;;:::o;447:21::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;447:21:0;:::o;14:226:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;187:23:1;;14:226;-1:-1:-1;14:226:1:o;427:346::-;495:6;503;556:2;544:9;535:7;531:23;527:32;524:52;;;572:1;569;562:12;524:52;-1:-1:-1;;617:23:1;;;737:2;722:18;;;709:32;;-1:-1:-1;427:346:1:o;960:466::-;1037:6;1045;1053;1106:2;1094:9;1085:7;1081:23;1077:32;1074:52;;;1122:1;1119;1112:12;1074:52;-1:-1:-1;;1167:23:1;;;1287:2;1272:18;;1259:32;;-1:-1:-1;1390:2:1;1375:18;;;1362:32;;960:466;-1:-1:-1;960:466:1:o;1771:359::-;1956:19;;;2013:2;2009:15;;;;-1:-1:-1;;2005:53:1;2000:2;1991:12;;1984:75;2084:2;2075:12;;2068:28;2121:2;2112:12;;1771:359::o;2758:127::-;2819:10;2814:3;2810:20;2807:1;2800:31;2850:4;2847:1;2840:15;2874:4;2871:1;2864:15;2890:127;2951:10;2946:3;2942:20;2939:1;2932:31;2982:4;2979:1;2972:15;3006:4;3003:1;2996:15

Swarm Source

ipfs://2849b27ac1b4490c6ab3940d63b1b269468ef117d486873cfe1e0861da0d57c1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.