S Price: $0.604167 (+0.21%)

Contract

0x777B2Cc540E5E6824a5ceafB04c5a383874a6Bf5

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0.073631546689898741 S

S Value

$0.04 (@ $0.60/S)
Transaction Hash
Method
Block
From
To
Burn163869012025-03-27 17:47:103 hrs ago1743097630IN
0x777B2Cc5...3874a6Bf5
2.84980794 S0.0111345755.01
Burn122332032025-03-07 9:04:3620 days ago1741338276IN
0x777B2Cc5...3874a6Bf5
3.50243375 S0.0111345755.01
Burn121822232025-03-07 2:28:2720 days ago1741314507IN
0x777B2Cc5...3874a6Bf5
3.30122123 S0.0111345755.01
Burn120329022025-03-06 10:52:2121 days ago1741258341IN
0x777B2Cc5...3874a6Bf5
5.77662102 S0.0128186550
Burn103671262025-02-26 19:35:2529 days ago1740598525IN
0x777B2Cc5...3874a6Bf5
3.9079536 S0.0111345755.01
Burn77014802025-02-13 13:10:0442 days ago1739452204IN
0x777B2Cc5...3874a6Bf5
4.68398491 S0.012245260.5
Burn75097552025-02-12 9:35:1443 days ago1739352914IN
0x777B2Cc5...3874a6Bf5
5.96172234 S0.0114914956.6
Burn68083022025-02-06 16:41:4949 days ago1738860109IN
0x777B2Cc5...3874a6Bf5
17.63225254 S0.0176955966
Burn40307242025-01-15 18:19:2171 days ago1736965161IN
0x777B2Cc5...3874a6Bf5
29.26191732 S0.0087068333.96
Burn39300092025-01-14 23:33:1771 days ago1736897597IN
0x777B2Cc5...3874a6Bf5
12.16272914 S0.0088504733.01
Burn35542482025-01-12 9:59:2574 days ago1736675965IN
0x777B2Cc5...3874a6Bf5
7.63150576 S0.001281865
Burn34216612025-01-11 17:21:0175 days ago1736616061IN
0x777B2Cc5...3874a6Bf5
10.7713593 S0.001477315.51
Burn14902432024-12-24 18:48:5493 days ago1735066134IN
0x777B2Cc5...3874a6Bf5
13.74412663 S0.000290971
Update Logic Add...14327152024-12-24 7:13:1593 days ago1735024395IN
0x777B2Cc5...3874a6Bf5
0 S0.000028951
Update Interface...14326782024-12-24 7:12:5093 days ago1735024370IN
0x777B2Cc5...3874a6Bf5
0 S0.0000291
Burn14216422024-12-24 5:04:5693 days ago1735016696IN
0x777B2Cc5...3874a6Bf5
12.16736671 S0.000193581
Burn14110652024-12-24 2:33:2793 days ago1735007607IN
0x777B2Cc5...3874a6Bf5
15.69292258 S0.000342331.65037761
Set Min Sigs6302182024-12-18 22:53:1298 days ago1734562392IN
0x777B2Cc5...3874a6Bf5
0 S0.0000321
Set Trusted Remo...6254022024-12-18 22:22:4498 days ago1734560564IN
0x777B2Cc5...3874a6Bf5
0 S0.000099181
Initialize6253462024-12-18 22:22:0398 days ago1734560523IN
0x777B2Cc5...3874a6Bf5
0 S0.000306991
Update Logic Add...6243992024-12-18 22:10:3098 days ago1734559830IN
0x777B2Cc5...3874a6Bf5
0 S0.000046081
Update Interface...6243422024-12-18 22:09:5798 days ago1734559797IN
0x777B2Cc5...3874a6Bf5
0 S0.000046131

Latest 20 internal transactions

