S Price: $0.48778 (+8.14%)

Contract

0x35EE168B4d0EA31974E9B184480b758F3E9940D1

Overview

S Balance

Sonic LogoSonic LogoSonic Logo15.6 S

S Value

$7.61 (@ $0.49/S)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Finish Remove Ma...133720972025-03-13 3:04:259 hrs ago1741835065IN
0x35EE168B...F3E9940D1
0 S0.010942950
Finish Remove Ma...133720382025-03-13 3:03:459 hrs ago1741835025IN
0x35EE168B...F3E9940D1
0 S0.011886150
Finish Remove Ma...133715142025-03-13 2:59:189 hrs ago1741834758IN
0x35EE168B...F3E9940D1
0 S0.010942950
Finish Remove Ma...133664212025-03-13 2:19:5910 hrs ago1741832399IN
0x35EE168B...F3E9940D1
0 S0.010938350
Request Remove M...133664172025-03-13 2:19:5710 hrs ago1741832397IN
0x35EE168B...F3E9940D1
0.6298 S0.0074454650.0001
Finish Remove Ma...133635752025-03-13 1:59:3810 hrs ago1741831178IN
0x35EE168B...F3E9940D1
0 S0.0118854550
Request Trade133608532025-03-13 1:40:0311 hrs ago1741830003IN
0x35EE168B...F3E9940D1
0.6 S0.0054884650.0001
Request Trade133569882025-03-13 1:12:0911 hrs ago1741828329IN
0x35EE168B...F3E9940D1
0.6 S0.0055773150.0001
Request Trade133567192025-03-13 1:10:1811 hrs ago1741828218IN
0x35EE168B...F3E9940D1
0.6 S0.0055544150.0001
Request Trade133561722025-03-13 1:06:4011 hrs ago1741828000IN
0x35EE168B...F3E9940D1
0.6 S0.0055051150.0001
Request Trade133561332025-03-13 1:06:2411 hrs ago1741827984IN
0x35EE168B...F3E9940D1
0.6 S0.0054884650.0001
Request Add Marg...133559672025-03-13 1:05:2111 hrs ago1741827921IN
0x35EE168B...F3E9940D1
0 S0.0156750350.0001
Finish Update Li...133155882025-03-12 20:18:1016 hrs ago1741810690IN
0x35EE168B...F3E9940D1
0 S0.0131461550
Request Remove L...133155822025-03-12 20:18:0616 hrs ago1741810686IN
0x35EE168B...F3E9940D1
0.6454 S0.0088162650.0001
Finish Update Li...133154712025-03-12 20:17:1716 hrs ago1741810637IN
0x35EE168B...F3E9940D1
0 S0.007972650
Request Add Liqu...133153582025-03-12 20:16:3516 hrs ago1741810595IN
0x35EE168B...F3E9940D1
0.6271 S0.0189424850.0001
Request Add Marg...132199922025-03-12 9:30:5327 hrs ago1741771853IN
0x35EE168B...F3E9940D1
0 S0.0094147150.0001
Request Add Marg...132198792025-03-12 9:30:0927 hrs ago1741771809IN
0x35EE168B...F3E9940D1
0.6 S0.0176913350.0001
Finish Update Li...132197712025-03-12 9:29:3127 hrs ago1741771771IN
0x35EE168B...F3E9940D1
0 S0.0163648550
Request Remove L...132197642025-03-12 9:29:2827 hrs ago1741771768IN
0x35EE168B...F3E9940D1
0.6454 S0.0085766150.0001
Finish Update Li...132197242025-03-12 9:29:0527 hrs ago1741771745IN
0x35EE168B...F3E9940D1
0 S0.0085853550
Request Add Liqu...132197172025-03-12 9:29:0227 hrs ago1741771742IN
0x35EE168B...F3E9940D1
0.6271 S0.0198249350.0001
Request Trade132195902025-03-12 9:27:5827 hrs ago1741771678IN
0x35EE168B...F3E9940D1
0.6 S0.0055063650.0001
Request Trade132180112025-03-12 9:16:4627 hrs ago1741771006IN
0x35EE168B...F3E9940D1
0.6 S0.0054903150.0001
Request Add Marg...132179792025-03-12 9:16:3227 hrs ago1741770992IN
0x35EE168B...F3E9940D1
0 S0.0111795250.0001
View all transactions

