// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
interface AggregatorV3Interface {
function decimals() external view returns (uint8);
function latestRoundData()
external
view
returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound);
}
/// @title Meow Sale (ETH)
/// @notice Sells $STORM for ETH at a fixed DOLLAR price of $0.0001, so $1 of ETH
/// always buys exactly 10,000 $STORM regardless of where ETH trades.
/// The ETH/USD conversion comes from a price feed.
///
/// @dev The dollar peg is only as trustworthy as the feed. Every guard in
/// this contract exists because the feed is the single point of
/// failure: staleness checks, absolute price bounds, an optional
/// L2 sequencer-uptime check, and a caller-supplied `minOut`.
contract StormSale is Ownable, ReentrancyGuard {
using SafeERC20 for IERC20;
/* ------------------------------------------------------------------ */
/* IMMUTABLES */
/* ------------------------------------------------------------------ */
IERC20 public immutable rat;
AggregatorV3Interface public immutable ethUsdFeed;
uint256 public immutable feedScale; // 10 ** feed.decimals()
/// How long after `windowEnd` anyone other than the owner may vanish.
uint256 public constant CLOSEOUT_GRACE = 7 days;
/// $STORM per whole US dollar. 10,000 means $0.0001 per token.
/// Adjustable: a launch that misprices itself should be fixable in a
/// transaction, not redeployed.
uint256 public stormsPerUsd = 10_000;
/// Mirrors StormBrokers.summonFee. Only feeds ethForAdoptions(),
/// so a drift here misquotes the helper but cannot mis-sell anything.
uint256 public summonFee = 10_000e18;
/// Ceiling on what this contract will sell. Can be raised as long as the
/// contract actually holds the tokens, and never cut below what is stormsSold.
uint256 public cloudCap;
/// Kill switch. Stops buys without touching the schedule.
bool public skySealed;
address public treasury;
/// Optional: the StormBrokers contract. A configurable slice of sale ETH
/// can be routed here to seed the Clock In pot at launch.
address public stormiesContract;
uint16 public potCutBps; // 0 - 10000
/* ------------------------------------------------------------------ */
/* ORACLE GUARDRAILS */
/* ------------------------------------------------------------------ */
/// This feed is not a standard Chainlink proxy -- it emits no
/// AnswerUpdated and exposes no round history, so its heartbeat cannot be
/// measured from chain data. 1 hour was a guess that would halt the sale,
/// and the deploy script itself, on any slower cadence. 6 hours of drift on
/// a deviation-triggered feed is worth well under a cent per activation,
/// and `setFeedBounds` can tighten this once the real cadence is observed.
uint256 public feedMaxAge = 6 hours;
uint256 public floorEthUsd = 100;
uint256 public ceilEthUsd = 100_000;
AggregatorV3Interface public sequencerFeed;
uint256 public sequencerGracePeriod = 1 hours;
/* ------------------------------------------------------------------ */
/* STATE */
/* ------------------------------------------------------------------ */
uint256 public stormsSold;
uint256 public windowStart;
uint256 public windowEnd;
bool public closedOut;
/// Enough for five activations at the top step of the curve ($3 each) plus
/// headroom, so a buyer who mistimes the price feed by a few percent is
/// never left one token short of an activation. Must stay in step with
/// StormBrokers.clanCap -- a tighter cap here silently blocks the last
/// mint the NFT contract would have allowed.
uint256 public clanCap = 175_000e18;
uint256 public mistFloor = 0.0002 ether; // dust guard, in wei
mapping(address => uint256) public boughtBy;
/* ------------------------------------------------------------------ */
/* EVENTS */
/* ------------------------------------------------------------------ */
event WindowSet(uint256 start, uint256 end);
event Struck(address indexed buyer, uint256 ethPaid, uint256 received, uint256 ethUsd);
event ChangeBack(address indexed buyer, uint256 amount);
event PotFed(address indexed stormiesContract, uint256 amount);
event ClosedOut(uint256 stormsSold, uint256 returnedToTreasury);
event FeedBoundsSet(uint256 maxAge, uint256 minPrice, uint256 maxPrice);
event Tuned(string indexed what, uint256 a, uint256 b);
/* ------------------------------------------------------------------ */
/* CONSTRUCTOR */
/* ------------------------------------------------------------------ */
constructor(address _rat, address _ethUsdFeed, address _treasury, uint256 _cloudCap)
Ownable(msg.sender)
{
require(_rat != address(0) && _ethUsdFeed != address(0), "zero addr");
require(_treasury != address(0), "zero treasury");
require(_cloudCap > 0, "zero cloudCap");
rat = IERC20(_rat);
ethUsdFeed = AggregatorV3Interface(_ethUsdFeed);
feedScale = 10 ** uint256(AggregatorV3Interface(_ethUsdFeed).decimals());
treasury = _treasury;
cloudCap = _cloudCap;
}
/* ------------------------------------------------------------------ */
/* PRICING */
/* ------------------------------------------------------------------ */
/// @notice Current ETH/USD, scaled by the feed's own decimals.
/// @dev Reverts rather than returning a suspect number. A sale that
/// halts is recoverable; a sale that mis-prices is not.
function ethUsd() public view returns (uint256) {
_requireSequencerUp();
(, int256 answer,, uint256 updatedAt,) = ethUsdFeed.latestRoundData();
require(answer > 0, "bad feed answer");
require(updatedAt != 0, "incomplete round");
require(block.timestamp - updatedAt <= feedMaxAge, "stale feed");
uint256 price = uint256(answer);
uint256 whole = price / feedScale;
require(whole >= floorEthUsd && whole <= ceilEthUsd, "price out of band");
return price;
}
function _requireSequencerUp() internal view {
if (address(sequencerFeed) == address(0)) return;
(, int256 up, uint256 startedAt,,) = sequencerFeed.latestRoundData();
require(up == 0, "sequencer down");
// An incomplete round (startedAt == 0) would otherwise make
// `block.timestamp - startedAt` enormous and pass the grace check --
// exactly the broken-feed state this guard exists to stormiech.
require(startedAt != 0, "incomplete sequencer round");
require(block.timestamp - startedAt > sequencerGracePeriod, "sequencer grace");
}
/// @notice How much $STORM a given amount of ETH buys right now.
function stormsFor(uint256 ethIn) public view returns (uint256) {
return (ethIn * ethUsd() * stormsPerUsd) / feedScale;
}
/// @notice How much ETH is needed for `n` activations.
/// @dev Rounds up. Rounding down here can quote an ETH amount that,
/// fed back into `buy()`, yields slightly less $STORM than the
/// activation it was quoted for.
function ethForAdoptions(uint256 n) external view returns (uint256) {
uint256 tokens = n * summonFee;
uint256 denom = ethUsd() * stormsPerUsd;
return (tokens * feedScale + denom - 1) / denom;
}
/* ------------------------------------------------------------------ */
/* SCHEDULING */
/* ------------------------------------------------------------------ */
/// @notice Set or move the sale window. Callable at any time so a launch
/// can be delayed, extended or cut short without a redeploy.
function openSky(uint256 _start, uint256 _end) external onlyOwner {
require(!closedOut, "closedOut");
require(_end > _start, "bad window");
require(rat.balanceOf(address(this)) >= cloudCap, "unfunded");
require(ethUsd() > 0, "feed not live"); // fail here, not on first buyer
windowStart = _start;
windowEnd = _end;
emit WindowSet(_start, _end);
}
function skyOpen() public view returns (bool) {
return windowStart != 0 && block.timestamp >= windowStart && block.timestamp < windowEnd && !closedOut && !skySealed
&& stormsSold < cloudCap;
}
function unsold() public view returns (uint256) {
return cloudCap - stormsSold;
}
/* ------------------------------------------------------------------ */
/* BUYING */
/* ------------------------------------------------------------------ */
/// @notice Buy $STORM with ETH at the live dollar rate.
/// @param minOut revert if the caller would receive less than this.
/// Required, since the ETH price can move between the
/// quote the front end showed and inclusion in a block.
function strike(uint256 minOut) external payable nonReentrant {
require(skyOpen(), "sale not live");
require(msg.value >= mistFloor, "below minimum");
uint256 price = ethUsd();
uint256 out = (msg.value * price * stormsPerUsd) / feedScale;
require(out > 0, "zero out");
uint256 spend = msg.value;
// clamp to unsold cloudCap
uint256 left = cloudCap - stormsSold;
if (out > left) {
spend = (spend * left) / out;
out = left;
}
// clamp to the per-wallet ceiling
uint256 walletLeft = clanCap - boughtBy[msg.sender];
require(walletLeft > 0, "wallet cap reached");
if (out > walletLeft) {
spend = (spend * walletLeft) / out;
out = walletLeft;
}
require(out >= minOut, "below minOut");
require(spend > 0, "zero spend");
// effects
stormsSold += out;
boughtBy[msg.sender] += out;
// interactions
rat.safeTransfer(msg.sender, out);
uint256 toPot;
if (stormiesContract != address(0) && potCutBps > 0) {
toPot = (spend * potCutBps) / 10_000;
if (toPot > 0) {
(bool okPot,) = stormiesContract.call{value: toPot}("");
require(okPot, "pot transfer failed");
emit PotFed(stormiesContract, toPot);
}
}
(bool okT,) = treasury.call{value: spend - toPot}("");
require(okT, "treasury transfer failed");
uint256 refund = msg.value - spend;
if (refund > 0) {
(bool okR,) = msg.sender.call{value: refund}("");
require(okR, "refund failed");
emit ChangeBack(msg.sender, refund);
}
emit Struck(msg.sender, spend, out, price);
}
/* ------------------------------------------------------------------ */
/* FINALIZING */
/* ------------------------------------------------------------------ */
/// @notice Close the sale and return the unsold tokens to the treasury.
/// @dev Owner-first, then permissionless after a grace period. Fully
/// open, this is a griefing lever: finalizing is irreversible
/// (`schedule` and the setters all check `closedOut`), so anyone
/// could front-run an extension or a top-up and take the sale away
/// from the owner for good. Fully closed, an abandoned owner could
/// strand the leftovers -- hence the grace window.
function vanish() external nonReentrant {
require(!closedOut, "already closedOut");
require((windowEnd != 0 && block.timestamp >= windowEnd) || stormsSold == cloudCap, "sale still open");
require(
msg.sender == owner() || (windowEnd != 0 && block.timestamp >= windowEnd + CLOSEOUT_GRACE),
"owner first"
);
closedOut = true;
uint256 leftover = rat.balanceOf(address(this));
if (leftover > 0) rat.safeTransfer(treasury, leftover);
emit ClosedOut(stormsSold, leftover);
}
/* ------------------------------------------------------------------ */
/* ADMIN */
/* ------------------------------------------------------------------ */
/// @notice Per-wallet ceiling in $STORM and the dust guard, live-adjustable.
function setLimits(uint256 _maxPerWallet, uint256 _minPurchase) external onlyOwner {
require(_maxPerWallet > 0, "zero cap");
clanCap = _maxPerWallet;
mistFloor = _minPurchase;
emit Tuned("caps", _maxPerWallet, _minPurchase);
}
/// @notice Reprice the sale. 10,000 = $0.0001 per token; 5,000 = $0.0002.
function setRatsPerUsd(uint256 v) external onlyOwner {
require(v > 0, "zero price");
stormsPerUsd = v;
emit Tuned("stormsPerUsd", v, 0);
}
/// @notice Keep the activation quote in step with StormBrokers.
function setAdoptionQuote(uint256 v) external onlyOwner {
require(v > 0, "zero cost");
summonFee = v;
emit Tuned("summonFee", v, 0);
}
/// @notice Resize the sale. Never below what is already stormsSold, never above
/// what this contract can actually deliver.
function setSaleCap(uint256 v) external onlyOwner {
require(v >= stormsSold, "below stormsSold");
require(v - stormsSold <= rat.balanceOf(address(this)), "unfunded");
cloudCap = v;
emit Tuned("cloudCap", v, 0);
}
function setSeal(bool v) external onlyOwner {
skySealed = v;
emit Tuned("skySealed", v ? 1 : 0, 0);
}
function setTreasury(address t) external onlyOwner {
require(t != address(0), "zero addr");
treasury = t;
}
/// @notice Route a slice of sale ETH into the Clock In pot.
function setPotSplit(address _brokers, uint16 _bps) external onlyOwner {
require(_bps <= 10_000, "bps > 100%");
stormiesContract = _brokers;
potCutBps = _bps;
}
function setSequencerFeed(address feed, uint256 grace) external onlyOwner {
sequencerFeed = AggregatorV3Interface(feed);
sequencerGracePeriod = grace;
}
/// @dev Guardrails stay adjustable during the sale on purpose. If ETH
/// legitimately moves outside the band mid-sale, the alternative is
/// a permanently skySealed sale.
function setFeedBounds(uint256 _maxAge, uint256 _minEthUsd, uint256 _maxEthUsd) external onlyOwner {
require(_maxAge > 0 && _minEthUsd > 0 && _maxEthUsd > _minEthUsd, "bad bounds");
feedMaxAge = _maxAge;
floorEthUsd = _minEthUsd;
ceilEthUsd = _maxEthUsd;
emit FeedBoundsSet(_maxAge, _minEthUsd, _maxEthUsd);
}
function sweep(address token, uint256 amount) external onlyOwner {
require(token != address(rat) || closedOut, "sale not closedOut");
IERC20(token).safeTransfer(treasury, amount);
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "_rat",
"type": "address",
"internalType": "address"
},
{
"name": "_ethUsdFeed",
"type": "address",
"internalType": "address"
},
{
"name": "_treasury",
"type": "address",
"internalType": "address"
},
{
"name": "_cloudCap",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"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": "ChangeBack",
"type": "event",
"inputs": [
{
"name": "buyer",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "ClosedOut",
"type": "event",
"inputs": [
{
"name": "stormsSold",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "returnedToTreasury",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "FeedBoundsSet",
"type": "event",
"inputs": [
{
"name": "maxAge",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "minPrice",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "maxPrice",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"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": "PotFed",
"type": "event",
"inputs": [
{
"name": "stormiesContract",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "Struck",
"type": "event",
"inputs": [
{
"name": "buyer",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "ethPaid",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "received",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "ethUsd",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "Tuned",
"type": "event",
"inputs": [
{
"name": "what",
"type": "string",
"indexed": true,
"internalType": "string"
},
{
"name": "a",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "b",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "WindowSet",
"type": "event",
"inputs": [
{
"name": "start",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "end",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "CLOSEOUT_GRACE",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "boughtBy",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "ceilEthUsd",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "clanCap",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "closedOut",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "cloudCap",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "ethForAdoptions",
"type": "function",
"inputs": [
{
"name": "n",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "ethUsd",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "ethUsdFeed",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract AggregatorV3Interface"
}
],
"stateMutability": "view"
},
{
"name": "feedMaxAge",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "feedScale",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "floorEthUsd",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "mistFloor",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "openSky",
"type": "function",
"inputs": [
{
"name": "_start",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_end",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "potCutBps",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"name": "rat",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IERC20"
}
],
"stateMutability": "view"
},
{
"name": "renounceOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "sequencerFeed",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract AggregatorV3Interface"
}
],
"stateMutability": "view"
},
{
"name": "sequencerGracePeriod",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "setAdoptionQuote",
"type": "function",
"inputs": [
{
"name": "v",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setFeedBounds",
"type": "function",
"inputs": [
{
"name": "_maxAge",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_minEthUsd",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_maxEthUsd",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setLimits",
"type": "function",
"inputs": [
{
"name": "_maxPerWallet",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_minPurchase",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setPotSplit",
"type": "function",
"inputs": [
{
"name": "_brokers",
"type": "address",
"internalType": "address"
},
{
"name": "_bps",
"type": "uint16",
"internalType": "uint16"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setRatsPerUsd",
"type": "function",
"inputs": [
{
"name": "v",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setSaleCap",
"type": "function",
"inputs": [
{
"name": "v",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setSeal",
"type": "function",
"inputs": [
{
"name": "v",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setSequencerFeed",
"type": "function",
"inputs": [
{
"name": "feed",
"type": "address",
"internalType": "address"
},
{
"name": "grace",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setTreasury",
"type": "function",
"inputs": [
{
"name": "t",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "skyOpen",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "skySealed",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "stormiesContract",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "stormsFor",
"type": "function",
"inputs": [
{
"name": "ethIn",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "stormsPerUsd",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "stormsSold",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "strike",
"type": "function",
"inputs": [
{
"name": "minOut",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"name": "summonFee",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "sweep",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "transferOwnership",
"type": "function",
"inputs": [
{
"name": "newOwner",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "treasury",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "unsold",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "vanish",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "windowEnd",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "windowStart",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}
]0x60e0604090808252346200024057608081620020aa80380380916200002582856200030f565b83398101031262000240576200003b8162000347565b9060206200004b81830162000347565b9260606200005b86850162000347565b930151933315620002f8575f8054336001600160a01b031982168117835588516001600160a01b0395909386939192918416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36001805561271060025569021e19e0c9bab24000006003556154606007556064600855620186a0600955610e10600b5569250ec4ddca432f60000060105565b5e620f48000601155169081151580620002ec575b15620002be5750828516156200028a57851562000256576080521660a0819052845163313ce56760e01b815291908190839060049082905afa9081156200024c575f9162000208575b5060ff915016604d8111620001f457600a0a60c05260058054610100600160a81b03191660089290921b610100600160a81b031691909117905560045551611d4d90816200035d823960805181818161021401528181610440015281816109db01528181610cc5015281816110d6015261132b015260a0518181816108af01526118b5015260c05181818161098701528181610c20015281816116bd01526119140152f35b634e487b7160e01b5f52601160045260245ffd5b905081813d831162000244575b6200022181836200030f565b8101031262000240575160ff81168103620002405760ff905f6200014f565b5f80fd5b503d62000215565b85513d5f823e3d90fd5b865162461bcd60e51b815260048101859052600d60248201526c07a65726f20636c6f756443617609c1b6044820152606490fd5b865162461bcd60e51b815260048101859052600d60248201526c7a65726f20747265617375727960981b6044820152606490fd5b62461bcd60e51b81526004810185905260096024820152683d32b9379030b2323960b91b6044820152606490fd5b50838316151562000106565b8551631e4fbdf760e01b81525f6004820152602490fd5b601f909101601f19168101906001600160401b038211908210176200033357604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b0382168203620002405756fe604060808152600480361015610013575f80fd5b5f3560e01c9081630de705691461168757816315b09ccf1461166957816318a06e6a1461164b5781631951c4191461157d5781631b8f7d16146115555781631dabe8301461150d578163261af99c146112ae57816326a97b9414611290578163373f990c146112635781633b521cb61461123b57816343fc05491461121d57816345fc25b6146110925781634674dce314610bcf57816351aa865f14610bb357816354eeffa114610b905781635a96021614610b745781635e3ffee614610b3d57816361d027b314610b1157816369e5627614610a675781636ea056a9146109aa5781636f6f6da314610970578163715018a6146109195781637db1f101146108fb5781637ff2dda0146108de5781638009b7bd1461089b57816382e316b2146108765781638da5cb5b1461084f5781638ede726e146107b85781639fff2ec214610795578163a079227114610777578163b0c2783a14610759578163b31ff80d1461073b578163b71823a21461071d578163bcf658af146106ff578163c1da3b6d146106da578163c2089ae6146106bc578163c4590d3f1461061c578163c4dcbad814610576578163c9cb72041461054e578163d3d37a31146103f5578163e9d98a8514610359578163f0f44260146102d4578163f2fde38b14610247575063f5a7ab6e14610201575f80fd5b34610243575f36600319011261024357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5f80fd5b90503461024357602036600319011261024357610262611713565b9061026b611ad6565b6001600160a01b039182169283156102be5750505f54826bffffffffffffffffffffffff60a01b8216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b905f6024925191631e4fbdf760e01b8352820152fd5b905034610243576020366003190112610243576102ef611713565b916102f8611ad6565b6001600160a01b0383161561032a5760058054610100600160a81b031916600885901b610100600160a81b0316179055005b906020606492519162461bcd60e51b835282015260096024820152683d32b9379030b2323960b91b6044820152fd5b8234610243578060031936011261024357610372611713565b916024359161ffff8316808403610243576127109061038f611ad6565b116103c5575050600680546001600160b01b0319166001600160a01b039093169290921760a09190911b61ffff60a01b16179055005b906020606492519162461bcd60e51b8352820152600a602482015269627073203e203130302560b01b6044820152fd5b82346102435760208060031936011261024357823592610413611ad6565b600c54808510610519576104279085611773565b83516370a0823160e01b815230838201529083826024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa91821561050f575f926104d4575b7f5fe76d5188523c5882c7f6a7631c58f082488a5277ced10389e821145fe7a4a05f80516020611cf883398151915287895f89828a6104b98b8b11156117d4565b55670636c6f75644361760c41b8451528351928352820152a2005b9150949193928082813d8311610508575b6104ef818361179e565b8101031261024357905191949293909290919085610478565b503d6104e5565b85513d5f823e3d90fd5b50915162461bcd60e51b815291820152601060248201526f18995b1bddc81cdd1bdc9b5cd4dbdb1960821b6044820152606490fd5b8234610243575f3660031901126102435761056f60209254600c5490611773565b9051908152f35b90503461024357602036600319011261024357803590610594611ad6565b81156105ed577f316d804c985cb28b38d8c7d06b9fefe7e587001d72c532900d0d2bc48f7cbedf5f80516020611cf88339815191528484806003556873756d6d6f6e46656560b81b82515281519081525f6020820152a2005b606490602084519162461bcd60e51b835282015260096024820152681e995c9bc818dbdcdd60ba1b6044820152fd5b9050346102435761062c36611729565b9091610636611ad6565b821561068e577fed50cfd309742b232758f6fd020ab8fe6f527ff8e28e77b90916195cf48db7535f80516020611cf88339815191528585858160105580601155636361707360e01b83515282519182526020820152a2005b606490602085519162461bcd60e51b8352820152600860248201526707a65726f206361760c41b6044820152fd5b8234610243575f366003190112610243576020906009549051908152f35b8234610243575f3660031901126102435760209061ffff60065460a01c169051908152f35b8234610243575f366003190112610243576020906002549051908152f35b8234610243575f366003190112610243576020906008549051908152f35b8234610243575f366003190112610243576020906010549051908152f35b8234610243575f36600319011261024357602090600d549051908152f35b8234610243575f36600319011261024357602090600c549051908152f35b8234610243575f3660031901126102435760209060ff600f541690519015158152f35b90503461024357602036600319011261024357359081151590818303610243577fb2fae9dba0ca25a7e2f166695c5a80c6be22a4cb6c587b12ab8c729012391f2a925f80516020611cf883398151915292610811611ad6565b60ff8019600554169116176005555f146108495760015b681cdade54d9585b195960ba1b82515260ff8251911681525f6020820152a2005b5f610828565b8234610243575f366003190112610243575f5490516001600160a01b039091168152602090f35b8234610243575f36600319011261024357602090610892611a73565b90519015158152f35b8234610243575f36600319011261024357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b8234610243575f366003190112610243576020905162093a808152f35b8234610243575f36600319011261024357602090600e549051908152f35b34610243575f36600319011261024357610931611ad6565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b8234610243575f36600319011261024357602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b9050346102435781600319360112610243576109c4611713565b906109cd611ad6565b6001600160a01b03918216907f000000000000000000000000000000000000000000000000000000000000000083168214801590610a5b575b15610a2357610a2183836024359160055460081c1690611b24565b005b606490602085519162461bcd60e51b835282015260126024820152711cd85b19481b9bdd0818db1bdcd95913dd5d60721b6044820152fd5b5060ff600f5416610a06565b90503461024357602036600319011261024357803590610a85611ad6565b8115610ae1577ff868d700ee5221add606427a8f9c9c51076c0b4bc570f4abbce768cbaa36379c5f80516020611cf88339815191528484806002556b1cdd1bdc9b5cd4195c955cd960a21b82515281519081525f6020820152a2005b606490602084519162461bcd60e51b8352820152600a6024820152697a65726f20707269636560b01b6044820152fd5b8234610243575f36600319011261024357600554905160089190911c6001600160a01b03168152602090f35b8234610243576020366003190112610243576020906001600160a01b03610b62611713565b165f5260128252805f20549051908152f35b8234610243575f3660031901126102435760209061056f611896565b8234610243575f3660031901126102435760209060ff6005541690519015158152f35b8234610243575f36600319011261024357602091549051908152f35b602091503660031901821361024357610be6611b01565b610bee611a73565b1561106157601154341061103057610c04611896565b90610c45610c1e610c15843461173f565b6002549061173f565b7f000000000000000000000000000000000000000000000000000000000000000090611780565b9081156110025734938154610c5d600c548092611773565b808511610fe9575b50610c7d601054335f5260128452885f205490611773565b8015610fb157808511610f94575b5082358410610f62578515610f325783610ca491611766565b600c55335f5260128152855f20610cbc848254611766565b9055610ce983337f0000000000000000000000000000000000000000000000000000000000000000611b24565b6006545f906001600160a01b03908181169081151580610f22575b610e6c575b50505f808093610d22829460055460081c16918b611773565b905af1610d2d61180b565b5015610e2a57610d3d8534611773565b9182610d89575b50509351928352602083015260408201523391507f7366bfd0825dcaff4716f330eac9d33a889ea47ab928c516deaa343795f1b3cf9080606081015b0390a260018055005b5f80808086335af1610d9961180b565b5015610df9575094610d80917ffa61bead67e1a7d1e7e745c3dbfb580e5a4fe187cca874813d8f6d2e132666977f7366bfd0825dcaff4716f330eac9d33a889ea47ab928c516deaa343795f1b3cf969783519283523392a294935f610d44565b60649187519162461bcd60e51b8352820152600d60248201526c1c99599d5b990819985a5b1959609a1b6044820152fd5b855162461bcd60e51b815291820152601860248201527f7472656173757279207472616e73666572206661696c65640000000000000000604482015260649150fd5b61271091935061ffff610e839160a01c168961173f565b049182610e91575b80610d09565b5f80808581945af1610ea161180b565b5015610ee9575f808093610d22848c7f829d0b0a5f98f55e124d9e262c8f8094d29b219ec33be9c6743aa5de1616ffa9898698600654169251868152a2945050935050610e8b565b875162461bcd60e51b815280850184905260136024820152721c1bdd081d1c985b9cd9995c8819985a5b1959606a1b6044820152606490fd5b5061ffff8160a01c161515610d04565b865162461bcd60e51b8152808401839052600a6024820152691e995c9bc81cdc195b9960b21b6044820152606490fd5b865162461bcd60e51b8152808401839052600c60248201526b18995b1bddc81b5a5b93dd5d60a21b6044820152606490fd5b9593610fa487610fa9939661173f565b611780565b94925f610c8b565b875162461bcd60e51b815280850184905260126024820152711dd85b1b195d0818d85c081c995858da195960721b6044820152606490fd5b955092610ffa90610fa4873461173f565b94925f610c65565b845162461bcd60e51b815290810184905260086024820152671e995c9bc81bdd5d60c21b6044820152606490fd5b915162461bcd60e51b815291820152600d60248201526c62656c6f77206d696e696d756d60981b6044820152606490fd5b915162461bcd60e51b815291820152600d60248201526c73616c65206e6f74206c69766560981b6044820152606490fd5b8234610243576110a136611729565b6110a9611ad6565b60ff600f54166111ee57818111156111be5782516370a0823160e01b8152308582015260209081816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561050f575f9061118f575b61111b9150865411156117d4565b611123611896565b1561115d577e8411e85f1f7d90f78af04060d66a2ea46bd90390b16497bf0ff2d4b7708b66945082600d5581600e558351928352820152a1005b8460649185519162461bcd60e51b8352820152600d60248201526c66656564206e6f74206c69766560981b6044820152fd5b508181813d83116111b7575b6111a5818361179e565b810103126102435761111b905161110d565b503d61119b565b825162461bcd60e51b8152602081860152600a6024820152696261642077696e646f7760b01b6044820152606490fd5b825162461bcd60e51b8152602081860152600960248201526818db1bdcd95913dd5d60ba1b6044820152606490fd5b8234610243575f366003190112610243576020906011549051908152f35b8234610243575f36600319011261024357600a5490516001600160a01b039091168152602090f35b82346102435760203660031901126102435761056f610c1e610c15602094611289611896565b903561173f565b8234610243575f36600319011261024357602090600b549051908152f35b8234610243575f366003190112610243576112c7611b01565b600f549160ff83166114d757600e54801515939084806114cd575b80156114c1575b1561148c5760018060a01b0394855f54163314918215611450575b50501561141f5760ff1916600117600f5581516370a0823160e01b815230918101919091527f0000000000000000000000000000000000000000000000000000000000000000926020826024818488165afa918215611415575f926113bf575b50817fc70f938bda0d5b80c03e9f8e5e75e5cc471641f5d1bb235e85c9c21894ccec4e94816113a6575b505050600c549082519182526020820152a160018055005b6113b79260055460081c1690611b24565b83818161138e565b9391506020843d60201161140d575b816113db6020938361179e565b81010312610243577fc70f938bda0d5b80c03e9f8e5e75e5cc471641f5d1bb235e85c9c21894ccec4e93519193611364565b3d91506113ce565b83513d5f823e3d90fd5b506020606492519162461bcd60e51b8352820152600b60248201526a1bdddb995c88199a5c9cdd60aa1b6044820152fd5b90915081611461575b508580611304565b905062093a8081018091116114795742101585611459565b601183634e487b7160e01b5f525260245ffd5b835162461bcd60e51b8152602081850152600f60248201526e39b0b6329039ba34b6361037b832b760891b6044820152606490fd5b50600c548354146112e9565b50804210156112e2565b6020606492519162461bcd60e51b83528201526011602482015270185b1c9958591e4818db1bdcd95913dd5d607a1b6044820152fd5b82346102435736600319011261024357611525611713565b61152d611ad6565b600a80546001600160a01b0319166001600160a01b0392909216919091179055602435600b55005b8234610243575f3660031901126102435760065490516001600160a01b039091168152602090f35b90503461024357606036600319011261024357803560243591604435906115a2611ad6565b82151580611642575b80611639575b156116095750611604907f52925685a02727e941bc4c4a0c2d0343535463b2f0017ab1c2a5911b681f52809483600755846008558160095551938493846040919493926060820195825260208201520152565b0390a1005b606490602086519162461bcd60e51b8352820152600a60248201526962616420626f756e647360b01b6044820152fd5b508382116115b1565b508315156115ab565b8234610243575f366003190112610243576020906007549051908152f35b8234610243575f366003190112610243576020906003549051908152f35b8234610243576020366003190112610243576116e2916116e76116ad600354833561173f565b6116b8610c15611896565b9485917f00000000000000000000000000000000000000000000000000000000000000009061173f565b611766565b5f19810191908211611700575060209261056f91611780565b601190634e487b7160e01b5f525260245ffd5b600435906001600160a01b038216820361024357565b6040906003190112610243576004359060243590565b8181029291811591840414171561175257565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161175257565b9190820391821161175257565b811561178a570490565b634e487b7160e01b5f52601260045260245ffd5b90601f8019910116810190811067ffffffffffffffff8211176117c057604052565b634e487b7160e01b5f52604160045260245ffd5b156117db57565b60405162461bcd60e51b81526020600482015260086024820152671d5b999d5b99195960c21b6044820152606490fd5b3d15611845573d9067ffffffffffffffff82116117c0576040519161183a601f8201601f19166020018461179e565b82523d5f602084013e565b606090565b519069ffffffffffffffffffff8216820361024357565b908160a0910312610243576118758161184a565b9160208201519160408101519161189360806060840151930161184a565b90565b61189e611bc3565b60408051633fabe5a360e21b81529060a0826004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611a69575f925f91611a31575b505f8313156119fb5780156119c4576119079042611773565b60075410611994576119397f000000000000000000000000000000000000000000000000000000000000000083611780565b6008548110159081611987575b5015611950575090565b5162461bcd60e51b81526020600482015260116024820152701c1c9a58d9481bdd5d081bd98818985b99607a1b6044820152606490fd5b905060095410155f611946565b5162461bcd60e51b815260206004820152600a6024820152691cdd185b19481999595960b21b6044820152606490fd5b815162461bcd60e51b815260206004820152601060248201526f1a5b98dbdb5c1b195d19481c9bdd5b9960821b6044820152606490fd5b815162461bcd60e51b815260206004820152600f60248201526e3130b2103332b2b21030b739bbb2b960891b6044820152606490fd5b9050611a5691925060a03d60a011611a62575b611a4e818361179e565b810190611861565b5093925050915f6118ee565b503d611a44565b50513d5f823e3d90fd5b600d548015159081611acb575b5080611ac0575b80611ab3575b80611aa6575b80611a9b5790565b50600c546004541190565b5060ff6005541615611a93565b5060ff600f541615611a8d565b50600e544210611a87565b90504210155f611a80565b5f546001600160a01b03163303611ae957565b60405163118cdaa760e01b8152336004820152602490fd5b600260015414611b12576002600155565b604051633ee5aeb560e01b8152600490fd5b60405163a9059cbb60e01b602082019081526001600160a01b0393841660248301526044808301959095529381529092608082019067ffffffffffffffff8211838310176117c0576020925f92604052519082865af115611bb8575f513d611baf57508082163b155b611b95575050565b604051635274afe760e01b81529116600482015260249150fd5b60011415611b8d565b6040513d5f823e3d90fd5b600a546001600160a01b03168015611cf45760a060049160405192838092633fabe5a360e21b82525afa908115611bb8575f905f92611ccf575b50611c99578015611c5457611c129042611773565b600b541015611c1d57565b60405162461bcd60e51b815260206004820152600f60248201526e73657175656e63657220677261636560881b6044820152606490fd5b60405162461bcd60e51b815260206004820152601a60248201527f696e636f6d706c6574652073657175656e63657220726f756e640000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d39b2b8bab2b731b2b9103237bbb760911b6044820152606490fd5b9050611cea915060a03d60a011611a6257611a4e818361179e565b505091505f611bfd565b5056fe917cde016faf66ec151b862b692d4ba9c309d4b271b56df4ee1fd3dfbed2468fa26469706673582212202d8e6243ac044ad5a5c2fde79f2387b9bf1d90803a6d1e3a32dda3fa00b8478e64736f6c63430008180033000000000000000000000000120f9993e834cce290504c5fe4c5014785833a9700000000000000000000000078f3556b67e17df817d51ef5a990cdaf09e8d3a90000000000000000000000007d65c5c0555f50038e70fad06796d3d24eaeb88000000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
0x604060808152600480361015610013575f80fd5b5f3560e01c9081630de705691461168757816315b09ccf1461166957816318a06e6a1461164b5781631951c4191461157d5781631b8f7d16146115555781631dabe8301461150d578163261af99c146112ae57816326a97b9414611290578163373f990c146112635781633b521cb61461123b57816343fc05491461121d57816345fc25b6146110925781634674dce314610bcf57816351aa865f14610bb357816354eeffa114610b905781635a96021614610b745781635e3ffee614610b3d57816361d027b314610b1157816369e5627614610a675781636ea056a9146109aa5781636f6f6da314610970578163715018a6146109195781637db1f101146108fb5781637ff2dda0146108de5781638009b7bd1461089b57816382e316b2146108765781638da5cb5b1461084f5781638ede726e146107b85781639fff2ec214610795578163a079227114610777578163b0c2783a14610759578163b31ff80d1461073b578163b71823a21461071d578163bcf658af146106ff578163c1da3b6d146106da578163c2089ae6146106bc578163c4590d3f1461061c578163c4dcbad814610576578163c9cb72041461054e578163d3d37a31146103f5578163e9d98a8514610359578163f0f44260146102d4578163f2fde38b14610247575063f5a7ab6e14610201575f80fd5b34610243575f36600319011261024357517f000000000000000000000000120f9993e834cce290504c5fe4c5014785833a976001600160a01b03168152602090f35b5f80fd5b90503461024357602036600319011261024357610262611713565b9061026b611ad6565b6001600160a01b039182169283156102be5750505f54826bffffffffffffffffffffffff60a01b8216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b905f6024925191631e4fbdf760e01b8352820152fd5b905034610243576020366003190112610243576102ef611713565b916102f8611ad6565b6001600160a01b0383161561032a5760058054610100600160a81b031916600885901b610100600160a81b0316179055005b906020606492519162461bcd60e51b835282015260096024820152683d32b9379030b2323960b91b6044820152fd5b8234610243578060031936011261024357610372611713565b916024359161ffff8316808403610243576127109061038f611ad6565b116103c5575050600680546001600160b01b0319166001600160a01b039093169290921760a09190911b61ffff60a01b16179055005b906020606492519162461bcd60e51b8352820152600a602482015269627073203e203130302560b01b6044820152fd5b82346102435760208060031936011261024357823592610413611ad6565b600c54808510610519576104279085611773565b83516370a0823160e01b815230838201529083826024817f000000000000000000000000120f9993e834cce290504c5fe4c5014785833a976001600160a01b03165afa91821561050f575f926104d4575b7f5fe76d5188523c5882c7f6a7631c58f082488a5277ced10389e821145fe7a4a05f80516020611cf883398151915287895f89828a6104b98b8b11156117d4565b55670636c6f75644361760c41b8451528351928352820152a2005b9150949193928082813d8311610508575b6104ef818361179e565b8101031261024357905191949293909290919085610478565b503d6104e5565b85513d5f823e3d90fd5b50915162461bcd60e51b815291820152601060248201526f18995b1bddc81cdd1bdc9b5cd4dbdb1960821b6044820152606490fd5b8234610243575f3660031901126102435761056f60209254600c5490611773565b9051908152f35b90503461024357602036600319011261024357803590610594611ad6565b81156105ed577f316d804c985cb28b38d8c7d06b9fefe7e587001d72c532900d0d2bc48f7cbedf5f80516020611cf88339815191528484806003556873756d6d6f6e46656560b81b82515281519081525f6020820152a2005b606490602084519162461bcd60e51b835282015260096024820152681e995c9bc818dbdcdd60ba1b6044820152fd5b9050346102435761062c36611729565b9091610636611ad6565b821561068e577fed50cfd309742b232758f6fd020ab8fe6f527ff8e28e77b90916195cf48db7535f80516020611cf88339815191528585858160105580601155636361707360e01b83515282519182526020820152a2005b606490602085519162461bcd60e51b8352820152600860248201526707a65726f206361760c41b6044820152fd5b8234610243575f366003190112610243576020906009549051908152f35b8234610243575f3660031901126102435760209061ffff60065460a01c169051908152f35b8234610243575f366003190112610243576020906002549051908152f35b8234610243575f366003190112610243576020906008549051908152f35b8234610243575f366003190112610243576020906010549051908152f35b8234610243575f36600319011261024357602090600d549051908152f35b8234610243575f36600319011261024357602090600c549051908152f35b8234610243575f3660031901126102435760209060ff600f541690519015158152f35b90503461024357602036600319011261024357359081151590818303610243577fb2fae9dba0ca25a7e2f166695c5a80c6be22a4cb6c587b12ab8c729012391f2a925f80516020611cf883398151915292610811611ad6565b60ff8019600554169116176005555f146108495760015b681cdade54d9585b195960ba1b82515260ff8251911681525f6020820152a2005b5f610828565b8234610243575f366003190112610243575f5490516001600160a01b039091168152602090f35b8234610243575f36600319011261024357602090610892611a73565b90519015158152f35b8234610243575f36600319011261024357517f00000000000000000000000078f3556b67e17df817d51ef5a990cdaf09e8d3a96001600160a01b03168152602090f35b8234610243575f366003190112610243576020905162093a808152f35b8234610243575f36600319011261024357602090600e549051908152f35b34610243575f36600319011261024357610931611ad6565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b8234610243575f36600319011261024357602090517f0000000000000000000000000000000000000000000000000000000005f5e1008152f35b9050346102435781600319360112610243576109c4611713565b906109cd611ad6565b6001600160a01b03918216907f000000000000000000000000120f9993e834cce290504c5fe4c5014785833a9783168214801590610a5b575b15610a2357610a2183836024359160055460081c1690611b24565b005b606490602085519162461bcd60e51b835282015260126024820152711cd85b19481b9bdd0818db1bdcd95913dd5d60721b6044820152fd5b5060ff600f5416610a06565b90503461024357602036600319011261024357803590610a85611ad6565b8115610ae1577ff868d700ee5221add606427a8f9c9c51076c0b4bc570f4abbce768cbaa36379c5f80516020611cf88339815191528484806002556b1cdd1bdc9b5cd4195c955cd960a21b82515281519081525f6020820152a2005b606490602084519162461bcd60e51b8352820152600a6024820152697a65726f20707269636560b01b6044820152fd5b8234610243575f36600319011261024357600554905160089190911c6001600160a01b03168152602090f35b8234610243576020366003190112610243576020906001600160a01b03610b62611713565b165f5260128252805f20549051908152f35b8234610243575f3660031901126102435760209061056f611896565b8234610243575f3660031901126102435760209060ff6005541690519015158152f35b8234610243575f36600319011261024357602091549051908152f35b602091503660031901821361024357610be6611b01565b610bee611a73565b1561106157601154341061103057610c04611896565b90610c45610c1e610c15843461173f565b6002549061173f565b7f0000000000000000000000000000000000000000000000000000000005f5e10090611780565b9081156110025734938154610c5d600c548092611773565b808511610fe9575b50610c7d601054335f5260128452885f205490611773565b8015610fb157808511610f94575b5082358410610f62578515610f325783610ca491611766565b600c55335f5260128152855f20610cbc848254611766565b9055610ce983337f000000000000000000000000120f9993e834cce290504c5fe4c5014785833a97611b24565b6006545f906001600160a01b03908181169081151580610f22575b610e6c575b50505f808093610d22829460055460081c16918b611773565b905af1610d2d61180b565b5015610e2a57610d3d8534611773565b9182610d89575b50509351928352602083015260408201523391507f7366bfd0825dcaff4716f330eac9d33a889ea47ab928c516deaa343795f1b3cf9080606081015b0390a260018055005b5f80808086335af1610d9961180b565b5015610df9575094610d80917ffa61bead67e1a7d1e7e745c3dbfb580e5a4fe187cca874813d8f6d2e132666977f7366bfd0825dcaff4716f330eac9d33a889ea47ab928c516deaa343795f1b3cf969783519283523392a294935f610d44565b60649187519162461bcd60e51b8352820152600d60248201526c1c99599d5b990819985a5b1959609a1b6044820152fd5b855162461bcd60e51b815291820152601860248201527f7472656173757279207472616e73666572206661696c65640000000000000000604482015260649150fd5b61271091935061ffff610e839160a01c168961173f565b049182610e91575b80610d09565b5f80808581945af1610ea161180b565b5015610ee9575f808093610d22848c7f829d0b0a5f98f55e124d9e262c8f8094d29b219ec33be9c6743aa5de1616ffa9898698600654169251868152a2945050935050610e8b565b875162461bcd60e51b815280850184905260136024820152721c1bdd081d1c985b9cd9995c8819985a5b1959606a1b6044820152606490fd5b5061ffff8160a01c161515610d04565b865162461bcd60e51b8152808401839052600a6024820152691e995c9bc81cdc195b9960b21b6044820152606490fd5b865162461bcd60e51b8152808401839052600c60248201526b18995b1bddc81b5a5b93dd5d60a21b6044820152606490fd5b9593610fa487610fa9939661173f565b611780565b94925f610c8b565b875162461bcd60e51b815280850184905260126024820152711dd85b1b195d0818d85c081c995858da195960721b6044820152606490fd5b955092610ffa90610fa4873461173f565b94925f610c65565b845162461bcd60e51b815290810184905260086024820152671e995c9bc81bdd5d60c21b6044820152606490fd5b915162461bcd60e51b815291820152600d60248201526c62656c6f77206d696e696d756d60981b6044820152606490fd5b915162461bcd60e51b815291820152600d60248201526c73616c65206e6f74206c69766560981b6044820152606490fd5b8234610243576110a136611729565b6110a9611ad6565b60ff600f54166111ee57818111156111be5782516370a0823160e01b8152308582015260209081816024817f000000000000000000000000120f9993e834cce290504c5fe4c5014785833a976001600160a01b03165afa801561050f575f9061118f575b61111b9150865411156117d4565b611123611896565b1561115d577e8411e85f1f7d90f78af04060d66a2ea46bd90390b16497bf0ff2d4b7708b66945082600d5581600e558351928352820152a1005b8460649185519162461bcd60e51b8352820152600d60248201526c66656564206e6f74206c69766560981b6044820152fd5b508181813d83116111b7575b6111a5818361179e565b810103126102435761111b905161110d565b503d61119b565b825162461bcd60e51b8152602081860152600a6024820152696261642077696e646f7760b01b6044820152606490fd5b825162461bcd60e51b8152602081860152600960248201526818db1bdcd95913dd5d60ba1b6044820152606490fd5b8234610243575f366003190112610243576020906011549051908152f35b8234610243575f36600319011261024357600a5490516001600160a01b039091168152602090f35b82346102435760203660031901126102435761056f610c1e610c15602094611289611896565b903561173f565b8234610243575f36600319011261024357602090600b549051908152f35b8234610243575f366003190112610243576112c7611b01565b600f549160ff83166114d757600e54801515939084806114cd575b80156114c1575b1561148c5760018060a01b0394855f54163314918215611450575b50501561141f5760ff1916600117600f5581516370a0823160e01b815230918101919091527f000000000000000000000000120f9993e834cce290504c5fe4c5014785833a97926020826024818488165afa918215611415575f926113bf575b50817fc70f938bda0d5b80c03e9f8e5e75e5cc471641f5d1bb235e85c9c21894ccec4e94816113a6575b505050600c549082519182526020820152a160018055005b6113b79260055460081c1690611b24565b83818161138e565b9391506020843d60201161140d575b816113db6020938361179e565b81010312610243577fc70f938bda0d5b80c03e9f8e5e75e5cc471641f5d1bb235e85c9c21894ccec4e93519193611364565b3d91506113ce565b83513d5f823e3d90fd5b506020606492519162461bcd60e51b8352820152600b60248201526a1bdddb995c88199a5c9cdd60aa1b6044820152fd5b90915081611461575b508580611304565b905062093a8081018091116114795742101585611459565b601183634e487b7160e01b5f525260245ffd5b835162461bcd60e51b8152602081850152600f60248201526e39b0b6329039ba34b6361037b832b760891b6044820152606490fd5b50600c548354146112e9565b50804210156112e2565b6020606492519162461bcd60e51b83528201526011602482015270185b1c9958591e4818db1bdcd95913dd5d607a1b6044820152fd5b82346102435736600319011261024357611525611713565b61152d611ad6565b600a80546001600160a01b0319166001600160a01b0392909216919091179055602435600b55005b8234610243575f3660031901126102435760065490516001600160a01b039091168152602090f35b90503461024357606036600319011261024357803560243591604435906115a2611ad6565b82151580611642575b80611639575b156116095750611604907f52925685a02727e941bc4c4a0c2d0343535463b2f0017ab1c2a5911b681f52809483600755846008558160095551938493846040919493926060820195825260208201520152565b0390a1005b606490602086519162461bcd60e51b8352820152600a60248201526962616420626f756e647360b01b6044820152fd5b508382116115b1565b508315156115ab565b8234610243575f366003190112610243576020906007549051908152f35b8234610243575f366003190112610243576020906003549051908152f35b8234610243576020366003190112610243576116e2916116e76116ad600354833561173f565b6116b8610c15611896565b9485917f0000000000000000000000000000000000000000000000000000000005f5e1009061173f565b611766565b5f19810191908211611700575060209261056f91611780565b601190634e487b7160e01b5f525260245ffd5b600435906001600160a01b038216820361024357565b6040906003190112610243576004359060243590565b8181029291811591840414171561175257565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161175257565b9190820391821161175257565b811561178a570490565b634e487b7160e01b5f52601260045260245ffd5b90601f8019910116810190811067ffffffffffffffff8211176117c057604052565b634e487b7160e01b5f52604160045260245ffd5b156117db57565b60405162461bcd60e51b81526020600482015260086024820152671d5b999d5b99195960c21b6044820152606490fd5b3d15611845573d9067ffffffffffffffff82116117c0576040519161183a601f8201601f19166020018461179e565b82523d5f602084013e565b606090565b519069ffffffffffffffffffff8216820361024357565b908160a0910312610243576118758161184a565b9160208201519160408101519161189360806060840151930161184a565b90565b61189e611bc3565b60408051633fabe5a360e21b81529060a0826004817f00000000000000000000000078f3556b67e17df817d51ef5a990cdaf09e8d3a96001600160a01b03165afa8015611a69575f925f91611a31575b505f8313156119fb5780156119c4576119079042611773565b60075410611994576119397f0000000000000000000000000000000000000000000000000000000005f5e10083611780565b6008548110159081611987575b5015611950575090565b5162461bcd60e51b81526020600482015260116024820152701c1c9a58d9481bdd5d081bd98818985b99607a1b6044820152606490fd5b905060095410155f611946565b5162461bcd60e51b815260206004820152600a6024820152691cdd185b19481999595960b21b6044820152606490fd5b815162461bcd60e51b815260206004820152601060248201526f1a5b98dbdb5c1b195d19481c9bdd5b9960821b6044820152606490fd5b815162461bcd60e51b815260206004820152600f60248201526e3130b2103332b2b21030b739bbb2b960891b6044820152606490fd5b9050611a5691925060a03d60a011611a62575b611a4e818361179e565b810190611861565b5093925050915f6118ee565b503d611a44565b50513d5f823e3d90fd5b600d548015159081611acb575b5080611ac0575b80611ab3575b80611aa6575b80611a9b5790565b50600c546004541190565b5060ff6005541615611a93565b5060ff600f541615611a8d565b50600e544210611a87565b90504210155f611a80565b5f546001600160a01b03163303611ae957565b60405163118cdaa760e01b8152336004820152602490fd5b600260015414611b12576002600155565b604051633ee5aeb560e01b8152600490fd5b60405163a9059cbb60e01b602082019081526001600160a01b0393841660248301526044808301959095529381529092608082019067ffffffffffffffff8211838310176117c0576020925f92604052519082865af115611bb8575f513d611baf57508082163b155b611b95575050565b604051635274afe760e01b81529116600482015260249150fd5b60011415611b8d565b6040513d5f823e3d90fd5b600a546001600160a01b03168015611cf45760a060049160405192838092633fabe5a360e21b82525afa908115611bb8575f905f92611ccf575b50611c99578015611c5457611c129042611773565b600b541015611c1d57565b60405162461bcd60e51b815260206004820152600f60248201526e73657175656e63657220677261636560881b6044820152606490fd5b60405162461bcd60e51b815260206004820152601a60248201527f696e636f6d706c6574652073657175656e63657220726f756e640000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d39b2b8bab2b731b2b9103237bbb760911b6044820152606490fd5b9050611cea915060a03d60a011611a6257611a4e818361179e565b505091505f611bfd565b5056fe917cde016faf66ec151b862b692d4ba9c309d4b271b56df4ee1fd3dfbed2468fa26469706673582212202d8e6243ac044ad5a5c2fde79f2387b9bf1d90803a6d1e3a32dda3fa00b8478e64736f6c63430008180033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| Storm Brokers (STORM) | STORM | 99,372,421.000000 | — | — |
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x53cffd…e7b4ff | 10 days agoFri, 07 Aug 2026 13:41:00 UTC | 0x7366bf…b3cf | [0] 0x000000000000…27a4a9c8 data: 0x000000000000000000…dd182c70 |
| 0x9fc81e…685b74 | 10 days agoFri, 07 Aug 2026 12:59:20 UTC | 0x7366bf…b3cf | [0] 0x000000000000…09d9d2dd data: 0x000000000000000000…dd182c70 |
| 0x388f00…26c14a | 10 days agoFri, 07 Aug 2026 12:47:10 UTC | 0x7366bf…b3cf | [0] 0x000000000000…7f2abed0 data: 0x000000000000000000…dd182c70 |
| 0x3b1bc3…267e93 | 10 days agoFri, 07 Aug 2026 12:24:30 UTC | 0x7366bf…b3cf | [0] 0x000000000000…2a4a197f data: 0x000000000000000000…dd182c70 |
| 0xd68cf9…65f061 | 10 days agoFri, 07 Aug 2026 12:23:48 UTC | 0x7366bf…b3cf | [0] 0x000000000000…223103f2 data: 0x000000000000000000…dd182c70 |
| 0x8cd2a9…8a9235 | 10 days agoFri, 07 Aug 2026 12:22:18 UTC | 0x7366bf…b3cf | [0] 0x000000000000…d802cc1d data: 0x000000000000000000…dd182c70 |
| 0xfd7e16…b944f9 | 10 days agoFri, 07 Aug 2026 12:21:17 UTC | 0x7366bf…b3cf | [0] 0x000000000000…a8e2f7bc data: 0x000000000000000000…dd182c70 |
| 0x64628b…dc1f00 | 10 days agoFri, 07 Aug 2026 12:20:56 UTC | 0x7366bf…b3cf | [0] 0x000000000000…7676289d data: 0x000000000000000000…dd182c70 |
| 0x5d95aa…160abd | 10 days agoFri, 07 Aug 2026 12:11:24 UTC | 0x7366bf…b3cf | [0] 0x000000000000…a22be099 data: 0x000000000000000000…dd182c70 |
| 0x0edb78…bb9c47 | 10 days agoFri, 07 Aug 2026 12:08:57 UTC | 0x7366bf…b3cf | [0] 0x000000000000…6f9e2852 data: 0x000000000000000000…dd182c70 |
| 0x5bfc24…39c750 | 10 days agoFri, 07 Aug 2026 12:07:55 UTC | 0x7366bf…b3cf | [0] 0x000000000000…a22be099 data: 0x000000000000000000…999156c0 |
| 0xf10e13…65a04c | 10 days agoFri, 07 Aug 2026 12:03:50 UTC | 0x7366bf…b3cf | [0] 0x000000000000…9066688c data: 0x000000000000000000…999156c0 |
| 0x7f82ff…1e187b | 10 days agoFri, 07 Aug 2026 12:02:23 UTC | 0x7366bf…b3cf | [0] 0x000000000000…6f9e2852 data: 0x000000000000000000…999156c0 |
| 0xa6cc8d…7a99f3 | 10 days agoFri, 07 Aug 2026 12:01:35 UTC | 0x7366bf…b3cf | [0] 0x000000000000…7ddced5c data: 0x000000000000000000…999156c0 |
| 0xc107b6…4fb005 | 10 days agoFri, 07 Aug 2026 11:57:54 UTC | 0x7366bf…b3cf | [0] 0x000000000000…ee4f3e1b data: 0x000000000000000000…999156c0 |
| 0xb7116f…425c04 | 10 days agoFri, 07 Aug 2026 11:56:25 UTC | 0x7366bf…b3cf | [0] 0x000000000000…5d4d61d3 data: 0x000000000000000000…999156c0 |
| 0x05251e…0064de | 10 days agoFri, 07 Aug 2026 11:56:22 UTC | 0x7366bf…b3cf | [0] 0x000000000000…9066688c data: 0x000000000000000000…999156c0 |
| 0xd33f46…c1a18d | 10 days agoFri, 07 Aug 2026 11:52:08 UTC | 0x7366bf…b3cf | [0] 0x000000000000…8bf883a8 data: 0x000000000000000000…999156c0 |
| 0x36ed46…9a4c8e | 10 days agoFri, 07 Aug 2026 11:51:28 UTC | 0x7366bf…b3cf | [0] 0x000000000000…1c5e47fa data: 0x000000000000000000…999156c0 |
| 0xbc7585…495ac3 | 10 days agoFri, 07 Aug 2026 11:49:28 UTC | 0x7366bf…b3cf | [0] 0x000000000000…96949985 data: 0x000000000000000000…999156c0 |
| 0xc5f6b2…bf338c | 10 days agoFri, 07 Aug 2026 11:49:07 UTC | 0x7366bf…b3cf | [0] 0x000000000000…31fbf25e data: 0x000000000000000000…999156c0 |
| 0xeeb5a5…8327ef | 10 days agoFri, 07 Aug 2026 11:48:53 UTC | 0x7366bf…b3cf | [0] 0x000000000000…1c5e47fa data: 0x000000000000000000…999156c0 |
| 0xe86c85…ce900e | 10 days agoFri, 07 Aug 2026 11:48:31 UTC | 0x7366bf…b3cf | [0] 0x000000000000…31fbf25e data: 0x000000000000000000…999156c0 |
| 0x05a981…817c22 | 10 days agoFri, 07 Aug 2026 11:47:43 UTC | 0x7366bf…b3cf | [0] 0x000000000000…5be73854 data: 0x000000000000000000…999156c0 |
| 0x50561c…8d0614 | 10 days agoFri, 07 Aug 2026 11:46:36 UTC | 0x7366bf…b3cf | [0] 0x000000000000…e04123cc data: 0x000000000000000000…999156c0 |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x53cffd…e7b4ff | strike | 30,254,479 | 10 days agoFri, 07 Aug 2026 13:41:00 UTC | 0xd621…a9c8 | IN | StormSale | $0.510.00026 ETH | 0.00000419 | |
| 0x9fc81e…685b74 | strike | 30,229,554 | 10 days agoFri, 07 Aug 2026 12:59:20 UTC | 0x7cc2…d2dd | IN | StormSale | $0.510.00026 ETH | 0.00000420 | |
| 0x388f00…26c14a | strike | 30,222,262 | 10 days agoFri, 07 Aug 2026 12:47:10 UTC | 0x7d20…bed0 | IN | StormSale | $1.020.00053 ETH | 0.00000418 | |
| 0x3b1bc3…267e93 | strike | 30,208,690 | 10 days agoFri, 07 Aug 2026 12:24:30 UTC | 0x50dc…197f | IN | StormSale | $1.020.00053 ETH | 0.00000419 | |
| 0xd68cf9…65f061 | strike | 30,208,278 | 10 days agoFri, 07 Aug 2026 12:23:48 UTC | 0xb7fc…03f2 | IN | StormSale | $0.510.00026 ETH | 0.00000422 | |
| 0x8cd2a9…8a9235 | strike | 30,207,383 | 10 days agoFri, 07 Aug 2026 12:22:18 UTC | 0x9295…cc1d | IN | StormSale | $0.510.00026 ETH | 0.00000423 | |
| 0xfd7e16…b944f9 | strike | 30,206,775 | 10 days agoFri, 07 Aug 2026 12:21:17 UTC | 0x49f0…f7bc | IN | StormSale | $0.510.00026 ETH | 0.00000423 | |
| 0x64628b…dc1f00 | strike | 30,206,561 | 10 days agoFri, 07 Aug 2026 12:20:56 UTC | 0x0c4f…289d | IN | StormSale | $0.510.00026 ETH | 0.00000419 | |
| 0x5d95aa…160abd | strike | 30,200,848 | 10 days agoFri, 07 Aug 2026 12:11:24 UTC | 0x9b24…e099 | IN | StormSale | $0.480.00025 ETH | 0.00000314 | |
| 0x0edb78…bb9c47 | strike | 30,199,388 | 10 days agoFri, 07 Aug 2026 12:08:57 UTC | 0x9517…2852 | IN | StormSale | $0.490.00025 ETH | 0.00000315 | |
| 0x5bfc24…39c750 | strike | 30,198,770 | 10 days agoFri, 07 Aug 2026 12:07:55 UTC | 0x9b24…e099 | IN | StormSale | $1.020.00053 ETH | 0.00000414 | |
| 0xf10e13…65a04c | strike | 30,196,326 | 10 days agoFri, 07 Aug 2026 12:03:50 UTC | 0x32a3…688c | IN | StormSale | $2.410.00126 ETH | 0.00000313 | |
| 0x7f82ff…1e187b | strike | 30,195,469 | 10 days agoFri, 07 Aug 2026 12:02:23 UTC | 0x9517…2852 | IN | StormSale | $0.510.00026 ETH | 0.00000417 | |
| 0xa6cc8d…7a99f3 | strike | 30,194,984 | 10 days agoFri, 07 Aug 2026 12:01:35 UTC | 0x90fb…ed5c | IN | StormSale | $5.120.00268 ETH | 0.00000413 | |
| 0xc107b6…4fb005 | strike | 30,192,785 | 10 days agoFri, 07 Aug 2026 11:57:54 UTC | 0x2a40…3e1b | IN | StormSale | $0.510.00026 ETH | 0.00000420 | |
| 0xb7116f…425c04 | strike | 30,191,896 | 10 days agoFri, 07 Aug 2026 11:56:25 UTC | 0x450b…61d3 | IN | StormSale | $0.510.00026 ETH | 0.00000416 | |
| 0x05251e…0064de | strike | 30,191,871 | 10 days agoFri, 07 Aug 2026 11:56:22 UTC | 0x32a3…688c | IN | StormSale | $5.120.00268 ETH | 0.00000418 | |
| 0xd33f46…c1a18d | strike | 30,189,334 | 10 days agoFri, 07 Aug 2026 11:52:08 UTC | 0x78fb…83a8 | IN | StormSale | $0.510.00026 ETH | 0.00000417 | |
| 0x36ed46…9a4c8e | strike | 30,188,934 | 10 days agoFri, 07 Aug 2026 11:51:28 UTC | 0x957b…47fa | IN | StormSale | $1.460.00076 ETH | 0.00000314 | |
| 0xbc7585…495ac3 | strike | 30,187,738 | 10 days agoFri, 07 Aug 2026 11:49:28 UTC | 0x9917…9985 | IN | StormSale | $0.510.00026 ETH | 0.00000414 | |
| 0xc5f6b2…bf338c | strike | 30,187,534 | 10 days agoFri, 07 Aug 2026 11:49:07 UTC | 0xb9b0…f25e | IN | StormSale | $4.960.00260 ETH | 0.00000316 | |
| 0xeeb5a5…8327ef | strike | 30,187,396 | 10 days agoFri, 07 Aug 2026 11:48:53 UTC | 0x957b…47fa | IN | StormSale | $2.560.00134 ETH | 0.00000420 | |
| 0xe86c85…ce900e | strike | 30,187,177 | 10 days agoFri, 07 Aug 2026 11:48:31 UTC | 0xb9b0…f25e | IN | StormSale | $5.120.00268 ETH | 0.00000421 | |
| 0x05a981…817c22 | strike | 30,186,689 | 10 days agoFri, 07 Aug 2026 11:47:43 UTC | 0xc35d…3854 | IN | StormSale | $0.510.00026 ETH | 0.00000416 | |
| 0x50561c…8d0614 | strike | 30,186,023 | 10 days agoFri, 07 Aug 2026 11:46:36 UTC | 0x27a1…23cc | IN | StormSale | $1.020.00053 ETH | 0.00000417 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 30,254,479 | 10 days agoFri, 07 Aug 2026 13:41:00 UTC | 0x53cffd…e7b4ff | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00026 ETH |
| 30,229,554 | 10 days agoFri, 07 Aug 2026 12:59:20 UTC | 0x9fc81e…685b74 | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00026 ETH |
| 30,222,262 | 10 days agoFri, 07 Aug 2026 12:47:10 UTC | 0x388f00…26c14a | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00053 ETH |
| 30,208,690 | 10 days agoFri, 07 Aug 2026 12:24:30 UTC | 0x3b1bc3…267e93 | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00053 ETH |
| 30,208,278 | 10 days agoFri, 07 Aug 2026 12:23:48 UTC | 0xd68cf9…65f061 | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00026 ETH |
| 30,207,383 | 10 days agoFri, 07 Aug 2026 12:22:18 UTC | 0x8cd2a9…8a9235 | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00026 ETH |
| 30,206,775 | 10 days agoFri, 07 Aug 2026 12:21:17 UTC | 0xfd7e16…b944f9 | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00026 ETH |
| 30,206,561 | 10 days agoFri, 07 Aug 2026 12:20:56 UTC | 0x64628b…dc1f00 | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00026 ETH |
| 30,200,848 | 10 days agoFri, 07 Aug 2026 12:11:24 UTC | 0x5d95aa…160abd | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00025 ETH |
| 30,199,388 | 10 days agoFri, 07 Aug 2026 12:08:57 UTC | 0x0edb78…bb9c47 | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00025 ETH |
| 30,198,770 | 10 days agoFri, 07 Aug 2026 12:07:55 UTC | 0x5bfc24…39c750 | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00053 ETH |
| 30,196,326 | 10 days agoFri, 07 Aug 2026 12:03:50 UTC | 0xf10e13…65a04c | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00126 ETH |
| 30,195,469 | 10 days agoFri, 07 Aug 2026 12:02:23 UTC | 0x7f82ff…1e187b | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00026 ETH |
| 30,194,984 | 10 days agoFri, 07 Aug 2026 12:01:35 UTC | 0xa6cc8d…7a99f3 | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00268 ETH |
| 30,192,785 | 10 days agoFri, 07 Aug 2026 11:57:54 UTC | 0xc107b6…4fb005 | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00026 ETH |
| 30,191,896 | 10 days agoFri, 07 Aug 2026 11:56:25 UTC | 0xb7116f…425c04 | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00026 ETH |
| 30,191,871 | 10 days agoFri, 07 Aug 2026 11:56:22 UTC | 0x05251e…0064de | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00268 ETH |
| 30,189,334 | 10 days agoFri, 07 Aug 2026 11:52:08 UTC | 0xd33f46…c1a18d | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00026 ETH |
| 30,188,934 | 10 days agoFri, 07 Aug 2026 11:51:28 UTC | 0x36ed46…9a4c8e | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00076 ETH |
| 30,187,738 | 10 days agoFri, 07 Aug 2026 11:49:28 UTC | 0xbc7585…495ac3 | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00026 ETH |
| 30,187,534 | 10 days agoFri, 07 Aug 2026 11:49:07 UTC | 0xc5f6b2…bf338c | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00260 ETH |
| 30,187,396 | 10 days agoFri, 07 Aug 2026 11:48:53 UTC | 0xeeb5a5…8327ef | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00134 ETH |
| 30,187,177 | 10 days agoFri, 07 Aug 2026 11:48:31 UTC | 0xe86c85…ce900e | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00268 ETH |
| 30,186,689 | 10 days agoFri, 07 Aug 2026 11:47:43 UTC | 0x05a981…817c22 | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00026 ETH |
| 30,186,023 | 10 days agoFri, 07 Aug 2026 11:46:36 UTC | 0x50561c…8d0614 | CALL | strike | 0x0fc3…648d | OUT | 0x7d65…b880 | 0.00053 ETH |
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x53cffd73…e7b4ff | Transfer | 30,254,479 | 10 days agoFri, 07 Aug 2026 13:41:00 UTC | 0x0fc3…648d | OUT | 0xd621…a9c8 | 5,149.999999 STORM | Storm Brokers (STORM) | |
| 0x9fc81edc…685b74 | Transfer | 30,229,554 | 10 days agoFri, 07 Aug 2026 12:59:20 UTC | 0x0fc3…648d | OUT | 0x7cc2…d2dd | 5,149.999999 STORM | Storm Brokers (STORM) | |
| 0x388f0052…26c14a | Transfer | 30,222,262 | 10 days agoFri, 07 Aug 2026 12:47:10 UTC | 0x0fc3…648d | OUT | 0x7d20…bed0 | 10,299.999999 STORM | Storm Brokers (STORM) | |
| 0x3b1bc33d…267e93 | Transfer | 30,208,690 | 10 days agoFri, 07 Aug 2026 12:24:30 UTC | 0x0fc3…648d | OUT | 0x50dc…197f | 10,299.999999 STORM | Storm Brokers (STORM) | |
| 0xd68cf97b…65f061 | Transfer | 30,208,278 | 10 days agoFri, 07 Aug 2026 12:23:48 UTC | 0x0fc3…648d | OUT | 0xb7fc…03f2 | 5,149.999999 STORM | Storm Brokers (STORM) | |
| 0x8cd2a9f8…8a9235 | Transfer | 30,207,383 | 10 days agoFri, 07 Aug 2026 12:22:18 UTC | 0x0fc3…648d | OUT | 0x9295…cc1d | 5,149.999999 STORM | Storm Brokers (STORM) | |
| 0xfd7e1638…b944f9 | Transfer | 30,206,775 | 10 days agoFri, 07 Aug 2026 12:21:17 UTC | 0x0fc3…648d | OUT | 0x49f0…f7bc | 5,149.999999 STORM | Storm Brokers (STORM) | |
| 0x64628bb4…dc1f00 | Transfer | 30,206,561 | 10 days agoFri, 07 Aug 2026 12:20:56 UTC | 0x0fc3…648d | OUT | 0x0c4f…289d | 5,149.999999 STORM | Storm Brokers (STORM) | |
| 0x5d95aaff…160abd | Transfer | 30,200,848 | 10 days agoFri, 07 Aug 2026 12:11:24 UTC | 0x0fc3…648d | OUT | 0x9b24…e099 | 4,840.999999 STORM | Storm Brokers (STORM) | |
| 0x0edb7833…bb9c47 | Transfer | 30,199,388 | 10 days agoFri, 07 Aug 2026 12:08:57 UTC | 0x0fc3…648d | OUT | 0x9517…2852 | 4,995.499999 STORM | Storm Brokers (STORM) | |
| 0x5bfc24dd…39c750 | Transfer | 30,198,770 | 10 days agoFri, 07 Aug 2026 12:07:55 UTC | 0x0fc3…648d | OUT | 0x9b24…e099 | 10,299.999999 STORM | Storm Brokers (STORM) | |
| 0xf10e133b…65a04c | Transfer | 30,196,326 | 10 days agoFri, 07 Aug 2026 12:03:50 UTC | 0x0fc3…648d | OUT | 0x32a3…688c | 24,205.000000 STORM | Storm Brokers (STORM) | |
| 0x7f82ff81…1e187b | Transfer | 30,195,469 | 10 days agoFri, 07 Aug 2026 12:02:23 UTC | 0x0fc3…648d | OUT | 0x9517…2852 | 5,149.999999 STORM | Storm Brokers (STORM) | |
| 0xa6cc8de8…7a99f3 | Transfer | 30,194,984 | 10 days agoFri, 07 Aug 2026 12:01:35 UTC | 0x0fc3…648d | OUT | 0x90fb…ed5c | 51,499.999999 STORM | Storm Brokers (STORM) | |
| 0xc107b64e…4fb005 | Transfer | 30,192,785 | 10 days agoFri, 07 Aug 2026 11:57:54 UTC | 0x0fc3…648d | OUT | 0x2a40…3e1b | 5,149.999999 STORM | Storm Brokers (STORM) | |
| 0xb7116fae…425c04 | Transfer | 30,191,896 | 10 days agoFri, 07 Aug 2026 11:56:25 UTC | 0x0fc3…648d | OUT | 0x450b…61d3 | 5,149.999999 STORM | Storm Brokers (STORM) | |
| 0x05251ef2…0064de | Transfer | 30,191,871 | 10 days agoFri, 07 Aug 2026 11:56:22 UTC | 0x0fc3…648d | OUT | 0x32a3…688c | 51,499.999999 STORM | Storm Brokers (STORM) | |
| 0xd33f4626…c1a18d | Transfer | 30,189,334 | 10 days agoFri, 07 Aug 2026 11:52:08 UTC | 0x0fc3…648d | OUT | 0x78fb…83a8 | 5,149.999999 STORM | Storm Brokers (STORM) | |
| 0x36ed4650…9a4c8e | Transfer | 30,188,934 | 10 days agoFri, 07 Aug 2026 11:51:28 UTC | 0x0fc3…648d | OUT | 0x957b…47fa | 14,677.499999 STORM | Storm Brokers (STORM) | |
| 0xbc7585cc…495ac3 | Transfer | 30,187,738 | 10 days agoFri, 07 Aug 2026 11:49:28 UTC | 0x0fc3…648d | OUT | 0x9917…9985 | 5,149.999999 STORM | Storm Brokers (STORM) | |
| 0xc5f6b224…bf338c | Transfer | 30,187,534 | 10 days agoFri, 07 Aug 2026 11:49:07 UTC | 0x0fc3…648d | OUT | 0xb9b0…f25e | 49,955.000000 STORM | Storm Brokers (STORM) | |
| 0xeeb5a54a…8327ef | Transfer | 30,187,396 | 10 days agoFri, 07 Aug 2026 11:48:53 UTC | 0x0fc3…648d | OUT | 0x957b…47fa | 25,749.999999 STORM | Storm Brokers (STORM) | |
| 0xe86c855b…ce900e | Transfer | 30,187,177 | 10 days agoFri, 07 Aug 2026 11:48:31 UTC | 0x0fc3…648d | OUT | 0xb9b0…f25e | 51,499.999999 STORM | Storm Brokers (STORM) | |
| 0x05a9815b…817c22 | Transfer | 30,186,689 | 10 days agoFri, 07 Aug 2026 11:47:43 UTC | 0x0fc3…648d | OUT | 0xc35d…3854 | 5,149.999999 STORM | Storm Brokers (STORM) | |
| 0x50561ce6…8d0614 | Transfer | 30,186,023 | 10 days agoFri, 07 Aug 2026 11:46:36 UTC | 0x0fc3…648d | OUT | 0x27a1…23cc | 10,299.999999 STORM | Storm Brokers (STORM) |