S Price: $0.530801 (-11.08%)

Contract

0x3cE27A78aEB37EA20496C6336d6a5204c04f4077

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Buy Red115972462025-03-04 10:55:159 mins ago1741085715IN
0x3cE27A78...4c04f4077
0 S0.0233996455
Buy Red115971132025-03-04 10:54:1411 mins ago1741085654IN
0x3cE27A78...4c04f4077
0 S0.0257476455
Buy Red115557612025-03-04 5:49:495 hrs ago1741067389IN
0x3cE27A78...4c04f4077
0 S0.0244878755
Buy Red115499632025-03-04 5:08:515 hrs ago1741064931IN
0x3cE27A78...4c04f4077
0 S0.0219645255
Buy Red115496292025-03-04 5:06:525 hrs ago1741064812IN
0x3cE27A78...4c04f4077
0 S0.0226075855
Buy Red115494472025-03-04 5:05:545 hrs ago1741064754IN
0x3cE27A78...4c04f4077
0 S0.0226069855
Buy Red115486972025-03-04 5:01:156 hrs ago1741064475IN
0x3cE27A78...4c04f4077
0 S0.022754655
Add Red For Sale115483212025-03-04 4:58:426 hrs ago1741064322IN
0x3cE27A78...4c04f4077
0 S0.00452155
Update Implement...115478642025-03-04 4:55:396 hrs ago1741064139IN
0x3cE27A78...4c04f4077
0 S0.0018213855
Buy Red115337502025-03-04 3:19:597 hrs ago1741058399IN
0x3cE27A78...4c04f4077
0 S0.0170672155
Claim115337062025-03-04 3:19:407 hrs ago1741058380IN
0x3cE27A78...4c04f4077
0 S0.0046131255
Claim115322542025-03-04 3:09:407 hrs ago1741057780IN
0x3cE27A78...4c04f4077
0 S0.0065881755
Claim114281642025-03-03 16:09:3718 hrs ago1741018177IN
0x3cE27A78...4c04f4077
0 S0.0065881755
Buy Red114279972025-03-03 16:08:3318 hrs ago1741018113IN
0x3cE27A78...4c04f4077
0 S0.0241974655.01
Buy Red114274212025-03-03 16:04:5419 hrs ago1741017894IN
0x3cE27A78...4c04f4077
0 S0.0254783660.5
Claim114274012025-03-03 16:04:4719 hrs ago1741017887IN
0x3cE27A78...4c04f4077
0 S0.0056006555
Claim114267582025-03-03 16:00:3419 hrs ago1741017634IN
0x3cE27A78...4c04f4077
0 S0.0056006555
Buy Red114258842025-03-03 15:54:5819 hrs ago1741017298IN
0x3cE27A78...4c04f4077
0 S0.0241930755
Buy Red114258112025-03-03 15:54:2619 hrs ago1741017266IN
0x3cE27A78...4c04f4077
0 S0.0241974655.01
Buy Red114254672025-03-03 15:52:0819 hrs ago1741017128IN
0x3cE27A78...4c04f4077
0 S0.023978955
Buy Red114252472025-03-03 15:50:3719 hrs ago1741017037IN
0x3cE27A78...4c04f4077
0 S0.0214529155
Buy Red114250982025-03-03 15:49:4119 hrs ago1741016981IN
0x3cE27A78...4c04f4077
0 S0.0214529155
Buy Red114248642025-03-03 15:48:1419 hrs ago1741016894IN
0x3cE27A78...4c04f4077
0 S0.0241930755
Add Red For Sale114236062025-03-03 15:40:2019 hrs ago1741016420IN
0x3cE27A78...4c04f4077
0 S0.0030578955
Buy Red114224412025-03-03 15:33:0819 hrs ago1741015988IN
0x3cE27A78...4c04f4077
0 S0.0241974655.01
View all transactions

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xd8C33f43...365De20c2
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
UpgradableProxy

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 999999 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at SonicScan.org on 2025-02-26
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.7.6;

interface IERCProxy {
    function proxyType() external pure returns (uint256 proxyTypeId);

    function implementation() external view returns (address codeAddr);
}

abstract contract Proxy is IERCProxy {
    function delegatedFwd(address _dst, bytes memory _calldata) internal {
        // solium-disable-next-line security/no-inline-assembly
        assembly {
            let result := delegatecall(
                sub(gas(), 10000),
                _dst,
                add(_calldata, 0x20),
                mload(_calldata),
                0,
                0
            )
            let size := returndatasize()

            let ptr := mload(0x40)
            returndatacopy(ptr, 0, size)

        // revert instead of invalid() bc if the underlying call failed with invalid() it already wasted gas.
        // if the call returned error data, forward it
            switch result
            case 0 {
                revert(ptr, size)
            }
            default {
                return (ptr, size)
            }
        }
    }

    function proxyType()
    external
    pure
    virtual
    override
    returns (uint256 proxyTypeId)
    {
        // Upgradeable proxy
        proxyTypeId = 2;
    }

    function implementation() external view virtual override returns (address);
}

