S Price: $0.50883 (-6.01%)

Contract

0xc184a3ECcA684F2621c903A7943D85fA42F56671

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Upgrade Vault Pr...166756192025-03-29 0:16:277 hrs ago1743207387IN
0xc184a3EC...A42F56671
0 S0.0039988550.0001
Upgrade Vault Pr...166755542025-03-29 0:16:027 hrs ago1743207362IN
0xc184a3EC...A42F56671
0 S0.0039988550.0001
Upgrade Vault Pr...166754662025-03-29 0:15:307 hrs ago1743207330IN
0xc184a3EC...A42F56671
0 S0.0039988550.0001
Upgrade Vault Pr...166753392025-03-29 0:14:427 hrs ago1743207282IN
0xc184a3EC...A42F56671
0 S0.0039988550.0001
Upgrade Vault Pr...166748392025-03-29 0:11:227 hrs ago1743207082IN
0xc184a3EC...A42F56671
0 S0.0039988550.0001
Upgrade Strategy...166746972025-03-29 0:10:297 hrs ago1743207029IN
0xc184a3EC...A42F56671
0 S0.003969850.0001
Upgrade Strategy...166746052025-03-29 0:09:557 hrs ago1743206995IN
0xc184a3EC...A42F56671
0 S0.003969850.0001
Upgrade Strategy...166741842025-03-29 0:07:147 hrs ago1743206834IN
0xc184a3EC...A42F56671
0 S0.003969850.0001
Upgrade Strategy...166741142025-03-29 0:06:477 hrs ago1743206807IN
0xc184a3EC...A42F56671
0 S0.003969850.0001
Upgrade Strategy...163423182025-03-27 13:33:3742 hrs ago1743082417IN
0xc184a3EC...A42F56671
0 S0.00915053115.2519
Upgrade Strategy...163353722025-03-27 12:52:4442 hrs ago1743079964IN
0xc184a3EC...A42F56671
0 S0.003969850.0001
Update Farm144161712025-03-18 10:24:2710 days ago1742293467IN
0xc184a3EC...A42F56671
0 S0.0061984650.0001
Upgrade Strategy...144156412025-03-18 10:20:1710 days ago1742293217IN
0xc184a3EC...A42F56671
0 S0.0051197464.50150646
Update Farm144144242025-03-18 10:11:4210 days ago1742292702IN
0xc184a3EC...A42F56671
0 S0.0072149650.0001
Upgrade Strategy...144141772025-03-18 10:09:5510 days ago1742292595IN
0xc184a3EC...A42F56671
0 S0.003968750.0001
Upgrade Strategy...144141472025-03-18 10:09:4210 days ago1742292582IN
0xc184a3EC...A42F56671
0 S0.003968750.0001
Update Farm143001162025-03-17 19:28:1611 days ago1742239696IN
0xc184a3EC...A42F56671
0 S0.0047741550.0001
Update Farm142994592025-03-17 19:23:5211 days ago1742239432IN
0xc184a3EC...A42F56671
0 S0.0052141150.0001
Update Farm142991992025-03-17 19:22:0611 days ago1742239326IN
0xc184a3EC...A42F56671
0 S0.0073551650.0001
Update Farm142983072025-03-17 19:16:2711 days ago1742238987IN
0xc184a3EC...A42F56671
0 S0.0061978650.0001
Deploy Vault And...141388962025-03-16 22:26:0812 days ago1742163968IN
0xc184a3EC...A42F56671
0 S0.1150928350.0001
Set Strategy Ava...141388532025-03-16 22:25:4512 days ago1742163945IN
0xc184a3EC...A42F56671
0 S0.0039456550.0001
Upgrade Strategy...138040592025-03-15 4:25:3414 days ago1742012734IN
0xc184a3EC...A42F56671
0 S0.0027656255.01
Upgrade Strategy...138040212025-03-15 4:25:1214 days ago1742012712IN
0xc184a3EC...A42F56671
0 S0.002815456
Upgrade Strategy...137842222025-03-15 1:45:4214 days ago1742003142IN
0xc184a3EC...A42F56671
0 S0.0027656255.01
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
141388962025-03-16 22:26:0812 days ago1742163968
0xc184a3EC...A42F56671
 Contract Creation0 S
141388962025-03-16 22:26:0812 days ago1742163968
0xc184a3EC...A42F56671
 Contract Creation0 S
