diff --git a/dbt_subprojects/daily_spellbook/models/evms/evms_info.sql b/dbt_subprojects/daily_spellbook/models/evms/evms_info.sql index dcb86d95584..991164f9456 100644 --- a/dbt_subprojects/daily_spellbook/models/evms/evms_info.sql +++ b/dbt_subprojects/daily_spellbook/models/evms/evms_info.sql @@ -8,6 +8,7 @@ , "base" , "blast" , "bnb" + , "boba" , "celo" , "ethereum" , "fantom" @@ -63,7 +64,7 @@ FROM ( , (1101, 'zkevm', 'Polygon zkEVM', 'Layer 2', 'ZK Rollup', 'ETH', 0x4f9a0e7fd2bf6067db6994cf12e4495df938e6e9, 'https://zkevm.polygonscan.com/', timestamp '2023-03-24 05:30', 'Polygon', 'Ethereum', 'Ethereum', true) , (1088, 'metis_andromeda', 'Metis Andromeda', NULL, NULL, NULL, NULL, 'https://andromeda-explorer.metis.io/', timestamp '2021-11-18 22:19', 'Optimistic Virtual Machine', 'Ethereum', 'Ethereum', false) , (59144, 'linea', 'Linea', 'Layer 2', 'ZK Rollup', 'ETH', 0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f, 'https://lineascan.build/', timestamp '2023-07-06 13:15', NULL, 'Ethereum Blobs', 'Ethereum', true) - , (288, 'boba', 'Boba Network', 'Layer 2', 'Optimistic Rollup', 'ETH', NULL, 'https://bobascan.com/', timestamp '2021-10-28 05:03', 'Optimistic Virtual Machine', 'Ethereum', 'Ethereum', false) + , (288, 'boba', 'Boba Network', 'Layer 2', 'Optimistic Rollup', 'ETH', 0x4200000000000000000000000000000000000006, 'https://bobascan.com/', timestamp '2021-10-28 05:03', 'OP Stack', 'Ethereum', 'Ethereum', true) , (7700, 'canto', 'Canto', 'Layer 2', NULL, 'ETH', NULL, 'https://evm.explorer.canto.io/', timestamp '2022-07-26 19:27', NULL, 'Ethereum', 'Ethereum', false) , (420, 'optimism_goerli', 'Optimism Goerli', 'Testnet', 'Optimistic Rollup', 'GTH', 0x4200000000000000000000000000000000000006, 'https://optimism-goerli.blockscout.com/', timestamp '2022-06-09 16:55', 'OP Stack', 'Goerli', 'Goerli', false) , (1313161554, 'aurora', 'Aurora', 'Layer 2', NULL, 'ETH', 0xC9BdeEd33CD01541e1eeD10f90519d2C06Fe3feB, 'https://explorer.aurora.dev/', timestamp '2020-07-21 21:50:11', NULL, NULL, NULL, false) @@ -91,4 +92,3 @@ FROM ( , (42170, 'nova', 'Arbitrum Nova', 'Layer 2', 'Optimistic Rollup', 'ETH', 0x722e8bdd2ce80a4422e880164f2079488e115365, 'https://nova-explorer.arbitrum.io/', timestamp '2022-06-25 04:01', 'Arbitrum', 'Ethereum', 'Ethereum', true) , (2020, 'ronin', 'Ronin', 'Layer 1', null, 'RON', 0xe514d9deb7966c8be0ca922de8a064264ea6bcd4, 'https://app.roninchain.com/', timestamp '2021-01-25 10:49', NULL, NULL, NULL, true) ) AS temp_table (chain_id, blockchain, name, chain_type, rollup_type, native_token_symbol, wrapped_native_token_address, explorer_link, first_block_time, codebase, data_availability, settlement, is_on_dune) - diff --git a/dbt_subprojects/tokens/models/prices/boba/_schema.yml b/dbt_subprojects/tokens/models/prices/boba/_schema.yml new file mode 100644 index 00000000000..1a0a161aad8 --- /dev/null +++ b/dbt_subprojects/tokens/models/prices/boba/_schema.yml @@ -0,0 +1,29 @@ +version: 2 + +models: + - name: prices_boba_tokens + meta: + blockchain: boba + sector: prices + contributors: hosuke + config: + tags: ['prices', 'tokens', 'usd', 'boba'] + description: "Price tokens on Boba Network EVM chain" + data_tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - contract_address + columns: + - name: token_id + description: "Id of the token at coinpaprika. This id is required to pull the price feed data. NOTE: Not all tokens are listed at coinpaprika - consider using price data from DEX sources in this case or submit a listing request at coinpaprika." + - name: blockchain + description: "Native blockchain of the token, if any" + data_tests: + - accepted_values: + values: [ "boba" ] + - name: contract_address + description: "Contract address of the token, if any" + - name: symbol + description: "Token symbol" + - name: decimals + description: "Number of decimals for the token contract" diff --git a/dbt_subprojects/tokens/models/prices/boba/prices_boba_tokens.sql b/dbt_subprojects/tokens/models/prices/boba/prices_boba_tokens.sql new file mode 100644 index 00000000000..8480d16c5c2 --- /dev/null +++ b/dbt_subprojects/tokens/models/prices/boba/prices_boba_tokens.sql @@ -0,0 +1,28 @@ +{% set blockchain = 'boba' %} + +{{ config( + schema = 'prices_' + blockchain, + alias = 'tokens', + materialized = 'table', + file_format = 'delta', + tags = ['static'] + ) +}} + +SELECT + token_id + , '{{ blockchain }}' as blockchain + , symbol + , contract_address + , decimals +FROM +( + VALUES + ('usdt-tether', 'USDT', 0x5DE1677344D3Cb0D7D465c10b72A8f60699C062d, 6) + , ('usdc-usd-coin', 'USDC', 0x66a2A913e447d6b4BF33EFbec43aAeF87890FBbc, 6) + , ('eth-ethereum', 'WETH', 0xdeaddeaddeaddeaddeaddeaddeaddeaddead0000, 18) + , ('boba-boba-network', 'BOBA', 0xa18bF3994C0Cc6E3b63ac420308E5383f53120D7, 18) + , ('dai-dai', 'DAI', 0xf74195Bb8a5cf652411867c5C2C5b8C2a402be35, 18) + , ('frax-frax', 'FRAX', 0x7562F525106F5d54E891e005867Bf489B5988CD9, 18) + , ('bnb-binance-coin', 'BNB', 0x68ac1623ACf9eB9F88b65B5F229fE3e2c0d5789E, 18) +) as temp (token_id, symbol, contract_address, decimals) diff --git a/dbt_subprojects/tokens/models/prices/prices_native_tokens.sql b/dbt_subprojects/tokens/models/prices/prices_native_tokens.sql index f86c6a37a71..978c1669a8c 100644 --- a/dbt_subprojects/tokens/models/prices/prices_native_tokens.sql +++ b/dbt_subprojects/tokens/models/prices/prices_native_tokens.sql @@ -25,6 +25,7 @@ FROM ('avax-avalanche', null, 'AVAX', null, null), ('bch-bitcoin-cash', null, 'BCH', null, null), ('bnb-binance-coin', null, 'BNB', null, null), + ('boba-boba-network', null, 'BOBA', null, null), ('bsv-bitcoin-sv', null, 'BSV', null, null), ('btc-bitcoin', null, 'BTC', null, null), ('celo-celo', null, 'CELO', null, null), diff --git a/dbt_subprojects/tokens/models/prices/prices_tokens.sql b/dbt_subprojects/tokens/models/prices/prices_tokens.sql index 665f2adde64..9fa9d762641 100644 --- a/dbt_subprojects/tokens/models/prices/prices_tokens.sql +++ b/dbt_subprojects/tokens/models/prices/prices_tokens.sql @@ -11,6 +11,7 @@ , "bitcoin" , "blast" , "bnb" + , "boba" , "cardano" , "celo" , "ethereum" @@ -64,6 +65,7 @@ ref('prices_native_tokens') ,ref('prices_kaia_tokens') ,ref('prices_tron_tokens') ,ref('prices_ronin_tokens') +,ref('prices_boba_tokens') ] %} diff --git a/dbt_subprojects/tokens/models/prices/prices_trusted_tokens.sql b/dbt_subprojects/tokens/models/prices/prices_trusted_tokens.sql index 37ad50a9faa..613aca4cf83 100644 --- a/dbt_subprojects/tokens/models/prices/prices_trusted_tokens.sql +++ b/dbt_subprojects/tokens/models/prices/prices_trusted_tokens.sql @@ -47,6 +47,13 @@ WITH trusted_tokens AS ( , ('bnb', 0x2170ed0880ac9a755fd29b2688956bd959f933f8) , ('bnb', 0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c) , ('bnb', 0x1af3f329e8be154074d8769d1ffa4ee058b1dbc3) + , ('boba', 0x5DE1677344D3Cb0D7D465c10b72A8f60699C062d) + , ('boba', 0x66a2A913e447d6b4BF33EFbec43aAeF87890FBbc) + , ('boba', 0xdeaddeaddeaddeaddeaddeaddeaddeaddead0000) + , ('boba', 0xa18bF3994C0Cc6E3b63ac420308E5383f53120D7) + , ('boba', 0xf74195Bb8a5cf652411867c5C2C5b8C2a402be35) + , ('boba', 0x7562F525106F5d54E891e005867Bf489B5988CD9) + , ('boba', 0x68ac1623ACf9eB9F88b65B5F229fE3e2c0d5789E) , ('celo', 0x765de816845861e75a25fca122bb6898b8b1282a) , ('celo', 0x471ece3750da237f93b8e339c536989b8978a438) , ('celo', 0xceba9300f2b948710d2653dd7b07f33a8b32118c) diff --git a/dbt_subprojects/tokens/models/tokens/_schema.yml b/dbt_subprojects/tokens/models/tokens/_schema.yml index 5b5784747a1..bb64ce8a7d8 100644 --- a/dbt_subprojects/tokens/models/tokens/_schema.yml +++ b/dbt_subprojects/tokens/models/tokens/_schema.yml @@ -3,11 +3,11 @@ version: 2 models: - name: tokens_erc20 meta: - blockchain: arbitrum, avalanche_c, bnb, ethereum, gnosis, mantle, optimism, fantom, polygon, base, blast, sepolia, sei, nova, worldchain, kaia, ronin + blockchain: arbitrum, avalanche_c, bnb, ethereum, gnosis, mantle, optimism, fantom, polygon, base, blast, sepolia, sei, nova, worldchain, kaia, ronin, boba sector: tokens contributors: hildobby, 0xManny, dot2dotseurat, soispoke, mtitus6, wuligy, angus_1, Henrystats, viniabussafi, jeff-dude, rantum, hosuke config: - tags: ['tokens','erc20', 'arbitrum', 'avalanche_c', 'bnb', 'ethereum', 'gnosis', 'mantle', 'optimism', 'fantom', 'base', 'blast', 'sei', 'nova', 'linea', 'worldchain', 'kaia', 'ronin'] + tags: ['tokens','erc20', 'arbitrum', 'avalanche_c', 'bnb', 'ethereum', 'gnosis', 'mantle', 'optimism', 'fantom', 'base', 'blast', 'sei', 'nova', 'linea', 'worldchain', 'kaia', 'ronin', 'boba'] description: > Crosschain ERC20 tokens data_tests: diff --git a/dbt_subprojects/tokens/models/tokens/boba/_schema.yml b/dbt_subprojects/tokens/models/tokens/boba/_schema.yml new file mode 100644 index 00000000000..61083aa8444 --- /dev/null +++ b/dbt_subprojects/tokens/models/tokens/boba/_schema.yml @@ -0,0 +1,21 @@ +version: 2 + +models: + - name: tokens_boba_erc20 + meta: + blockchain: boba + sector: tokens + project: erc20 + contributors: hosuke + config: + tags: ['table', 'erc20', 'boba'] + description: "ERC20 Token Addresses, Symbols and Decimals on Boba Network" + columns: + - name: contract_address + description: "ERC20 token contract address" + data_tests: + - unique + - name: symbol + description: "ERC20 token symbol" + - name: decimals + description: "Number of decimals, refers to how divisible an ERC20 token can be" diff --git a/dbt_subprojects/tokens/models/tokens/boba/tokens_boba_erc20.sql b/dbt_subprojects/tokens/models/tokens/boba/tokens_boba_erc20.sql new file mode 100644 index 00000000000..4d812cedd8e --- /dev/null +++ b/dbt_subprojects/tokens/models/tokens/boba/tokens_boba_erc20.sql @@ -0,0 +1,21 @@ +{{ + config( + schema = 'tokens_boba' + ,alias = 'erc20' + ,tags = ['static'] + ,materialized = 'table' + ) +}} + +SELECT + contract_address + , symbol + , decimals +FROM (VALUES + (0xa18bf3994c0cc6e3b63ac420308e5383f53120d7, 'BOBA', 18) + , (0xdeaddeaddeaddeaddeaddeaddeaddeaddead0000, 'ETH', 18) + , (0x66a2a913e447d6b4bf33efbec43aaef87890fbbc, 'USDC', 6) + , (0x5de1677344d3cb0d7d465c10b72a8f60699c062d, 'USDT', 6) + , (0xf74195bb8a5cf652411867c5c2c5b8c2a402be35, 'DAI', 18) + , (0xd203de32170130082896b4111edf825a4774c18e, 'WETH', 18) +) as temp (contract_address, symbol, decimals) diff --git a/dbt_subprojects/tokens/models/tokens/tokens_erc20.sql b/dbt_subprojects/tokens/models/tokens/tokens_erc20.sql index c50255ecaf7..4371252253b 100644 --- a/dbt_subprojects/tokens/models/tokens/tokens_erc20.sql +++ b/dbt_subprojects/tokens/models/tokens/tokens_erc20.sql @@ -10,6 +10,7 @@ ,"base" ,"blast" ,"bnb" + ,"boba" ,"celo" ,"ethereum" ,"fantom" @@ -71,6 +72,7 @@ ,'tokens_tron': {'blockchain': 'tron', 'model': ref('tokens_tron_erc20')} ,'tokens_ronin': {'blockchain': 'ronin', 'model': ref('tokens_ronin_erc20')} ,'tokens_bob': {'blockchain': 'bob', 'model': ref('tokens_bob_erc20')} + ,'tokens_boba': {'blockchain': 'boba', 'model': ref('tokens_boba_erc20')} } %} with automated_source as ( diff --git a/scripts/token_checker.py b/scripts/token_checker.py index 8f0c4f1cfcf..16da52aaacc 100644 --- a/scripts/token_checker.py +++ b/scripts/token_checker.py @@ -32,7 +32,8 @@ def __init__(self): "zkevm": "eth-ethereum", "ronin": "ron-ronin-token", "cardano": "ada-cardano", - "tron": "trx-tron" + "tron": "trx-tron", + "boba": "eth-ethereum" } self.tokens_by_id = self.get_tokens() self.contracts_by_chain = self.get_contracts() diff --git a/sources/_base_sources/evm/boba_base_sources.yml b/sources/_base_sources/evm/boba_base_sources.yml new file mode 100644 index 00000000000..4d9ab561dd0 --- /dev/null +++ b/sources/_base_sources/evm/boba_base_sources.yml @@ -0,0 +1,335 @@ +version: 2 + +sources: + # Boba Tables + - name: boba + description: "raw tables for the chain" + + tables: + - name: transactions + meta: + docs_slug: /evm/boba/raw/transactions + short_description: The transactions table contains detailed information about transactions on the network. + description: '{{ doc("boba_transactions_doc") }}' + + columns: + - name: block_time + description: "The exact UTC timestamp when the block containing this transaction was added to the chain" + - name: block_number + description: "The sequential number of the block containing this transaction" + - name: value + description: "Amount of ETH sent from sender to recipient (if any), measured in wei (1 ETH = 10^18 wei)" + - name: gas_limit + description: "Maximum number of gas units this transaction can consume" + - name: gas_price + description: "Price per unit of gas for this transaction, denominated in wei (1 gwei = 10^9 wei)" + - name: gas_used + description: "Actual amount of gas units consumed by this transaction's execution" + - name: max_fee_per_gas + description: "Maximum total amount per gas unit the initiator is willing to pay, including boba fee and priority fee" + - name: max_priority_fee_per_gas + description: "Maximum additional fee per gas unit the initiator is willing to pay as a tip to validators" + - name: priority_fee_per_gas + description: "Actual priority fee per gas paid to validators" + - name: nonce + description: "Sequential number representing the count of transactions sent from the sender's address" + - name: index + description: "Position of this transaction within its containing block" + - name: success + description: "Boolean flag indicating whether the transaction executed successfully (true) or failed (false)" + - name: from + description: "Address of the account that initiated and signed this transaction" + - name: to + description: "Address of the recipient account or contract for this transaction" + - name: block_hash + description: "Unique 256-bit identifier (hash) of the block containing this transaction" + - name: data + description: "Input data for the transaction, which may include function calls or contract interaction data" + - name: hash + description: "Unique 256-bit identifier (hash) of this specific transaction" + - name: type + description: "Type of transaction (e.g., legacy, EIP-1559) indicating its structure and fee mechanism" + - name: access_list + description: "List of addresses and storage keys the transaction plans to access, used for gas optimization in EIP-2930 transactions" + - name: chain_id + description: "Chain identifier for the network" + - name: block_date + description: "The UTC date of the block in which this transaction was included" + - name: l1_gas_used + description: "The gas used on Ethereum L1 to publish this L2 transaction" + - name: l1_gas_price + description: "Gas price on the L1 at the time of L2 transaction submission" + - name: l1_fee + description: "L1 Fees that the network pays to submit L2 transactions to Ethereum L1" + - name: l1_fee_scalar + description: "Scalar value used to calculate L1 fee, covering potential changes in L1 gas price and network costs" + - name: l1_block_number + description: "Block number on the L1 where this L2 transaction was batch submitted" + - name: l1_timestamp + description: "The timestamp when the L2 transaction was batched and confirmed on the L1" + - name: l1_tx_origin + description: "L1 transaction origin address for L2 transactions that were initiated on L1" + + - name: traces + meta: + docs_slug: /evm/boba/raw/traces + short_description: The traces table contains information about traces on the network. + description: '{{ doc("boba_traces_doc") }}' + columns: + - name: block_time + description: "The exact UTC timestamp when the block containing this transaction was added to the chain" + - name: block_number + description: "The sequential number of the block containing this transaction" + - name: value + description: "Amount of ETH sent from sender to recipient (if any), measured in wei (1 ETH = 10^18 wei)" + - name: gas + description: "Amount of gas allocated for this trace's execution (including gas used by child traces)" + - name: gas_used + description: "Actual amount of gas consumed by this trace's execution" + - name: block_hash + description: "Unique 256-bit identifier (hash) of the block containing this transaction" + - name: success + description: "Boolean flag indicating whether this specific trace was executed successfully (true) or reverted (false)" + - name: tx_index + description: "Position of the parent transaction within its containing block" + - name: tx_from + description: "Address that initiated the parent transaction" + - name: tx_to + description: "Recipient address of the parent transaction" + - name: sub_traces + description: "Number of child traces spawned by this trace during execution" + - name: error + description: "Error message or code if the trace execution failed" + - name: tx_success + description: "Boolean flag indicating whether the parent transaction of this trace was successful" + - name: tx_hash + description: "Unique 256-bit identifier (hash) of the parent transaction" + - name: from + description: "Address that sent this trace" + - name: to + description: "Address that received this trace" + - name: trace_address + description: "Array indicating the exact position of this trace within the trace tree of the transaction" + - name: type + description: "Type of trace (e.g., call, create, suicide) indicating the nature of the operation" + - name: address + description: "If this trace is a contract creation, this is the address of the deployed contract" + - name: code + description: "If this trace is a contract creation, this is the deployed bytecode of contract" + - name: call_type + description: "Type of call made in this trace (e.g., call, delegatecall, staticcall)" + - name: input + description: "Call data provided to this trace, often containing function signatures and parameters" + - name: output + description: "Data returned by this trace after execution" + - name: refund_address + description: "Address designated to receive any gas refund from this trace" + - name: revert_reason + description: "Reason for reversion if the trace was reverted" + - name: block_date + description: "The UTC date of the block in which this transaction was included" + + - name: traces_decoded + meta: + docs_slug: /evm/boba/decoded/traces_decoded + short_description: The `boba.traces_decoded` table contains decoded traces, including additional information based on submitted smart contracts and their ABIs. + description: '{{ doc("boba_traces_decoded_doc") }}' + columns: + - name: block_date + description: "The UTC date of the block in which this transaction was included" + - name: block_time + description: "The exact UTC timestamp when the block containing this transaction was added to the chain" + - name: block_number + description: "The sequential number of the block containing this transaction" + - name: namespace + description: "Categorical grouping or project name associated with the contract" + - name: contract_name + description: "Human-readable name of the smart contract involved in this trace" + - name: to + description: "Address of the contract or account receiving this trace" + - name: trace_address + description: "Array indicating the exact position of this trace within the trace tree of the transaction" + - name: tx_hash + description: "Unique 256-bit identifier (hash) of the parent transaction" + - name: tx_from + description: "Address that initiated the parent transaction" + - name: tx_to + description: "Recipient address of the parent transaction" + - name: signature + description: "Function signature hash" + - name: function_name + description: "Name of the specific contract function called in this trace" + + - name: logs + meta: + docs_slug: /evm/boba/raw/logs + short_description: The `boba.logs` table contains information about event logs emitted by smart contracts on the boba blockchain. + description: '{{ doc("boba_logs_doc") }}' + columns: + - name: block_date + description: "The UTC date of the block in which this transaction was included" + - name: block_time + description: "The exact UTC timestamp when the block containing this transaction was added to the chain" + - name: block_number + description: "The sequential number of the block containing this transaction" + - name: block_hash + description: "Unique 256-bit identifier (hash) of the block containing this transaction" + - name: tx_index + description: "Position of the parent transaction within its containing block" + - name: tx_hash + description: "Unique 256-bit identifier (hash) of the parent transaction" + - name: contract_address + description: "Address of the smart contract that emitted this log" + - name: topic0 + description: "First 32-byte topic, typically containing the event signature hash" + - name: topic1 + description: "Second 32-byte topic, often containing indexed event parameters" + - name: topic2 + description: "Third 32-byte topic, often containing indexed event parameters" + - name: topic3 + description: "Fourth 32-byte topic, often containing indexed event parameters" + - name: data + description: "ABI-encoded data of the log, containing non-indexed event parameters" + - name: index + description: "Position of this log within the block" + - name: tx_from + description: "Address that initiated the transaction which created this log" + - name: tx_to + description: "Recipient address of the transaction which created this log" + + - name: logs_decoded + meta: + docs_slug: /evm/boba/decoded/logs_decoded + short_description: The `boba.logs_decoded` table contains a subset of all logs for which Dune has the ABI. + description: '{{ doc("boba_logs_decoded_doc") }}' + columns: + - name: block_date + description: "The UTC date of the block in which this transaction was included" + - name: block_time + description: "The exact UTC timestamp when the block containing this transaction was added to the chain" + - name: block_number + description: "The sequential number of the block containing this transaction" + - name: namespace + description: "Categorical grouping or project name associated with the contract" + - name: contract_name + description: "Human-readable name of the smart contract" + - name: contract_address + description: "Address of the smart contract that emitted this log" + - name: tx_hash + description: "Unique 256-bit identifier (hash) of the parent transaction" + - name: tx_from + description: "Address that initiated the transaction which created this log" + - name: tx_to + description: "Recipient address of the transaction which created this log" + - name: index + description: "Position of this log within the block" + - name: signature + description: "Event signature hash" + - name: event_name + description: "Human-readable name of the event" + + - name: contracts + meta: + docs_slug: /evm/boba/raw/contracts + short_description: The `boba.contracts` table tracks decoded contracts on boba, including associated metadata such as namespace, name, address, ABI. It is populated manually by the Dune Community via [contract decoding submissions](https://dune.com/contracts/new). + description: '{{ doc("boba_contracts_doc") }}' + columns: + - name: address + description: "Unique address of the contract on the blockchain" + - name: bytecode + description: "Compiled bytecode of the contract" + - name: name + description: "Human-readable name of the contract" + - name: namespace + description: "Project or protocol name associated with the contract" + - name: abi + description: "JSON representation of the contract's Application Binary Interface" + - name: created_at + description: "Timestamp when this contract entry was created in the table" + + - name: contracts_submitted + meta: + docs_slug: /evm/boba/decoded/contracts_submitted + short_description: The `boba.contracts_submitted` table contains information about contracts submitted for decoding. + description: '{{ doc("boba_contracts_submitted_doc") }}' + columns: + - name: address + description: "Address of the submitted contract" + - name: namespace + description: "Project or protocol name associated with the contract" + - name: name + description: "Name of the submitted contract" + - name: submitted_at + description: "Timestamp when the contract was submitted for decoding" + - name: submitted_by + description: "Address or identifier of the user who submitted the contract" + + - name: creation_traces + meta: + docs_slug: /evm/boba/raw/creation_traces + short_description: The `boba.creation_traces` table contains information about contract creation traces. + description: '{{ doc("boba_creation_traces_doc") }}' + columns: + - name: block_date + description: "The UTC date of the block in which this transaction was included" + - name: block_time + description: "The exact UTC timestamp when the block containing this transaction was added to the chain" + - name: block_number + description: "The sequential number of the block containing this transaction" + - name: tx_hash + description: "Unique 256-bit identifier (hash) of the parent transaction" + - name: address + description: "Address of the created contract" + - name: from + description: "Address that created the contract" + - name: code + description: "Contract bytecode" + - name: success + description: "Whether the contract creation was successful" + - name: block_month + description: "The month of the block date" + + - name: blocks + meta: + docs_slug: /evm/boba/raw/blocks + short_description: The `boba.blocks` table contains information about blocks on the boba blockchain. + description: '{{ doc("boba_blocks_doc") }}' + columns: + - name: block_date + description: "The UTC date of the block in which this transaction was included" + - name: block_time + description: "The exact UTC timestamp when the block containing this transaction was added to the chain" + - name: block_number + description: "The sequential number of the block containing this transaction" + - name: block_hash + description: "Unique 256-bit identifier (hash) of the block containing this transaction" + - name: parent_hash + description: "Hash of the parent block" + - name: nonce + description: "Block nonce value" + - name: difficulty + description: "Block mining difficulty" + - name: gas_limit + description: "Maximum gas allowed in this block" + - name: gas_used + description: "Total gas used by all transactions in this block" + - name: miner + description: "Address of the miner/validator who produced this block" + - name: size + description: "Size of the block in bytes" + - name: total_difficulty + description: "Total chain difficulty up to this block" + - name: base_fee_per_gas + description: "Base fee per gas in this block (EIP-1559)" + - name: state_root + description: "Root hash of the state trie after this block" + - name: transactions_root + description: "Root hash of the transactions trie of this block" + - name: receipts_root + description: "Root hash of the receipts trie of this block" + - name: blob_gas_used + description: "Total blob gas used in this block" + - name: excess_blob_gas + description: "Excess blob gas in this block" + - name: parent_beacon_block_root + description: "Root hash of the parent beacon block" diff --git a/sources/_base_sources/evm/boba_docs_block.md b/sources/_base_sources/evm/boba_docs_block.md new file mode 100644 index 00000000000..90a77a0192c --- /dev/null +++ b/sources/_base_sources/evm/boba_docs_block.md @@ -0,0 +1,162 @@ +{% docs boba_transactions_doc %} + +The `boba.transactions` table contains detailed information about transactions on the Boba blockchain. It includes: + +- Block information: number, timestamp, hash +- Transaction details: hash, from_address, to_address, value +- Gas data: gas_price, gas_limit, gas_used, max_fee_per_gas, priority_fee_per_gas +- L1 data: l1_gas_used, l1_gas_price, l1_fee, l1_block_number, l1_timestamp +- Status: success or failure +- Input data for contract interactions +- Nonce and chain_id +- Transaction type and access list + +This table is used for analyzing transaction patterns, gas usage, value transfers, L1-L2 interactions, and overall network activity on Boba. + +{% enddocs %} + +{% docs boba_traces_doc %} + +The `boba.traces` table contains records of execution steps for transactions on the Boba blockchain. Each trace represents an atomic operation that modifies the state of the Ethereum Virtual Machine (EVM). Key components include: + +- Transaction hash and block information +- From and to addresses +- Value transferred +- Gas metrics (gas, gas_used) +- Input and output data +- Call type (e.g., CALL, DELEGATECALL, CREATE) +- Error information and revert reasons +- Trace address for nested calls +- L1-L2 specific information + +This table is essential for: +- Analyzing internal transactions +- Debugging smart contract interactions +- Tracking value flows through complex transactions +- Understanding contract creation and deployment +- Monitoring L1-L2 message passing + +{% enddocs %} + +{% docs boba_traces_decoded_doc %} + +The `boba.traces_decoded` table contains a subset of decoded traces from the Boba blockchain dependent on submitted smart contracts and their ABIs. It includes: + +- Block information and transaction details +- Contract name and namespace +- Decoded function names and signatures +- Trace address for execution path tracking +- Transaction origin and destination +- Function parameters (when available) + +This table is used for high level analysis of smart contract interactions. For fully decoded function calls and parameters, refer to protocol-specific decoded tables. + +{% enddocs %} + +{% docs boba_logs_doc %} + +The `boba.logs` table contains event logs emitted by smart contracts on the Boba blockchain. It includes: + +- Block information: number, timestamp, hash +- Transaction details: hash, index, from, to +- Contract address (emitting the event) +- Topic0 (event signature) +- Additional topics (indexed parameters) +- Data field (non-indexed parameters) +- Log index and transaction index + +This table is crucial for: +- Tracking on-chain events +- Monitoring contract activity +- Analyzing token transfers +- Following protocol-specific events +- Understanding L1-L2 interactions + +{% enddocs %} + +{% docs boba_logs_decoded_doc %} + +The `boba.logs_decoded` table contains a subset of decoded logs from the Boba blockchain dependent on submitted smart contracts and their ABIs. It includes: + +- Block and transaction information +- Contract details (name, namespace, address) +- Decoded event names and signatures +- Transaction origin and destination +- Event parameters (when available) + +This table is used for high level analysis of smart contract events. For fully decoded events and parameters, refer to protocol-specific decoded tables. + +{% enddocs %} + +{% docs boba_blocks_doc %} + +The `boba.blocks` table contains information about Boba blocks. It provides essential data about each block in the Boba blockchain, including: + +- Block identifiers and timestamps +- Gas metrics and size +- Consensus information (difficulty, nonce) +- State roots and receipts +- L2-specific block data +- Parent block information + +This table is fundamental for analyzing: +- Blockchain structure and growth +- Block production rates +- Network performance +- L1-L2 block relationships +- Chain reorganizations + +{% enddocs %} + +{% docs boba_contracts_doc %} + +The `boba.contracts` table tracks decoded contracts on Boba, including: + +- Contract address and bytecode +- Contract name and namespace +- Complete ABI +- Creation timestamp +- Verification status + +This table is used for: +- Contract verification and analysis +- Protocol research and monitoring +- Development and debugging +- Smart contract security analysis + +{% enddocs %} + +{% docs boba_contracts_submitted_doc %} + +The `boba.contracts_submitted` table tracks contracts submitted for decoding on Boba. It includes: + +- Contract address +- Submission metadata (timestamp, submitter) +- Contract name and namespace +- Verification status + +This table helps track the progress of contract verification and community contributions to the Boba ecosystem. + +{% enddocs %} + +{% docs boba_creation_traces_doc %} + +The `boba.creation_traces` table contains data about contract creation events on the Boba blockchain. It includes: + +- Block information and timestamps +- Transaction details +- Creator's address +- Created contract address +- Deployed contract bytecode +- Creation success status +- Gas consumption + +This table is used for: +- Analyzing contract deployment patterns +- Tracking smart contract origins +- Monitoring protocol deployments +- Understanding contract creation costs + +It's essentially a filtered version of the `boba.traces` table where `type = create`. + +{% enddocs %}