Address io1jm9t0awskmd0m586atmh399wcce766f97ks0e4

Contract Overview

Balance:
0 IOTX

IOTX Value:
$ 0

Token:
Txn Hash
Block
From
To
Value [Txn Fee]
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Halo2SimpleVerifier

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

contract Halo2SimpleVerifier {
    fallback(bytes calldata) external returns (bytes memory) {
        assembly {
            let success := true
            let f_p := 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47
            let f_q := 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001
            function validate_ec_point(x, y) -> valid {
                {
                    let x_lt_p := lt(x, 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47)
                    let y_lt_p := lt(y, 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47)
                    valid := and(x_lt_p, y_lt_p)
                }
                {
                    let y_square := mulmod(y, y, 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47)
                    let x_square := mulmod(x, x, 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47)
                    let x_cube := mulmod(x_square, x, 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47)
                    let x_cube_plus_3 := addmod(x_cube, 3, 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47)
                    let is_affine := eq(x_cube_plus_3, y_square)
                    valid := and(valid, is_affine)
                }
            }
            mstore(0x20, mod(calldataload(0x0), f_q))
mstore(0x0, 1607847067647824778547044578945309865576662158344285060476875172137268857800)

        {
            let x := calldataload(0x20)
            mstore(0x40, x)
            let y := calldataload(0x40)
            mstore(0x60, y)
            success := and(validate_ec_point(x, y), success)
        }

        {
            let x := calldataload(0x60)
            mstore(0x80, x)
            let y := calldataload(0x80)
            mstore(0xa0, y)
            success := and(validate_ec_point(x, y), success)
        }
mstore(0xc0, keccak256(0x0, 192))
{
            let hash := mload(0xc0)
            mstore(0xe0, mod(hash, f_q))
            mstore(0x100, hash)
        }
mstore8(288, 1)
mstore(0x120, keccak256(0x100, 33))
{
            let hash := mload(0x120)
            mstore(0x140, mod(hash, f_q))
            mstore(0x160, hash)
        }
mstore8(384, 1)
mstore(0x180, keccak256(0x160, 33))
{
            let hash := mload(0x180)
            mstore(0x1a0, mod(hash, f_q))
            mstore(0x1c0, hash)
        }

        {
            let x := calldataload(0xa0)
            mstore(0x1e0, x)
            let y := calldataload(0xc0)
            mstore(0x200, y)
            success := and(validate_ec_point(x, y), success)
        }

        {
            let x := calldataload(0xe0)
            mstore(0x220, x)
            let y := calldataload(0x100)
            mstore(0x240, y)
            success := and(validate_ec_point(x, y), success)
        }

        {
            let x := calldataload(0x120)
            mstore(0x260, x)
            let y := calldataload(0x140)
            mstore(0x280, y)
            success := and(validate_ec_point(x, y), success)
        }

        {
            let x := calldataload(0x160)
            mstore(0x2a0, x)
            let y := calldataload(0x180)
            mstore(0x2c0, y)
            success := and(validate_ec_point(x, y), success)
        }

        {
            let x := calldataload(0x1a0)
            mstore(0x2e0, x)
            let y := calldataload(0x1c0)
            mstore(0x300, y)
            success := and(validate_ec_point(x, y), success)
        }
mstore(0x320, keccak256(0x1c0, 352))
{
            let hash := mload(0x320)
            mstore(0x340, mod(hash, f_q))
            mstore(0x360, hash)
        }

        {
            let x := calldataload(0x1e0)
            mstore(0x380, x)
            let y := calldataload(0x200)
            mstore(0x3a0, y)
            success := and(validate_ec_point(x, y), success)
        }

        {
            let x := calldataload(0x220)
            mstore(0x3c0, x)
            let y := calldataload(0x240)
            mstore(0x3e0, y)
            success := and(validate_ec_point(x, y), success)
        }
mstore(0x400, keccak256(0x360, 160))
{
            let hash := mload(0x400)
            mstore(0x420, mod(hash, f_q))
            mstore(0x440, hash)
        }
mstore(0x460, mod(calldataload(0x260), f_q))
mstore(0x480, mod(calldataload(0x280), f_q))
mstore(0x4a0, mod(calldataload(0x2a0), f_q))
mstore(0x4c0, mod(calldataload(0x2c0), f_q))
mstore(0x4e0, mod(calldataload(0x2e0), f_q))
mstore(0x500, mod(calldataload(0x300), f_q))
mstore(0x520, mod(calldataload(0x320), f_q))
mstore(0x540, mod(calldataload(0x340), f_q))
mstore(0x560, mod(calldataload(0x360), f_q))
mstore(0x580, mod(calldataload(0x380), f_q))
mstore(0x5a0, mod(calldataload(0x3a0), f_q))
mstore(0x5c0, mod(calldataload(0x3c0), f_q))
mstore(0x5e0, mod(calldataload(0x3e0), f_q))
mstore(0x600, mod(calldataload(0x400), f_q))
mstore(0x620, mod(calldataload(0x420), f_q))
mstore(0x640, mod(calldataload(0x440), f_q))
mstore(0x660, mod(calldataload(0x460), f_q))
mstore(0x680, mod(calldataload(0x480), f_q))
mstore(0x6a0, mod(calldataload(0x4a0), f_q))
mstore(0x6c0, mod(calldataload(0x4c0), f_q))
mstore(0x6e0, mod(calldataload(0x4e0), f_q))
mstore(0x700, keccak256(0x440, 704))
{
            let hash := mload(0x700)
            mstore(0x720, mod(hash, f_q))
            mstore(0x740, hash)
        }

        {
            let x := calldataload(0x500)
            mstore(0x760, x)
            let y := calldataload(0x520)
            mstore(0x780, y)
            success := and(validate_ec_point(x, y), success)
        }

        {
            let x := calldataload(0x540)
            mstore(0x7a0, x)
            let y := calldataload(0x560)
            mstore(0x7c0, y)
            success := and(validate_ec_point(x, y), success)
        }

        {
            let x := calldataload(0x580)
            mstore(0x7e0, x)
            let y := calldataload(0x5a0)
            mstore(0x800, y)
            success := and(validate_ec_point(x, y), success)
        }
mstore(0x820, keccak256(0x740, 224))
{
            let hash := mload(0x820)
            mstore(0x840, mod(hash, f_q))
            mstore(0x860, hash)
        }
mstore(0x880, mulmod(mload(0x420), mload(0x420), f_q))
mstore(0x8a0, mulmod(mload(0x880), mload(0x880), f_q))
mstore(0x8c0, mulmod(mload(0x8a0), mload(0x8a0), f_q))
mstore(0x8e0, mulmod(mload(0x8c0), mload(0x8c0), f_q))
mstore(0x900, addmod(mload(0x8e0), 21888242871839275222246405745257275088548364400416034343698204186575808495616, f_q))
mstore(0x920, mulmod(mload(0x900), 20520227692349320520856005386178695395514091625390032197217066424914820464641, f_q))
mstore(0x940, mulmod(mload(0x920), 2347812377031792896086586148252853002454598368280444936565603590212962918785, f_q))
mstore(0x960, addmod(mload(0x420), 19540430494807482326159819597004422086093766032135589407132600596362845576832, f_q))
mstore(0x980, mulmod(mload(0x920), 14434499761643624212374564569705863880641796706245613649257228426577899712446, f_q))
mstore(0x9a0, addmod(mload(0x420), 7453743110195651009871841175551411207906567694170420694440975759997908783171, f_q))
mstore(0x9c0, mulmod(mload(0x920), 4407920970296243842541313971887945403937097133418418784715, f_q))
mstore(0x9e0, addmod(mload(0x420), 21888242871839275217838484774961031246007050428528088939761107053157389710902, f_q))
mstore(0xa00, mulmod(mload(0x920), 6253536085317186207246464833049627590927251685115435834607356421380913742894, f_q))
mstore(0xa20, addmod(mload(0x420), 15634706786522089014999940912207647497621112715300598509090847765194894752723, f_q))
mstore(0xa40, mulmod(mload(0x920), 8613538655231327379234925296132678673308827349856085326283699237864372525723, f_q))
mstore(0xa60, addmod(mload(0x420), 13274704216607947843011480449124596415239537050559949017414504948711435969894, f_q))
mstore(0xa80, mulmod(mload(0x920), 1307561275430600547084599052067232502310777467428991595475612152992795732190, f_q))
mstore(0xaa0, addmod(mload(0x420), 20580681596408674675161806693190042586237586932987042748222592033583012763427, f_q))
mstore(0xac0, mulmod(mload(0x920), 1, f_q))
mstore(0xae0, addmod(mload(0x420), 21888242871839275222246405745257275088548364400416034343698204186575808495616, f_q))
{
            let prod := mload(0x960)

                prod := mulmod(mload(0x9a0), prod, f_q)
                mstore(0xb00, prod)
            
                prod := mulmod(mload(0x9e0), prod, f_q)
                mstore(0xb20, prod)
            
                prod := mulmod(mload(0xa20), prod, f_q)
                mstore(0xb40, prod)
            
                prod := mulmod(mload(0xa60), prod, f_q)
                mstore(0xb60, prod)
            
                prod := mulmod(mload(0xaa0), prod, f_q)
                mstore(0xb80, prod)
            
                prod := mulmod(mload(0xae0), prod, f_q)
                mstore(0xba0, prod)
            
                prod := mulmod(mload(0x900), prod, f_q)
                mstore(0xbc0, prod)
            
        }
mstore(0xc00, 32)
mstore(0xc20, 32)
mstore(0xc40, 32)
mstore(0xc60, mload(0xbc0))
mstore(0xc80, 21888242871839275222246405745257275088548364400416034343698204186575808495615)
mstore(0xca0, 21888242871839275222246405745257275088548364400416034343698204186575808495617)
success := and(eq(staticcall(gas(), 0x5, 0xc00, 0xc0, 0xbe0, 0x20), 1), success)
{
            
            let inv := mload(0xbe0)
            let v
        
                    v := mload(0x900)
                    mstore(2304, mulmod(mload(0xba0), inv, f_q))
                    inv := mulmod(v, inv, f_q)
                
                    v := mload(0xae0)
                    mstore(2784, mulmod(mload(0xb80), inv, f_q))
                    inv := mulmod(v, inv, f_q)
                
                    v := mload(0xaa0)
                    mstore(2720, mulmod(mload(0xb60), inv, f_q))
                    inv := mulmod(v, inv, f_q)
                
                    v := mload(0xa60)
                    mstore(2656, mulmod(mload(0xb40), inv, f_q))
                    inv := mulmod(v, inv, f_q)
                
                    v := mload(0xa20)
                    mstore(2592, mulmod(mload(0xb20), inv, f_q))
                    inv := mulmod(v, inv, f_q)
                
                    v := mload(0x9e0)
                    mstore(2528, mulmod(mload(0xb00), inv, f_q))
                    inv := mulmod(v, inv, f_q)
                
                    v := mload(0x9a0)
                    mstore(2464, mulmod(mload(0x960), inv, f_q))
                    inv := mulmod(v, inv, f_q)
                mstore(0x960, inv)

        }
mstore(0xcc0, mulmod(mload(0x940), mload(0x960), f_q))
mstore(0xce0, mulmod(mload(0x980), mload(0x9a0), f_q))
mstore(0xd00, mulmod(mload(0x9c0), mload(0x9e0), f_q))
mstore(0xd20, mulmod(mload(0xa00), mload(0xa20), f_q))
mstore(0xd40, mulmod(mload(0xa40), mload(0xa60), f_q))
mstore(0xd60, mulmod(mload(0xa80), mload(0xaa0), f_q))
mstore(0xd80, mulmod(mload(0xac0), mload(0xae0), f_q))
{
            let result := mulmod(mload(0xd80), mload(0x20), f_q)
mstore(3488, result)
        }
mstore(0xdc0, mulmod(mload(0x480), mload(0x460), f_q))
mstore(0xde0, addmod(mload(0xdc0), sub(f_q, mload(0x4a0)), f_q))
mstore(0xe00, mulmod(mload(0xde0), mload(0x4e0), f_q))
mstore(0xe20, mulmod(mload(0x340), mload(0xe00), f_q))
mstore(0xe40, addmod(1, sub(f_q, mload(0x5a0)), f_q))
mstore(0xe60, mulmod(mload(0xe40), mload(0xd80), f_q))
mstore(0xe80, addmod(mload(0xe20), mload(0xe60), f_q))
mstore(0xea0, mulmod(mload(0x340), mload(0xe80), f_q))
mstore(0xec0, mulmod(mload(0x6c0), mload(0x6c0), f_q))
mstore(0xee0, addmod(mload(0xec0), sub(f_q, mload(0x6c0)), f_q))
mstore(0xf00, mulmod(mload(0xee0), mload(0xcc0), f_q))
mstore(0xf20, addmod(mload(0xea0), mload(0xf00), f_q))
mstore(0xf40, mulmod(mload(0x340), mload(0xf20), f_q))
mstore(0xf60, addmod(mload(0x600), sub(f_q, mload(0x5e0)), f_q))
mstore(0xf80, mulmod(mload(0xf60), mload(0xd80), f_q))
mstore(0xfa0, addmod(mload(0xf40), mload(0xf80), f_q))
mstore(0xfc0, mulmod(mload(0x340), mload(0xfa0), f_q))
mstore(0xfe0, addmod(mload(0x660), sub(f_q, mload(0x640)), f_q))
mstore(0x1000, mulmod(mload(0xfe0), mload(0xd80), f_q))
mstore(0x1020, addmod(mload(0xfc0), mload(0x1000), f_q))
mstore(0x1040, mulmod(mload(0x340), mload(0x1020), f_q))
mstore(0x1060, addmod(mload(0x6c0), sub(f_q, mload(0x6a0)), f_q))
mstore(0x1080, mulmod(mload(0x1060), mload(0xd80), f_q))
mstore(0x10a0, addmod(mload(0x1040), mload(0x1080), f_q))
mstore(0x10c0, mulmod(mload(0x340), mload(0x10a0), f_q))
mstore(0x10e0, addmod(1, sub(f_q, mload(0xcc0)), f_q))
mstore(0x1100, addmod(mload(0xce0), mload(0xd00), f_q))
mstore(0x1120, addmod(mload(0x1100), mload(0xd20), f_q))
mstore(0x1140, addmod(mload(0x1120), mload(0xd40), f_q))
mstore(0x1160, addmod(mload(0x1140), mload(0xd60), f_q))
mstore(0x1180, addmod(mload(0x10e0), sub(f_q, mload(0x1160)), f_q))
mstore(0x11a0, mulmod(mload(0x520), mload(0x140), f_q))
mstore(0x11c0, addmod(mload(0xda0), mload(0x11a0), f_q))
mstore(0x11e0, addmod(mload(0x11c0), mload(0x1a0), f_q))
mstore(0x1200, mulmod(mload(0x11e0), mload(0x5c0), f_q))
mstore(0x1220, mulmod(1, mload(0x140), f_q))
mstore(0x1240, mulmod(mload(0x420), mload(0x1220), f_q))
mstore(0x1260, addmod(mload(0xda0), mload(0x1240), f_q))
mstore(0x1280, addmod(mload(0x1260), mload(0x1a0), f_q))
mstore(0x12a0, mulmod(mload(0x1280), mload(0x5a0), f_q))
mstore(0x12c0, addmod(mload(0x1200), sub(f_q, mload(0x12a0)), f_q))
mstore(0x12e0, mulmod(mload(0x12c0), mload(0x1180), f_q))
mstore(0x1300, addmod(mload(0x10c0), mload(0x12e0), f_q))
mstore(0x1320, mulmod(mload(0x340), mload(0x1300), f_q))
mstore(0x1340, mulmod(mload(0x540), mload(0x140), f_q))
mstore(0x1360, addmod(mload(0x4c0), mload(0x1340), f_q))
mstore(0x1380, addmod(mload(0x1360), mload(0x1a0), f_q))
mstore(0x13a0, mulmod(mload(0x1380), mload(0x620), f_q))
mstore(0x13c0, mulmod(4131629893567559867359510883348571134090853742863529169391034518566172092834, mload(0x140), f_q))
mstore(0x13e0, mulmod(mload(0x420), mload(0x13c0), f_q))
mstore(0x1400, addmod(mload(0x4c0), mload(0x13e0), f_q))
mstore(0x1420, addmod(mload(0x1400), mload(0x1a0), f_q))
mstore(0x1440, mulmod(mload(0x1420), mload(0x600), f_q))
mstore(0x1460, addmod(mload(0x13a0), sub(f_q, mload(0x1440)), f_q))
mstore(0x1480, mulmod(mload(0x1460), mload(0x1180), f_q))
mstore(0x14a0, addmod(mload(0x1320), mload(0x1480), f_q))
mstore(0x14c0, mulmod(mload(0x340), mload(0x14a0), f_q))
mstore(0x14e0, mulmod(mload(0x560), mload(0x140), f_q))
mstore(0x1500, addmod(mload(0x460), mload(0x14e0), f_q))
mstore(0x1520, addmod(mload(0x1500), mload(0x1a0), f_q))
mstore(0x1540, mulmod(mload(0x1520), mload(0x680), f_q))
mstore(0x1560, mulmod(8910878055287538404433155982483128285667088683464058436815641868457422632747, mload(0x140), f_q))
mstore(0x1580, mulmod(mload(0x420), mload(0x1560), f_q))
mstore(0x15a0, addmod(mload(0x460), mload(0x1580), f_q))
mstore(0x15c0, addmod(mload(0x15a0), mload(0x1a0), f_q))
mstore(0x15e0, mulmod(mload(0x15c0), mload(0x660), f_q))
mstore(0x1600, addmod(mload(0x1540), sub(f_q, mload(0x15e0)), f_q))
mstore(0x1620, mulmod(mload(0x1600), mload(0x1180), f_q))
mstore(0x1640, addmod(mload(0x14c0), mload(0x1620), f_q))
mstore(0x1660, mulmod(mload(0x340), mload(0x1640), f_q))
mstore(0x1680, mulmod(mload(0x580), mload(0x140), f_q))
mstore(0x16a0, addmod(mload(0x480), mload(0x1680), f_q))
mstore(0x16c0, addmod(mload(0x16a0), mload(0x1a0), f_q))
mstore(0x16e0, mulmod(mload(0x16c0), mload(0x6e0), f_q))
mstore(0x1700, mulmod(11166246659983828508719468090013646171463329086121580628794302409516816350802, mload(0x140), f_q))
mstore(0x1720, mulmod(mload(0x420), mload(0x1700), f_q))
mstore(0x1740, addmod(mload(0x480), mload(0x1720), f_q))
mstore(0x1760, addmod(mload(0x1740), mload(0x1a0), f_q))
mstore(0x1780, mulmod(mload(0x1760), mload(0x6c0), f_q))
mstore(0x17a0, addmod(mload(0x16e0), sub(f_q, mload(0x1780)), f_q))
mstore(0x17c0, mulmod(mload(0x17a0), mload(0x1180), f_q))
mstore(0x17e0, addmod(mload(0x1660), mload(0x17c0), f_q))
mstore(0x1800, mulmod(mload(0x8e0), mload(0x8e0), f_q))
mstore(0x1820, mulmod(1, mload(0x8e0), f_q))
mstore(0x1840, mulmod(mload(0x17e0), mload(0x900), f_q))
mstore(0x1860, mulmod(mload(0x840), mload(0x840), f_q))
mstore(0x1880, mulmod(mload(0x1860), mload(0x840), f_q))
mstore(0x18a0, mulmod(mload(0x720), mload(0x720), f_q))
mstore(0x18c0, mulmod(mload(0x18a0), mload(0x720), f_q))
mstore(0x18e0, mulmod(mload(0x18c0), mload(0x720), f_q))
mstore(0x1900, mulmod(mload(0x18e0), mload(0x720), f_q))
mstore(0x1920, mulmod(mload(0x1900), mload(0x720), f_q))
mstore(0x1940, mulmod(mload(0x1920), mload(0x720), f_q))
mstore(0x1960, mulmod(mload(0x1940), mload(0x720), f_q))
mstore(0x1980, mulmod(mload(0x1960), mload(0x720), f_q))
mstore(0x19a0, mulmod(mload(0x1980), mload(0x720), f_q))
mstore(0x19c0, mulmod(mload(0x19a0), mload(0x720), f_q))
mstore(0x19e0, mulmod(mload(0x19c0), mload(0x720), f_q))
mstore(0x1a00, mulmod(mload(0x19e0), mload(0x720), f_q))
mstore(0x1a20, mulmod(mload(0x1a00), mload(0x720), f_q))
mstore(0x1a40, mulmod(sub(f_q, mload(0x460)), 1, f_q))
mstore(0x1a60, mulmod(sub(f_q, mload(0x480)), mload(0x720), f_q))
mstore(0x1a80, mulmod(1, mload(0x720), f_q))
mstore(0x1aa0, addmod(mload(0x1a40), mload(0x1a60), f_q))
mstore(0x1ac0, mulmod(sub(f_q, mload(0x5a0)), mload(0x18a0), f_q))
mstore(0x1ae0, mulmod(1, mload(0x18a0), f_q))
mstore(0x1b00, addmod(mload(0x1aa0), mload(0x1ac0), f_q))
mstore(0x1b20, mulmod(sub(f_q, mload(0x600)), mload(0x18c0), f_q))
mstore(0x1b40, mulmod(1, mload(0x18c0), f_q))
mstore(0x1b60, addmod(mload(0x1b00), mload(0x1b20), f_q))
mstore(0x1b80, mulmod(sub(f_q, mload(0x660)), mload(0x18e0), f_q))
mstore(0x1ba0, mulmod(1, mload(0x18e0), f_q))
mstore(0x1bc0, addmod(mload(0x1b60), mload(0x1b80), f_q))
mstore(0x1be0, mulmod(sub(f_q, mload(0x6c0)), mload(0x1900), f_q))
mstore(0x1c00, mulmod(1, mload(0x1900), f_q))
mstore(0x1c20, addmod(mload(0x1bc0), mload(0x1be0), f_q))
mstore(0x1c40, mulmod(sub(f_q, mload(0x4c0)), mload(0x1920), f_q))
mstore(0x1c60, mulmod(1, mload(0x1920), f_q))
mstore(0x1c80, addmod(mload(0x1c20), mload(0x1c40), f_q))
mstore(0x1ca0, mulmod(sub(f_q, mload(0x4e0)), mload(0x1940), f_q))
mstore(0x1cc0, mulmod(1, mload(0x1940), f_q))
mstore(0x1ce0, addmod(mload(0x1c80), mload(0x1ca0), f_q))
mstore(0x1d00, mulmod(sub(f_q, mload(0x520)), mload(0x1960), f_q))
mstore(0x1d20, mulmod(1, mload(0x1960), f_q))
mstore(0x1d40, addmod(mload(0x1ce0), mload(0x1d00), f_q))
mstore(0x1d60, mulmod(sub(f_q, mload(0x540)), mload(0x1980), f_q))
mstore(0x1d80, mulmod(1, mload(0x1980), f_q))
mstore(0x1da0, addmod(mload(0x1d40), mload(0x1d60), f_q))
mstore(0x1dc0, mulmod(sub(f_q, mload(0x560)), mload(0x19a0), f_q))
mstore(0x1de0, mulmod(1, mload(0x19a0), f_q))
mstore(0x1e00, addmod(mload(0x1da0), mload(0x1dc0), f_q))
mstore(0x1e20, mulmod(sub(f_q, mload(0x580)), mload(0x19c0), f_q))
mstore(0x1e40, mulmod(1, mload(0x19c0), f_q))
mstore(0x1e60, addmod(mload(0x1e00), mload(0x1e20), f_q))
mstore(0x1e80, mulmod(sub(f_q, mload(0x1840)), mload(0x19e0), f_q))
mstore(0x1ea0, mulmod(1, mload(0x19e0), f_q))
mstore(0x1ec0, mulmod(mload(0x1820), mload(0x19e0), f_q))
mstore(0x1ee0, addmod(mload(0x1e60), mload(0x1e80), f_q))
mstore(0x1f00, mulmod(sub(f_q, mload(0x500)), mload(0x1a00), f_q))
mstore(0x1f20, mulmod(1, mload(0x1a00), f_q))
mstore(0x1f40, addmod(mload(0x1ee0), mload(0x1f00), f_q))
mstore(0x1f60, mulmod(mload(0x1f40), 1, f_q))
mstore(0x1f80, mulmod(mload(0x1a80), 1, f_q))
mstore(0x1fa0, mulmod(mload(0x1ae0), 1, f_q))
mstore(0x1fc0, mulmod(mload(0x1b40), 1, f_q))
mstore(0x1fe0, mulmod(mload(0x1ba0), 1, f_q))
mstore(0x2000, mulmod(mload(0x1c00), 1, f_q))
mstore(0x2020, mulmod(mload(0x1c60), 1, f_q))
mstore(0x2040, mulmod(mload(0x1cc0), 1, f_q))
mstore(0x2060, mulmod(mload(0x1d20), 1, f_q))
mstore(0x2080, mulmod(mload(0x1d80), 1, f_q))
mstore(0x20a0, mulmod(mload(0x1de0), 1, f_q))
mstore(0x20c0, mulmod(mload(0x1e40), 1, f_q))
mstore(0x20e0, mulmod(mload(0x1ea0), 1, f_q))
mstore(0x2100, mulmod(mload(0x1ec0), 1, f_q))
mstore(0x2120, mulmod(mload(0x1f20), 1, f_q))
mstore(0x2140, mulmod(sub(f_q, mload(0x4a0)), 1, f_q))
mstore(0x2160, mulmod(sub(f_q, mload(0x5c0)), mload(0x720), f_q))
mstore(0x2180, addmod(mload(0x2140), mload(0x2160), f_q))
mstore(0x21a0, mulmod(sub(f_q, mload(0x620)), mload(0x18a0), f_q))
mstore(0x21c0, addmod(mload(0x2180), mload(0x21a0), f_q))
mstore(0x21e0, mulmod(sub(f_q, mload(0x680)), mload(0x18c0), f_q))
mstore(0x2200, addmod(mload(0x21c0), mload(0x21e0), f_q))
mstore(0x2220, mulmod(sub(f_q, mload(0x6e0)), mload(0x18e0), f_q))
mstore(0x2240, addmod(mload(0x2200), mload(0x2220), f_q))
mstore(0x2260, mulmod(mload(0x2240), mload(0x840), f_q))
mstore(0x2280, mulmod(1, mload(0x840), f_q))
mstore(0x22a0, mulmod(mload(0x1a80), mload(0x840), f_q))
mstore(0x22c0, mulmod(mload(0x1ae0), mload(0x840), f_q))
mstore(0x22e0, mulmod(mload(0x1b40), mload(0x840), f_q))
mstore(0x2300, mulmod(mload(0x1ba0), mload(0x840), f_q))
mstore(0x2320, addmod(mload(0x1f60), mload(0x2260), f_q))
mstore(0x2340, addmod(1, mload(0x2280), f_q))
mstore(0x2360, addmod(mload(0x1fa0), mload(0x22a0), f_q))
mstore(0x2380, addmod(mload(0x1fc0), mload(0x22c0), f_q))
mstore(0x23a0, addmod(mload(0x1fe0), mload(0x22e0), f_q))
mstore(0x23c0, addmod(mload(0x2000), mload(0x2300), f_q))
mstore(0x23e0, mulmod(sub(f_q, mload(0x6a0)), 1, f_q))
mstore(0x2400, mulmod(sub(f_q, mload(0x640)), mload(0x720), f_q))
mstore(0x2420, addmod(mload(0x23e0), mload(0x2400), f_q))
mstore(0x2440, mulmod(sub(f_q, mload(0x5e0)), mload(0x18a0), f_q))
mstore(0x2460, addmod(mload(0x2420), mload(0x2440), f_q))
mstore(0x2480, mulmod(mload(0x2460), mload(0x1860), f_q))
mstore(0x24a0, mulmod(1, mload(0x1860), f_q))
mstore(0x24c0, mulmod(mload(0x1a80), mload(0x1860), f_q))
mstore(0x24e0, mulmod(mload(0x1ae0), mload(0x1860), f_q))
mstore(0x2500, addmod(mload(0x2320), mload(0x2480), f_q))
mstore(0x2520, addmod(mload(0x23a0), mload(0x24a0), f_q))
mstore(0x2540, addmod(mload(0x2380), mload(0x24c0), f_q))
mstore(0x2560, addmod(mload(0x2360), mload(0x24e0), f_q))
mstore(0x2580, mulmod(1, mload(0x420), f_q))
mstore(0x25a0, mulmod(1, mload(0x2580), f_q))
mstore(0x25c0, mulmod(14940766826517323942636479241147756311199852622225275649687664389641784935947, mload(0x420), f_q))
mstore(0x25e0, mulmod(mload(0x2280), mload(0x25c0), f_q))
mstore(0x2600, mulmod(2347812377031792896086586148252853002454598368280444936565603590212962918785, mload(0x420), f_q))
mstore(0x2620, mulmod(mload(0x24a0), mload(0x2600), f_q))
mstore(0x2640, 0x0000000000000000000000000000000000000000000000000000000000000001)
                    mstore(0x2660, 0x0000000000000000000000000000000000000000000000000000000000000002)
mstore(0x2680, mload(0x2500))
success := and(eq(staticcall(gas(), 0x7, 0x2640, 0x60, 0x2640, 0x40), 1), success)
mstore(0x26a0, mload(0x40))
                    mstore(0x26c0, mload(0x60))
mstore(0x26e0, mload(0x2340))
success := and(eq(staticcall(gas(), 0x7, 0x26a0, 0x60, 0x26a0, 0x40), 1), success)
mstore(0x2700, mload(0x2640))
                    mstore(0x2720, mload(0x2660))
mstore(0x2740, mload(0x26a0))
                    mstore(0x2760, mload(0x26c0))
success := and(eq(staticcall(gas(), 0x6, 0x2700, 0x80, 0x2700, 0x40), 1), success)
mstore(0x2780, mload(0x80))
                    mstore(0x27a0, mload(0xa0))
mstore(0x27c0, mload(0x1f80))
success := and(eq(staticcall(gas(), 0x7, 0x2780, 0x60, 0x2780, 0x40), 1), success)
mstore(0x27e0, mload(0x2700))
                    mstore(0x2800, mload(0x2720))
mstore(0x2820, mload(0x2780))
                    mstore(0x2840, mload(0x27a0))
success := and(eq(staticcall(gas(), 0x6, 0x27e0, 0x80, 0x27e0, 0x40), 1), success)
mstore(0x2860, mload(0x1e0))
                    mstore(0x2880, mload(0x200))
mstore(0x28a0, mload(0x2560))
success := and(eq(staticcall(gas(), 0x7, 0x2860, 0x60, 0x2860, 0x40), 1), success)
mstore(0x28c0, mload(0x27e0))
                    mstore(0x28e0, mload(0x2800))
mstore(0x2900, mload(0x2860))
                    mstore(0x2920, mload(0x2880))
success := and(eq(staticcall(gas(), 0x6, 0x28c0, 0x80, 0x28c0, 0x40), 1), success)
mstore(0x2940, mload(0x220))
                    mstore(0x2960, mload(0x240))
mstore(0x2980, mload(0x2540))
success := and(eq(staticcall(gas(), 0x7, 0x2940, 0x60, 0x2940, 0x40), 1), success)
mstore(0x29a0, mload(0x28c0))
                    mstore(0x29c0, mload(0x28e0))
mstore(0x29e0, mload(0x2940))
                    mstore(0x2a00, mload(0x2960))
success := and(eq(staticcall(gas(), 0x6, 0x29a0, 0x80, 0x29a0, 0x40), 1), success)
mstore(0x2a20, mload(0x260))
                    mstore(0x2a40, mload(0x280))
mstore(0x2a60, mload(0x2520))
success := and(eq(staticcall(gas(), 0x7, 0x2a20, 0x60, 0x2a20, 0x40), 1), success)
mstore(0x2a80, mload(0x29a0))
                    mstore(0x2aa0, mload(0x29c0))
mstore(0x2ac0, mload(0x2a20))
                    mstore(0x2ae0, mload(0x2a40))
success := and(eq(staticcall(gas(), 0x6, 0x2a80, 0x80, 0x2a80, 0x40), 1), success)
mstore(0x2b00, mload(0x2a0))
                    mstore(0x2b20, mload(0x2c0))
mstore(0x2b40, mload(0x23c0))
success := and(eq(staticcall(gas(), 0x7, 0x2b00, 0x60, 0x2b00, 0x40), 1), success)
mstore(0x2b60, mload(0x2a80))
                    mstore(0x2b80, mload(0x2aa0))
mstore(0x2ba0, mload(0x2b00))
                    mstore(0x2bc0, mload(0x2b20))
success := and(eq(staticcall(gas(), 0x6, 0x2b60, 0x80, 0x2b60, 0x40), 1), success)
mstore(0x2be0, 0x2440d9468c99e4edccb6e243494cb6c8c558ea79bd7ec799e77df298c1cc30d7)
                    mstore(0x2c00, 0x1bcc863a4722d316958ad937b31690d68baa955a4d0c57485913104c1438a493)
mstore(0x2c20, mload(0x2020))
success := and(eq(staticcall(gas(), 0x7, 0x2be0, 0x60, 0x2be0, 0x40), 1), success)
mstore(0x2c40, mload(0x2b60))
                    mstore(0x2c60, mload(0x2b80))
mstore(0x2c80, mload(0x2be0))
                    mstore(0x2ca0, mload(0x2c00))
success := and(eq(staticcall(gas(), 0x6, 0x2c40, 0x80, 0x2c40, 0x40), 1), success)
mstore(0x2cc0, 0x2a809d0e5a8f55116813af1654efef7fd6bac695191b0bc55e7fbdddf6641a4e)
                    mstore(0x2ce0, 0x1813e1464591acdf9ebbf84a2665cf0597b436605505289883f8873e15f50067)
mstore(0x2d00, mload(0x2040))
success := and(eq(staticcall(gas(), 0x7, 0x2cc0, 0x60, 0x2cc0, 0x40), 1), success)
mstore(0x2d20, mload(0x2c40))
                    mstore(0x2d40, mload(0x2c60))
mstore(0x2d60, mload(0x2cc0))
                    mstore(0x2d80, mload(0x2ce0))
success := and(eq(staticcall(gas(), 0x6, 0x2d20, 0x80, 0x2d20, 0x40), 1), success)
mstore(0x2da0, 0x04cad5505b9b6812065fe967dcec60bf68b1acd1599baf1050479c652d16b451)
                    mstore(0x2dc0, 0x2eeff13e175a218fcc5c7c2d40b49bb176ebe80339dc758d9d66aba6f3dcf530)
mstore(0x2de0, mload(0x2060))
success := and(eq(staticcall(gas(), 0x7, 0x2da0, 0x60, 0x2da0, 0x40), 1), success)
mstore(0x2e00, mload(0x2d20))
                    mstore(0x2e20, mload(0x2d40))
mstore(0x2e40, mload(0x2da0))
                    mstore(0x2e60, mload(0x2dc0))
success := and(eq(staticcall(gas(), 0x6, 0x2e00, 0x80, 0x2e00, 0x40), 1), success)
mstore(0x2e80, 0x162925ae6fb0d1ffd590eb013f6513e7232f745268def21b1cc9fd0498eb7f20)
                    mstore(0x2ea0, 0x26c85db05bb6c0e8309e28484060fa4a5f702b3154cc2b747cadd0a7b8365252)
mstore(0x2ec0, mload(0x2080))
success := and(eq(staticcall(gas(), 0x7, 0x2e80, 0x60, 0x2e80, 0x40), 1), success)
mstore(0x2ee0, mload(0x2e00))
                    mstore(0x2f00, mload(0x2e20))
mstore(0x2f20, mload(0x2e80))
                    mstore(0x2f40, mload(0x2ea0))
success := and(eq(staticcall(gas(), 0x6, 0x2ee0, 0x80, 0x2ee0, 0x40), 1), success)
mstore(0x2f60, 0x0c70d54817117fa4cf6e869d9a33546cc3a5ff96697e13ac5ec3147615cbcf44)
                    mstore(0x2f80, 0x1d4a146dfa594274543cf145c9f39b51bdb78f84ae6c188b9ecfd024329eaf88)
mstore(0x2fa0, mload(0x20a0))
success := and(eq(staticcall(gas(), 0x7, 0x2f60, 0x60, 0x2f60, 0x40), 1), success)
mstore(0x2fc0, mload(0x2ee0))
                    mstore(0x2fe0, mload(0x2f00))
mstore(0x3000, mload(0x2f60))
                    mstore(0x3020, mload(0x2f80))
success := and(eq(staticcall(gas(), 0x6, 0x2fc0, 0x80, 0x2fc0, 0x40), 1), success)
mstore(0x3040, 0x26ceea601f112a0c44f21b13c42a4a4b7d595714aa93032cd982d144c17b68d7)
                    mstore(0x3060, 0x07e624c4dc1f248a129da91295145c3daab34ae84bcb3bb452d7384f4bde6a74)
mstore(0x3080, mload(0x20c0))
success := and(eq(staticcall(gas(), 0x7, 0x3040, 0x60, 0x3040, 0x40), 1), success)
mstore(0x30a0, mload(0x2fc0))
                    mstore(0x30c0, mload(0x2fe0))
mstore(0x30e0, mload(0x3040))
                    mstore(0x3100, mload(0x3060))
success := and(eq(staticcall(gas(), 0x6, 0x30a0, 0x80, 0x30a0, 0x40), 1), success)
mstore(0x3120, mload(0x380))
                    mstore(0x3140, mload(0x3a0))
mstore(0x3160, mload(0x20e0))
success := and(eq(staticcall(gas(), 0x7, 0x3120, 0x60, 0x3120, 0x40), 1), success)
mstore(0x3180, mload(0x30a0))
                    mstore(0x31a0, mload(0x30c0))
mstore(0x31c0, mload(0x3120))
                    mstore(0x31e0, mload(0x3140))
success := and(eq(staticcall(gas(), 0x6, 0x3180, 0x80, 0x3180, 0x40), 1), success)
mstore(0x3200, mload(0x3c0))
                    mstore(0x3220, mload(0x3e0))
mstore(0x3240, mload(0x2100))
success := and(eq(staticcall(gas(), 0x7, 0x3200, 0x60, 0x3200, 0x40), 1), success)
mstore(0x3260, mload(0x3180))
                    mstore(0x3280, mload(0x31a0))
mstore(0x32a0, mload(0x3200))
                    mstore(0x32c0, mload(0x3220))
success := and(eq(staticcall(gas(), 0x6, 0x3260, 0x80, 0x3260, 0x40), 1), success)
mstore(0x32e0, mload(0x2e0))
                    mstore(0x3300, mload(0x300))
mstore(0x3320, mload(0x2120))
success := and(eq(staticcall(gas(), 0x7, 0x32e0, 0x60, 0x32e0, 0x40), 1), success)
mstore(0x3340, mload(0x3260))
                    mstore(0x3360, mload(0x3280))
mstore(0x3380, mload(0x32e0))
                    mstore(0x33a0, mload(0x3300))
success := and(eq(staticcall(gas(), 0x6, 0x3340, 0x80, 0x3340, 0x40), 1), success)
mstore(0x33c0, mload(0x760))
                    mstore(0x33e0, mload(0x780))
mstore(0x3400, mload(0x25a0))
success := and(eq(staticcall(gas(), 0x7, 0x33c0, 0x60, 0x33c0, 0x40), 1), success)
mstore(0x3420, mload(0x3340))
                    mstore(0x3440, mload(0x3360))
mstore(0x3460, mload(0x33c0))
                    mstore(0x3480, mload(0x33e0))
success := and(eq(staticcall(gas(), 0x6, 0x3420, 0x80, 0x3420, 0x40), 1), success)
mstore(0x34a0, mload(0x7a0))
                    mstore(0x34c0, mload(0x7c0))
mstore(0x34e0, mload(0x25e0))
success := and(eq(staticcall(gas(), 0x7, 0x34a0, 0x60, 0x34a0, 0x40), 1), success)
mstore(0x3500, mload(0x3420))
                    mstore(0x3520, mload(0x3440))
mstore(0x3540, mload(0x34a0))
                    mstore(0x3560, mload(0x34c0))
success := and(eq(staticcall(gas(), 0x6, 0x3500, 0x80, 0x3500, 0x40), 1), success)
mstore(0x3580, mload(0x7e0))
                    mstore(0x35a0, mload(0x800))
mstore(0x35c0, mload(0x2620))
success := and(eq(staticcall(gas(), 0x7, 0x3580, 0x60, 0x3580, 0x40), 1), success)
mstore(0x35e0, mload(0x3500))
                    mstore(0x3600, mload(0x3520))
mstore(0x3620, mload(0x3580))
                    mstore(0x3640, mload(0x35a0))
success := and(eq(staticcall(gas(), 0x6, 0x35e0, 0x80, 0x35e0, 0x40), 1), success)
mstore(0x3660, mload(0x7a0))
                    mstore(0x3680, mload(0x7c0))
mstore(0x36a0, mload(0x2280))
success := and(eq(staticcall(gas(), 0x7, 0x3660, 0x60, 0x3660, 0x40), 1), success)
mstore(0x36c0, mload(0x760))
                    mstore(0x36e0, mload(0x780))
mstore(0x3700, mload(0x3660))
                    mstore(0x3720, mload(0x3680))
success := and(eq(staticcall(gas(), 0x6, 0x36c0, 0x80, 0x36c0, 0x40), 1), success)
mstore(0x3740, mload(0x7e0))
                    mstore(0x3760, mload(0x800))
mstore(0x3780, mload(0x24a0))
success := and(eq(staticcall(gas(), 0x7, 0x3740, 0x60, 0x3740, 0x40), 1), success)
mstore(0x37a0, mload(0x36c0))
                    mstore(0x37c0, mload(0x36e0))
mstore(0x37e0, mload(0x3740))
                    mstore(0x3800, mload(0x3760))
success := and(eq(staticcall(gas(), 0x6, 0x37a0, 0x80, 0x37a0, 0x40), 1), success)
mstore(0x3820, mload(0x35e0))
                    mstore(0x3840, mload(0x3600))
mstore(0x3860, 0x198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c2)
            mstore(0x3880, 0x1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed)
            mstore(0x38a0, 0x090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b)
            mstore(0x38c0, 0x12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa)
mstore(0x38e0, mload(0x37a0))
                    mstore(0x3900, mload(0x37c0))
mstore(0x3920, 0x10723fb37a0c2a2a02a03850bf1edbf6f15c87665dac9f9f1233e9d4d616504b)
            mstore(0x3940, 0x06e5e16ab59ba2aa34a1d9bca4b824ff3e7e7825758c1f8f012e0895732188a8)
            mstore(0x3960, 0x04e6874ba3798963e13983a90e329b2ef67a5ae4e6cc820773712c78c89e4641)
            mstore(0x3980, 0x23a20bed0e66df1b572720c3051d11e4356f999e532fe656a90f6cd039356bb2)
success := and(eq(staticcall(gas(), 0x8, 0x3820, 0x180, 0x3820, 0x20), 1), success)
success := and(eq(mload(0x3820), 1), success)

            // Revert if anything fails
            if iszero(success) { revert(0, 0) }

            // Return empty bytes on success
            return(0, 0)

        }
    }
}