Latest 18 internal transactions

Parent Transaction Hash Block From To
133720972025-03-13 3:04:259 hrs ago1741835065
0x35EE168B...F3E9940D1
0.0298 S
133720952025-03-13 3:04:239 hrs ago1741835063
0x35EE168B...F3E9940D1
0.6298 S
133720582025-03-13 3:03:589 hrs ago1741835038
0x35EE168B...F3E9940D1
0.6 S
133720382025-03-13 3:03:459 hrs ago1741835025
0x35EE168B...F3E9940D1
0.0298 S
133720322025-03-13 3:03:439 hrs ago1741835023
0x35EE168B...F3E9940D1
0.6298 S
133715492025-03-13 2:59:389 hrs ago1741834778
0x35EE168B...F3E9940D1
0.6 S
133715142025-03-13 2:59:189 hrs ago1741834758
0x35EE168B...F3E9940D1
0.0298 S
133715112025-03-13 2:59:169 hrs ago1741834756
0x35EE168B...F3E9940D1
0.6298 S
133710172025-03-13 2:55:1510 hrs ago1741834515
0x35EE168B...F3E9940D1
0.6 S
133664212025-03-13 2:19:5910 hrs ago1741832399
0x35EE168B...F3E9940D1
0.0298 S
133635752025-03-13 1:59:3810 hrs ago1741831178
0x35EE168B...F3E9940D1
0.0298 S
133635722025-03-13 1:59:3610 hrs ago1741831176
0x35EE168B...F3E9940D1
0.6298 S
133633952025-03-13 1:58:2310 hrs ago1741831103
0x35EE168B...F3E9940D1
0.6 S
133155882025-03-12 20:18:1016 hrs ago1741810690
0x35EE168B...F3E9940D1
0.0454 S
133154712025-03-12 20:17:1716 hrs ago1741810637
0x35EE168B...F3E9940D1
0.0271 S
132197712025-03-12 9:29:3127 hrs ago1741771771
0x35EE168B...F3E9940D1
0.0454 S
132197242025-03-12 9:29:0527 hrs ago1741771745
0x35EE168B...F3E9940D1
0.0271 S
132160592025-03-12 9:03:4327 hrs ago1741770223
0x35EE168B...F3E9940D1
0.0298 S
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Gateway

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
File 1 of 5 : Gateway.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.8.0 <0.9.0;

import './GatewayStorage.sol';

contract Gateway is GatewayStorage {

    fallback() external payable {
        address imp = implementation;
        assembly {
            calldatacopy(0, 0, calldatasize())
            let result := delegatecall(gas(), imp, 0, calldatasize(), 0, 0)
            returndatacopy(0, 0, returndatasize())
            switch result
            case 0 { revert(0, returndatasize()) }
            default { return(0, returndatasize()) }
        }
    }

    receive() external payable {}

}

File 2 of 5 : GatewayStorage.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.8.0 <0.9.0;

import '../../utils/Admin.sol';
import '../../utils/Implementation.sol';
import '../../utils/ReentryLock.sol';

abstract contract GatewayStorage is Admin, Implementation, ReentryLock {

    // stateId => value
    mapping(uint8 => bytes32) internal _gatewayStates;

    // bToken => stateId => value
    mapping(address => mapping(uint8 => bytes32)) internal _bTokenStates;

    // dTokenId => stateId => value
    mapping(uint256 => mapping(uint8 => bytes32)) internal _dTokenStates;

    // actionId => executionFee
    mapping(uint256 => uint256) internal _executionFees;

}

File 3 of 5 : Admin.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.8.0 <0.9.0;