contract UpgradableProxy is Proxy {
    event ProxyUpdated(address indexed _new, address indexed _old);
    event ProxyOwnerUpdate(address _new, address _old);

    bytes32 constant IMPLEMENTATION_SLOT =
    keccak256("upgradable.proxy.implementation");
    bytes32 constant OWNER_SLOT = keccak256("upgradable.network.proxy.owner");

    constructor(address _proxyTo) {
        setProxyOwner(msg.sender);
        setImplementation(_proxyTo);
    }

    fallback() external payable {
        delegatedFwd(loadImplementation(), msg.data);
    }

    receive() external payable {
        delegatedFwd(loadImplementation(), msg.data);
    }

    modifier onlyProxyOwner() {
        require(loadProxyOwner() == msg.sender, "NOT_OWNER");
        _;
    }

    function proxyOwner() external view returns (address) {
        return loadProxyOwner();
    }

    function loadProxyOwner() internal view returns (address) {
        address _owner;
        bytes32 position = OWNER_SLOT;
        assembly {
            _owner := sload(position)
        }
        return _owner;
    }

    function implementation() external view override returns (address) {
        return loadImplementation();
    }

    function loadImplementation() internal view returns (address) {
        address _impl;
        bytes32 position = IMPLEMENTATION_SLOT;
        assembly {
            _impl := sload(position)
        }
        return _impl;
    }

    function transferProxyOwnership(address newOwner) public onlyProxyOwner {
        require(newOwner != address(0), "ZERO_ADDRESS");
        emit ProxyOwnerUpdate(newOwner, loadProxyOwner());
        setProxyOwner(newOwner);
    }

    function setProxyOwner(address newOwner) private {
        bytes32 position = OWNER_SLOT;
        assembly {
            sstore(position, newOwner)
        }
    }

    function updateImplementation(address _newProxyTo) public onlyProxyOwner {
        require(_newProxyTo != address(0x0), "INVALID_PROXY_ADDRESS");
        require(
            isContract(_newProxyTo),
            "DESTINATION_ADDRESS_IS_NOT_A_CONTRACT"
        );

        emit ProxyUpdated(_newProxyTo, loadImplementation());

        setImplementation(_newProxyTo);
    }

    function updateAndCall(address _newProxyTo, bytes memory data)
    public
    payable
    onlyProxyOwner
    {
        updateImplementation(_newProxyTo);

        (bool success, bytes memory returnData) = address(this).call{
                value: msg.value
            }(data);
        require(success, string(returnData));
    }

    function setImplementation(address _newProxyTo) private {
        bytes32 position = IMPLEMENTATION_SLOT;
        assembly {
            sstore(position, _newProxyTo)
        }
    }

    function isContract(address _target) internal view returns (bool) {
        if (_target == address(0)) {
            return false;
        }

        uint256 size;
        assembly {
            size := extcodesize(_target)
        }
        return size > 0;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_proxyTo","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_new","type":"address"},{"indexed":false,"internalType":"address","name":"_old","type":"address"}],"name":"ProxyOwnerUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_new","type":"address"},{"indexed":true,"internalType":"address","name":"_old","type":"address"}],"name":"ProxyUpdated","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxyOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxyType","outputs":[{"internalType":"uint256","name":"proxyTypeId","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferProxyOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newProxyTo","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"updateAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_newProxyTo","type":"address"}],"name":"updateImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x6080604052600436106100695760003560e01c80635c60da1b116100435780635c60da1b14610168578063d88ca2c81461017d578063f1739cae14610240576100b8565b8063025313a2146100c3578063025b22bc146101015780634555d5c914610141576100b8565b366100b8576100b6610079610280565b6000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506102a592505050565b005b6100b6610079610280565b3480156100cf57600080fd5b506100d86102cd565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561010d57600080fd5b506100b66004803603602081101561012457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166102dc565b34801561014d57600080fd5b506101566104b4565b60408051918252519081900360200190f35b34801561017457600080fd5b506100d86104b9565b6100b66004803603604081101561019357600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691908101906040810160208201356401000000008111156101cb57600080fd5b8201836020820111156101dd57600080fd5b803590602001918460018302840111640100000000831117156101ff57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506104c3945050505050565b34801561024c57600080fd5b506100b66004803603602081101561026357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106d8565b7f4e8f220a1793a5189b1ea1409cb3dc3f2765ad96089a8edd4815cbb1d719b2de5490565b600080825160208401856127105a03f43d604051816000823e8280156102c9578282f35b8282fd5b60006102d7610860565b905090565b336102e5610860565b73ffffffffffffffffffffffffffffffffffffffff161461036757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e4f545f4f574e45520000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166103e957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e56414c49445f50524f58595f414444524553530000000000000000000000604482015290519081900360640190fd5b6103f281610885565b610447576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806108fe6025913960400191505060405180910390fd5b61044f610280565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36104b1816108b5565b50565b600290565b60006102d7610280565b336104cc610860565b73ffffffffffffffffffffffffffffffffffffffff161461054e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e4f545f4f574e45520000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610557826102dc565b6000803073ffffffffffffffffffffffffffffffffffffffff1634846040518082805190602001908083835b602083106105c057805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610583565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610622576040519150601f19603f3d011682016040523d82523d6000602084013e610627565b606091505b50915091508181906106d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561069657818101518382015260200161067e565b50505050905090810190601f1680156106c35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b336106e1610860565b73ffffffffffffffffffffffffffffffffffffffff161461076357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e4f545f4f574e45520000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166107e557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f414444524553530000000000000000000000000000000000000000604482015290519081900360640190fd5b7fdbe5fd65bcdbae152f24ab660ea68e72b4d4705b57b16e0caae994e214680ee28161080f610860565b604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16104b1816108d9565b7f80779e3772a658fd8d2c2c42bbab1b2316bc83ce107ce26ca323a06e6417160e5490565b600073ffffffffffffffffffffffffffffffffffffffff82166108aa575060006108b0565b50803b15155b919050565b7f4e8f220a1793a5189b1ea1409cb3dc3f2765ad96089a8edd4815cbb1d719b2de55565b7f80779e3772a658fd8d2c2c42bbab1b2316bc83ce107ce26ca323a06e6417160e5556fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e5452414354a2646970667358221220405d11edfea715ab1ddd102a0da51d14e8f3003d62ecca130681e448f3ac47ce64736f6c63430007060033

