ABI is an acronym for Application Binary Interface, and it is an interface between two binary program modules at the level of machine code, not source code. Blocknative can monitor smart contract ABIs in real-time.
API is an acronym for Application Programming Interface which is an interface between computers or programs that allows information to pass between them. All of Blocknative's mempool monitoring functionality is available via APIs.
Arbitrage in the world of web3 is the same as in traditional finance and is a natural mechanism for markets to achieve equilibrium. Whereas arbitrage in the real world is usually possible due to differences in physical realities (the price of a widget is 20% higher in Country A than Country B), arbitrage in web3 is made possible by the value of assets within different web3 ecosystems. Consider a situation where the price of Ethereum is $2000 on Uniswap, but at the same time, it is $1990 on Sushiswap. An arbitrager can take advantage of this gap by buying ETH on Sushi to resell on Uniswap, instantly pocketing $10 per ETH (minus gas fees). Arbitrage is a key factor in MEV.
Arbitrum is an Ethereum layer 2 scaling solution that reduces fees and network congestion by computing transactions outside of the Ethereum Mainnet. Arbitrum's rollups use multi-round fraud proofs to verify contracts were executed correctly. Blocknative currently does not support the Arbitrum L2 blockchain.
An archival node is a full node in the blockchain that keeps a complete history of transactions and address state changes since the genesis block. Blocknative enables users to see archival mempool information on public blockchain networks.
The base fee is an algorithmically determined fee that users on the Ethereum blockchain must pay to complete a transaction. The base fee is designed to help smooth transaction fees and prevent sudden spikes by targeting 50% full blocks. Depending on how full the new block is, the Base Fee is automatically increased (the block is more than 50% full) or decreased (the block is less than 50% full).
Block Gas Estimator Feed
The Block Gas Estimator Feed estimates gas prices for the next block based upon the in-flight transactions that are currently in the mempool (pre-chain transactions). With Blocknative's Gas Platform, Dapp and wallet developers can integrate gas estimation feeds directly into their product.
A blockchain is a distributed database that is shared among the nodes of a computer network. Blockchains store a continuously growing historical ledger of information (e.g. accounts and transactions) into blocks. Blocknative builds APIs for blockchain developers, including mempool monitoring tools, blockchain notification tools, and gas estimation tools.
A bridge is an application that connects two (or more) blockchains. Bridges allows users to send digital assets from one network to another. This also commonly referred to as a "cross-chain" swapping.
Bulletproofs are short, non-interactive zero-knowledge proofs that require no trusted setup. Bulletproofs can be used to convince a verifier that an encrypted plaintext is well-formed.
A cancel transaction is a type of replacement transaction where a user submits an identical transaction with a higher gas limit so it is mined before the previous transaction. Once the new replacement transaction is confirmed, the original transaction will get dropped. Blocknative's mempool monitoring tools can track replacement transactions in real-time.
Censorship in MEV is the process of manipulating blocks to exclude specific transactions for a number of blocks. This is done, for example, to maintain an arbitrage opportunity or make a specific NFT purchase before another user. Sometimes censorship efforts will delay transactions for so long that they fail. This is especially harmful because it causes the sender to lose the gas fees spent on the transaction.
A confirmed transaction is a transaction that has been included in a block and permanently added to the blockchain. Confirmed transactions are one of the core transaction status changes users can monitor with Blocknative's mempool API across multiple blockchains and testnets.
With an increasing number of chains including different versions of the same asset (i.e. “wrapped” ETH on Avalanche or Solana) and the increasing popularity of L2 assets (ETH on Arbitrum and Optimism), cross-chain arbitrage is a field of MEV that will likely only expand in the future.
DeFi is an abbreviation of Decentralized Finance, or an open financial system that doesn’t rely on centralized authorities or intermediaries like banks to conduct financial activities permissionlessly like trading, borrowing, lending, and investing. Blocknative's APIs allow DeFi users to monitor popular DeFi Dapps like Uniswap (Ethereum) and Honeyswap (xDai).
DEX is an abbreviation for Decentralized Exchange. This type of crypto exchange enables users to transact in a direct peer-to-peer manner without any intermediary.
A dropped transaction is a transaction that was not mined and confirmed on the blockchain, and subsequently has been dropped from the transaction queue in the mempool. Common causes of dropped transactions include a low nonce value, high nonce value, and insufficient gas. Blocknative's Notify API and Mempool API offers traders visibility into dropped transactions on multiple blockchains.
Also known as Ethereum Improvement Proposal 1559, EIP-1559 was part of Ethereum's London hard fork and it was deployed across the Ethereum network on August 5th, 2021. EIP-1559 introduced a Base Fee which is paid by users and is eventually burned (i.e. removed from circulation), and it replaced the current gas limit with two values: a “long-term average target” (equal to the current gas limit), and a “hard per-block cap” (twice the current gas limit).
An EOA transaction is a transaction between one or more externally owned accounts (EOA, or an individual user in the Ethereum network). EOA transactions do not include transactions between smart contracts (internal transactions). Blocknative's APIs enable users to monitor externally owned accounts and the transactions being submitted by them.
Ethereum is a decentralized, open-source blockchain network that was launched in 2015 by its founder, Vitalik Buterin. Ethereum is the leading smart contract-enabled blockchain in the world, and it's native token, ETH, is the 2nd largest digital asset by marketcap. Blocknative's APIs support the Ethereum blockchain and the Ethereum Goerli testnet.
Ethereum 2.0 is a deprecated term that was used to describe the consensus layer of Ethereum as part of it's migration via The Merge from a Proof-of-Work consensus mechanism to Proof-of-Stake consensus. Additionally, Eth1 is now referred to as the "execution layer."
Ethereum Virtual Machine (EVM)
The Ethereum Virtual Machine (EVM) is a software application that blockchain developers use to deploy decentralized applications (Dapp) on the Ethereum blockchain. The EVM interacts with Ethereum's accounts, smart contracts, and distributed ledger. Blocknative's mempool data supports several EVM compatible blockchains including Polygon and xDAI.
A failed transaction is a transaction on the Ethereum blockchain that does not succeed, cannot be reversed, canceled, or refunded. Blocknative's mempool monitoring API allows developers to monitor failed transactions on Ethereum, Ethereum's Goerli testnet, Polygon, and xDAI.
A full node is any computer or server that downloads the entire Ethereum blockchain, address states, and validates new blocks. Miners are a common example of servers that run full nodes on the Ethereum network. Blocknative runs an extensive network of nodes and gives users access to our network so they don't have to worry about maintaining and running a node themselves.
Front-running is the process of inserting transactions before a subsequent transaction with the sole intent of making a profit from the subsequent transaction. Front-running is popular because it generates more lucrative arbitrage opportunities than would have otherwise been possible.
Gas is a unit of measurement that represents the computational effort required to complete a transaction. How much a user spends to complete a transaction is determined by the total amount of gas multiplied by the gas price. Blocknative can help builders and traders estimate their gas cost and troubleshoot gas-related issues in their Dapps via the Gas Platform API.
Gas Estimator is an ETH gas fee tracking tool built by Blocknative that inspects every pending transaction in Ethereum's mempool to probabilistically estimate transaction fees to get included in the next block. Blocknative's free tool and ETH Gas Estimator Chrome extension allow users to optimize their gas expenses and reduce failed transactions.
Gas fees are the fees users must pay in Ethereum's native currency, Ether (ETH), to complete a transaction. Gas fees are used to compensate miners for providing the computational work required to process and validate transactions. Blocknative's mempool monitoring application and gas platform tools allow builders and traders to explore, track, and optimize gas that is used in smart contracts. Check out our blog to learn more about what gas fees do.
The gas limit is the maximum amount of gas miners are authorized to consume to complete a transaction. Blocknative's gas estimator tool and Ethereum gas estimation extension can help builders and traders optimize setting gas limits.
The gas price is the amount of Ether (ETH) a user is willing to pay for every unit of gas required to complete a transaction (denominated in Gwei). Blocknative's gas estimator tool can help traders and developers optimize setting gas prices to probabilistically get transactions confirmed in the next block.
Goerli is a cross-client, community-based, proof-of-authority (PoA) Ethereum testnet where Web3 developers can test smart contracts in a sandbox. Blocknative's suite of Ethereum testnet developer tools and APIs support tracking Görli transaction status changes, decode smart contracts, and replace and trace transactions.
Gwei is one of the smallest denominations of ETH that is equivalent to 1/1,000,000,000 of 1 ETH (1 ETH = 1,000,000,000 Gwei). It is the most commonly used alternative denomination for ETH and is often used when discussing gas prices.
An internal transaction is a transaction between one smart contract and another smart contract. Internal transactions do not include EOA transactions which are transactions initiated or between one or more externally owned addresses (i.e. a user's wallet). Blocknative's transaction tracking tools allow developers to monitor and review these internal transactions in a cost-effective way.
Standing for “Just in Time” Arbitrage, JIT arbitrage occurs when a searcher sees a large swap in the mempool and then sandwiches the trade with liquidity in the underlying pool. In practice, this can look like approving DAI, depositing liquidity, swapping a large amount, and then removing the liquidity afterward.
Kovan was a Proof-of-Authority, publicly accessible Ethereum testnet. It is now deprecated.
Layer 1 refers to the main blockchain in a multi-level blockchain network. For example, Ethereum and Bitcoin are layer one blockchains. Many layer two blockchain offload resource-intense transactions to their separate blockchain, while continuing to use Ethereum's or Bitcoin's layer one blockchain for security purposes. Blocknative's blockchain developer tools support Ethereum, Polygon, and xDai.
Layer 2 (L2) refers to a secondary framework or protocol that is built on top of an existing, layer one blockchain. Layer 2 blockchains typically improve transaction speeds and cost efficiency. As Layer 2s continue to scale, mempool data gives builders looking to migrate or build new Dapps the tools to create the best user experiences. Blocknative offers mempool monitoring APIs for Polygon, a popular L2 blockchain.
A light node is a computer that connects to full nodes as a gateway to the blockchain. Light nodes do not validate blocks and do not maintain the entire blockchain and address state. Blocknative's mempool monitoring tools provide builders and traders mempool data from full nodes.
Liquidations are another type of MEV that anyone versed in traditional finance will find familiar. A liquidation occurs when the collateral used for a loan by a borrower no longer covers the value of their debt. In the world of web3, these liquidations occur automatically at the smart contract level and any participant in the ecosystem can repay the debt and claim liquidated collateral.
Liquidity is how quickly and easily an asset can be converted into cash or another asset. Decentralized exchanges like Uniswap have multiple liquidity pools where asset holders can deposit their assets where traders can buy and sell them in a decentralized way in exchange for rewards. Blocknative's mempool monitoring tools help traders track wallet activity, and track trading pairs and liquidity pools on Uniswap among other DEXs.
Loopring is an Ethereum layer 2 non-custodial exchange protocol. It utilizes ZK-rollups for higher transaction throughput and lower gas fees on trades and payments.
Max Fee Per Gas
The Max Fee is the absolute maximum amount a user is willing to pay per unit of gas (gwei) to get a transaction included in a block. Blocknative's Gas Platform API and Gas Estimator help developers and traders determine the minimum max fee required to probabilistically confirm a transaction in the next block.
Max Priority Fee
An 'optional' additional fee that is paid directly to miners, the Max Priority Fee incentivizes miners to include your transaction in a block. By monitoring mempool data, Blocknative users can accurately set their max priority fee to increase the chances that their transaction is confirmed as fast as possible.
Also known as the "transaction pool," the "transaction queue," or "pre-chain," the mempool is a set of in-memory data structures propagated across Ethereum nodes that store pending transactions before they are mined. Blocknative is the leading provider of mempool APIs and blockchain developer tools for monitoring mempool data.
Mempool Explorer is a mempool monitoring tool built by Blocknative that enables builders and traders to observe what is happening in the transaction pool in real-time. Blocknative users can create data feeds for wallets or contract addresses, build custom notifications, and make better decisions before executing a smart contract.
A Merkle root is the single top hash of a Merkle tree. It verifies all transactions within a block.
A Merkle tree, or hash tree, is a data structure used by blockchains to securely validate and summarize large data sets.
MEV (Miner Extractable Value or Maximal Extractable Value) represents the value derived from controlling transaction inclusion and ordering in a block. Searchers use MEV tools like Flashbots and Blocknative to extract value from the transaction queue by identifying opportunities and submitting a package of transactions to miners to be executed.
NFT sniping occurs when an MEV searcher utilizes front-running or censoring to monitor and outbid transactions for specific sales of NFTs.
Non-Fungible Token (NFT)
A non-fungible token (NFT) is a digital asset based on Ethereum's ERC-721 token standard that can be used to represent ownership of a variety of digital assets including art, photography, music, and more. Developers can use Blocknative for NFTs to provide users with transaction notifications, gas estimations, and confidence buying and selling NFTs.
Nonce is a number associated with Ethereum transactions that increases by one with every transaction, and a value that can only be used once. A common issue that Blocknative's pre-chain monitoring API solves is identifying nonce gaps which create stuck transactions prevent wallets from completing new transactions.
Off-chain means any transaction or data that exists outside the blockchain. Because committing every transaction on-chain can be expensive and inefficient, third-party tools like oracles that handle pricing data, or layer 2 solutions that execute a higher throughput of transactions, handle a bulk of the processing work off-chain, and will submit information on-chain at less frequent intervals.
On-chain is an umbrella term that includes any transaction or data that is available on the blockchain and visible to all nodes on the blockchain network such as mempool data, historical transactions, and account information. Blocknative's suite of blockchain developer APIs help builders and traders access, monitor, and make decisions on on-chain data in real-time.
Optimism is an Ethereum layer 2 scaling solution that utilizes optimistic rollups to improve the efficiency of Ethereum's blockchain. Optimism's rollups use single-round fraud proofs to verify the execution of contracts. Blocknative currently does not support the Optimism L2 blockchain.
Optimistic rollups are a category of Ethereum layer 2 scaling solutions. They process transactions on a separate blockchain and use fraud proofs to validate correctness. Blocknative currently does not support networks using optimistic rollups. Two examples of blockchains utilizing optimistic rollups are Optimism and Arbitrum.
The pending pool is a group of transactions in the mempool that are ready to be processed. Blocknative's mempool monitoring tools and real-time notifications give builders and traders access to this critical information, allowing them to make more informed decisions before transactions are confirmed on-chain.
Pending Simulation Transaction
A pending simulation transaction gives you access to all of the real-time mempool information of a pending transaction as if it were submitted on-chain. Blocknative's ETH transaction simulation tools give developers the ability to track internal transactions, net balance changes, function calls, and other transaction details in a simulated environment. Blocknative currently supports transaction simulations for Ethereum's mainnet.
Pending is a transaction status used to describe in-flight, pre-consensus transactions that are in the mempool and have not yet been confirmed on the blockchain. Blocknative's core mempool monitoring tools provide developers with visibility into pending transactions.
Pre-chain is another way to describe transactions that are currently in progress. Pre-chain transactions are also known as pre-consensus transactions, and are transactions that are currently in the mempool. Blocknative's suite of mempool monitoring tools enables developers to track pre-chain transactions on multiple blockchains including Ethereum, Ethereum testnets, Polygon, and xDAI.
Pre-consensus is another way to describe transactions that are currently in flight and not yet confirmed on the blockchain. Pre-consensus transactions are also known as pending transactions and pre-chain transactions. Blocknative's suite of blockchain transaction monitoring APIs helps developers track pre-consensus transactions on multiple layer one blockchains, sidechains, layer 2 networks, and testnests.
Proof of Stake
Proof of Stake (PoS) is a decentralized consensus mechanism where selected validators stake the blockchain’s native currency in exchange for rewards they earn from validating transactions. PoS consensus economically incentivizes participants to behave correctly. Blocknative offers transaction monitoring support for popular PoS networks including Ethereum, Ethereum testnets, xDai, and Polygon.
Proof of Work
Proof of Work (PoW) is a decentralized consensus mechanism that requires network participants to spend computational power and energy to generate new valid blocks. Bitcoin uses PoW to secure transactions on the Bitcoin network.
Pool Imbalance Sandwiching
This is an alternate type of sandwiching. The searcher swaps the relative sizes of distributed exchange liquidity pools during the front-run and resets them in the back-run. This type of MEV can sometimes result in the sandwiched transaction receiving almost nothing in return for their swap.
The queued pool is a pool of transactions in the mempool that are not yet ready to be processed because they are 'out of order.' Blocknative's pending transaction monitoring tools can be used to gain insights into transactions in the queued pool.
There is a class of MEV focused on taking advantage of oracle updates and rebases. The idea is to sandwich transactions around an oracle update or rebase to take advantage of this new EVM state.
Replacement transactions include 'Speed up' and 'Cancel' transactions. Blocknative's transaction monitoring tools provide replacement transaction support for Ethereum, all Ethereum testnets, and Polygon.
Rinkeby was a Proof-of-Authority testnet for Ethereum where smart contract developers could test code before deploying it to Ethereum's mainnet. Rinkeby is now deprecated.
Ropsten was an primary Ethereum testnet (test network) where blockchain developers could test their smart contract code in a live setting without spending actual money. It is now deprecated.
Sandwiching is a form of web3 market manipulation prevalent within DeFi ecosystems. It occurs when a searcher attempts to profit from an asset's price volatility. The searcher will jump ahead of the target's large purchase order, which raises the price. They will then place a sell order following the confirmation of the victim's order.
A software development kit (SDK), also known as a devkit, is a collection of software tools and programs developers can use to quickly deploy an application in their development environment. Blocknative's prechain monitoring tools are available to developers through a Mempool Explorer SDK.
Searchers are people who identify opportunities to extract value for miners, create executable packages of transactions, and submit them to miners. Blocknative offers searchers who use MEV platforms like Flashbots with MEV tools to monitor transactions, create custom notifications, and see what is happening in the transaction pool in real-time.
A side chain is a blockchain that allows tokens from one blockchain to be securely used within a completely separate blockchain, but still move back to the original chain if necessary. Sidechains like xDai are popular because they offer distinct advantages to developers including cost savings and greater transaction speed. Blocknative's developer tools offer support for popular Ethereum sidechains like xDai as well as layer 2 solutions like Polygon.
Blocknative's Simulation Platform simulates every marketable mempool transaction against the current block state in real-time and calculates the likely outcome of these transactions to give builders and traders insights into how transactions in the mempool will be executed.
A smart contract is a piece of code that executes according to it's instructions exactly like a traditional contract between two people would be executed. Smart contracts are used by developers to build decentralized applications on blockchain networks like Ethereum to enable users to permissionlessly transact in a secure way. Blocknative's smart contract developer tools provide monitoring and debugging tools for Dapp developers and traders.
Speed Up Transactions
Speed Up transactions are a type of replacement transaction that attempts to overwrite a currently pending transaction with a new transaction. A Speed Up transaction could be used by traders trying to exploit an arbitrage opportunity before their competitors. Blocknative's transaction monitoring tools offer replacement transaction notifications for Ethereum, Ethereum testnets, and Polygon.
A state channel is a layer 2 scaling solution. It allows off-chain transactions between users while only submitting the opening and closing transactions within the channel on-chain. This process significantly reduces costs and increases network throughput without compromising security.
A stuck transaction is when transactions cannot be mined. Many stuck Ethereum transactions are caused by nonce gaps, and until the nonce gap has been resolved, wallets cannot process new transactions. Blocknative's mempool monitoring tools help builders and traders identify, troubleshoot, and resolve stuck transactions.
A testnet (test network) is where developers can test protocol upgrades and smart contracts before deploying them on mainnet. Blocknative supports all major Ethereum testnets.
A tip is an 'optional' additional fee that is paid directly to miners by users to incentivize miners to include their transaction in the next block. Tips were added to Ethereum through an Ethereum Improvement Proposal (EIP-1559).
A portmanteau of the words 'token' and 'economics,' tokenomics refers to all the aspects of a cryptocurrency that can impact the price such as total supply, vesting, and utility.
Total Value Locked (TVL)
Total Value Locked (TVL) is the total value of assets locked (i.e. being used) in a specific protocol. DeFi lending protocols like Compound Finance and decentralized exchanges like Uniswap use liquidity pools which lock assets in a vault, and therefore have a TVL. Blocknative's APIs enable traders to monitor liquidity pools.
Transaction Event Stream
A transaction event stream is a real-time stream of transaction events that are happening in the mempool. Blocknative's live transaction event streams provide blockchain developers and digital asset traders with an easy way to customize and read transaction data for a competitive advantage.
When the entire block is accepted, or 'hashed,' by a miner the transaction is considered settled. As the new block propagates across the network, each node executes the transactions in the block and updates its current state. At this point, the transaction is confirmed on the blockchain. Blocknative's transaction monitoring APIs provide transaction settlement transparency so developers and traders can deliver seamless user experiences.
Blocknative's Transaction Simulation tool simulates the transactions that would execute if a transaction was published on-chain. Simulating Ethereum transactions helps traders, builders, and MEV searchers see the internal transactions that execute inside a transaction and the end result of a transaction.
The transaction status is the current state of your transaction in the blockchain. Transaction statuses include: confirmed, failed, dropped, and stuck. Blocknative's Mempool Monitoring APIs enable developers and traders to track the transaction status on multiple blockchains including Ethereum, xDAI, and Polygon. The Ethereum Georli testnest is also included.
Type 0 Transactions
Type 0 transactions are legacy transaction types from before the London hard fork in August 2021 which included the deployment of EIP-1559. Blocknative's Gas Platform API and Gas Estimator supports both Type 0 and Type 2 transactions.
Type 2 Transactions
Type 2 transactions are based on the EIP-1559 upgrades and include Base Fee, Max Priority Fee, and Max Fee Per Gas fields instead of the Gas Price field. Blocknative's Gas Platform API and Gas Estimator supports both Type 2 and Type 0 transactions.
UX is an abbreviation for User Experience, and is the design discipline for optimizing how users interact with and perceive an application, interface, or system. Blocknative's APIs can help Dapp developers improve the user experience by providing in-app transaction notifications and gas estimations.
A wallet stores a user's private keys and allows them to transact digital assets and connect with decentralized applications. A wallet does not store digital assets, rather it stores the keys which prove ownership of assets that are recorded on the blockchain's digital asset ledger. Wallets come in two main varieties: software and hardware (physical) wallets. Blocknative's Web3 Onboard and Gas APIs simplify the wallet developer experience.
Web3 is the current evolution of the internet characterized by decentralization and digital ownership, unlike Web 1.0 and Web 2.0 which were characterized by users being able to read (Web 1.0) and write (Web 2.0) content.
Wrapped Ethereum (wETH) is a tokenized version of Ether on the ERC-20 standard. wETH can always be redeemed 1:1 for ETH. It enables functionality with Dapps on Ethereum and other blockchains.
Wrapped tokens allow users to transact with cryptocurrencies via blockchains or token standards outside their original design scope. Wrapped tokens are usually created by holding the original asset in a digital vault, then issuing a "wrapped" token representing the vault assets. They allow for greater interoperability between previously non-compatible digital assets.
Wei is the smallest denomination of ETH that is equivalent to 1/1,000,000,000,000,000,000 of 1 ETH (1 ETH =1,000,000,000,000,000,000 Wei).
xDai Chain (xDai or Gnosis Chain) is a proof-of-stake (PoS) Ethereum sidechain that offers faster and cheaper transactions compared to Ethereum. The native token of xDai Chain is DAI which is pegged to the U.S. dollar and was created by MakerDAO. Blocknative offers xDai developers and traders access to Mempool Explorer, Onboard, and Notify APIs.
A zero-knowledge proof is a method of verification in which a "prover" shows possession of secretive knowledge to a "verifier" without revealing the sensitive information itself. This encryption scheme can ensure data privacy and confidentiality on a public blockchain.
A ZK or "zero-knowledge" rollup is an Ethereum layer 2 scaling solution that bundles transactions off-chain into a single cryptographic proof. This transaction is then submitted back to the main chain for validation. ZK-rollups utilize validity proofs to confirm transaction legitimacy.
Zero-Knowledge Succinct Non-interactive Arguments of Knowledge (zk-SNARKs) are a form of cryptographic proof that maintains the privacy of a transaction while validating it on a blockchain's consensus algorithm.
zkSync is an Ethereum layer 2 scaling solution. It utilizes ZK rollups to offer lower gas fees and faster transaction finality without making security compromises.
Learn more about Blocknative
Explore the Blocknative blog to stay up to date with all that our team is up to.
Introducing Ethernow: Real-Time Observability for Ethereum
Mempool Archive Quickstart: How to use Blocknative's historical Ethereum mempool data to analyze private transactions, MEV, and OFAs
Lessons Earned One Year Post-Merge: Unraveling PBS and its effect on MEV, Block Building, and the Ethereum Network
Connect with us. Build with us.
“The short seconds between when a blockchain transaction is submitted, and when it is final, is the most valuable and important moment in finance—and also the least understood. Blocknative is developing crucial infrastructure to monitor & manage blockchain transaction processing.”