Instead of working with the logs and traces in their raw states, on Dune we decode smart contract activity into nice human-readable tables.
namespace.project
directory without multiple submissions.
To check for other instances of the contract, go to a blockchain explorer and look for “Similar Match Source Code” under the Contract tab. Here is an example:
<chain>_creation_traces
table and matching the code
field. If the bytecode does not match 100%, we will not decode that instance.
For example, this contract is nearly identical to this other contract in terms of bytecode, but Dune currently does not dynamically decode the first contract because we currently require a 100% bytecode match.
namespace.project
directory (e.g., Pair contract from Uniswap V2).
When you submit a contract as a factory contract, Dune verifies it by checking if the deployer (from
address) is a contract and not an EOA. This is done by querying the <chain>_creation_traces
table. If the from
address is a contract, Dune will gather all address
fields created by it for decoding.
To check if a contract is created by a factory, use a blockchain explorer to see if the “From” address in a Contract Creation transaction is a contract or an EOA. For example, this is a factory-created contract by Uniswap V3 factory.
<chain>_creation_traces
table and fetching all address
fields created by the same from
.
from
address).
Factory Decoded Contracts are deployed by a factory contract and share the same deployer address.
For example, contracts created by the Uniswap V3 Factory, such as this one and this one, are factory decoded because they share the same bytecode and deployer. These contracts will appear under the same decoded tables in the Pair for Uniswap V3 directory.