136877552025-03-14 14:42:2414 days ago1741963344
0xc184a3EC...A42F56671
 Contract Creation0 S
136877552025-03-14 14:42:2414 days ago1741963344
0xc184a3EC...A42F56671
 Contract Creation0 S
136714592025-03-14 12:57:4214 days ago1741957062
0xc184a3EC...A42F56671
 Contract Creation0 S
136714592025-03-14 12:57:4214 days ago1741957062
0xc184a3EC...A42F56671
 Contract Creation0 S
134763802025-03-13 15:07:1615 days ago1741878436
0xc184a3EC...A42F56671
 Contract Creation0 S
134763802025-03-13 15:07:1615 days ago1741878436
0xc184a3EC...A42F56671
 Contract Creation0 S
134763482025-03-13 15:07:0615 days ago1741878426
0xc184a3EC...A42F56671
 Contract Creation0 S
134763482025-03-13 15:07:0615 days ago1741878426
0xc184a3EC...A42F56671
 Contract Creation0 S
134763212025-03-13 15:06:5715 days ago1741878417
0xc184a3EC...A42F56671
 Contract Creation0 S
134763212025-03-13 15:06:5715 days ago1741878417
0xc184a3EC...A42F56671
 Contract Creation0 S
134762862025-03-13 15:06:4515 days ago1741878405
0xc184a3EC...A42F56671
 Contract Creation0 S
134762862025-03-13 15:06:4515 days ago1741878405
0xc184a3EC...A42F56671
 Contract Creation0 S
134762312025-03-13 15:06:2815 days ago1741878388
0xc184a3EC...A42F56671
 Contract Creation0 S
134762312025-03-13 15:06:2815 days ago1741878388
0xc184a3EC...A42F56671
 Contract Creation0 S
122484842025-03-07 10:57:1121 days ago1741345031
0xc184a3EC...A42F56671
 Contract Creation0 S
122484842025-03-07 10:57:1121 days ago1741345031
0xc184a3EC...A42F56671
 Contract Creation0 S
118947062025-03-05 19:46:5023 days ago1741204010
0xc184a3EC...A42F56671
 Contract Creation0 S
118947062025-03-05 19:46:5023 days ago1741204010
0xc184a3EC...A42F56671
 Contract Creation0 S
115548682025-03-04 5:43:2425 days ago1741067004
0xc184a3EC...A42F56671
 Contract Creation0 S
115548682025-03-04 5:43:2425 days ago1741067004
0xc184a3EC...A42F56671
 Contract Creation0 S
113665822025-03-03 9:28:3625 days ago1740994116
0xc184a3EC...A42F56671
 Contract Creation0 S
113665822025-03-03 9:28:3625 days ago1740994116
0xc184a3EC...A42F56671
 Contract Creation0 S
113664712025-03-03 9:27:4925 days ago1740994069
0xc184a3EC...A42F56671
 Contract Creation0 S
View All Internal Transactions
Loading...
Loading

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

Contract Name:
Proxy

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
shanghai EvmVersion
File 1 of 4 : Proxy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.23;

import "../base/UpgradeableProxy.sol";
import "../../interfaces/IControllable.sol";
import "../../interfaces/IProxy.sol";

/// @title Proxy for Stability Platform core contracts.
/// @dev ERC-1967: Proxy Storage Slots used.
/// @author JodsMigel (https://github.com/JodsMigel)
contract Proxy is UpgradeableProxy, IProxy {
    /// @inheritdoc IProxy
    function initProxy(address logic_) external override {
        _init(logic_);
    }

    /// @inheritdoc IProxy
    //slither-disable-next-line naming-convention
    function upgrade(address _newImplementation) external override {
        if (IControllable(address(this)).platform() != msg.sender) {
            revert IControllable.NotPlatform();
        }
        _upgradeTo(_newImplementation);
        // the new contract must have the same ABI and you must have the power to change it again
        if (IControllable(address(this)).platform() != msg.sender) {
            revert IControllable.NotPlatform();
        }
    }

    /// @inheritdoc IProxy
    function implementation() external view override returns (address) {
        return _implementation();
    }
}

File 2 of 4 : UpgradeableProxy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.23;

