// SPDX-License-Identifier: MIT
pragma solidity ^0.8.27;
import {TermMaxERC4626PriceFeed} from "../oracle/priceFeeds/TermMaxERC4626PriceFeed.sol";
import {TermMaxPriceFeedConverter} from "../oracle/priceFeeds/TermMaxPriceFeedConverter.sol";
import {TermMaxPTPriceFeed} from "../oracle/priceFeeds/TermMaxPTPriceFeed.sol";
import {TermMaxConstantPriceFeed} from "../oracle/priceFeeds/TermMaxConstantPriceFeed.sol";
import {FactoryEventsV2} from "../events/FactoryEventsV2.sol";
import {VersionV2} from "../VersionV2.sol";
/**
* @title TermMax Price Feed Factory V2
* @author Term Structure Labs
* @notice Factory contract for creating various types of price feeds in the TermMax V2 protocol
* @dev Provides standardized creation methods for ERC4626 vault price feeds, price feed converters, and Pendle PT price feeds
* All price feeds implement the ITermMaxPriceFeed interface for consistency
*/
contract TermMaxPriceFeedFactoryV2 is VersionV2 {
/**
* @notice Creates a price feed for ERC4626 vaults
* @dev Deploys a TermMaxERC4626PriceFeed that calculates vault token prices based on the underlying asset price and vault exchange rate
* @param _assetPriceFeed The address of the underlying asset's price feed (e.g., USDC/USD feed)
* @param _vault The address of the ERC4626 vault contract
* @return The address of the newly deployed ERC4626 price feed
* @custom:usage Used for vault tokens like stETH, rETH, or other yield-bearing assets that implement ERC4626
*/
function createPriceFeedWithERC4626(address _assetPriceFeed, address _vault) external returns (address) {
address priceFeed = address(new TermMaxERC4626PriceFeed(_assetPriceFeed, _vault));
emit FactoryEventsV2.PriceFeedCreated(priceFeed);
return priceFeed;
}
/**
* @notice Creates a price feed converter that chains two price feeds together
* @dev Deploys a TermMaxPriceFeedConverter that multiplies prices from two feeds (A->B and B->C to get A->C)
* @param _aTokenToBTokenPriceFeed The first price feed in the chain (token A to token B)
* @param _bTokenToCTokenPriceFeed The second price feed in the chain (token B to token C)
* @param _asset The address of the asset being priced (token A)
* @return The address of the newly deployed price feed converter
* @custom:example Converting stETH to USD: stETH->ETH feed × ETH->USD feed = stETH->USD price
* @custom:precision Final price maintains 8 decimal precision regardless of input feed decimals
*/
function createPriceFeedConverter(
address _aTokenToBTokenPriceFeed,
address _bTokenToCTokenPriceFeed,
address _asset
) external returns (address) {
address priceFeed =
address(new TermMaxPriceFeedConverter(_aTokenToBTokenPriceFeed, _bTokenToCTokenPriceFeed, _asset));
emit FactoryEventsV2.PriceFeedCreated(priceFeed);
return priceFeed;
}
/**
* @notice Creates a price feed for Pendle Principal Tokens (PT)
* @dev Deploys a TermMaxPTPriceFeed that calculates PT prices using Pendle's oracle system and underlying asset prices
* @param _pendlePYLpOracle The address of the Pendle PY LP oracle contract
* @param _market The address of the Pendle market contract for the specific PT
* @param _duration The TWAP duration in seconds for price calculation stability
* @param _priceFeed The price feed for the underlying asset that the PT represents
* @return The address of the newly deployed PT price feed
* @custom:usage Used for Pendle Principal Tokens like PT-stETH, PT-USDC, etc.
* @custom:security Includes oracle readiness checks to ensure price feed reliability
* @custom:formula PT Price = PT Rate in SY × SY Price / PT to Asset Rate Base
*/
function createPTWithPriceFeed(address _pendlePYLpOracle, address _market, uint32 _duration, address _priceFeed)
external
returns (address)
{
address priceFeed = address(new TermMaxPTPriceFeed(_pendlePYLpOracle, _market, _duration, _priceFeed));
emit FactoryEventsV2.PriceFeedCreated(priceFeed);
return priceFeed;
}
/**
* @notice Creates a constant price feed that always returns the same price
* @dev Deploys a TermMaxConstantPriceFeed useful for stable assets or testing scenarios
* @param _constantPrice The constant price value to be returned by the feed (with 8 decimals of precision)
* @return The address of the newly deployed constant price feed
* @custom:usage Ideal for stablecoins like USDC, USDT, or for mock testing environments
*/
function createConstantPriceFeed(int256 _constantPrice) external returns (address) {
address priceFeed = address(new TermMaxConstantPriceFeed(_constantPrice));
emit FactoryEventsV2.PriceFeedCreated(priceFeed);
return priceFeed;
}
}[
{
"name": "PriceFeedCreated",
"type": "event",
"inputs": [
{
"name": "priceFeed",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "createConstantPriceFeed",
"type": "function",
"inputs": [
{
"name": "_constantPrice",
"type": "int256",
"internalType": "int256"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "createPTWithPriceFeed",
"type": "function",
"inputs": [
{
"name": "_pendlePYLpOracle",
"type": "address",
"internalType": "address"
},
{
"name": "_market",
"type": "address",
"internalType": "address"
},
{
"name": "_duration",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "_priceFeed",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "createPriceFeedConverter",
"type": "function",
"inputs": [
{
"name": "_aTokenToBTokenPriceFeed",
"type": "address",
"internalType": "address"
},
{
"name": "_bTokenToCTokenPriceFeed",
"type": "address",
"internalType": "address"
},
{
"name": "_asset",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "createPriceFeedWithERC4626",
"type": "function",
"inputs": [
{
"name": "_assetPriceFeed",
"type": "address",
"internalType": "address"
},
{
"name": "_vault",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "getVersion",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "pure"
}
]0x60808060405234601557613187908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c9081630d8e6e2c146102d857508063376ceb871461024a5780634454eb5e146101dd578063aad236db1461011e5763fbf2f56a14610053575f80fd5b3461011a57606036600319011261011a5761006c610343565b610074610359565b906044356001600160a01b0381169081900361011a5760405192610a0e918285019185831067ffffffffffffffff84111761010657606094869461272486396001600160a01b03908116845216602083015260408201520301905ff080156100fb576040516020916001600160a01b0316805f5160206131325f395f51905f525f80a28152f35b6040513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b5f80fd5b3461011a57608036600319011261011a57610137610343565b61013f610359565b9060443563ffffffff811680910361011a576064356001600160a01b038116939084900361011a576040519361164e928386019286841067ffffffffffffffff8511176101065760809587956110d687396001600160a01b039081168552166020840152604083015260608201520301905ff080156100fb576040516020916001600160a01b0316805f5160206131325f395f51905f525f80a28152f35b3461011a57602036600319011261011a576040516103868082019082821067ffffffffffffffff831117610106576020918391610d50833960043581520301905ff080156100fb576040516020916001600160a01b0316805f5160206131325f395f51905f525f80a28152f35b3461011a57604036600319011261011a57610263610343565b61026b610359565b90604051916109e0908184019084821067ffffffffffffffff83111761010657604093859361037085396001600160a01b0390811683521660208201520301905ff080156100fb576040516020916001600160a01b0316805f5160206131325f395f51905f525f80a28152f35b3461011a575f36600319011261011a576040810181811067ffffffffffffffff821117610106576040526005815260406020820191640322e302e360dc1b83528151928391602083525180918160208501528484015e5f828201840152601f01601f19168101030190f35b600435906001600160a01b038216820361011a57565b602435906001600160a01b038216820361011a5756fe6101008060405234610228576040816109e080380380916100208285610251565b8339810103126102285761003f602061003883610288565b9201610288565b6001600160a01b0391821660805260a081905260405163313ce56760e01b81529116602082600481845afa9081156101c7576100876020926004945f91610234575b506102b5565b60e0526040516338d52e0f60e01b815292839182905afa9081156101c7575f916101f1575b5060405163313ce56760e01b815290602090829060049082906001600160a01b03165afa80156101c7576004915f916101d2575b5060805160405163313ce56760e01b81529260209184919082906001600160a01b03165afa9182156101c7575f92610191575b5060ff80911691160160ff811161017d5761012d906102b5565b60c05260405161071990816102c7823960805181818160960152818161047b0152610549015260a051818181610112015281816103090152610505015260c05181610171015260e0518160e50152f35b634e487b7160e01b5f52601160045260245ffd5b60ff9192506101b8829160203d6020116101c0575b6101b08183610251565b81019061029c565b929150610113565b503d6101a6565b6040513d5f823e3d90fd5b6101eb915060203d6020116101c0576101b08183610251565b5f6100e0565b90506020813d60201161022c575b8161020c60209383610251565b81010312610228576020610221600492610288565b91506100ac565b5f80fd5b3d91506101ff565b61024b9150843d86116101c0576101b08183610251565b5f610081565b601f909101601f19168101906001600160401b0382119082101761027457604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361022857565b90816020910312610228575160ff811681036102285790565b60ff16604d811161017d57600a0a9056fe60806040526004361015610011575f80fd5b5f3560e01c80630d8e6e2c14610593578063313ce5671461057857806338b276921461053457806338d52e0f146104f057806354fd4d50146104565780637284e416146102e55780639a6fc8f5146102b05763feaf968c14610071575f80fd5b3461023a575f36600319011261023a57604051633fabe5a360e21b815260a0816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610246575f905f925f935f915f93610251575b506040516303d1689d60e11b81527f00000000000000000000000000000000000000000000000000000000000000006004820152906020826024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa918215610246575f9261020e575b505f81126101fc576305f5e1008202918083046305f5e10014901517156101e857610196917f000000000000000000000000000000000000000000000000000000000000000091610631565b936001600160ff1b0385116101d5579069ffffffffffffffffffff929160a0958460405196168652602086015260408501526060840152166080820152f35b8463123baf0360e11b5f5260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b635467221960e11b5f5260045260245ffd5b9091506020813d60201161023e575b8161022a602093836105f8565b8101031261023a5751905f61014a565b5f80fd5b3d915061021d565b6040513d5f823e3d90fd5b94505050505060a0813d60a0116102a8575b8161027060a093836105f8565b8101031261023a576102818161061a565b60208201519060408301519061029e60806060860151950161061a565b919390925f6100d5565b3d9150610263565b3461023a57602036600319011261023a5760043569ffffffffffffffffffff81160361023a57633cad11ef60e01b5f5260045ffd5b3461023a575f36600319011261023a576040516395d89b4160e01b81525f816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610246575f916103a8575b6103a4602061039860046034866040519485917302a32b936a6b0bc10383934b1b2903332b2b21d160651b828401528051918291018484015e8101630bd554d160e21b838201520301601b198101845201826105f8565b604051918291826105ce565b0390f35b90503d805f833e6103b981836105f8565b81019060208183031261023a5780519067ffffffffffffffff821161023a570181601f8201121561023a5780519167ffffffffffffffff8311610442576040519061040e601f8501601f1916602001836105f8565b8382526020848401011161023a5760046034610398925f6020876103a498828099018386015e830101529450505050610341565b634e487b7160e01b5f52604160045260245ffd5b3461023a575f36600319011261023a5760405163054fd4d560e41b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610246575f906104bd575b602090604051908152f35b506020813d6020116104e8575b816104d7602093836105f8565b8101031261023a57602090516104b2565b3d91506104ca565b3461023a575f36600319011261023a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461023a575f36600319011261023a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461023a575f36600319011261023a57602060405160088152f35b3461023a575f36600319011261023a576103a46040516105b46040826105f8565b60058152640322e302e360dc1b6020820152604051918291825b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b90601f8019910116810190811067ffffffffffffffff82111761044257604052565b519069ffffffffffffffffffff8216820361023a57565b91818302915f19818509938380861095039480860395146106c157848311156106a95790829109815f0382168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b82634e487b715f52156003026011186020526024601cfd5b5050809250156106cf570490565b634e487b7160e01b5f52601260045260245ffdfea26469706673582212208a8d86f1692e65d83c33a7abadc9bd7b8b9d6781f19906e613e2de6049732b9164736f6c634300081d003360c034606657601f61038638819003918201601f19168301916001600160401b03831184841017606a578084926020946040528339810103126066575160a052604051610307908161007f823960805181610211015260a051818181608c01526101080152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80630d8e6e2c1461025b578063313ce5671461024057806338b27692146101fc57806338d52e0f146101e257806354fd4d50146101c75780637284e4161461014b5780639a6fc8f5146100d75763feaf968c14610071575f80fd5b346100d3575f3660031901126100d357604051806100cf42427f000000000000000000000000000000000000000000000000000000000000000084608091949360019360a08301965f84526020840152604083015260608201520152565b0390f35b5f80fd5b346100d35760203660031901126100d35760043569ffffffffffffffffffff8116036100d357604051806100cf42427f000000000000000000000000000000000000000000000000000000000000000084608091949360019360a08301965f84526020840152604083015260608201520152565b346100d3575f3660031901126100d357604051604081019080821067ffffffffffffffff8311176101b3576100cf91604052601b81527f5465726d4d617820436f6e7374616e74207072696365206665656400000000006020820152604051918291826102a7565b634e487b7160e01b5f52604160045260245ffd5b346100d3575f3660031901126100d357602060405160018152f35b346100d3575f3660031901126100d35760206040515f8152f35b346100d3575f3660031901126100d3576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346100d3575f3660031901126100d357602060405160088152f35b346100d3575f3660031901126100d357604051604081019080821067ffffffffffffffff8311176101b3576100cf9160405260058152640322e302e360dc1b6020820152604051918291825b602060409281835280519182918282860152018484015e5f828201840152601f01601f191601019056fea2646970667358221220b549ec669c3555233e8ad91ae1d18f3e6a4dd8fa288c1b72b5a1b9e5f527300a64736f6c634300081d003361014080604052346102b15760808161164e8038038091610020828561043d565b8339810103126102b15761003381610474565b61003f60208301610474565b9160408101519063ffffffff821682036102b1576001600160a01b039061006890606001610474565b16604051633fabe5a360e21b815260a081600481855afa9081156102bd575f916103f0575b50156103e1576001600160a01b039283166080529190921660a081905260c09290925260e052604051630b2339af60e21b815290606090829060049082905afa80156102bd575f915f91610372575b5060405163313ce56760e01b815291602090839060049082906001600160a01b03165afa9182156102bd575f92610351575b5060405163313ce56760e01b81526001600160a01b03919091169190602081600481865afa9081156102bd575f91610322575b5060ff811660ff8316105f146102dc576101639161015e916104b5565b6104c9565b80156102c857670de0b6b3a764000004610120525b6101005260805160a05160c05160405162439f4b60e91b81526001600160a01b03928316600482015263ffffffff90911660248201529160609183916044918391165afa9081156102bd575f905f92610261575b50159081610259575b501561024a5760405161116690816104e8823960805181610524015260a05181818160c8015261025c015260c05181818160a7015261065a015260e051818181610101015281816104560152818161056801526105bc0152610100518181816102e401526104e00152610120518161014e0152f35b63f989faf360e01b5f5260045ffd5b90505f6101d5565b9150506060813d6060116102b5575b8161027d6060938361043d565b810103126102b15761028e816104da565b90602081015161ffff8116036102b15760406102aa91016104da565b905f6101cc565b5f80fd5b3d9150610270565b6040513d5f823e3d90fd5b634e487b7160e01b5f52601260045260245ffd5b61015e906102e9926104b5565b80670de0b6b3a76400000290670de0b6b3a764000082040361030e5761012052610178565b634e487b7160e01b5f52601160045260245ffd5b610344915060203d60201161034a575b61033c818361043d565b81019061049c565b5f610141565b503d610332565b61036b91925060203d60201161034a5761033c818361043d565b905f61010e565b9150506060813d6060116103d9575b8161038e6060938361043d565b810103126102b1578051906001600160a01b03821682036102b1576020810151906001600160a01b03821682036102b157604001516001600160a01b038116036102b15760206100dc565b3d9150610381565b63907adecd60e01b5f5260045ffd5b905060a0813d60a011610435575b8161040b60a0938361043d565b810103126102b15761041c81610488565b5061042e608060208301519201610488565b505f61008d565b3d91506103fe565b601f909101601f19168101906001600160401b0382119082101761046057604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036102b157565b51906001600160501b03821682036102b157565b908160209103126102b1575160ff811681036102b15790565b9060ff8091169116039060ff821161030e57565b60ff16604d811161030e57600a0a90565b519081151582036102b15756fe60806040526004361015610011575f80fd5b5f3560e01c80630d8e6e2c1461067e5780631be052891461063e578063313ce5671461059757806331eb318a1461055357806334f0ed5c1461050f57806338d52e0f146104cb57806354fd4d50146104315780637284e416146102c05780639a6fc8f51461028b578063f46f16c2146102475763feaf968c14610092575f80fd5b34610230575f366003190112610230576100ec7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061071c565b604051633fabe5a360e21b815260a0816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561023c575f915f935f945f925f946101d7575b505f81126101c557610174917f000000000000000000000000000000000000000000000000000000000000000091906109ce565b936001600160ff1b0385116101b2576040805169ffffffffffffffffffff95861681526020810196909652850152606084015216608082015260a090f35b8463123baf0360e11b5f5260045260245ffd5b635467221960e11b5f5260045260245ffd5b9550509250505060a0823d60a011610234575b816101f760a093836106e3565b810103126102305761020882610705565b90602083015191604084015191610226608060608701519601610705565b929491935f610140565b5f80fd5b3d91506101ea565b6040513d5f823e3d90fd5b34610230575f366003190112610230576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102305760203660031901126102305760043569ffffffffffffffffffff81160361023057633cad11ef60e01b5f5260045ffd5b34610230575f366003190112610230576040516395d89b4160e01b81525f816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561023c575f91610383575b61037f602061037360046034866040519485917302a32b936a6b0bc10383934b1b2903332b2b21d160651b828401528051918291018484015e8101630bd554d160e21b838201520301601b198101845201826106e3565b604051918291826106b9565b0390f35b90503d805f833e61039481836106e3565b8101906020818303126102305780519067ffffffffffffffff8211610230570181601f820112156102305780519167ffffffffffffffff831161041d57604051906103e9601f8501601f1916602001836106e3565b838252602084840101116102305760046034610373925f60208761037f98828099018386015e83010152945050505061031c565b634e487b7160e01b5f52604160045260245ffd5b34610230575f3660031901126102305760405163054fd4d560e41b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561023c575f90610498575b602090604051908152f35b506020813d6020116104c3575b816104b2602093836106e3565b81010312610230576020905161048d565b3d91506104a5565b34610230575f366003190112610230576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610230575f366003190112610230576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610230575f366003190112610230576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610230575f3660031901126102305760405163313ce56760e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561023c575f90610601575b60209060ff60405191168152f35b506020813d602011610636575b8161061b602093836106e3565b81010312610230575160ff81168103610230576020906105f3565b3d915061060e565b34610230575f36600319011261023057602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610230575f3660031901126102305761037f60405161069f6040826106e3565b60058152640322e302e360dc1b6020820152604051918291825b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b90601f8019910116810190811067ffffffffffffffff82111761041d57604052565b519069ffffffffffffffffffff8216820361023057565b604051630b2339af60e21b8152906060826004816001600160a01b0385165afa801561023c575f925f91610942575b50604051633ba0b9a960e01b815292602090849060049082906001600160a01b03165afa92831561023c575f9361090e575b50604051636951ac2760e11b8152906001600160a01b0316602082600481845afa91821561023c575f926108da575b5060405163516399df60e01b815290602082600481845afa91821561023c575f9261089d575b5081610820575b501561080c575b8083106107fd57506107fa926107f591610a6b565b610cfb565b90565b91506107fa926107f591610a6b565b8083111561081b5750816107e0565b6107e0565b6040516360e0a9e160e01b81529150602090829060049082905afa90811561023c575f9161085b575b506001600160801b031643145f6107d9565b90506020813d602011610895575b81610876602093836106e3565b8101031261023057516001600160801b0381168103610230575f610849565b3d9150610869565b9091506020813d6020116108d2575b816108b9602093836106e3565b810103126102305751801515810361023057905f6107d2565b3d91506108ac565b9091506020813d602011610906575b816108f6602093836106e3565b810103126102305751905f6107ac565b3d91506108e9565b9092506020813d60201161093a575b8161092a602093836106e3565b810103126102305751915f61077d565b3d915061091d565b9250506060823d6060116109a8575b8161095e606093836106e3565b81010312610230578151916001600160a01b03831683036102305760208101516001600160a01b0381160361023057604001516001600160a01b038116810361023057602061074b565b3d9150610951565b81156109ba570490565b634e487b7160e01b5f52601260045260245ffd5b91818302915f1981850993838086109503948086039514610a5e5784831115610a465790829109815f0382168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b82634e487b715f52156003026011186020526024601cfd5b5050906107fa92506109b0565b6040516370c264df60e11b815291906001600160a01b0316602083600481845afa92831561023c575f93610cc7575b50428311610ab157505050670de0b6b3a764000090565b60405190610ac06060836106e3565b600282526020820191604036843763ffffffff610adc82610d26565b941680945260405192839163883bdbfd60e01b8352602483019060206004850152518091526044830191905f5b818110610ca8575050509181805f9403915afa90811561023c575f91610bfc575b50805160011015610be85760408101516001600160d81b0390811691610b4f90610d26565b51169003906001600160d81b038211610bd45780156109ba57428303926001600160d81b0392831691909104909116908211610bd457818102918183041490151715610bd4576301e1338090046001600160ff1b03811161023057610bb390610d8c565b5f81126102305780156109ba576ec097ce7bc90715b34b9f10000000000490565b634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b90503d805f833e610c0d81836106e3565b8101906020818303126102305780519067ffffffffffffffff8211610230570181601f820112156102305780519167ffffffffffffffff831161041d578260051b916020830193610c6160405195866106e3565b845260208085019382010191821161023057602001915b818310610c88575050505f610b2a565b82516001600160d81b038116810361023057815260209283019201610c78565b825163ffffffff16845286945060209384019390920191600101610b09565b9092506020813d602011610cf3575b81610ce3602093836106e3565b810103126102305751915f610a9a565b3d9150610cd6565b90670de0b6b3a7640000820291808304670de0b6b3a76400001490151715610bd4576107fa916109b0565b805115610be85760200190565b15610d3a57565b60405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606490fd5b80156109ba576ec097ce7bc90715b34b9f10000000000590565b680238fd42c5cf03ffff198112158061111d575b610da990610d33565b5f8112611109576107fa906806f05b59d3b200000081126110c8576806f05b59d3b1ffffff1901610f6b6064770195e54c5dd42177f53a27172fa9ec630262827000000000925b0268056bc75e2d631000009068ad78ebc5ac620000008112156110a5575b6856bc75e2d631000000811215611077575b682b5e3af16b1880000081121561104b575b6815af1d78b58c40000081121561101f575b680ad78ebc5ac6200000811215610ff4575b68056bc75e2d63100000811215610fc9575b6802b5e3af16b1880000811215610f9e575b68015af1d78b58c40000811215610f73575b600268056bc75e2d631000008280020505600368056bc75e2d631000008383020505600468056bc75e2d631000008483020505600568056bc75e2d631000008583020505600668056bc75e2d631000008683020505600768056bc75e2d63100000878302050590600868056bc75e2d63100000888402050592600968056bc75e2d6310000089860205059468056bc75e2d63100000600a8a88028290050597600b68056bc75e2d631000008c8b02050599600c68056bc75e2d631000008d8d0205059b0101010101010101010101010268056bc75e2d63100000900590565b026064900590565b68015af1d78b58c3ffff19019068056bc75e2d631000006806f5f17757889379379091020590610e8c565b6802b5e3af16b187ffff19019068056bc75e2d631000006808f00f760a4b2db55d9091020590610e7a565b68056bc75e2d630fffff19019068056bc75e2d63100000680ebc5fb417461211109091020590610e68565b680ad78ebc5ac61fffff19019068056bc75e2d6310000068280e60114edb805d039091020590610e56565b6815af1d78b58c3fffff19019068056bc75e2d63100000690127fa27722cc06cc5e29091020590610e44565b682b5e3af16b187fffff19019068056bc75e2d63100000693f1fce3da636ea5cf8509091020590610e32565b6856bc75e2d630ffffff19019068056bc75e2d631000006b02df0ab5a80a22c61ab5a7009091020590610e20565b6e01855144814a7ff805980ff0084000915068ad78ebc5ac61ffffff1901610e0e565b6803782dace9d900000081126110fc576803782dace9d8ffffff1901610f6b60646b1425982cf597cd205cef738092610df0565b610f6b6064600192610df0565b611114905f03610d8c565b6107fa90610d72565b5068070c1cc73b00c80000811315610da056fea2646970667358221220feeff41cfdf0686bbe25a249c4e6dc6d97008e735584beb81f8ca0d563c1a55f64736f6c634300081d003361010080604052346101a257606081610a0e803803809161002082856101a6565b8339810103126101a2576020816100386004936101dd565b61004f60406100488585016101dd565b93016101dd565b60e0526001600160a01b039081166080819052911660a05260405163313ce56760e01b815292839182905afa908115610178575f91610183575b5060a05160405163313ce56760e01b815290602090829060049082906001600160a01b03165afa9081156101785760ff9182915f91610149575b501691160160ff81116101355760ff16604d811161013557600a0a60c052604051610803908161020b823960805181818160a10152818161030901526104ce015260a05181818160f501528181610290015261051d015260c05181610164015260e05181818161035c01526105e20152f35b634e487b7160e01b5f52601160045260245ffd5b61016b915060203d602011610171575b61016381836101a6565b8101906101f1565b5f6100c3565b503d610159565b6040513d5f823e3d90fd5b61019c915060203d6020116101715761016381836101a6565b5f610089565b5f80fd5b601f909101601f19168101906001600160401b038211908210176101c957604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101a257565b908160209103126101a2575160ff811681036101a2579056fe60806040526004361015610011575f80fd5b5f3560e01c80630d8e6e2c1461062c578063313ce5671461061157806338d52e0f146105cd57806354fd4d50146104a95780637284e416146103385780638c81e999146102f45780639a6fc8f5146102bf578063cc1aa58f1461027b5763feaf968c1461007c575f80fd5b34610277575f36600319011261027757604051633fabe5a360e21b815260a0816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610244575f905f5f935f905f9361024f575b50604051633fabe5a360e21b815260a0816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa928315610244575f905f925f95610201575b5061013e610144916106ff565b916106ff565b906305f5e1008202918083046305f5e10014901517156101ed57610189917f00000000000000000000000000000000000000000000000000000000000000009161071b565b956001600160ff1b0387116101da579069ffffffffffffffffffff9493929160a097866040519816885260208801528180821091180218604086015281808210911802186060840152166080820152f35b8663123baf0360e11b5f5260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b61022e919550610144935061013e925060a03d60a01161023d575b6102268183610691565b8101906106ca565b50969094509092909150610131565b503d61021c565b6040513d5f823e3d90fd5b935050505061026d915060a03d60a01161023d576102268183610691565b919392905f6100df565b5f80fd5b34610277575f366003190112610277576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102775760203660031901126102775760043569ffffffffffffffffffff81160361027757633cad11ef60e01b5f5260045ffd5b34610277575f366003190112610277576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610277575f366003190112610277576040516395d89b4160e01b81525f816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610244575f916103fb575b6103f760206103eb60046034866040519485917302a32b936a6b0bc10383934b1b2903332b2b21d160651b828401528051918291018484015e8101630bd554d160e21b838201520301601b19810184520182610691565b60405191829182610667565b0390f35b90503d805f833e61040c8183610691565b8101906020818303126102775780519067ffffffffffffffff8211610277570181601f820112156102775780519167ffffffffffffffff83116104955760405190610461601f8501601f191660200183610691565b8382526020848401011161027757600460346103eb925f6020876103f798828099018386015e830101529450505050610394565b634e487b7160e01b5f52604160045260245ffd5b34610277575f3660031901126102775760405163054fd4d560e41b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610244575f9161059b575b5060405163054fd4d560e41b8152906020826004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610244575f90610568575b602092506040519181808210911802188152f35b506020823d602011610593575b8161058260209383610691565b810103126102775760209151610554565b3d9150610575565b90506020813d6020116105c5575b816105b660209383610691565b81010312610277575181610506565b3d91506105a9565b34610277575f366003190112610277576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610277575f36600319011261027757602060405160088152f35b34610277575f366003190112610277576103f760405161064d604082610691565b60058152640322e302e360dc1b6020820152604051918291825b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b90601f8019910116810190811067ffffffffffffffff82111761049557604052565b519069ffffffffffffffffffff8216820361027757565b908160a0910312610277576106de816106b3565b916020820151916040810151916106fc6080606084015193016106b3565b90565b5f81126107095790565b635467221960e11b5f5260045260245ffd5b91818302915f19818509938380861095039480860395146107ab57848311156107935790829109815f0382168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b82634e487b715f52156003026011186020526024601cfd5b5050809250156107b9570490565b634e487b7160e01b5f52601260045260245ffdfea2646970667358221220128a9c9e86210216a1632bb7da93463f6311643d0dd0bb86c3b283062d5f431e64736f6c634300081d0033267414677ceca63d62c06c1e2bf28562f035b09d667af0fc108c017e34f6d700a2646970667358221220b1ec520349b42c9168cebb23d368fb236d01f4701db3a116107f90704d7d061f64736f6c634300081d0033
0x6080806040526004361015610012575f80fd5b5f3560e01c9081630d8e6e2c146102d857508063376ceb871461024a5780634454eb5e146101dd578063aad236db1461011e5763fbf2f56a14610053575f80fd5b3461011a57606036600319011261011a5761006c610343565b610074610359565b906044356001600160a01b0381169081900361011a5760405192610a0e918285019185831067ffffffffffffffff84111761010657606094869461272486396001600160a01b03908116845216602083015260408201520301905ff080156100fb576040516020916001600160a01b0316805f5160206131325f395f51905f525f80a28152f35b6040513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b5f80fd5b3461011a57608036600319011261011a57610137610343565b61013f610359565b9060443563ffffffff811680910361011a576064356001600160a01b038116939084900361011a576040519361164e928386019286841067ffffffffffffffff8511176101065760809587956110d687396001600160a01b039081168552166020840152604083015260608201520301905ff080156100fb576040516020916001600160a01b0316805f5160206131325f395f51905f525f80a28152f35b3461011a57602036600319011261011a576040516103868082019082821067ffffffffffffffff831117610106576020918391610d50833960043581520301905ff080156100fb576040516020916001600160a01b0316805f5160206131325f395f51905f525f80a28152f35b3461011a57604036600319011261011a57610263610343565b61026b610359565b90604051916109e0908184019084821067ffffffffffffffff83111761010657604093859361037085396001600160a01b0390811683521660208201520301905ff080156100fb576040516020916001600160a01b0316805f5160206131325f395f51905f525f80a28152f35b3461011a575f36600319011261011a576040810181811067ffffffffffffffff821117610106576040526005815260406020820191640322e302e360dc1b83528151928391602083525180918160208501528484015e5f828201840152601f01601f19168101030190f35b600435906001600160a01b038216820361011a57565b602435906001600160a01b038216820361011a5756fe6101008060405234610228576040816109e080380380916100208285610251565b8339810103126102285761003f602061003883610288565b9201610288565b6001600160a01b0391821660805260a081905260405163313ce56760e01b81529116602082600481845afa9081156101c7576100876020926004945f91610234575b506102b5565b60e0526040516338d52e0f60e01b815292839182905afa9081156101c7575f916101f1575b5060405163313ce56760e01b815290602090829060049082906001600160a01b03165afa80156101c7576004915f916101d2575b5060805160405163313ce56760e01b81529260209184919082906001600160a01b03165afa9182156101c7575f92610191575b5060ff80911691160160ff811161017d5761012d906102b5565b60c05260405161071990816102c7823960805181818160960152818161047b0152610549015260a051818181610112015281816103090152610505015260c05181610171015260e0518160e50152f35b634e487b7160e01b5f52601160045260245ffd5b60ff9192506101b8829160203d6020116101c0575b6101b08183610251565b81019061029c565b929150610113565b503d6101a6565b6040513d5f823e3d90fd5b6101eb915060203d6020116101c0576101b08183610251565b5f6100e0565b90506020813d60201161022c575b8161020c60209383610251565b81010312610228576020610221600492610288565b91506100ac565b5f80fd5b3d91506101ff565b61024b9150843d86116101c0576101b08183610251565b5f610081565b601f909101601f19168101906001600160401b0382119082101761027457604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361022857565b90816020910312610228575160ff811681036102285790565b60ff16604d811161017d57600a0a9056fe60806040526004361015610011575f80fd5b5f3560e01c80630d8e6e2c14610593578063313ce5671461057857806338b276921461053457806338d52e0f146104f057806354fd4d50146104565780637284e416146102e55780639a6fc8f5146102b05763feaf968c14610071575f80fd5b3461023a575f36600319011261023a57604051633fabe5a360e21b815260a0816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610246575f905f925f935f915f93610251575b506040516303d1689d60e11b81527f00000000000000000000000000000000000000000000000000000000000000006004820152906020826024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa918215610246575f9261020e575b505f81126101fc576305f5e1008202918083046305f5e10014901517156101e857610196917f000000000000000000000000000000000000000000000000000000000000000091610631565b936001600160ff1b0385116101d5579069ffffffffffffffffffff929160a0958460405196168652602086015260408501526060840152166080820152f35b8463123baf0360e11b5f5260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b635467221960e11b5f5260045260245ffd5b9091506020813d60201161023e575b8161022a602093836105f8565b8101031261023a5751905f61014a565b5f80fd5b3d915061021d565b6040513d5f823e3d90fd5b94505050505060a0813d60a0116102a8575b8161027060a093836105f8565b8101031261023a576102818161061a565b60208201519060408301519061029e60806060860151950161061a565b919390925f6100d5565b3d9150610263565b3461023a57602036600319011261023a5760043569ffffffffffffffffffff81160361023a57633cad11ef60e01b5f5260045ffd5b3461023a575f36600319011261023a576040516395d89b4160e01b81525f816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610246575f916103a8575b6103a4602061039860046034866040519485917302a32b936a6b0bc10383934b1b2903332b2b21d160651b828401528051918291018484015e8101630bd554d160e21b838201520301601b198101845201826105f8565b604051918291826105ce565b0390f35b90503d805f833e6103b981836105f8565b81019060208183031261023a5780519067ffffffffffffffff821161023a570181601f8201121561023a5780519167ffffffffffffffff8311610442576040519061040e601f8501601f1916602001836105f8565b8382526020848401011161023a5760046034610398925f6020876103a498828099018386015e830101529450505050610341565b634e487b7160e01b5f52604160045260245ffd5b3461023a575f36600319011261023a5760405163054fd4d560e41b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610246575f906104bd575b602090604051908152f35b506020813d6020116104e8575b816104d7602093836105f8565b8101031261023a57602090516104b2565b3d91506104ca565b3461023a575f36600319011261023a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461023a575f36600319011261023a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461023a575f36600319011261023a57602060405160088152f35b3461023a575f36600319011261023a576103a46040516105b46040826105f8565b60058152640322e302e360dc1b6020820152604051918291825b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b90601f8019910116810190811067ffffffffffffffff82111761044257604052565b519069ffffffffffffffffffff8216820361023a57565b91818302915f19818509938380861095039480860395146106c157848311156106a95790829109815f0382168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b82634e487b715f52156003026011186020526024601cfd5b5050809250156106cf570490565b634e487b7160e01b5f52601260045260245ffdfea26469706673582212208a8d86f1692e65d83c33a7abadc9bd7b8b9d6781f19906e613e2de6049732b9164736f6c634300081d003360c034606657601f61038638819003918201601f19168301916001600160401b03831184841017606a578084926020946040528339810103126066575160a052604051610307908161007f823960805181610211015260a051818181608c01526101080152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80630d8e6e2c1461025b578063313ce5671461024057806338b27692146101fc57806338d52e0f146101e257806354fd4d50146101c75780637284e4161461014b5780639a6fc8f5146100d75763feaf968c14610071575f80fd5b346100d3575f3660031901126100d357604051806100cf42427f000000000000000000000000000000000000000000000000000000000000000084608091949360019360a08301965f84526020840152604083015260608201520152565b0390f35b5f80fd5b346100d35760203660031901126100d35760043569ffffffffffffffffffff8116036100d357604051806100cf42427f000000000000000000000000000000000000000000000000000000000000000084608091949360019360a08301965f84526020840152604083015260608201520152565b346100d3575f3660031901126100d357604051604081019080821067ffffffffffffffff8311176101b3576100cf91604052601b81527f5465726d4d617820436f6e7374616e74207072696365206665656400000000006020820152604051918291826102a7565b634e487b7160e01b5f52604160045260245ffd5b346100d3575f3660031901126100d357602060405160018152f35b346100d3575f3660031901126100d35760206040515f8152f35b346100d3575f3660031901126100d3576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346100d3575f3660031901126100d357602060405160088152f35b346100d3575f3660031901126100d357604051604081019080821067ffffffffffffffff8311176101b3576100cf9160405260058152640322e302e360dc1b6020820152604051918291825b602060409281835280519182918282860152018484015e5f828201840152601f01601f191601019056fea2646970667358221220b549ec669c3555233e8ad91ae1d18f3e6a4dd8fa288c1b72b5a1b9e5f527300a64736f6c634300081d003361014080604052346102b15760808161164e8038038091610020828561043d565b8339810103126102b15761003381610474565b61003f60208301610474565b9160408101519063ffffffff821682036102b1576001600160a01b039061006890606001610474565b16604051633fabe5a360e21b815260a081600481855afa9081156102bd575f916103f0575b50156103e1576001600160a01b039283166080529190921660a081905260c09290925260e052604051630b2339af60e21b815290606090829060049082905afa80156102bd575f915f91610372575b5060405163313ce56760e01b815291602090839060049082906001600160a01b03165afa9182156102bd575f92610351575b5060405163313ce56760e01b81526001600160a01b03919091169190602081600481865afa9081156102bd575f91610322575b5060ff811660ff8316105f146102dc576101639161015e916104b5565b6104c9565b80156102c857670de0b6b3a764000004610120525b6101005260805160a05160c05160405162439f4b60e91b81526001600160a01b03928316600482015263ffffffff90911660248201529160609183916044918391165afa9081156102bd575f905f92610261575b50159081610259575b501561024a5760405161116690816104e8823960805181610524015260a05181818160c8015261025c015260c05181818160a7015261065a015260e051818181610101015281816104560152818161056801526105bc0152610100518181816102e401526104e00152610120518161014e0152f35b63f989faf360e01b5f5260045ffd5b90505f6101d5565b9150506060813d6060116102b5575b8161027d6060938361043d565b810103126102b15761028e816104da565b90602081015161ffff8116036102b15760406102aa91016104da565b905f6101cc565b5f80fd5b3d9150610270565b6040513d5f823e3d90fd5b634e487b7160e01b5f52601260045260245ffd5b61015e906102e9926104b5565b80670de0b6b3a76400000290670de0b6b3a764000082040361030e5761012052610178565b634e487b7160e01b5f52601160045260245ffd5b610344915060203d60201161034a575b61033c818361043d565b81019061049c565b5f610141565b503d610332565b61036b91925060203d60201161034a5761033c818361043d565b905f61010e565b9150506060813d6060116103d9575b8161038e6060938361043d565b810103126102b1578051906001600160a01b03821682036102b1576020810151906001600160a01b03821682036102b157604001516001600160a01b038116036102b15760206100dc565b3d9150610381565b63907adecd60e01b5f5260045ffd5b905060a0813d60a011610435575b8161040b60a0938361043d565b810103126102b15761041c81610488565b5061042e608060208301519201610488565b505f61008d565b3d91506103fe565b601f909101601f19168101906001600160401b0382119082101761046057604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036102b157565b51906001600160501b03821682036102b157565b908160209103126102b1575160ff811681036102b15790565b9060ff8091169116039060ff821161030e57565b60ff16604d811161030e57600a0a90565b519081151582036102b15756fe60806040526004361015610011575f80fd5b5f3560e01c80630d8e6e2c1461067e5780631be052891461063e578063313ce5671461059757806331eb318a1461055357806334f0ed5c1461050f57806338d52e0f146104cb57806354fd4d50146104315780637284e416146102c05780639a6fc8f51461028b578063f46f16c2146102475763feaf968c14610092575f80fd5b34610230575f366003190112610230576100ec7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061071c565b604051633fabe5a360e21b815260a0816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561023c575f915f935f945f925f946101d7575b505f81126101c557610174917f000000000000000000000000000000000000000000000000000000000000000091906109ce565b936001600160ff1b0385116101b2576040805169ffffffffffffffffffff95861681526020810196909652850152606084015216608082015260a090f35b8463123baf0360e11b5f5260045260245ffd5b635467221960e11b5f5260045260245ffd5b9550509250505060a0823d60a011610234575b816101f760a093836106e3565b810103126102305761020882610705565b90602083015191604084015191610226608060608701519601610705565b929491935f610140565b5f80fd5b3d91506101ea565b6040513d5f823e3d90fd5b34610230575f366003190112610230576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102305760203660031901126102305760043569ffffffffffffffffffff81160361023057633cad11ef60e01b5f5260045ffd5b34610230575f366003190112610230576040516395d89b4160e01b81525f816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561023c575f91610383575b61037f602061037360046034866040519485917302a32b936a6b0bc10383934b1b2903332b2b21d160651b828401528051918291018484015e8101630bd554d160e21b838201520301601b198101845201826106e3565b604051918291826106b9565b0390f35b90503d805f833e61039481836106e3565b8101906020818303126102305780519067ffffffffffffffff8211610230570181601f820112156102305780519167ffffffffffffffff831161041d57604051906103e9601f8501601f1916602001836106e3565b838252602084840101116102305760046034610373925f60208761037f98828099018386015e83010152945050505061031c565b634e487b7160e01b5f52604160045260245ffd5b34610230575f3660031901126102305760405163054fd4d560e41b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561023c575f90610498575b602090604051908152f35b506020813d6020116104c3575b816104b2602093836106e3565b81010312610230576020905161048d565b3d91506104a5565b34610230575f366003190112610230576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610230575f366003190112610230576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610230575f366003190112610230576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610230575f3660031901126102305760405163313ce56760e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561023c575f90610601575b60209060ff60405191168152f35b506020813d602011610636575b8161061b602093836106e3565b81010312610230575160ff81168103610230576020906105f3565b3d915061060e565b34610230575f36600319011261023057602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610230575f3660031901126102305761037f60405161069f6040826106e3565b60058152640322e302e360dc1b6020820152604051918291825b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b90601f8019910116810190811067ffffffffffffffff82111761041d57604052565b519069ffffffffffffffffffff8216820361023057565b604051630b2339af60e21b8152906060826004816001600160a01b0385165afa801561023c575f925f91610942575b50604051633ba0b9a960e01b815292602090849060049082906001600160a01b03165afa92831561023c575f9361090e575b50604051636951ac2760e11b8152906001600160a01b0316602082600481845afa91821561023c575f926108da575b5060405163516399df60e01b815290602082600481845afa91821561023c575f9261089d575b5081610820575b501561080c575b8083106107fd57506107fa926107f591610a6b565b610cfb565b90565b91506107fa926107f591610a6b565b8083111561081b5750816107e0565b6107e0565b6040516360e0a9e160e01b81529150602090829060049082905afa90811561023c575f9161085b575b506001600160801b031643145f6107d9565b90506020813d602011610895575b81610876602093836106e3565b8101031261023057516001600160801b0381168103610230575f610849565b3d9150610869565b9091506020813d6020116108d2575b816108b9602093836106e3565b810103126102305751801515810361023057905f6107d2565b3d91506108ac565b9091506020813d602011610906575b816108f6602093836106e3565b810103126102305751905f6107ac565b3d91506108e9565b9092506020813d60201161093a575b8161092a602093836106e3565b810103126102305751915f61077d565b3d915061091d565b9250506060823d6060116109a8575b8161095e606093836106e3565b81010312610230578151916001600160a01b03831683036102305760208101516001600160a01b0381160361023057604001516001600160a01b038116810361023057602061074b565b3d9150610951565b81156109ba570490565b634e487b7160e01b5f52601260045260245ffd5b91818302915f1981850993838086109503948086039514610a5e5784831115610a465790829109815f0382168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b82634e487b715f52156003026011186020526024601cfd5b5050906107fa92506109b0565b6040516370c264df60e11b815291906001600160a01b0316602083600481845afa92831561023c575f93610cc7575b50428311610ab157505050670de0b6b3a764000090565b60405190610ac06060836106e3565b600282526020820191604036843763ffffffff610adc82610d26565b941680945260405192839163883bdbfd60e01b8352602483019060206004850152518091526044830191905f5b818110610ca8575050509181805f9403915afa90811561023c575f91610bfc575b50805160011015610be85760408101516001600160d81b0390811691610b4f90610d26565b51169003906001600160d81b038211610bd45780156109ba57428303926001600160d81b0392831691909104909116908211610bd457818102918183041490151715610bd4576301e1338090046001600160ff1b03811161023057610bb390610d8c565b5f81126102305780156109ba576ec097ce7bc90715b34b9f10000000000490565b634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b90503d805f833e610c0d81836106e3565b8101906020818303126102305780519067ffffffffffffffff8211610230570181601f820112156102305780519167ffffffffffffffff831161041d578260051b916020830193610c6160405195866106e3565b845260208085019382010191821161023057602001915b818310610c88575050505f610b2a565b82516001600160d81b038116810361023057815260209283019201610c78565b825163ffffffff16845286945060209384019390920191600101610b09565b9092506020813d602011610cf3575b81610ce3602093836106e3565b810103126102305751915f610a9a565b3d9150610cd6565b90670de0b6b3a7640000820291808304670de0b6b3a76400001490151715610bd4576107fa916109b0565b805115610be85760200190565b15610d3a57565b60405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606490fd5b80156109ba576ec097ce7bc90715b34b9f10000000000590565b680238fd42c5cf03ffff198112158061111d575b610da990610d33565b5f8112611109576107fa906806f05b59d3b200000081126110c8576806f05b59d3b1ffffff1901610f6b6064770195e54c5dd42177f53a27172fa9ec630262827000000000925b0268056bc75e2d631000009068ad78ebc5ac620000008112156110a5575b6856bc75e2d631000000811215611077575b682b5e3af16b1880000081121561104b575b6815af1d78b58c40000081121561101f575b680ad78ebc5ac6200000811215610ff4575b68056bc75e2d63100000811215610fc9575b6802b5e3af16b1880000811215610f9e575b68015af1d78b58c40000811215610f73575b600268056bc75e2d631000008280020505600368056bc75e2d631000008383020505600468056bc75e2d631000008483020505600568056bc75e2d631000008583020505600668056bc75e2d631000008683020505600768056bc75e2d63100000878302050590600868056bc75e2d63100000888402050592600968056bc75e2d6310000089860205059468056bc75e2d63100000600a8a88028290050597600b68056bc75e2d631000008c8b02050599600c68056bc75e2d631000008d8d0205059b0101010101010101010101010268056bc75e2d63100000900590565b026064900590565b68015af1d78b58c3ffff19019068056bc75e2d631000006806f5f17757889379379091020590610e8c565b6802b5e3af16b187ffff19019068056bc75e2d631000006808f00f760a4b2db55d9091020590610e7a565b68056bc75e2d630fffff19019068056bc75e2d63100000680ebc5fb417461211109091020590610e68565b680ad78ebc5ac61fffff19019068056bc75e2d6310000068280e60114edb805d039091020590610e56565b6815af1d78b58c3fffff19019068056bc75e2d63100000690127fa27722cc06cc5e29091020590610e44565b682b5e3af16b187fffff19019068056bc75e2d63100000693f1fce3da636ea5cf8509091020590610e32565b6856bc75e2d630ffffff19019068056bc75e2d631000006b02df0ab5a80a22c61ab5a7009091020590610e20565b6e01855144814a7ff805980ff0084000915068ad78ebc5ac61ffffff1901610e0e565b6803782dace9d900000081126110fc576803782dace9d8ffffff1901610f6b60646b1425982cf597cd205cef738092610df0565b610f6b6064600192610df0565b611114905f03610d8c565b6107fa90610d72565b5068070c1cc73b00c80000811315610da056fea2646970667358221220feeff41cfdf0686bbe25a249c4e6dc6d97008e735584beb81f8ca0d563c1a55f64736f6c634300081d003361010080604052346101a257606081610a0e803803809161002082856101a6565b8339810103126101a2576020816100386004936101dd565b61004f60406100488585016101dd565b93016101dd565b60e0526001600160a01b039081166080819052911660a05260405163313ce56760e01b815292839182905afa908115610178575f91610183575b5060a05160405163313ce56760e01b815290602090829060049082906001600160a01b03165afa9081156101785760ff9182915f91610149575b501691160160ff81116101355760ff16604d811161013557600a0a60c052604051610803908161020b823960805181818160a10152818161030901526104ce015260a05181818160f501528181610290015261051d015260c05181610164015260e05181818161035c01526105e20152f35b634e487b7160e01b5f52601160045260245ffd5b61016b915060203d602011610171575b61016381836101a6565b8101906101f1565b5f6100c3565b503d610159565b6040513d5f823e3d90fd5b61019c915060203d6020116101715761016381836101a6565b5f610089565b5f80fd5b601f909101601f19168101906001600160401b038211908210176101c957604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101a257565b908160209103126101a2575160ff811681036101a2579056fe60806040526004361015610011575f80fd5b5f3560e01c80630d8e6e2c1461062c578063313ce5671461061157806338d52e0f146105cd57806354fd4d50146104a95780637284e416146103385780638c81e999146102f45780639a6fc8f5146102bf578063cc1aa58f1461027b5763feaf968c1461007c575f80fd5b34610277575f36600319011261027757604051633fabe5a360e21b815260a0816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610244575f905f5f935f905f9361024f575b50604051633fabe5a360e21b815260a0816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa928315610244575f905f925f95610201575b5061013e610144916106ff565b916106ff565b906305f5e1008202918083046305f5e10014901517156101ed57610189917f00000000000000000000000000000000000000000000000000000000000000009161071b565b956001600160ff1b0387116101da579069ffffffffffffffffffff9493929160a097866040519816885260208801528180821091180218604086015281808210911802186060840152166080820152f35b8663123baf0360e11b5f5260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b61022e919550610144935061013e925060a03d60a01161023d575b6102268183610691565b8101906106ca565b50969094509092909150610131565b503d61021c565b6040513d5f823e3d90fd5b935050505061026d915060a03d60a01161023d576102268183610691565b919392905f6100df565b5f80fd5b34610277575f366003190112610277576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102775760203660031901126102775760043569ffffffffffffffffffff81160361027757633cad11ef60e01b5f5260045ffd5b34610277575f366003190112610277576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610277575f366003190112610277576040516395d89b4160e01b81525f816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610244575f916103fb575b6103f760206103eb60046034866040519485917302a32b936a6b0bc10383934b1b2903332b2b21d160651b828401528051918291018484015e8101630bd554d160e21b838201520301601b19810184520182610691565b60405191829182610667565b0390f35b90503d805f833e61040c8183610691565b8101906020818303126102775780519067ffffffffffffffff8211610277570181601f820112156102775780519167ffffffffffffffff83116104955760405190610461601f8501601f191660200183610691565b8382526020848401011161027757600460346103eb925f6020876103f798828099018386015e830101529450505050610394565b634e487b7160e01b5f52604160045260245ffd5b34610277575f3660031901126102775760405163054fd4d560e41b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610244575f9161059b575b5060405163054fd4d560e41b8152906020826004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610244575f90610568575b602092506040519181808210911802188152f35b506020823d602011610593575b8161058260209383610691565b810103126102775760209151610554565b3d9150610575565b90506020813d6020116105c5575b816105b660209383610691565b81010312610277575181610506565b3d91506105a9565b34610277575f366003190112610277576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610277575f36600319011261027757602060405160088152f35b34610277575f366003190112610277576103f760405161064d604082610691565b60058152640322e302e360dc1b6020820152604051918291825b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b90601f8019910116810190811067ffffffffffffffff82111761049557604052565b519069ffffffffffffffffffff8216820361027757565b908160a0910312610277576106de816106b3565b916020820151916040810151916106fc6080606084015193016106b3565b90565b5f81126107095790565b635467221960e11b5f5260045260245ffd5b91818302915f19818509938380861095039480860395146107ab57848311156107935790829109815f0382168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b82634e487b715f52156003026011186020526024601cfd5b5050809250156107b9570490565b634e487b7160e01b5f52601260045260245ffdfea2646970667358221220128a9c9e86210216a1632bb7da93463f6311643d0dd0bb86c3b283062d5f431e64736f6c634300081d0033267414677ceca63d62c06c1e2bf28562f035b09d667af0fc108c017e34f6d700a2646970667358221220b1ec520349b42c9168cebb23d368fb236d01f4701db3a116107f90704d7d061f64736f6c634300081d0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x22b1ce…4bf532 | 3 days agoFri, 14 Aug 2026 07:10:26 UTC | 0x267414…d700 | [0] 0x000000000000…0a6a2e88 |
| 0x25375a…13627b | 3 days agoFri, 14 Aug 2026 07:10:13 UTC | 0x267414…d700 | [0] 0x000000000000…23913f69 |
| 0x584f12…f94610 | 3 days agoFri, 14 Aug 2026 07:09:58 UTC | 0x267414…d700 | [0] 0x000000000000…1df7bf39 |
| 0x84cbf4…a0b18c | 13 days agoTue, 04 Aug 2026 07:18:18 UTC | 0x267414…d700 | [0] 0x000000000000…e6ee8689 |
| 0xcaa34e…1c4c6e | 13 days agoTue, 04 Aug 2026 07:18:10 UTC | 0x267414…d700 | [0] 0x000000000000…1dce3f7c |
| 0x783b29…a31a70 | 13 days agoTue, 04 Aug 2026 07:18:08 UTC | 0x267414…d700 | [0] 0x000000000000…4ae9ddc8 |
| 0x9f3c38…f2461d | 13 days agoTue, 04 Aug 2026 07:18:07 UTC | 0x267414…d700 | [0] 0x000000000000…ab44029a |
| 0x5c8142…462131 | 13 days agoTue, 04 Aug 2026 07:17:58 UTC | 0x267414…d700 | [0] 0x000000000000…05ccacd8 |
| 0xbcf002…ed5474 | 13 days agoTue, 04 Aug 2026 07:17:57 UTC | 0x267414…d700 | [0] 0x000000000000…ef2f3572 |
| 0x6f055c…d2ce54 | 14 days agoMon, 03 Aug 2026 08:33:08 UTC | 0x267414…d700 | [0] 0x000000000000…8f69ffda |
| 0x879120…690b26 | 14 days agoMon, 03 Aug 2026 08:32:59 UTC | 0x267414…d700 | [0] 0x000000000000…97911b36 |
| 0x083d32…375b70 | 14 days agoMon, 03 Aug 2026 08:32:50 UTC | 0x267414…d700 | [0] 0x000000000000…c91e03d1 |
| 0xfa3c32…52a4b4 | 14 days agoMon, 03 Aug 2026 08:32:44 UTC | 0x267414…d700 | [0] 0x000000000000…d49b0303 |
| 0x762a1b…4f5fa6 | 14 days agoMon, 03 Aug 2026 02:27:10 UTC | 0x267414…d700 | [0] 0x000000000000…a55a9494 |
| 0x321f8f…5e2859 | 14 days agoMon, 03 Aug 2026 02:27:08 UTC | 0x267414…d700 | [0] 0x000000000000…8026ce62 |
| 0xbf6cc4…a14d86 | 14 days agoMon, 03 Aug 2026 02:27:03 UTC | 0x267414…d700 | [0] 0x000000000000…3cd8042c |
| 0xcab834…843f6d | 14 days agoMon, 03 Aug 2026 02:27:02 UTC | 0x267414…d700 | [0] 0x000000000000…6e4d85a5 |
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x22b1ce…4bf532 | createConstantPriceFeed | 36,062,416 | 3 days agoFri, 14 Aug 2026 07:10:26 UTC | 0xf282…ffd9 | IN | TermMaxPriceFeedFactoryV2 | $0.000 ETH | 0.00000918 | |
| 0x25375a…13627b | createConstantPriceFeed | 36,062,286 | 3 days agoFri, 14 Aug 2026 07:10:13 UTC | 0xf282…ffd9 | IN | TermMaxPriceFeedFactoryV2 | $0.000 ETH | 0.00000913 | |
| 0x584f12…f94610 | createConstantPriceFeed | 36,062,138 | 3 days agoFri, 14 Aug 2026 07:09:58 UTC | 0xf282…ffd9 | IN | TermMaxPriceFeedFactoryV2 | $0.000 ETH | 0.00000916 | |
| 0x84cbf4…a0b18c | createConstantPriceFeed | 27,438,761 | 13 days agoTue, 04 Aug 2026 07:18:18 UTC | 0xf282…ffd9 | IN | TermMaxPriceFeedFactoryV2 | $0.000 ETH | 0.00000423 | |
| 0xcaa34e…1c4c6e | createConstantPriceFeed | 27,438,675 | 13 days agoTue, 04 Aug 2026 07:18:10 UTC | 0xf282…ffd9 | IN | TermMaxPriceFeedFactoryV2 | $0.000 ETH | 0.00000424 | |
| 0x783b29…a31a70 | createConstantPriceFeed | 27,438,661 | 13 days agoTue, 04 Aug 2026 07:18:08 UTC | 0xf282…ffd9 | IN | TermMaxPriceFeedFactoryV2 | $0.000 ETH | 0.00000422 | |
| 0x9f3c38…f2461d | createConstantPriceFeed | 27,438,647 | 13 days agoTue, 04 Aug 2026 07:18:07 UTC | 0xf282…ffd9 | IN | TermMaxPriceFeedFactoryV2 | $0.000 ETH | 0.00000420 | |
| 0x5c8142…462131 | createConstantPriceFeed | 27,438,561 | 13 days agoTue, 04 Aug 2026 07:17:58 UTC | 0xf282…ffd9 | IN | TermMaxPriceFeedFactoryV2 | $0.000 ETH | 0.00000422 | |
| 0xbcf002…ed5474 | createConstantPriceFeed | 27,438,547 | 13 days agoTue, 04 Aug 2026 07:17:57 UTC | 0xf282…ffd9 | IN | TermMaxPriceFeedFactoryV2 | $0.000 ETH | 0.00000420 | |
| 0x6f055c…d2ce54 | createConstantPriceFeed | 26,621,498 | 14 days agoMon, 03 Aug 2026 08:33:08 UTC | 0xf282…ffd9 | IN | TermMaxPriceFeedFactoryV2 | $0.000 ETH | 0.00000423 | |
| 0x879120…690b26 | createConstantPriceFeed | 26,621,407 | 14 days agoMon, 03 Aug 2026 08:32:59 UTC | 0xf282…ffd9 | IN | TermMaxPriceFeedFactoryV2 | $0.000 ETH | 0.00000422 | |
| 0x083d32…375b70 | createConstantPriceFeed | 26,621,325 | 14 days agoMon, 03 Aug 2026 08:32:50 UTC | 0xf282…ffd9 | IN | TermMaxPriceFeedFactoryV2 | $0.000 ETH | 0.00000425 | |
| 0xfa3c32…52a4b4 | createConstantPriceFeed | 26,621,262 | 14 days agoMon, 03 Aug 2026 08:32:44 UTC | 0xf282…ffd9 | IN | TermMaxPriceFeedFactoryV2 | $0.000 ETH | 0.00000425 | |
| 0x762a1b…4f5fa6 | createConstantPriceFeed | 26,402,581 | 14 days agoMon, 03 Aug 2026 02:27:10 UTC | 0xf282…ffd9 | IN | TermMaxPriceFeedFactoryV2 | $0.000 ETH | 0.00000420 | |
| 0x321f8f…5e2859 | createConstantPriceFeed | 26,402,567 | 14 days agoMon, 03 Aug 2026 02:27:08 UTC | 0xf282…ffd9 | IN | TermMaxPriceFeedFactoryV2 | $0.000 ETH | 0.00000424 | |
| 0xbf6cc4…a14d86 | createConstantPriceFeed | 26,402,518 | 14 days agoMon, 03 Aug 2026 02:27:03 UTC | 0xf282…ffd9 | IN | TermMaxPriceFeedFactoryV2 | $0.000 ETH | 0.00000423 | |
| 0xcab834…843f6d | createConstantPriceFeed | 26,402,504 | 14 days agoMon, 03 Aug 2026 02:27:02 UTC | 0xf282…ffd9 | IN | TermMaxPriceFeedFactoryV2 | $0.000 ETH | 0.00000421 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 36,062,416 | 3 days agoFri, 14 Aug 2026 07:10:26 UTC | 0x22b1ce…4bf532 | CREATE | createConstantPriceFeed | 0x502d…89a3 | OUT | 0x4ac5…2e88 | 0 ETH |
| 36,062,286 | 3 days agoFri, 14 Aug 2026 07:10:13 UTC | 0x25375a…13627b | CREATE | createConstantPriceFeed | 0x502d…89a3 | OUT | 0xdcbd…3f69 | 0 ETH |
| 36,062,138 | 3 days agoFri, 14 Aug 2026 07:09:58 UTC | 0x584f12…f94610 | CREATE | createConstantPriceFeed | 0x502d…89a3 | OUT | 0xb394…bf39 | 0 ETH |
| 27,438,761 | 13 days agoTue, 04 Aug 2026 07:18:18 UTC | 0x84cbf4…a0b18c | CREATE | createConstantPriceFeed | 0x502d…89a3 | OUT | 0x46ec…8689 | 0 ETH |
| 27,438,675 | 13 days agoTue, 04 Aug 2026 07:18:10 UTC | 0xcaa34e…1c4c6e | CREATE | createConstantPriceFeed | 0x502d…89a3 | OUT | 0x98a3…3f7c | 0 ETH |
| 27,438,661 | 13 days agoTue, 04 Aug 2026 07:18:08 UTC | 0x783b29…a31a70 | CREATE | createConstantPriceFeed | 0x502d…89a3 | OUT | 0x8570…ddc8 | 0 ETH |
| 27,438,647 | 13 days agoTue, 04 Aug 2026 07:18:07 UTC | 0x9f3c38…f2461d | CREATE | createConstantPriceFeed | 0x502d…89a3 | OUT | 0x28d2…029a | 0 ETH |
| 27,438,561 | 13 days agoTue, 04 Aug 2026 07:17:58 UTC | 0x5c8142…462131 | CREATE | createConstantPriceFeed | 0x502d…89a3 | OUT | 0x509b…acd8 | 0 ETH |
| 27,438,547 | 13 days agoTue, 04 Aug 2026 07:17:57 UTC | 0xbcf002…ed5474 | CREATE | createConstantPriceFeed | 0x502d…89a3 | OUT | 0xe1f5…3572 | 0 ETH |
| 26,621,498 | 14 days agoMon, 03 Aug 2026 08:33:08 UTC | 0x6f055c…d2ce54 | CREATE | createConstantPriceFeed | 0x502d…89a3 | OUT | 0x22d6…ffda | 0 ETH |
| 26,621,407 | 14 days agoMon, 03 Aug 2026 08:32:59 UTC | 0x879120…690b26 | CREATE | createConstantPriceFeed | 0x502d…89a3 | OUT | 0x14a1…1b36 | 0 ETH |
| 26,621,325 | 14 days agoMon, 03 Aug 2026 08:32:50 UTC | 0x083d32…375b70 | CREATE | createConstantPriceFeed | 0x502d…89a3 | OUT | 0xd466…03d1 | 0 ETH |
| 26,621,262 | 14 days agoMon, 03 Aug 2026 08:32:44 UTC | 0xfa3c32…52a4b4 | CREATE | createConstantPriceFeed | 0x502d…89a3 | OUT | 0xb2c0…0303 | 0 ETH |
| 26,402,581 | 14 days agoMon, 03 Aug 2026 02:27:10 UTC | 0x762a1b…4f5fa6 | CREATE | createConstantPriceFeed | 0x502d…89a3 | OUT | 0xb28c…9494 | 0 ETH |
| 26,402,567 | 14 days agoMon, 03 Aug 2026 02:27:08 UTC | 0x321f8f…5e2859 | CREATE | createConstantPriceFeed | 0x502d…89a3 | OUT | 0xdcfd…ce62 | 0 ETH |
| 26,402,518 | 14 days agoMon, 03 Aug 2026 02:27:03 UTC | 0xbf6cc4…a14d86 | CREATE | createConstantPriceFeed | 0x502d…89a3 | OUT | 0x6b21…042c | 0 ETH |
| 26,402,504 | 14 days agoMon, 03 Aug 2026 02:27:02 UTC | 0xcab834…843f6d | CREATE | createConstantPriceFeed | 0x502d…89a3 | OUT | 0x976e…85a5 | 0 ETH |