Contract ABI

[{"stateMutability":"nonpayable","type":"fallback"}]

Contract Creation Code

608060405234801561001057600080fd5b50600036606060017f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd477f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610152565b60007f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4782107f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478410808216925050507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478384097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478384097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478482097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47600382088381148086169550505050505092915050565b80600035066020527f038e025a53abd105aad307e0c21c1973e29441a0e5b464038292642aefaacbc8600052602035806040526040358060605284610197828461005f565b1694505050606035806080526080358060a052846101b5828461005f565b169450505060c060002060c05260c05181810660e05280610100525060016101205360216101002061012052610120518181066101405280610160525060016101805360216101602061018052610180518181066101a052806101c0525060a035806101e05260c03580610200528461022e828461005f565b169450505060e03580610220526101003580610240528461024f828461005f565b169450505061012035806102605261014035806102805284610271828461005f565b169450505061016035806102a05261018035806102c05284610293828461005f565b16945050506101a035806102e0526101c0358061030052846102b5828461005f565b16945050506101606101c0206103205261032051818106610340528061036052506101e035806103805261020035806103a052846102f3828461005f565b169450505061022035806103c05261024035806103e05284610315828461005f565b169450505060a0610360206104005261040051818106610420528061044052508061026035066104605280610280350661048052806102a035066104a052806102c035066104c052806102e035066104e0528061030035066105005280610320350661052052806103403506610540528061036035066105605280610380350661058052806103a035066105a052806103c035066105c052806103e035066105e0528061040035066106005280610420350661062052806104403506610640528061046035066106605280610480350661068052806104a035066106a052806104c035066106c052806104e035066106e0526102c06104402061070052610700518181066107205280610740525061050035806107605261052035806107805284610440828461005f565b169450505061054035806107a05261056035806107c05284610462828461005f565b169450505061058035806107e0526105a035806108005284610484828461005f565b169450505060e0610740206108205261082051818106610840528061086052508061042051610420510961088052806108805161088051096108a052806108a0516108a051096108c052806108c0516108c051096108e052807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000006108e0510861090052807f2d5e098bb31e86271ccb415b196942d755b0a9c3f21dd9882fa3d63ab1000001610900510961092052807f0530d09118705106cbb4a786ead16926d5d174e181a26686af5448492e42a181610920510961094052807f2b337de1c8c14f22ec9b9e2f96afef3652627366f8170a0a948dad4ac1bd5e80610420510861096052807f1fe9a328fad7382fddb3730a89f574d14e57caeac619eeb30d24fb38a4fc6fbe610920510961098052807f107aab49e65a67f9da9cd2abf78be38bd9dc1d5db39f81de36bcfa5b4b03904361042051086109a0528077b3c4d79d41a91758cb49c3517c4604a520cff123608fc9cb61092051096109c052807f30644e72e131a029048b6e193fd841045cea24f6fd736bec231204708f70363661042051086109e052807f0dd360411caed09700b52c71a6655715c4d558439e2d34f4307da9a4be13c42e6109205109610a0052807f2290ee31c482cf92b79b1944db1c0147635e9004db8c3b9d13644bef31ec3bd36104205108610a2052807f130b17119778465cfb3acaee30f81dee20710ead41671f568b11d9ab07b95a9b6109205109610a4052807f1d59376149b959ccbd157ac850893a6f07c2d99b3852513ab8d01be8e846a5666104205108610a6052807f02e40daf409556c02bfc85eb303402b774954d30aeb0337eb85a71e6373428de6109205109610a8052807f2d8040c3a09c49698c53bfcb514d55a5b39e9b17cb093d128b8783adb8cbd7236104205108610aa0528060016109205109610ac052807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000006104205108610ae0526109605181816109a05109905080610b005281816109e05109905080610b20528181610a205109905080610b40528181610a605109905080610b60528181610aa05109905080610b80528181610ae05109905080610ba05281816109005109905080610bc052506020610c00526020610c20526020610c4052610bc051610c60527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff610c80527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610ca0528260016020610be060c0610c0060055afa14169250610be05160006109005190508282610ba0510961090052828282099150610ae05190508282610b805109610ae052828282099150610aa05190508282610b605109610aa052828282099150610a605190508282610b405109610a6052828282099150610a205190508282610b205109610a20528282820991506109e05190508282610b0051096109e0528282820991506109a0519050828261096051096109a0528282820991508161096052505080610960516109405109610cc052806109a0516109805109610ce052806109e0516109c05109610d005280610a2051610a005109610d205280610a6051610a405109610d405280610aa051610a805109610d605280610ae051610ac05109610d805280602051610d80510980610da0525080610460516104805109610dc052806104a0518203610dc05108610de052806104e051610de05109610e005280610e00516103405109610e2052806105a0518203600108610e405280610d8051610e405109610e605280610e6051610e205108610e805280610e80516103405109610ea052806106c0516106c05109610ec052806106c0518203610ec05108610ee05280610cc051610ee05109610f005280610f0051610ea05108610f205280610f20516103405109610f4052806105e05182036106005108610f605280610d8051610f605109610f805280610f8051610f405108610fa05280610fa0516103405109610fc052806106405182036106605108610fe05280610d8051610fe05109611000528061100051610fc05108611020528061102051610340510961104052806106a05182036106c051086110605280610d8051611060510961108052806110805161104051086110a052806110a05161034051096110c05280610cc05182036001086110e05280610d0051610ce051086111005280610d205161110051086111205280610d405161112051086111405280610d6051611140510861116052806111605182036110e0510861118052806101405161052051096111a052806111a051610da051086111c052806101a0516111c051086111e052806105c0516111e051096112005280610140516001096112205280611220516104205109611240528061124051610da0510861126052806101a051611260510861128052806105a05161128051096112a052806112a051820361120051086112c05280611180516112c051096112e052806112e0516110c05108611300528061130051610340510961132052806101405161054051096113405280611340516104c0510861136052806101a051611360510861138052806106205161138051096113a05280610140517f09226b6e22c6f0ca64ec26aad4c86e715b5f898e5e963f25870e56bbe533e9a2096113c052806113c05161042051096113e052806113e0516104c0510861140052806101a0516114005108611420528061060051611420510961144052806114405182036113a05108611460528061118051611460510961148052806114805161132051086114a052806114a05161034051096114c052806101405161056051096114e052806114e051610460510861150052806101a051611500510861152052806106805161152051096115405280610140517f13b360d4e82fe915fed16081038f98c211427b87a281bd733c277dbadf10372b09611560528061156051610420510961158052806115805161046051086115a052806101a0516115a051086115c05280610660516115c051096115e052806115e0518203611540510861160052806111805161160051096116205280611620516114c051086116405280611640516103405109611660528061014051610580510961168052806116805161048051086116a052806101a0516116a051086116c052806106e0516116c051096116e05280610140517f18afdf23e9bd9302673fc1e076a492d4d65bd18ebc4d854ed189139bab313e52096117005280611700516104205109611720528061172051610480510861174052806101a051611740510861176052806106c051611760510961178052806117805182036116e051086117a05280611180516117a051096117c052806117c05161166051086117e052806108e0516108e0510961180052806108e0516001096118205280610900516117e051096118405280610840516108405109611860528061084051611860510961188052806107205161072051096118a05280610720516118a051096118c05280610720516118c051096118e05280610720516118e05109611900528061072051611900510961192052806107205161192051096119405280610720516119405109611960528061072051611960510961198052806107205161198051096119a05280610720516119a051096119c05280610720516119c051096119e05280610720516119e05109611a00528061072051611a005109611a205280600161046051830309611a4052806107205161048051830309611a60528061072051600109611a805280611a6051611a405108611aa052806118a0516105a051830309611ac052806118a051600109611ae05280611ac051611aa05108611b0052806118c05161060051830309611b2052806118c051600109611b405280611b2051611b005108611b6052806118e05161066051830309611b8052806118e051600109611ba05280611b8051611b605108611bc05280611900516106c051830309611be0528061190051600109611c005280611be051611bc05108611c205280611920516104c051830309611c40528061192051600109611c605280611c4051611c205108611c805280611940516104e051830309611ca0528061194051600109611cc05280611ca051611c805108611ce052806119605161052051830309611d00528061196051600109611d205280611d0051611ce05108611d4052806119805161054051830309611d60528061198051600109611d805280611d6051611d405108611da052806119a05161056051830309611dc052806119a051600109611de05280611dc051611da05108611e0052806119c05161058051830309611e2052806119c051600109611e405280611e2051611e005108611e6052806119e05161184051830309611e8052806119e051600109611ea052806119e0516118205109611ec05280611e8051611e605108611ee05280611a005161050051830309611f005280611a0051600109611f205280611f0051611ee05108611f4052806001611f405109611f6052806001611a805109611f8052806001611ae05109611fa052806001611b405109611fc052806001611ba05109611fe052806001611c00510961200052806001611c60510961202052806001611cc0510961204052806001611d20510961206052806001611d80510961208052806001611de051096120a052806001611e4051096120c052806001611ea051096120e052806001611ec0510961210052806001611f205109612120528060016104a0518303096121405280610720516105c051830309612160528061216051612140510861218052806118a051610620518303096121a052806121a05161218051086121c052806118c051610680518303096121e052806121e0516121c0510861220052806118e0516106e05183030961222052806122205161220051086122405280610840516122405109612260528061084051600109612280528061084051611a8051096122a0528061084051611ae051096122c0528061084051611b4051096122e0528061084051611ba05109612300528061226051611f60510861232052806122805160010861234052806122a051611fa0510861236052806122c051611fc0510861238052806122e051611fe051086123a052806123005161200051086123c0528060016106a0518303096123e0528061072051610640518303096124005280612400516123e0510861242052806118a0516105e051830309612440528061244051612420510861246052806118605161246051096124805280611860516001096124a0528061186051611a8051096124c0528061186051611ae051096124e0528061248051612320510861250052806124a0516123a0510861252052806124c051612380510861254052806124e05161236051086125605280610420516001096125805280612580516001096125a05280610420517f21082ca216cbbf4e1c6e4f4594dd508c996dfbe1174efb98b11509c6e306460b096125c052806125c05161228051096125e05280610420517f0530d09118705106cbb4a786ead16926d5d174e181a26686af5448492e42a181096126005280612600516124a051096126205260016126405260026126605261250051612680528260016040612640606061264060075afa141692506040516126a0526060516126c052612340516126e05282600160406126a060606126a060075afa14169250612640516127005261266051612720526126a051612740526126c051612760528260016040612700608061270060065afa141692506080516127805260a0516127a052611f80516127c0528260016040612780606061278060075afa14169250612700516127e052612720516128005261278051612820526127a0516128405282600160406127e060806127e060065afa141692506101e051612860526102005161288052612560516128a0528260016040612860606061286060075afa141692506127e0516128c052612800516128e0526128605161290052612880516129205282600160406128c060806128c060065afa141692506102205161294052610240516129605261254051612980528260016040612940606061294060075afa141692506128c0516129a0526128e0516129c052612940516129e05261296051612a005282600160406129a060806129a060065afa1416925061026051612a205261028051612a405261252051612a60528260016040612a206060612a2060075afa141692506129a051612a80526129c051612aa052612a2051612ac052612a4051612ae0528260016040612a806080612a8060065afa141692506102a051612b00526102c051612b20526123c051612b40528260016040612b006060612b0060075afa14169250612a8051612b6052612aa051612b8052612b0051612ba052612b2051612bc0528260016040612b606080612b6060065afa141692507f2440d9468c99e4edccb6e243494cb6c8c558ea79bd7ec799e77df298c1cc30d7612be0527f1bcc863a4722d316958ad937b31690d68baa955a4d0c57485913104c1438a493612c005261202051612c20528260016040612be06060612be060075afa14169250612b6051612c4052612b8051612c6052612be051612c8052612c0051612ca0528260016040612c406080612c4060065afa141692507f2a809d0e5a8f55116813af1654efef7fd6bac695191b0bc55e7fbdddf6641a4e612cc0527f1813e1464591acdf9ebbf84a2665cf0597b436605505289883f8873e15f50067612ce05261204051612d00528260016040612cc06060612cc060075afa14169250612c4051612d2052612c6051612d4052612cc051612d6052612ce051612d80528260016040612d206080612d2060065afa141692507f04cad5505b9b6812065fe967dcec60bf68b1acd1599baf1050479c652d16b451612da0527f2eeff13e175a218fcc5c7c2d40b49bb176ebe80339dc758d9d66aba6f3dcf530612dc05261206051612de0528260016040612da06060612da060075afa14169250612d2051612e0052612d4051612e2052612da051612e4052612dc051612e60528260016040612e006080612e0060065afa141692507f162925ae6fb0d1ffd590eb013f6513e7232f745268def21b1cc9fd0498eb7f20612e80527f26c85db05bb6c0e8309e28484060fa4a5f702b3154cc2b747cadd0a7b8365252612ea05261208051612ec0528260016040612e806060612e8060075afa14169250612e0051612ee052612e2051612f0052612e8051612f2052612ea051612f40528260016040612ee06080612ee060065afa141692507f0c70d54817117fa4cf6e869d9a33546cc3a5ff96697e13ac5ec3147615cbcf44612f60527f1d4a146dfa594274543cf145c9f39b51bdb78f84ae6c188b9ecfd024329eaf88612f80526120a051612fa0528260016040612f606060612f6060075afa14169250612ee051612fc052612f0051612fe052612f605161300052612f8051613020528260016040612fc06080612fc060065afa141692507f26ceea601f112a0c44f21b13c42a4a4b7d595714aa93032cd982d144c17b68d7613040527f07e624c4dc1f248a129da91295145c3daab34ae84bcb3bb452d7384f4bde6a74613060526120c051613080528260016040613040606061304060075afa14169250612fc0516130a052612fe0516130c052613040516130e052613060516131005282600160406130a060806130a060065afa1416925061038051613120526103a051613140526120e051613160528260016040613120606061312060075afa141692506130a051613180526130c0516131a052613120516131c052613140516131e0528260016040613180608061318060065afa141692506103c051613200526103e0516132205261210051613240528260016040613200606061320060075afa1416925061318051613260526131a05161328052613200516132a052613220516132c0528260016040613260608061326060065afa141692506102e0516132e0526103005161330052612120516133205282600160406132e060606132e060075afa14169250613260516133405261328051613360526132e05161338052613300516133a0528260016040613340608061334060065afa14169250610760516133c052610780516133e0526125a0516134005282600160406133c060606133c060075afa14169250613340516134205261336051613440526133c051613460526133e051613480528260016040613420608061342060065afa141692506107a0516134a0526107c0516134c0526125e0516134e05282600160406134a060606134a060075afa14169250613420516135005261344051613520526134a051613540526134c051613560528260016040613500608061350060065afa141692506107e05161358052610800516135a052612620516135c0528260016040613580606061358060075afa14169250613500516135e052613520516136005261358051613620526135a0516136405282600160406135e060806135e060065afa141692506107a051613660526107c05161368052612280516136a0528260016040613660606061366060075afa14169250610760516136c052610780516136e0526136605161370052613680516137205282600160406136c060806136c060065afa141692506107e0516137405261080051613760526124a051613780528260016040613740606061374060075afa141692506136c0516137a0526136e0516137c052613740516137e052613760516138005282600160406137a060806137a060065afa141692506135e0516138205261360051613840527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c2613860527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed613880527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6138a0527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6138c0526137a0516138e0526137c051613900527f10723fb37a0c2a2a02a03850bf1edbf6f15c87665dac9f9f1233e9d4d616504b613920527f06e5e16ab59ba2aa34a1d9bca4b824ff3e7e7825758c1f8f012e0895732188a8613940527f04e6874ba3798963e13983a90e329b2ef67a5ae4e6cc820773712c78c89e4641613960527f23a20bed0e66df1b572720c3051d11e4356f999e532fe656a90f6cd039356bb261398052826001602061382061018061382060085afa14169250826001613820511416925082611f3d57600080fd5b600080f3fea2646970667358221220348e231c09285412f7ec602c0e016782f6e8e6dd651ea47098b9f063826de55e64736f6c63430008000033

Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.