/// @title Simple ERC-1967 upgradeable proxy implementation
abstract contract UpgradeableProxy {
    error ImplementationIsNotContract();

    /// @dev This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is
    bytes32 private constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

    /// @dev Emitted when the implementation is upgraded.
    event Upgraded(address indexed implementation);

    constructor() {
        assert(_IMPLEMENTATION_SLOT == bytes32(uint(keccak256("eip1967.proxy.implementation")) - 1));
    }

    /// @dev Post deploy initialisation for compatability with EIP-1167 factory
    function _init(address _logic) internal {
        // nosemgrep
        require(_implementation() == address(0), "Already inited");
        _setImplementation(_logic);
    }

    /// @dev Returns the current implementation address.
    function _implementation() internal view virtual returns (address impl) {
        bytes32 slot = _IMPLEMENTATION_SLOT;
        // solhint-disable-next-line no-inline-assembly
        //slither-disable-next-line assembly
        assembly {
            impl := sload(slot)
        }
    }

    /// @dev Upgrades the proxy to a new implementation.
    function _upgradeTo(address newImplementation) internal virtual {
        _setImplementation(newImplementation);
        emit Upgraded(newImplementation);
    }

    /// @dev Stores a new address in the EIP1967 implementation slot.
    function _setImplementation(address newImplementation) private {
        if (newImplementation.code.length == 0) revert ImplementationIsNotContract();
        bytes32 slot = _IMPLEMENTATION_SLOT;
        // solhint-disable-next-line no-inline-assembly
        //slither-disable-next-line assembly
        assembly {
            sstore(slot, newImplementation)
        }
    }

    /**
     * @dev Delegates the current call to `implementation`.
     *
     * This function does not return to its internal call site, it will return directly to the external caller.
     */
    function _delegate(address implementation) internal virtual {
        //slither-disable-next-line assembly
        assembly {
            // Copy msg.data. We take full control of memory in this inline assembly
            // block because it will not return to Solidity code. We overwrite the
            // Solidity scratch pad at memory position 0.
            calldatacopy(0, 0, calldatasize())

            // Call the implementation.
            // out and outsize are 0 because we don't know the size yet.
            let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)

            // Copy the returned data.
            returndatacopy(0, 0, returndatasize())

            switch result
            // delegatecall returns 0 on error.
            case 0 { revert(0, returndatasize()) }
            default { return(0, returndatasize()) }
        }
    }

    /**
     * @dev Delegates the current call to the address returned by `_implementation()`.
     *
     * This function does not return to its internal call site, it will return directly to the external caller.
     */
    function _fallback() internal virtual {
        _delegate(_implementation());
    }

    /// @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other
    /// function in the contract matches the call data.
    //slither-disable-next-line locked-ether
    fallback() external payable virtual {
        _fallback();
    }

    /// @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data
    /// is empty.
    //slither-disable-next-line locked-ether
    receive() external payable virtual {
        _fallback();
    }
}

File 3 of 4 : IControllable.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.23;

/// @dev Base core interface implemented by most platform contracts.
///      Inherited contracts store an immutable Platform proxy address in the storage,
///      which provides authorization capabilities and infrastructure contract addresses.
/// @author Alien Deployer (https://github.com/a17)
/// @author JodsMigel (https://github.com/JodsMigel)
interface IControllable {
    //region ----- Custom Errors -----
    error IncorrectZeroArgument();
    error IncorrectMsgSender();
    error NotGovernance();
    error NotMultisig();
    error NotGovernanceAndNotMultisig();
    error NotOperator();
    error NotFactory();
    error NotPlatform();
    error NotVault();
    error IncorrectArrayLength();
    error AlreadyExist();
    error NotExist();
    error NotTheOwner();
    error ETHTransferFailed();
    error IncorrectInitParams();
    //endregion -- Custom Errors -----

    event ContractInitialized(address platform, uint ts, uint block);

    /// @notice Stability Platform main contract address
    function platform() external view returns (address);

    /// @notice Version of contract implementation
    /// @dev SemVer scheme MAJOR.MINOR.PATCH
    //slither-disable-next-line naming-convention
    function VERSION() external view returns (string memory);

    /// @notice Block number when contract was initialized
    function createdBlock() external view returns (uint);
}

File 4 of 4 : IProxy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.23;

/// @dev Proxy of core contract implementation
interface IProxy {
    /// @dev Initialize proxy logic. Need to call after deploy new proxy.
    /// @param logic Address of core contract implementation
    function initProxy(address logic) external;