Parent Transaction Hash Block From To
163869012025-03-27 17:47:103 hrs ago1743097630
0x777B2Cc5...3874a6Bf5
2.84980794 S
161605222025-03-26 19:29:4425 hrs ago1743017384
0x777B2Cc5...3874a6Bf5
2.39620912 S
161605222025-03-26 19:29:4425 hrs ago1743017384
0x777B2Cc5...3874a6Bf5
2.4 S
161366202025-03-26 17:15:4727 hrs ago1743009347
0x777B2Cc5...3874a6Bf5
2.33015932 S
161366202025-03-26 17:15:4727 hrs ago1743009347
0x777B2Cc5...3874a6Bf5
2.4 S
122332032025-03-07 9:04:3620 days ago1741338276
0x777B2Cc5...3874a6Bf5
3.50243375 S
121822232025-03-07 2:28:2720 days ago1741314507
0x777B2Cc5...3874a6Bf5
3.30122123 S
120329022025-03-06 10:52:2121 days ago1741258341
0x777B2Cc5...3874a6Bf5
5.77662102 S
103671262025-02-26 19:35:2529 days ago1740598525
0x777B2Cc5...3874a6Bf5
3.9079536 S
77014802025-02-13 13:10:0442 days ago1739452204
0x777B2Cc5...3874a6Bf5
4.68398491 S
75097552025-02-12 9:35:1443 days ago1739352914
0x777B2Cc5...3874a6Bf5
5.96172234 S
68083022025-02-06 16:41:4949 days ago1738860109
0x777B2Cc5...3874a6Bf5
17.63225254 S
40307242025-01-15 18:19:2171 days ago1736965161
0x777B2Cc5...3874a6Bf5
29.26191732 S
39300092025-01-14 23:33:1771 days ago1736897597
0x777B2Cc5...3874a6Bf5
12.16272914 S
35542482025-01-12 9:59:2574 days ago1736675965
0x777B2Cc5...3874a6Bf5
7.63150576 S
34216612025-01-11 17:21:0175 days ago1736616061
0x777B2Cc5...3874a6Bf5
10.7713593 S
14902432024-12-24 18:48:5493 days ago1735066134
0x777B2Cc5...3874a6Bf5
13.74412663 S
14216422024-12-24 5:04:5693 days ago1735016696
0x777B2Cc5...3874a6Bf5
12.16736671 S
14110652024-12-24 2:33:2793 days ago1735007607
0x777B2Cc5...3874a6Bf5
15.69292258 S
2168402024-12-08 21:10:22109 days ago1733692222  Contract Creation0 S
Loading...
Loading

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

Contract Name:
SolidlyProxy

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 200 runs

Other Settings:
london EvmVersion, BSL 1.1 license
File 1 of 1 : SolidlyProxy.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.11;

/**
 * @title Solidly governance killable proxy
 * @author Solidly Labs
 * @notice EIP-1967 upgradeable proxy with the ability to kill governance and render the contract immutable
 */
