ERC-20
Overview
Max Total Supply
15,689.867896529642691235 aSonWETH
Holders
1,008
Market
Price
$0.00 @ 0.000000 S
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.511049482681248911 aSonWETHValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x2816cf15...B6c47FEbA The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
InitializableImmutableAdminUpgradeabilityProxy
Compiler Version
v0.8.22+commit.4fc1097e
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.10;import {InitializableUpgradeabilityProxy} from '../../dependencies/openzeppelin/upgradeability/InitializableUpgradeabilityProxy.sol';import {Proxy} from '../../dependencies/openzeppelin/upgradeability/Proxy.sol';import {BaseImmutableAdminUpgradeabilityProxy} from './BaseImmutableAdminUpgradeabilityProxy.sol';/*** @title InitializableAdminUpgradeabilityProxy* @author Aave* @dev Extends BaseAdminUpgradeabilityProxy with an initializer function*/contract InitializableImmutableAdminUpgradeabilityProxy isBaseImmutableAdminUpgradeabilityProxy,InitializableUpgradeabilityProxy{/*** @dev Constructor.* @param admin The address of the admin*/constructor(address admin) BaseImmutableAdminUpgradeabilityProxy(admin) {// Intentionally left blank}/// @inheritdoc BaseImmutableAdminUpgradeabilityProxyfunction _willFallback() internal override(BaseImmutableAdminUpgradeabilityProxy, Proxy) {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/Address.sol)pragma solidity ^0.8.0;/*** @dev Collection of functions related to the address type*/library Address {/*** @dev Returns true if `account` is a contract.** [IMPORTANT]* ====* It is unsafe to assume that an address for which this function returns* false is an externally-owned account (EOA) and not a contract.** Among others, `isContract` will return false for the following* types of addresses:** - an externally-owned account* - a contract in construction* - an address where a contract will be created* - an address where a contract lived, but was destroyed* ====*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.10;import './Proxy.sol';import '../contracts/Address.sol';/*** @title BaseUpgradeabilityProxy* @dev This contract implements a proxy that allows to change the* implementation address to which it will delegate.* Such a change is called an implementation upgrade.*/contract BaseUpgradeabilityProxy is Proxy {/*** @dev Emitted when the implementation is upgraded.* @param implementation Address of the new implementation.*/event Upgraded(address indexed implementation);/*** @dev Storage slot with the address of the current implementation.* This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is* validated in the constructor.*/bytes32 internal constant IMPLEMENTATION_SLOT =0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.10;import './BaseUpgradeabilityProxy.sol';/*** @title InitializableUpgradeabilityProxy* @dev Extends BaseUpgradeabilityProxy with an initializer for initializing* implementation and init data.*/contract InitializableUpgradeabilityProxy is BaseUpgradeabilityProxy {/*** @dev Contract initializer.* @param _logic Address of the initial implementation.* @param _data Data to send as msg.data to the implementation to initialize the proxied contract.* It should include the signature and the parameters of the function to be called, as described in* https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.* This parameter is optional, if no data is given the initialization call to proxied contract will be skipped.*/function initialize(address _logic, bytes memory _data) public payable {require(_implementation() == address(0));assert(IMPLEMENTATION_SLOT == bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1));_setImplementation(_logic);if (_data.length > 0) {(bool success, ) = _logic.delegatecall(_data);require(success);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.10;/*** @title Proxy* @dev Implements delegation of calls to other contracts, with proper* forwarding of return values and bubbling of failures.* It defines a fallback function that delegates all calls to the address* returned by the abstract _implementation() internal function.*/abstract contract Proxy {/*** @dev Fallback function.* Will run if no other function in the contract matches the call data.* Implemented entirely in `_fallback`.*/fallback() external payable {_fallback();}/*** @dev Fallback function that will run if call data is empty.* IMPORTANT. receive() on implementation contracts will be unreachable*/receive() external payable {_fallback();
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.10;import {BaseUpgradeabilityProxy} from '../../dependencies/openzeppelin/upgradeability/BaseUpgradeabilityProxy.sol';/*** @title BaseImmutableAdminUpgradeabilityProxy* @author Aave, inspired by the OpenZeppelin upgradeability proxy pattern* @notice This contract combines an upgradeability proxy with an authorization* mechanism for administrative tasks.* @dev The admin role is stored in an immutable, which helps saving transactions costs* All external functions in this contract must be guarded by the* `ifAdmin` modifier. See ethereum/solidity#3864 for a Solidity* feature proposal that would enable this to be done automatically.*/contract BaseImmutableAdminUpgradeabilityProxy is BaseUpgradeabilityProxy {address internal immutable _admin;/*** @dev Constructor.* @param admin_ The address of the admin*/constructor(address admin_) {_admin = admin_;}
1234567891011121314151617181920212223242526{"remappings": ["solidity-utils/=lib/solidity-utils/src/","forge-std/=lib/forge-std/src/","ds-test/=lib/forge-std/lib/ds-test/src/","openzeppelin-contracts-upgradeable/=lib/solidity-utils/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/solidity-utils/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/","@openzeppelin/contracts-upgradeable/=lib/solidity-utils/lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/solidity-utils/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/","erc4626-tests/=lib/solidity-utils/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","halmos-cheatcodes/=lib/solidity-utils/lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/"],"optimizer": {"enabled": true,"runs": 200},"metadata": {"useLiteralContent": false,"bytecodeHash": "none","appendCBOR": true},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode",
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"admin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a060405234801561000f575f80fd5b506040516107e43803806107e483398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b60805161073d6100a75f395f818161011e01528181610162015281816102140152818161034801528181610371015261048c015261073d5ff3fe60806040526004361061004d575f3560e01c80633659cfe6146100645780634f1ef286146100835780635c60da1b14610096578063d1f57894146100c6578063f851a440146100d95761005c565b3661005c5761005a6100ed565b005b61005a6100ed565b34801561006f575f80fd5b5061005a61007e366004610530565b610114565b61005a610091366004610550565b610158565b3480156100a1575f80fd5b506100aa610209565b6040516001600160a01b03909116815260200160405180910390f35b61005a6100d43660046105e0565b610258565b3480156100e4575f80fd5b506100aa61033d565b6100f5610393565b61011261010d5f805160206107118339815191525490565b61039b565b565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036101505761014d816103b9565b50565b61014d6100ed565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036101fc57610191836103b9565b5f836001600160a01b031683836040516101ac92919061069c565b5f60405180830381855af49150503d805f81146101e4576040519150601f19603f3d011682016040523d82523d5f602084013e6101e9565b606091505b50509050806101f6575f80fd5b50505050565b6102046100ed565b505050565b5f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361024d57505f805160206107118339815191525490565b6102556100ed565b90565b5f61026e5f805160206107118339815191525490565b6001600160a01b031614610280575f80fd5b6102ab60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6106ab565b5f80516020610711833981519152146102c6576102c66106d0565b6102cf826103f8565b805115610339575f826001600160a01b0316826040516102ef91906106e4565b5f60405180830381855af49150503d805f8114610327576040519150601f19603f3d011682016040523d82523d5f602084013e61032c565b606091505b5050905080610204575f80fd5b5050565b5f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361024d57507f000000000000000000000000000000000000000000000000000000000000000090565b610112610482565b365f80375f80365f845af43d5f803e8080156103b5573d5ff35b3d5ffd5b6103c2816103f8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b803b6104715760405162461bcd60e51b815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000060648201526084015b60405180910390fd5b5f8051602061071183398151915255565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036101125760405162461bcd60e51b815260206004820152603260248201527f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260448201527137b6903a343290383937bc3c9030b236b4b760711b6064820152608401610468565b80356001600160a01b038116811461052b575f80fd5b919050565b5f60208284031215610540575f80fd5b61054982610515565b9392505050565b5f805f60408486031215610562575f80fd5b61056b84610515565b9250602084013567ffffffffffffffff80821115610587575f80fd5b818601915086601f83011261059a575f80fd5b8135818111156105a8575f80fd5b8760208285010111156105b9575f80fd5b6020830194508093505050509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f80604083850312156105f1575f80fd5b6105fa83610515565b9150602083013567ffffffffffffffff80821115610616575f80fd5b818501915085601f830112610629575f80fd5b81358181111561063b5761063b6105cc565b604051601f8201601f19908116603f01168101908382118183101715610663576106636105cc565b8160405282815288602084870101111561067b575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b818382375f9101908152919050565b818103818111156106ca57634e487b7160e01b5f52601160045260245ffd5b92915050565b634e487b7160e01b5f52600160045260245ffd5b5f82515f5b8181101561070357602081860181015185830152016106e9565b505f92019182525091905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca164736f6c6343000816000a0000000000000000000000004172e6aaec070acb31aace343a58c93e4c70f44d
Deployed Bytecode
0x60806040526004361061004d575f3560e01c80633659cfe6146100645780634f1ef286146100835780635c60da1b14610096578063d1f57894146100c6578063f851a440146100d95761005c565b3661005c5761005a6100ed565b005b61005a6100ed565b34801561006f575f80fd5b5061005a61007e366004610530565b610114565b61005a610091366004610550565b610158565b3480156100a1575f80fd5b506100aa610209565b6040516001600160a01b03909116815260200160405180910390f35b61005a6100d43660046105e0565b610258565b3480156100e4575f80fd5b506100aa61033d565b6100f5610393565b61011261010d5f805160206107118339815191525490565b61039b565b565b6001600160a01b037f0000000000000000000000004172e6aaec070acb31aace343a58c93e4c70f44d1633036101505761014d816103b9565b50565b61014d6100ed565b6001600160a01b037f0000000000000000000000004172e6aaec070acb31aace343a58c93e4c70f44d1633036101fc57610191836103b9565b5f836001600160a01b031683836040516101ac92919061069c565b5f60405180830381855af49150503d805f81146101e4576040519150601f19603f3d011682016040523d82523d5f602084013e6101e9565b606091505b50509050806101f6575f80fd5b50505050565b6102046100ed565b505050565b5f6001600160a01b037f0000000000000000000000004172e6aaec070acb31aace343a58c93e4c70f44d16330361024d57505f805160206107118339815191525490565b6102556100ed565b90565b5f61026e5f805160206107118339815191525490565b6001600160a01b031614610280575f80fd5b6102ab60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6106ab565b5f80516020610711833981519152146102c6576102c66106d0565b6102cf826103f8565b805115610339575f826001600160a01b0316826040516102ef91906106e4565b5f60405180830381855af49150503d805f8114610327576040519150601f19603f3d011682016040523d82523d5f602084013e61032c565b606091505b5050905080610204575f80fd5b5050565b5f6001600160a01b037f0000000000000000000000004172e6aaec070acb31aace343a58c93e4c70f44d16330361024d57507f0000000000000000000000004172e6aaec070acb31aace343a58c93e4c70f44d90565b610112610482565b365f80375f80365f845af43d5f803e8080156103b5573d5ff35b3d5ffd5b6103c2816103f8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b803b6104715760405162461bcd60e51b815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000060648201526084015b60405180910390fd5b5f8051602061071183398151915255565b6001600160a01b037f0000000000000000000000004172e6aaec070acb31aace343a58c93e4c70f44d1633036101125760405162461bcd60e51b815260206004820152603260248201527f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260448201527137b6903a343290383937bc3c9030b236b4b760711b6064820152608401610468565b80356001600160a01b038116811461052b575f80fd5b919050565b5f60208284031215610540575f80fd5b61054982610515565b9392505050565b5f805f60408486031215610562575f80fd5b61056b84610515565b9250602084013567ffffffffffffffff80821115610587575f80fd5b818601915086601f83011261059a575f80fd5b8135818111156105a8575f80fd5b8760208285010111156105b9575f80fd5b6020830194508093505050509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f80604083850312156105f1575f80fd5b6105fa83610515565b9150602083013567ffffffffffffffff80821115610616575f80fd5b818501915085601f830112610629575f80fd5b81358181111561063b5761063b6105cc565b604051601f8201601f19908116603f01168101908382118183101715610663576106636105cc565b8160405282815288602084870101111561067b575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b818382375f9101908152919050565b818103818111156106ca57634e487b7160e01b5f52601160045260245ffd5b92915050565b634e487b7160e01b5f52600160045260245ffd5b5f82515f5b8181101561070357602081860181015185830152016106e9565b505f92019182525091905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca164736f6c6343000816000a
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.