    /// @notice Upgrade proxy implementation (contract logic).
    /// @dev Upgrade execution allowed only for Platform contract.
    /// An upgrade of any core contract proxy is always part of a platform time locked upgrade,
    /// with a change in the platform version.
    /// @param newImplementation New implementation address
    function upgrade(address newImplementation) external;

    /// @notice Return current logic implementation
    /// @return Address of implementation contract
    function implementation() external view returns (address);
}

Settings
{
  "remappings": [
    "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
    "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
    "@solady/=lib/solady/src/",
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
    "forge-std/=lib/forge-std/src/",
    "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
    "openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/",
    "solady/=lib/solady/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "shanghai",
  "viaIR": false,
  "libraries": {
    "src/core/libs/CommonLib.sol": {
      "CommonLib": "0x4f76ADd676c04ecA837130CeB58Bc173de8799dE"
    },
    "src/core/libs/DeployerLib.sol": {
      "DeployerLib": "0x29613385F8808A04E593163a2867f3F3D4a1BD8B"
    },
    "src/core/libs/FactoryLib.sol": {
      "FactoryLib": "0x06e0912b4f2E36cfcF9556478352AFC2d991919F"
    },
    "src/core/libs/FactoryNamingLib.sol": {
      "FactoryNamingLib": "0x3110a397362465b6Ad45703DE9DEa2CC2Ae6C3B3"
    },
    "src/core/libs/StrategyLogicLib.sol": {
      "StrategyLogicLib": "0xCA26bF5d5B610EB3E48041Dd7eb5Ce57475fB878"
    },
    "src/core/libs/VaultBaseLib.sol": {
      "VaultBaseLib": "0xD728c9C834985f583B1d0C29f84D80d1EF75A609"
    },
    "src/core/libs/VaultManagerLib.sol": {
      "VaultManagerLib": "0xE080ED61824494De0b191597e907Ee458F47c64b"
    },
    "src/strategies/libs/LPStrategyLib.sol": {
      "LPStrategyLib": "0xda05a4EC440C6E3A253d37652F1907118c06079a"
    },
    "src/strategies/libs/StrategyLib.sol": {
      "StrategyLib": "0xc2dE381a066FD7282aF33378664161a8fc180796"
    },
    "src/strategies/libs/UniswapV3MathLib.sol": {
      "UniswapV3MathLib": "0xbbc63ee4a06bf1F2432ccC4d70103e3D465fcA39"
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"name":"ImplementationIsNotContract","type":"error"},{"inputs":[],"name":"NotPlatform","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"logic_","type":"address"}],"name":"initProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newImplementation","type":"address"}],"name":"upgrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x608060405260043610610037575f3560e01c80630900f0101461004e5780635c60da1b1461006d5780639c0200611461009d57610046565b36610046576100446100bc565b005b6100446100bc565b348015610059575f80fd5b5061004461006836600461033f565b6100db565b348015610078575f80fd5b50610081610209565b6040516001600160a01b03909116815260200160405180910390f35b3480156100a8575f80fd5b506100446100b736600461033f565b610224565b6100d96100d45f8051602061037d8339815191525490565b61022d565b565b336001600160a01b0316306001600160a01b0316634bde38c86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610121573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101459190610361565b6001600160a01b03161461016c5760405163016bdfed60e71b815260040160405180910390fd5b6101758161024b565b336001600160a01b0316306001600160a01b0316634bde38c86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101df9190610361565b6001600160a01b0316146102065760405163016bdfed60e71b815260040160405180910390fd5b50565b5f61021f5f8051602061037d8339815191525490565b905090565b6102068161028a565b365f80375f80365f845af43d5f803e808015610247573d5ff35b3d5ffd5b610254816102f0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b5f6102a05f8051602061037d8339815191525490565b6001600160a01b0316146102eb5760405162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481a5b9a5d195960921b604482015260640160405180910390fd5b610206815b806001600160a01b03163b5f0361031a5760405163e84f0f9960e01b815260040160405180910390fd5b5f8051602061037d83398151915255565b6001600160a01b0381168114610206575f80fd5b5f6020828403121561034f575f80fd5b813561035a8161032b565b9392505050565b5f60208284031215610371575f80fd5b815161035a8161032b56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212200c3e694a538919fac6626407558a72a42b821008a5fa233890ac06a49d421d1964736f6c63430008170033

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.