contract SolidlyProxy {
    bytes32 constant IMPLEMENTATION_SLOT =
        0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; // keccak256('eip1967.proxy.implementation'), actually used for interface so etherscan picks up the interface
    bytes32 constant LOGIC_SLOT =
        0x5942be825425c77e56e4bce97986794ab0f100954e40fc1390ae0e003710a3ab; // keccak256('LOGIC') - 1, actual logic implementation
    bytes32 constant GOVERNANCE_SLOT =
        0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103; // keccak256('eip1967.proxy.admin')
    bytes32 constant INITIALIZED_SLOT =
        0x834ce84547018237034401a09067277cdcbe7bbf7d7d30f6b382b0a102b7b4a3; // keccak256('eip1967.proxy.initialized')

    /**
     * @notice Reverts if msg.sender is not governance
     */
    modifier onlyGovernance() {
        require(msg.sender == governanceAddress(), "Only governance");
        _;
    }

    /**
     * @notice Reverts if contract is already initialized
     * @dev Used by implementations to ensure initialize() is only called once
     */
    modifier notInitialized() {
        bool initialized;
        assembly {
            initialized := sload(INITIALIZED_SLOT)
            if eq(initialized, 1) {
                revert(0, 0)
            }
            sstore(INITIALIZED_SLOT, 1)
        }
        _;
    }

    /**
     * @notice Sets up deployer as a proxy governance
     */
    constructor() {
        address _governanceAddress = msg.sender;
        assembly {
            sstore(GOVERNANCE_SLOT, _governanceAddress)
        }
    }

    /**
     * @notice Detect whether or not governance is killed
     * @return Return true if governance is killed, false if not
     * @dev If governance is killed this contract becomes immutable
     */
    function governanceIsKilled() public view returns (bool) {
        return governanceAddress() == address(0);
    }

    /**
     * @notice Kill governance, making this contract immutable
     * @dev Only governance can kil governance
     */
    function killGovernance() external onlyGovernance {
        updateGovernanceAddress(address(0));
    }

    /**
     * @notice Update implementation address
     * @param _interfaceAddress Address of the new interface
     * @dev Only governance can update implementation
     */
    function updateInterfaceAddress(address _interfaceAddress)
        external
        onlyGovernance
    {
        assembly {
            sstore(IMPLEMENTATION_SLOT, _interfaceAddress)
        }
    }

    /**
     * @notice Actually updates interface, kept for etherscan pattern recognition
     * @param _implementationAddress Address of the new implementation
     * @dev Only governance can update implementation
     */
    function updateImplementationAddress(address _implementationAddress)
        external
        onlyGovernance
    {
        assembly {
            sstore(IMPLEMENTATION_SLOT, _implementationAddress)
        }
    }

    /**
     * @notice Update implementation address
     * @param _logicAddress Address of the new implementation
     * @dev Only governance can update implementation
     */
    function updateLogicAddress(address _logicAddress) external onlyGovernance {
        assembly {
            sstore(LOGIC_SLOT, _logicAddress)
        }
    }

    /**
     * @notice Update governance address
     * @param _governanceAddress New governance address
     * @dev Only governance can update governance
     */
    function updateGovernanceAddress(address _governanceAddress)
        public
        onlyGovernance
    {
        assembly {
            sstore(GOVERNANCE_SLOT, _governanceAddress)
        }
    }

    /**
     * @notice Fetch the current implementation address
     * @return _implementationAddress Returns the current implementation address
     */
    function implementationAddress()
        public
        view
        returns (address _implementationAddress)
    {
        assembly {
            _implementationAddress := sload(IMPLEMENTATION_SLOT)
        }
    }

    /**
     * @notice Fetch the current implementation address
     * @return _interfaceAddress Returns the current implementation address
     */
    function interfaceAddress()
        public
        view
        virtual
        returns (address _interfaceAddress)
    {
        assembly {
            _interfaceAddress := sload(IMPLEMENTATION_SLOT)
        }
    }

    /**
     * @notice Fetch the current implementation address
     * @return _logicAddress Returns the current implementation address
     */
    function logicAddress()
        public
        view
        virtual
        returns (address _logicAddress)
    {
        assembly {
            _logicAddress := sload(LOGIC_SLOT)
        }
    }

    /**
     * @notice Fetch current governance address
     * @return _governanceAddress Returns current governance address
     */
    function governanceAddress()
        public
        view
        virtual
        returns (address _governanceAddress)
    {
        assembly {
            _governanceAddress := sload(GOVERNANCE_SLOT)
        }
    }

    /**
     * @notice Fallback function that delegatecalls the subimplementation instead of what's in the IMPLEMENTATION_SLOT
     */
    function _delegateCallSubimplmentation() internal virtual {
        assembly {
            let contractLogic := sload(LOGIC_SLOT)
            calldatacopy(0x0, 0x0, calldatasize())
            let success := delegatecall(
                gas(),
                contractLogic,
                0x0,
                calldatasize(),
                0,
                0
            )
            let returnDataSize := returndatasize()
            returndatacopy(0, 0, returnDataSize)
            switch success
            case 0 {
                revert(0, returnDataSize)
            }
            default {
                return(0, returnDataSize)
            }
        }
    }

    /**
     * @notice Delegatecall fallback proxy
     */
    fallback() external payable virtual {
        _delegateCallSubimplmentation();
    }

    receive() external payable virtual {
        _delegateCallSubimplmentation();
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "metadata": {
    "bytecodeHash": "none"
  },
  "evmVersion": "london"
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"governanceAddress","outputs":[{"internalType":"address","name":"_governanceAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governanceIsKilled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementationAddress","outputs":[{"internalType":"address","name":"_implementationAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"interfaceAddress","outputs":[{"internalType":"address","name":"_interfaceAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"killGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"logicAddress","outputs":[{"internalType":"address","name":"_logicAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_governanceAddress","type":"address"}],"name":"updateGovernanceAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_implementationAddress","type":"address"}],"name":"updateImplementationAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_interfaceAddress","type":"address"}],"name":"updateInterfaceAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_logicAddress","type":"address"}],"name":"updateLogicAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x6080604052600436106100955760003560e01c8063b56fbb9711610059578063b56fbb9714610189578063b90d8930146101a9578063b97a231914610155578063cf6126ed146101c9578063eb5ee83a146101c9576100a4565b8063179781c4146100ac578063654ea5e7146100d6578063795053d3146100eb5780639c1fcc4c14610121578063aa8a675414610155576100a4565b366100a4576100a26101e9565b005b6100a26101e9565b3480156100b857600080fd5b506100c1610232565b60405190151581526020015b60405180910390f35b3480156100e257600080fd5b506100a261025a565b3480156100f757600080fd5b50600080516020610423833981519152545b6040516001600160a01b0390911681526020016100cd565b34801561012d57600080fd5b507f5942be825425c77e56e4bce97986794ab0f100954e40fc1390ae0e003710a3ab54610109565b34801561016157600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54610109565b34801561019557600080fd5b506100a26101a43660046103c9565b6102af565b3480156101b557600080fd5b506100a26101c43660046103c9565b610313565b3480156101d557600080fd5b506100a26101e43660046103c9565b610365565b7f5942be825425c77e56e4bce97986794ab0f100954e40fc1390ae0e003710a3ab543660008037600080366000845af490503d806000803e81801561022d57816000f35b816000fd5b60008061024b6000805160206104238339815191525490565b6001600160a01b031614905090565b600080516020610423833981519152546001600160a01b0316336001600160a01b0316146102a35760405162461bcd60e51b815260040161029a906103f9565b60405180910390fd5b6102ad6000610313565b565b600080516020610423833981519152546001600160a01b0316336001600160a01b0316146102ef5760405162461bcd60e51b815260040161029a906103f9565b7f5942be825425c77e56e4bce97986794ab0f100954e40fc1390ae0e003710a3ab55565b600080516020610423833981519152546001600160a01b0316336001600160a01b0316146103535760405162461bcd60e51b815260040161029a906103f9565b60008051602061042383398151915255565b600080516020610423833981519152546001600160a01b0316336001600160a01b0316146103a55760405162461bcd60e51b815260040161029a906103f9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6000602082840312156103db57600080fd5b81356001600160a01b03811681146103f257600080fd5b9392505050565b6020808252600f908201526e4f6e6c7920676f7665726e616e636560881b60408201526060019056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a164736f6c634300080b000a

Deployed Bytecode Sourcemap

241:6165:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6366:31;:29;:31::i;:::-;241:6165;;6277:31;:29;:31::i;2031:114::-;;;;;;;;;;;;;:::i;:::-;;;179:14:1;;172:22;154:41;;142:2;127:18;2031:114:0;;;;;;;;2277:102;;;;;;;;;;;;;:::i;5133:215::-;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;5310:22:0;5133:215;;;-1:-1:-1;;;;;370:32:1;;;352:51;;340:2;325:18;5133:215:0;206:203:1;4799:195:0;;;;;;;;;;-1:-1:-1;4967:10:0;4961:17;4799:195;;4433:216;;;;;;;;;;-1:-1:-1;4613:19:0;4607:26;4433:216;;3384:157;;;;;;;;;;-1:-1:-1;3384:157:0;;;;;:::i;:::-;;:::i;3710:195::-;;;;;;;;;;-1:-1:-1;3710:195:0;;;;;:::i;:::-;;:::i;2561:198::-;;;;;;;;;;-1:-1:-1;2561:198:0;;;;;:::i;:::-;;:::i;5489:677::-;5607:10;5601:17;5654:14;5649:3;5644;5631:38;5853:1;5834;5802:14;5781:3;5750:13;5727:5;5697:171;5682:186;;5903:16;5953:14;5950:1;5947;5932:36;5988:7;6008:64;;;;6121:14;6118:1;6111:25;6008:64;6043:14;6040:1;6033:25;2031:114;2082:4;;2105:19;-1:-1:-1;;;;;;;;;;;5310:22:0;;5133:215;2105:19;-1:-1:-1;;;;;2105:33:0;;2098:40;;2031:114;:::o;2277:102::-;-1:-1:-1;;;;;;;;;;;5310:22:0;-1:-1:-1;;;;;1088:33:0;:10;-1:-1:-1;;;;;1088:33:0;;1080:61;;;;-1:-1:-1;;;1080:61:0;;;;;;;:::i;:::-;;;;;;;;;2337:35:::1;2369:1;2337:23;:35::i;:::-;2277:102::o:0;3384:157::-;-1:-1:-1;;;;;;;;;;;5310:22:0;-1:-1:-1;;;;;1088:33:0;:10;-1:-1:-1;;;;;1088:33:0;;1080:61;;;;-1:-1:-1;;;1080:61:0;;;;;;;:::i;:::-;3499:10:::1;3492:33:::0;3384:157::o;3710:195::-;-1:-1:-1;;;;;;;;;;;5310:22:0;-1:-1:-1;;;;;1088:33:0;:10;-1:-1:-1;;;;;1088:33:0;;1080:61;;;;-1:-1:-1;;;1080:61:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;3846:43:0;3710:195::o;2561:198::-;-1:-1:-1;;;;;;;;;;;5310:22:0;-1:-1:-1;;;;;1088:33:0;:10;-1:-1:-1;;;;;1088:33:0;;1080:61;;;;-1:-1:-1;;;1080:61:0;;;;;;;:::i;:::-;2704:19:::1;2697:46:::0;2561:198::o;414:286:1:-;473:6;526:2;514:9;505:7;501:23;497:32;494:52;;;542:1;539;532:12;494:52;568:23;;-1:-1:-1;;;;;620:31:1;;610:42;;600:70;;666:1;663;656:12;600:70;689:5;414:286;-1:-1:-1;;;414:286:1:o;705:339::-;907:2;889:21;;;946:2;926:18;;;919:30;-1:-1:-1;;;980:2:1;965:18;;958:45;1035:2;1020:18;;705:339::o

Swarm Source

none://164736f6c634300080b000a

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  ]
[ 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.