// 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 |
|---|---|---|---|---|
| no token holdings | ||||
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xfa7def…7977ac | 34 days agoMon, 13 Jul 2026 17:17:06 UTC | 0xfa8256…2dcc | [0] 0x000000000000…90a86095 data: 0x000000000000000000…00000001 |
| 0xaf4531…f2c912 | 34 days agoMon, 13 Jul 2026 17:16:41 UTC | 0xb302de…76a1 | data: 0x000000000000000000…4f3c7a47 |
| 0x9236e8…d8fbd8 | 34 days agoMon, 13 Jul 2026 17:15:22 UTC | 0xb302de…76a1 | data: 0x000000000000000000…fcf0423b |
| 0xcb5214…d9e33e | 34 days agoMon, 13 Jul 2026 17:15:22 UTC | 0xb302de…76a1 | data: 0x000000000000000000…59f53943 |
| 0x1e9dc9…fd9975 | 34 days agoMon, 13 Jul 2026 17:15:22 UTC | 0xb302de…76a1 | data: 0x000000000000000000…f376f481 |
| 0x2ddb0b…4eb934 | 34 days agoMon, 13 Jul 2026 17:15:13 UTC | 0xb302de…76a1 | data: 0x000000000000000000…ea8b6000 |
| 0x140ed3…b31a66 | 34 days agoMon, 13 Jul 2026 17:15:02 UTC | 0xb302de…76a1 | data: 0x000000000000000000…77aa6000 |
| 0xf51c64…7e53cd | 34 days agoMon, 13 Jul 2026 17:15:02 UTC | 0xb302de…76a1 | data: 0x000000000000000000…77aa6000 |
| 0x709b43…6272e4 | 34 days agoMon, 13 Jul 2026 17:14:59 UTC | 0xb302de…76a1 | data: 0x000000000000000000…3aa2d800 |
| 0x952c70…e1ea35 | 34 days agoMon, 13 Jul 2026 17:14:44 UTC | 0xb302de…76a1 | data: 0x000000000000000000…3aa2d800 |
| 0xea066b…f5e53c | 34 days agoMon, 13 Jul 2026 17:14:30 UTC | 0xb302de…76a1 | data: 0x000000000000000000…3bd53000 |
| 0xffa4e8…cbd890 | 34 days agoMon, 13 Jul 2026 17:14:25 UTC | 0xb302de…76a1 | data: 0x000000000000000000…3bd53000 |
| 0xbc1945…242afb | 34 days agoMon, 13 Jul 2026 17:14:25 UTC | 0xb302de…76a1 | data: 0x000000000000000000…1cc6a000 |
| 0x879538…aa4177 | 34 days agoMon, 13 Jul 2026 17:14:25 UTC | 0xb302de…76a1 | data: 0x000000000000000000…1cc6a000 |
| 0x0bfe2e…a1eeff | 34 days agoMon, 13 Jul 2026 17:14:25 UTC | 0xb302de…76a1 | data: 0x000000000000000000…1cc6a000 |
| 0x93a8ce…b8baa8 | 34 days agoMon, 13 Jul 2026 17:14:23 UTC | 0xb302de…76a1 | data: 0x000000000000000000…7033434e |
| 0x93a8ce…b8baa8 | 34 days agoMon, 13 Jul 2026 17:14:23 UTC | 0x8be007…57e0 | [0] 0x000000000000…3219cb37 [1] 0x000000000000…805f9058 |
| 0x93a8ce…b8baa8 | 34 days agoMon, 13 Jul 2026 17:14:23 UTC | 0x9727cf…8a55 | data: 0x000000000000000000…0c5ef48c |
| 0x93a8ce…b8baa8 | 34 days agoMon, 13 Jul 2026 17:14:23 UTC | 0xc7f505…81d2 | data: 0x000000000000000000…00000001 |
| 0x93a8ce…b8baa8 | 34 days agoMon, 13 Jul 2026 17:14:23 UTC | 0x8be007…57e0 | [0] 0x000000000000…00000000 [1] 0x000000000000…3219cb37 |
| 0x93a8ce…b8baa8 | 34 days agoMon, 13 Jul 2026 17:14:23 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 ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xfa7def…7977ac | claim | 8,840,267 | 34 days agoMon, 13 Jul 2026 17:17:06 UTC | 0x7a22…6095 | IN | BagsFeeShare | $0.000 ETH | 0.00000414 |
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xfa7def6a…7977ac | Transfer | 8,840,267 | 34 days agoMon, 13 Jul 2026 17:17:06 UTC | 0xfd57…cb17 | OUT | 0x0000…0000 | 0.003672 WETH | WETH (WETH) | |
| 0xaf453181…f2c912 | Transfer | 8,840,013 | 34 days agoMon, 13 Jul 2026 17:16:41 UTC | 0x2e97…f48c | IN | 0xfd57…cb17 | 0.000265 WETH | WETH (WETH) | |
| 0x9236e8fb…d8fbd8 | Transfer | 8,839,228 | 34 days agoMon, 13 Jul 2026 17:15:22 UTC | 0x2e97…f48c | IN | 0xfd57…cb17 | 0.000293 WETH | WETH (WETH) | |
| 0xcb521408…d9e33e | Transfer | 8,839,227 | 34 days agoMon, 13 Jul 2026 17:15:22 UTC | 0x2e97…f48c | IN | 0xfd57…cb17 | 0.000338 WETH | WETH (WETH) | |
| 0x1e9dc9bf…fd9975 | Transfer | 8,839,226 | 34 days agoMon, 13 Jul 2026 17:15:22 UTC | 0x2e97…f48c | IN | 0xfd57…cb17 | 0.000338 WETH | WETH (WETH) | |
| 0x2ddb0b45…4eb934 | Transfer | 8,839,139 | 34 days agoMon, 13 Jul 2026 17:15:13 UTC | 0x2e97…f48c | IN | 0xfd57…cb17 | 0.000388 WETH | WETH (WETH) | |
| 0x140ed361…b31a66 | Transfer | 8,839,031 | 34 days agoMon, 13 Jul 2026 17:15:02 UTC | 0x2e97…f48c | IN | 0xfd57…cb17 | 0.000198 WETH | WETH (WETH) | |
| 0xf51c641d…7e53cd | Transfer | 8,839,029 | 34 days agoMon, 13 Jul 2026 17:15:02 UTC | 0x2e97…f48c | IN | 0xfd57…cb17 | 0.000198 WETH | WETH (WETH) | |
| 0x709b4383…6272e4 | Transfer | 8,839,004 | 34 days agoMon, 13 Jul 2026 17:14:59 UTC | 0x2e97…f48c | IN | 0xfd57…cb17 | 0.000097 WETH | WETH (WETH) | |
| 0x952c7026…e1ea35 | Transfer | 8,838,851 | 34 days agoMon, 13 Jul 2026 17:14:44 UTC | 0x2e97…f48c | IN | 0xfd57…cb17 | 0.000097 WETH | WETH (WETH) | |
| 0xea066b47…f5e53c | Transfer | 8,838,718 | 34 days agoMon, 13 Jul 2026 17:14:30 UTC | 0x2e97…f48c | IN | 0xfd57…cb17 | 0.000099 WETH | WETH (WETH) | |
| 0xffa4e854…cbd890 | Transfer | 8,838,666 | 34 days agoMon, 13 Jul 2026 17:14:25 UTC | 0x2e97…f48c | IN | 0xfd57…cb17 | 0.000099 WETH | WETH (WETH) | |
| 0xbc19454f…242afb | Transfer | 8,838,662 | 34 days agoMon, 13 Jul 2026 17:14:25 UTC | 0x2e97…f48c | IN | 0xfd57…cb17 | 0.00033 WETH | WETH (WETH) | |
| 0x879538ee…aa4177 | Transfer | 8,838,661 | 34 days agoMon, 13 Jul 2026 17:14:25 UTC | 0x2e97…f48c | IN | 0xfd57…cb17 | 0.00033 WETH | WETH (WETH) | |
| 0x0bfe2ee8…a1eeff | Transfer | 8,838,661 | 34 days agoMon, 13 Jul 2026 17:14:25 UTC | 0x2e97…f48c | IN | 0xfd57…cb17 | 0.00033 WETH | WETH (WETH) | |
| 0x93a8ce5b…b8baa8 | Transfer | 8,838,642 | 34 days agoMon, 13 Jul 2026 17:14:23 UTC | 0x2e97…f48c | IN | 0xfd57…cb17 | 0.000270 WETH | WETH (WETH) |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 8,838,642 | 34 days agoMon, 13 Jul 2026 17:14:23 UTC | 0x93a8ce…b8baa8 | CREATE | createAndBuy | 0xe8cc…cb37 | IN | 0xfd57…cb17 | 0 ETH |