Overview
S Balance
S Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 9 from a total of 9 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Allocate Seignio... | 10411436 | 4 hrs ago | IN | 0 S | 0.0621297 | ||||
Allocate Seignio... | 10329677 | 12 hrs ago | IN | 0 S | 0.06297615 | ||||
Set Peg Token Co... | 10255929 | 19 hrs ago | IN | 0 S | 0.00235306 | ||||
Allocate Seignio... | 10249306 | 20 hrs ago | IN | 0 S | 0.08497335 | ||||
Add Peg Token Lo... | 10228645 | 22 hrs ago | IN | 0 S | 0.00372042 | ||||
Add Peg Token Lo... | 10228047 | 22 hrs ago | IN | 0 S | 0.00358578 | ||||
Add Peg Token Lo... | 10227930 | 22 hrs ago | IN | 0 S | 0.00358578 | ||||
Set Regulation S... | 10220175 | 23 hrs ago | IN | 0 S | 0.00285862 | ||||
Initialize | 10218481 | 23 hrs ago | IN | 0 S | 0.05006831 |
Loading...
Loading
Contract Name:
UpgradableProxy
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity)
/** *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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516109fc3803806109fc8339818101604052602081101561003357600080fd5b505161003e3361004d565b61004781610071565b50610095565b7f80779e3772a658fd8d2c2c42bbab1b2316bc83ce107ce26ca323a06e6417160e55565b7f4e8f220a1793a5189b1ea1409cb3dc3f2765ad96089a8edd4815cbb1d719b2de55565b610958806100a46000396000f3fe6080604052600436106100695760003560e01c80635c60da1b116100435780635c60da1b14610168578063d88ca2c81461017d578063f1739cae14610240576100b8565b8063025313a2146100c3578063025b22bc146101015780634555d5c914610141576100b8565b366100b8576100b6610079610280565b6000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506102a592505050565b005b6100b6610079610280565b3480156100cf57600080fd5b506100d86102cd565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561010d57600080fd5b506100b66004803603602081101561012457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166102dc565b34801561014d57600080fd5b506101566104b4565b60408051918252519081900360200190f35b34801561017457600080fd5b506100d86104b9565b6100b66004803603604081101561019357600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691908101906040810160208201356401000000008111156101cb57600080fd5b8201836020820111156101dd57600080fd5b803590602001918460018302840111640100000000831117156101ff57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506104c3945050505050565b34801561024c57600080fd5b506100b66004803603602081101561026357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106d8565b7f4e8f220a1793a5189b1ea1409cb3dc3f2765ad96089a8edd4815cbb1d719b2de5490565b600080825160208401856127105a03f43d604051816000823e8280156102c9578282f35b8282fd5b60006102d7610860565b905090565b336102e5610860565b73ffffffffffffffffffffffffffffffffffffffff161461036757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e4f545f4f574e45520000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166103e957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e56414c49445f50524f58595f414444524553530000000000000000000000604482015290519081900360640190fd5b6103f281610885565b610447576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806108fe6025913960400191505060405180910390fd5b61044f610280565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36104b1816108b5565b50565b600290565b60006102d7610280565b336104cc610860565b73ffffffffffffffffffffffffffffffffffffffff161461054e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e4f545f4f574e45520000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610557826102dc565b6000803073ffffffffffffffffffffffffffffffffffffffff1634846040518082805190602001908083835b602083106105c057805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610583565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610622576040519150601f19603f3d011682016040523d82523d6000602084013e610627565b606091505b50915091508181906106d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561069657818101518382015260200161067e565b50505050905090810190601f1680156106c35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b336106e1610860565b73ffffffffffffffffffffffffffffffffffffffff161461076357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e4f545f4f574e45520000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166107e557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f414444524553530000000000000000000000000000000000000000604482015290519081900360640190fd5b7fdbe5fd65bcdbae152f24ab660ea68e72b4d4705b57b16e0caae994e214680ee28161080f610860565b604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16104b1816108d9565b7f80779e3772a658fd8d2c2c42bbab1b2316bc83ce107ce26ca323a06e6417160e5490565b600073ffffffffffffffffffffffffffffffffffffffff82166108aa575060006108b0565b50803b15155b919050565b7f4e8f220a1793a5189b1ea1409cb3dc3f2765ad96089a8edd4815cbb1d719b2de55565b7f80779e3772a658fd8d2c2c42bbab1b2316bc83ce107ce26ca323a06e6417160e5556fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e5452414354a2646970667358221220405d11edfea715ab1ddd102a0da51d14e8f3003d62ecca130681e448f3ac47ce64736f6c63430007060033000000000000000000000000a588f7806a758d76d64b7f66a3963dea3bec2647
Deployed Bytecode
0x6080604052600436106100695760003560e01c80635c60da1b116100435780635c60da1b14610168578063d88ca2c81461017d578063f1739cae14610240576100b8565b8063025313a2146100c3578063025b22bc146101015780634555d5c914610141576100b8565b366100b8576100b6610079610280565b6000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506102a592505050565b005b6100b6610079610280565b3480156100cf57600080fd5b506100d86102cd565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561010d57600080fd5b506100b66004803603602081101561012457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166102dc565b34801561014d57600080fd5b506101566104b4565b60408051918252519081900360200190f35b34801561017457600080fd5b506100d86104b9565b6100b66004803603604081101561019357600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691908101906040810160208201356401000000008111156101cb57600080fd5b8201836020820111156101dd57600080fd5b803590602001918460018302840111640100000000831117156101ff57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506104c3945050505050565b34801561024c57600080fd5b506100b66004803603602081101561026357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106d8565b7f4e8f220a1793a5189b1ea1409cb3dc3f2765ad96089a8edd4815cbb1d719b2de5490565b600080825160208401856127105a03f43d604051816000823e8280156102c9578282f35b8282fd5b60006102d7610860565b905090565b336102e5610860565b73ffffffffffffffffffffffffffffffffffffffff161461036757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e4f545f4f574e45520000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166103e957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e56414c49445f50524f58595f414444524553530000000000000000000000604482015290519081900360640190fd5b6103f281610885565b610447576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806108fe6025913960400191505060405180910390fd5b61044f610280565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36104b1816108b5565b50565b600290565b60006102d7610280565b336104cc610860565b73ffffffffffffffffffffffffffffffffffffffff161461054e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e4f545f4f574e45520000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610557826102dc565b6000803073ffffffffffffffffffffffffffffffffffffffff1634846040518082805190602001908083835b602083106105c057805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610583565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610622576040519150601f19603f3d011682016040523d82523d6000602084013e610627565b606091505b50915091508181906106d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561069657818101518382015260200161067e565b50505050905090810190601f1680156106c35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b336106e1610860565b73ffffffffffffffffffffffffffffffffffffffff161461076357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e4f545f4f574e45520000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166107e557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f414444524553530000000000000000000000000000000000000000604482015290519081900360640190fd5b7fdbe5fd65bcdbae152f24ab660ea68e72b4d4705b57b16e0caae994e214680ee28161080f610860565b604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16104b1816108d9565b7f80779e3772a658fd8d2c2c42bbab1b2316bc83ce107ce26ca323a06e6417160e5490565b600073ffffffffffffffffffffffffffffffffffffffff82166108aa575060006108b0565b50803b15155b919050565b7f4e8f220a1793a5189b1ea1409cb3dc3f2765ad96089a8edd4815cbb1d719b2de55565b7f80779e3772a658fd8d2c2c42bbab1b2316bc83ce107ce26ca323a06e6417160e5556fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e5452414354a2646970667358221220405d11edfea715ab1ddd102a0da51d14e8f3003d62ecca130681e448f3ac47ce64736f6c63430007060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a588f7806a758d76d64b7f66a3963dea3bec2647
-----Decoded View---------------
Arg [0] : _proxyTo (address): 0xa588f7806A758D76d64b7f66a3963dEA3beC2647
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a588f7806a758d76d64b7f66a3963dea3bec2647
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
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.