abstract contract Admin {

    error OnlyAdmin();

    event NewAdmin(address newAdmin);

    address public admin;

    modifier _onlyAdmin_() {
        if (msg.sender != admin) {
            revert OnlyAdmin();
        }
        _;
    }

    constructor () {
        admin = msg.sender;
        emit NewAdmin(admin);
    }

    /**
     * @notice Set a new admin for the contract.
     * @dev This function allows the current admin to assign a new admin address without performing any explicit verification.
     *      It's the current admin's responsibility to ensure that the 'newAdmin' address is correct and secure.
     * @param newAdmin The address of the new admin.
     */
    function setAdmin(address newAdmin) external _onlyAdmin_ {
        admin = newAdmin;
        emit NewAdmin(newAdmin);
    }

}

File 4 of 5 : Implementation.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.8.0 <0.9.0;

import './Admin.sol';

abstract contract Implementation is Admin {

    event NewImplementation(address newImplementation);

    address public implementation;

    // @notice Set a new implementation address for the contract
    function setImplementation(address newImplementation) external _onlyAdmin_ {
        implementation = newImplementation;
        emit NewImplementation(newImplementation);
    }

}

File 5 of 5 : ReentryLock.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.8.0 <0.9.0;

abstract contract ReentryLock {

    error Reentry();

    bool internal _mutex;

    // @notice Lock for preventing reentrancy attacks
    modifier _reentryLock_() {
        if (_mutex) {
            revert Reentry();
        }
        _mutex = true;
        _;
        _mutex = false;
    }

}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "evmVersion": "paris",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"name":"OnlyAdmin","type":"error"},{"inputs":[],"name":"Reentry","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"NewAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newImplementation","type":"address"}],"name":"NewImplementation","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"setImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b50600080546001600160a01b031916339081179091556040519081527f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c9060200160405180910390a1610277806100686000396000f3fe6080604052600436106100435760003560e01c80635c60da1b1461007c578063704b6c02146100b8578063d784d426146100d8578063f851a440146100f85761004a565b3661004a57005b6001546001600160a01b03163660008037600080366000845af43d6000803e808015610075573d6000f35b3d6000fd5b005b34801561008857600080fd5b5060015461009c906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c457600080fd5b5061007a6100d3366004610211565b610118565b3480156100e457600080fd5b5061007a6100f3366004610211565b610198565b34801561010457600080fd5b5060005461009c906001600160a01b031681565b6000546001600160a01b0316331461014357604051634755657960e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c906020015b60405180910390a150565b6000546001600160a01b031633146101c357604051634755657960e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f6b70829fcbe4891157f7a7496f9870927de3c8237adbe9cd39bae09b7382c4099060200161018d565b60006020828403121561022357600080fd5b81356001600160a01b038116811461023a57600080fd5b939250505056fea2646970667358221220a36016174573433d4ab15d1c63e4e02728ef5f1843757ad7552a59bf1a1206c264736f6c63430008140033

Deployed Bytecode

0x6080604052600436106100435760003560e01c80635c60da1b1461007c578063704b6c02146100b8578063d784d426146100d8578063f851a440146100f85761004a565b3661004a57005b6001546001600160a01b03163660008037600080366000845af43d6000803e808015610075573d6000f35b3d6000fd5b005b34801561008857600080fd5b5060015461009c906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c457600080fd5b5061007a6100d3366004610211565b610118565b3480156100e457600080fd5b5061007a6100f3366004610211565b610198565b34801561010457600080fd5b5060005461009c906001600160a01b031681565b6000546001600160a01b0316331461014357604051634755657960e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c906020015b60405180910390a150565b6000546001600160a01b031633146101c357604051634755657960e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f6b70829fcbe4891157f7a7496f9870927de3c8237adbe9cd39bae09b7382c4099060200161018d565b60006020828403121561022357600080fd5b81356001600160a01b038116811461023a57600080fd5b939250505056fea2646970667358221220a36016174573433d4ab15d1c63e4e02728ef5f1843757ad7552a59bf1a1206c264736f6c63430008140033

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.