// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.2.0) (proxy/beacon/BeaconProxy.sol)
pragma solidity ^0.8.22;
import {IBeacon} from "./IBeacon.sol";
import {Proxy} from "../Proxy.sol";
import {ERC1967Utils} from "../ERC1967/ERC1967Utils.sol";
/**
* @dev This contract implements a proxy that gets the implementation address for each call from an {UpgradeableBeacon}.
*
* The beacon address can only be set once during construction, and cannot be changed afterwards. It is stored in an
* immutable variable to avoid unnecessary storage reads, and also in the beacon storage slot specified by
* https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] so that it can be accessed externally.
*
* CAUTION: Since the beacon address can never be changed, you must ensure that you either control the beacon, or trust
* the beacon to not upgrade the implementation maliciously.
*
* IMPORTANT: Do not use the implementation logic to modify the beacon storage slot. Doing so would leave the proxy in
* an inconsistent state where the beacon storage slot does not match the beacon address.
*/
contract BeaconProxy is Proxy {
// An immutable address for the beacon to avoid unnecessary SLOADs before each delegate call.
address private immutable _beacon;
/**
* @dev Initializes the proxy with `beacon`.
*
* If `data` is nonempty, it's used as data in a delegate call to the implementation returned by the beacon. This
* will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity
* constructor.
*
* Requirements:
*
* - `beacon` must be a contract with the interface {IBeacon}.
* - If `data` is empty, `msg.value` must be zero.
*/
constructor(address beacon, bytes memory data) payable {
ERC1967Utils.upgradeBeaconToAndCall(beacon, data);
_beacon = beacon;
}
/**
* @dev Returns the current implementation address of the associated beacon.
*/
function _implementation() internal view virtual override returns (address) {
return IBeacon(_getBeacon()).implementation();
}
/**
* @dev Returns the beacon.
*/
function _getBeacon() internal view virtual returns (address) {
return _beacon;
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "beacon",
"type": "address",
"internalType": "address"
},
{
"name": "data",
"type": "bytes",
"internalType": "bytes"
}
],
"stateMutability": "payable"
},
{
"name": "AddressEmptyCode",
"type": "error",
"inputs": [
{
"name": "target",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC1967InvalidBeacon",
"type": "error",
"inputs": [
{
"name": "beacon",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC1967InvalidImplementation",
"type": "error",
"inputs": [
{
"name": "implementation",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC1967NonPayable",
"type": "error",
"inputs": []
},
{
"name": "FailedCall",
"type": "error",
"inputs": []
},
{
"name": "BeaconUpgraded",
"type": "event",
"inputs": [
{
"name": "beacon",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "fallback",
"stateMutability": "payable"
}
][
{
"type": "constructor",
"inputs": [],
"stateMutability": "nonpayable"
},
{
"name": "BagsFeeShare_AlreadyInitialized",
"type": "error",
"inputs": []
},
{
"name": "BagsFeeShare_BondingCurveAlreadySet",
"type": "error",
"inputs": []
},
{
"name": "BagsFeeShare_BpsSumInvalid",
"type": "error",
"inputs": [
{
"name": "sum",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "BagsFeeShare_ClaimerHasUnpaid",
"type": "error",
"inputs": [
{
"name": "claimer",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "BagsFeeShare_DuplicateClaimer",
"type": "error",
"inputs": [
{
"name": "claimer",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "BagsFeeShare_LenMismatch",
"type": "error",
"inputs": [
{
"name": "claimersLength",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "bpsLength",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "BagsFeeShare_NoClaimers",
"type": "error",
"inputs": []
},
{
"name": "BagsFeeShare_NoPartner",
"type": "error",
"inputs": []
},
{
"name": "BagsFeeShare_NotAuthorized",
"type": "error",
"inputs": [
{
"name": "caller",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "BagsFeeShare_NothingToClaim",
"type": "error",
"inputs": []
},
{
"name": "BagsFeeShare_PartnerIsClaimer",
"type": "error",
"inputs": []
},
{
"name": "BagsFeeShare_SendFailed",
"type": "error",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "BagsFeeShare_TooManyClaimers",
"type": "error",
"inputs": [
{
"name": "length",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "max",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "BagsFeeShare_ZeroBondingCurve",
"type": "error",
"inputs": []
},
{
"name": "BagsFeeShare_ZeroClaimer",
"type": "error",
"inputs": []
},
{
"name": "BagsFeeShare_ZeroHook",
"type": "error",
"inputs": []
},
{
"name": "BagsFeeShare_ZeroWETH",
"type": "error",
"inputs": []
},
{
"name": "InvalidInitialization",
"type": "error",
"inputs": []
},
{
"name": "NotInitializing",
"type": "error",
"inputs": []
},
{
"name": "OwnableInvalidOwner",
"type": "error",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "OwnableUnauthorizedAccount",
"type": "error",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ReentrancyGuardReentrantCall",
"type": "error",
"inputs": []
},
{
"name": "SafeERC20FailedOperation",
"type": "error",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "BondingCurveSet",
"type": "event",
"inputs": [
{
"name": "bondingCurve",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "Claimed",
"type": "event",
"inputs": [
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "unwrap",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"anonymous": false
},
{
"name": "ClaimersUpdated",
"type": "event",
"inputs": [
{
"name": "claimers",
"type": "address[]",
"indexed": false,
"internalType": "address[]"
},
{
"name": "bps",
"type": "uint16[]",
"indexed": false,
"internalType": "uint16[]"
}
],
"anonymous": false
},
{
"name": "FeeNotified",
"type": "event",
"inputs": [
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "Initialized",
"type": "event",
"inputs": [
{
"name": "version",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"name": "OwnershipTransferred",
"type": "event",
"inputs": [
{
"name": "previousOwner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "PartnerFeeNotified",
"type": "event",
"inputs": [
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "SweepFailed",
"type": "event",
"inputs": [
{
"name": "hook",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "PARTNER",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "WETH",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "bondingCurve",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "claim",
"type": "function",
"inputs": [
{
"name": "unwrap",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "claimable",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "claimerBps",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"name": "claimers",
"type": "function",
"inputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "getClaimers",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "addrs",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "bps",
"type": "uint16[]",
"internalType": "uint16[]"
}
],
"stateMutability": "view"
},
{
"name": "hook",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "initialize",
"type": "function",
"inputs": [
{
"name": "_weth",
"type": "address",
"internalType": "address"
},
{
"name": "admin",
"type": "address",
"internalType": "address"
},
{
"name": "_partner",
"type": "address",
"internalType": "address"
},
{
"name": "_claimers",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "_bps",
"type": "uint16[]",
"internalType": "uint16[]"
},
{
"name": "hook_",
"type": "address",
"internalType": "address"
},
{
"name": "poolId_",
"type": "bytes32",
"internalType": "PoolId"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "notifyFee",
"type": "function",
"inputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "notifyPartnerFee",
"type": "function",
"inputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "poolId",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "PoolId"
}
],
"stateMutability": "view"
},
{
"name": "renounceOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setBondingCurve",
"type": "function",
"inputs": [
{
"name": "_bondingCurve",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setClaimers",
"type": "function",
"inputs": [
{
"name": "_claimers",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "_bps",
"type": "uint16[]",
"internalType": "uint16[]"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "transferOwnership",
"type": "function",
"inputs": [
{
"name": "newOwner",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "receive",
"stateMutability": "payable"
}
]0x60806040819052635c60da1b60e01b81526020906004817f000000000000000000000000dff07d39c5332c602e06fa64f0a97c92fd8537e06001600160a01b03165afa801560a2575f901560d1575060203d602011609c575b601f19601f820116608001906080821067ffffffffffffffff83111760885760849160405260800160ad565b60d1565b634e487b7160e01b5f52604160045260245ffd5b503d6058565b6040513d5f823e3d90fd5b602090607f19011260cd576080516001600160a01b038116810360cd5790565b5f80fd5b5f8091368280378136915af43d5f803e1560e9573d5ff35b3d5ffdfea26469706673582212205f87a11aef2d05829cba3b08c4a4247afd1a62e1e380ab0a0bc1efe024f1195164736f6c634300081a0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
WETH (WETH) | WETH | 0.000001 | $1,877.77 | $0 |
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xcc455e…32febe | 23 days agoThu, 23 Jul 2026 04:09:26 UTC | 0xb302de…76a1 | data: 0x000000000000000000…845c5c3f |
| 0xefc045…a67c76 | 27 days agoSun, 19 Jul 2026 14:59:14 UTC | 0xfa8256…2dcc | [0] 0x000000000000…08387a14 data: 0x000000000000000000…00000001 |
| 0x83ca48…db6ac6 | 27 days agoSun, 19 Jul 2026 14:59:12 UTC | 0xb302de…76a1 | data: 0x000000000000000000…bf7166f1 |
| 0x877e18…9dff8b | 27 days agoSun, 19 Jul 2026 14:58:40 UTC | 0xb302de…76a1 | data: 0x000000000000000000…c40e191e |
| 0xacc171…a7ddaa | 27 days agoSun, 19 Jul 2026 14:58:10 UTC | 0xb302de…76a1 | data: 0x000000000000000000…18a48442 |
| 0xacc171…a7ddaa | 27 days agoSun, 19 Jul 2026 14:58:10 UTC | 0x8be007…57e0 | [0] 0x000000000000…3219cb37 [1] 0x000000000000…805f9058 |
| 0xacc171…a7ddaa | 27 days agoSun, 19 Jul 2026 14:58:10 UTC | 0x9727cf…8a55 | data: 0x000000000000000000…9e41a7f5 |
| 0xacc171…a7ddaa | 27 days agoSun, 19 Jul 2026 14:58:10 UTC | 0xc7f505…81d2 | data: 0x000000000000000000…00000001 |
| 0xacc171…a7ddaa | 27 days agoSun, 19 Jul 2026 14:58:10 UTC | 0x8be007…57e0 | [0] 0x000000000000…00000000 [1] 0x000000000000…3219cb37 |
| 0xacc171…a7ddaa | 27 days agoSun, 19 Jul 2026 14:58:10 UTC | 0x1cf3b0…5d3e | [0] 0x000000000000…fd8537e0 |
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xefc045…a67c76 | claim | 13,930,732 | 27 days agoSun, 19 Jul 2026 14:59:14 UTC | 0x459d…7a14 | IN | BagsFeeShare | $0.000 ETH | 0.00000440 |
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xcc455e9c…32febe | Transfer | 16,988,853 | 23 days agoThu, 23 Jul 2026 04:09:26 UTC | 0x8b7f…a7f5 | IN | 0xe9cf…648b | 0.000001 WETH | WETH (WETH) | |
| 0xefc0455b…a67c76 | Transfer | 13,930,732 | 27 days agoSun, 19 Jul 2026 14:59:14 UTC | 0xe9cf…648b | OUT | 0x0000…0000 | 0.004388 WETH | WETH (WETH) | |
| 0x83ca48d0…db6ac6 | Transfer | 13,930,717 | 27 days agoSun, 19 Jul 2026 14:59:12 UTC | 0x8b7f…a7f5 | IN | 0xe9cf…648b | 0.002171 WETH | WETH (WETH) | |
| 0x877e180e…9dff8b | Transfer | 13,930,394 | 27 days agoSun, 19 Jul 2026 14:58:40 UTC | 0x8b7f…a7f5 | IN | 0xe9cf…648b | 0.000002 WETH | WETH (WETH) | |
| 0xacc17145…a7ddaa | Transfer | 13,930,096 | 27 days agoSun, 19 Jul 2026 14:58:10 UTC | 0x8b7f…a7f5 | IN | 0xe9cf…648b | 0.002214 WETH | WETH (WETH) |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 13,930,732 | 27 days agoSun, 19 Jul 2026 14:59:14 UTC | 0xefc045…a67c76 | CALL | claim | 0xe9cf…648b | OUT | 0x459d…7a14 | 0.00438 ETH |
| 13,930,732 | 27 days agoSun, 19 Jul 2026 14:59:14 UTC | 0xefc045…a67c76 | DELEGATECALL | claim | 0xe9cf…648b | OUT | 0xd169…8a1a | 0.00438 ETH |
| 13,930,732 | 27 days agoSun, 19 Jul 2026 14:59:14 UTC | 0xefc045…a67c76 | CALL | claim | 0x0bd7…ad73 | IN | 0xe9cf…648b | 0.00438 ETH |
| 13,930,096 | 27 days agoSun, 19 Jul 2026 14:58:10 UTC | 0xacc171…a7ddaa | CREATE | createAndBuy | 0xe8cc…cb37 | IN | 0xe9cf…648b | 0 ETH |