Deployed Bytecode Sourcemap

1418:3108:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2021:44;2034:20;:18;:20::i;:::-;2056:8;;2021:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2021:12:0;;-1:-1:-1;;;2021:44:0:i;:::-;1418:3108;;1923:44;1936:20;:18;:20::i;2198:96::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3315:382;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3315:382:0;;;;:::i;1152:176::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2535:113;;;;;;;;;;;;;:::i;3705:341::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3705:341:0;;-1:-1:-1;3705:341:0;;-1:-1:-1;;;;;3705:341:0:i;2899:232::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2899:232:0;;;;:::i;2656:235::-;1631:44;2835:15;2656:235;:::o;279:865::-;646:1;626;597:9;591:16;567:4;556:9;552:20;529:4;504:5;497;493:17;462:200;688:16;737:4;731:11;779:4;776:1;771:3;756:28;974:6;994:58;;;;1106:4;1101:3;1093:18;994:58;1032:4;1027:3;1020:17;2198:96;2243:7;2270:16;:14;:16::i;:::-;2263:23;;2198:96;:::o;3315:382::-;2146:10;2126:16;:14;:16::i;:::-;:30;;;2118:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3407:27:::1;::::0;::::1;3399:61;;;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;3493:23;3504:11;3493:10;:23::i;:::-;3471:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3625:20;:18;:20::i;:::-;3599:47;;3612:11;3599:47;;;;;;;;;;;;3659:30;3677:11;3659:17;:30::i;:::-;3315:382:::0;:::o;1152:176::-;1319:1;;1152:176::o;2535:113::-;2593:7;2620:20;:18;:20::i;3705:341::-;2146:10;2126:16;:14;:16::i;:::-;:30;;;2118:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3829:33:::1;3850:11;3829:20;:33::i;:::-;3876:12;3890:23:::0;3925:4:::1;3917:18;;3961:9;3986:4;3917:74;;;;;;;;;;;;;;;;;;;::::0;;;;;;;;;::::1;::::0;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3875:116;;;;4010:7;4026:10;4002:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2181:1;;3705:341:::0;;:::o;2899:232::-;2146:10;2126:16;:14;:16::i;:::-;:30;;;2118:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2990:22:::1;::::0;::::1;2982:47;;;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;3045:44;3062:8;3072:16;:14;:16::i;:::-;3045:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;3100:23;3114:8;3100:13;:23::i;2302:225::-:0;1712:43;2470:15;2302:225;:::o;4249:274::-;4309:4;4330:21;;;4326:66;;-1:-1:-1;4375:5:0;4368:12;;4326:66;-1:-1:-1;4459:20:0;;4507:8;;4249:274;;;;:::o;4054:187::-;1631:44;4194:29;4179:55::o;3139:168::-;1712:43;3263:26;3248:52::o

Swarm Source

ipfs://405d11edfea715ab1ddd102a0da51d14e8f3003d62ecca130681e448f3ac47ce

Block Transaction Gas Used Reward
view all blocks produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]

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.