Skip to main content
Version: 0.9.1

Changelog

v2024-01-15 Changes​

Oxford release v18

TL;TR​

  • new staking operations & staking related changes to all data models
  • new token index
  • new cycle index
  • new metadata structure and decoders for tzprofiles and tzdomains
  • removed rolls from all API responses
  • removed post-Ithaca endorsement operations

CLI breaking change​

  • new default -db.max_storage_entry_size=131072 (was 0 before)

Oxford Staking​

  • new stake operations
  • new balance update handling
  • new slashing behavior
  • new staking stats for accounts, bakers, chain, supply, income, snapshot
  • new issuance behavior (new constants and new RPC)

Table names (/tables API)​

  • old names are DEPRECATED but still work, may be REMOVED in a later release
  • bigmaps -> bigmap_types
  • election -> gov_election
  • proposal -> gov_proposal
  • vote -> gov_vote
  • ballot -> gov_ballot
  • stake -> gov_stake

Account model​

  • new staked_balance
  • new frozen_rewards
  • new unstaked_balance
  • new lost_stake
  • new is_staked
  • renamed frozen_bond -> frozen_rollup_bond
  • renamed lost_bond -> lost_rollup_bond

Baker model​

  • new total_stake (own and foreign slashable stake)
  • new baking_power (stake plus delegations, capped)
  • new active_stakers (number of foreign stakers)
  • new staking_edge (baker fee for staking)
  • new staking_limit (individual staking cap, lower than max protocol cap)
  • new delegation_capacity (total delegation capacity until cap)
  • new staking_capacity (total stake capacity until cap)
  • new is_over_delegated (overflow is not counted into baking power)
  • new is_over_staked (overflow counts towards delegations)
  • renamed active_stake -> own_stake
  • renamed staking_share -> network_share
  • renamed frozen_bond -> frozen_rollup_bond
  • renamed lost_bond -> lost_rollup_bond
  • removed staking_balance (replaced by total_stake)
  • removed deposits_limit
  • removed total_delegations
  • removed is_full (replaced by is_over_delegated and is_over_staked)

Block model​

  • new ai_vote
  • new ai_ema
  • renamed lb_esc_vote -> lb_vote
  • renamed lb_esc_ema -> lb_ema

Chain model​

  • new total_stakers
  • new active_stakers
  • new inactive_stakers
  • removed rolls
  • renamed rolls_owners -> eligible_bakers

Supply model​

  • new unstaking (anything in unfreeze but not withdrawn)
  • new frozen_stake (all stake)
  • new frozen_baker_stake (baker only)
  • new frozen_staker_stake (staker only)
  • changed staking to only include slashable stake
  • changed active_staking to only include slashable stake
  • changed inactive_staking to only include slashable stake
  • renamed burned_absence -> burned_offline

Income model​

  • new own_stake
  • new n_stakers
  • removed active_stake
  • removed snapshot_rolls
  • removed total_deposits

Snapshot model​

  • split snapshots into staging and real to separate actual from potential snapshots
  • queries no longer serve potential snapshots
  • new own_stake
  • new n_stakers
  • removed is_selected
  • removed active_stake
  • removed snapshot_rolls
  • removed total_deposits

Op model​

  • new types: stake, unstake, finalize_unstake, set_delegate_parameters, stake_slash
  • don't store Ithaca+ endorsements and pre-endorsements, saves 30GB (50%) storage

Flow model​

  • new kind: stake
  • new types: stake, unstake, finalize_unstake, set_delegate_parameters

Gov Vote model​

  • removed eligible_rolls
  • removed quorum_rolls
  • removed turnout_rolls
  • removed yay_rolls
  • removed nay_rolls
  • removed pass_rolls

Gov Proposal model​

  • removed rolls

Gov Ballot model​

  • removed rolls

Chain config model changes​

  • removed delay_increment_per_round

Cycle model​

  • new index for better query speed
  • new active_stakers
  • new block_reward
  • new block_bonus_per_slot
  • new max_block_reward
  • new endorsement_reward_per_slot
  • new nonce_revelation_reward
  • new vdf_revelation_reward
  • new lb_subsidy
  • renamed roll_owners -> eligible_bakers
  • renamed working_bakers -> unique_bakers
  • removed rolls
  • removed working_endorsers

Metadata model​

  • restructured token metadata handling
  • renamed asset_id to token_id
  • new asset.tokens map using token id as key (string)
  • moved asset.symbol, asset.decimals, asset.logo into asset.tokens
  • new Tezos Profiles decoder with metadata under schema/key tzprofile
  • new Tezos Domains reverse record decoder with key tzdomain
  • removed full Tezos Domains data key domain

Other relevant changes​

  • Re-fetch origination storage for store and bigmap init
  • Fix migration snapshot handling
  • Purge metadata cache on update
  • Disable storing post-Ithaca endorsements
  • Fix smart rollup flows
  • Track addresses in transfer tickets ops
  • Fix indexing broken rollup ops

v2023-05-31 Changes​

Nairobi release v17

  • chain model: add total_ticket_transfers counter
  • block model: add n_tickets counter
  • move smart_rollup_cement field commitment from input param to receipt
  • fixed docu for block table and added missing fields

v2023-02-28 Changes​

Mumbai release v16

  • op model (/exolorer/op/:id)
    • add Mumbai operations wrapped into rollup_origination and rollup_transaction
    • transfer_ticket (split from tx_rollup, made it an explicit op)
    • smart_rollup_add_messages
    • smart_rollup_cement
    • smart_rollup_originate
    • smart_rollup_execute_outbox_message
    • smart_rollup_publish
    • smart_rollup_recover_bond
    • smart_rollup_refute
    • smart_rollup_timeout
    • export ticket updates on tz1 accounts
  • constants model (/explorer/config/:id)
    • removed all but indexer-related properties, use Tezos RPC for protocol constants instead
  • tables API: removed translation from head keyword for cycle and block filters
  • /explorer/account/:id/contracts will list factory created contracts now
  • fixes
    • return raw Micheline data on broken contract call parameters
    • bigmap type detection for union types
    • handle storage burn on transfer_ticket

v2022-12-06 Changes​

Lima release v15

  • CLI: remove Cobra dependency due to lack of maintenance
    • greatly reduce binary size
    • breaking change in CLI args (see README)
  • op model
    • add Lima operations drain_delegate and update_consensus_key
    • drop days_destroyed without replacement
    • add code_hash field on contract calls to help filter by receiver contract type
    • add Lima ticket_updates on contract calls that mint, burn or transfer tickets
  • block model
    • add Lima proposer_consensus_key_id and proposer_consensus_key fields
    • add Lima baker_consensus_key_id and baker_consensus_key fields
  • account model (update statistics fields)
    • replace n_ops with n_tx_success
    • replace n_ops_failed with n_tx_failed
    • replace n_tx by n_tx_out and n_tx_in
    • drop token_gen_min without replacement
    • drop token_gen_max without replacement
    • drop n_constants without replacement
    • drop n_origination without replacement
    • drop n_delegation without replacement
    • add total_fees_used for total fees from tx where this account is receiver
    • hide frozen_bond, lost_bond, is_activated, is_baker, is_contract flags if unused
  • contract model (update statistics fields)
    • replace n_calls_success by n_calls_in
    • add n_calls_out
    • add total_fees_used for all fees pay for calling this contract
  • ticket models
    • add ticket_update table to track ticket updates
    • add ticket_type table to track ticket types (== ticketer, type and content)
  • constants model
    • replace tokens_per_roll with minimal_stake
    • remove time_between_blocks (use minimal_block_delay and delay_increment_per_round instead)
    • remove block_rewards_v6 and endorsement_rewards_v6 without replacement
  • balance model
    • drop valid_until field and always store most recent balance
  • Micheline
    • add new opcodes Lima D_LAMBDA_REC, I_LAMBDA_REC
    • replace deprecated opcode TICKET with new opcode of same name (breaking!)
  • ZMQ
    • extended op data with new fields code_hash, events and ticket_updates
  • fixes
    • fix missing bigmap type annotations post Jakarta
    • fix detecting protocol invoices
    • fix use consistent field volume for all invoices
    • fix balance history start value when out of request window

v2022-09-06 Changes​

Kathmandu release v14

Model changes

  • NEW event model
    • store events emitted from smart contract calls
  • operation model
    • add vdf_revelation and increase_paid_storage operations
  • account model
    • store all ghost accounts (unfunded wallets that appear in smart contract storage)
  • chain model
    • add ghost_accounts counter

Other changes

  • ETL: fix bake+unfreeze split from block-level balance updates (edge case mainnet Polychain baker)
  • ETL: fix protocol invoice feature
  • API: don't return deleted bigmaps
  • API: strip unused info from on-chain constants
  • API: fix bigmap metadata timestamps
  • API: add events field to contract calls (off by default on lists, enable with storage=1)
  • API: fix time series fill
  • API: remove some exotic chain configuration constants from /explorer/config
  • PROXY: refactoring and improved connection handling

v2022-06-15 Changes​

Jakarta release v13

  • support new (transaction) optimistic rollup operations
  • extend income, supply, chain, block, operation with new rollup fields
  • replace hash indexes on operation, block and bigmap tables with bloom filters
  • use active stake for governance counters in Ithaca+
  • new Micheline opcodes
  • support filter by vote period in ballot and vote tables
  • keep zero delegators in snapshot index
  • fix nested entrypoint detection (use executed entrypoint instead of called entrypoint; i.e. for nested entrypoints only leafs inside OR trees are used)

Model changes

  • account model
    • new balance type frozen_bond for current rollup bonds
    • new lost_bond for rollup slashes
  • baker model
    • new active_stake
  • bigmap model
    • add delete_height, delete_block, delete_time fields to signal when a bigmap was removed from storage
    • fix returning dynamic allocated bigmaps in responses
  • block model
    • new counter n_rollup_calls
  • chain model
    • new total_ops_failed, total_rollup_calls and total_rollups
  • contract model
    • new storage_burn counter
  • flow model
    • new balance category bond
    • new operations types rollup_origination, rollup_transaction, rollup_reward, rollup_penalty
  • income model
    • add lost_accusation_fees, lost_accusation_rewards, lost_accusation_deposits, lost_seed_fees, lost_seed_rewards,
    • renamed total_bonds to total_deposits to avoid name conflict with rollup bonds
    • contribution_percent and avg_contribution_64 are now counted up until position in cycle, formerly this was end of cycle which skewed numbers for the current cycle
  • op model
    • new types rollup_origination and rollup_transaction
    • rollup op arguments are packed into parameters
    • new parameter fields l2_address, method and arguments
    • different rollup op types are represented as method names
    • new is_rollup flag
  • snapshot model
    • new active_stake
  • supply model
    • new active_stake, frozen_bonds and burned_rollup (for penalties)
  • tip model
    • removed rolls and roll_owners
    • added total_contracts and total_rollups
  • vote model
    • new eligible_stake, quorum_stake, turnout_stake, yay_stake, nay_stake, pass_stake

v2022-03-25 Changes​

Ithaca release v12 (Tenderbake consensus)

Refactoring

  • new Ithaca operations and events
  • new baker table with baker specific data and stats
  • new balance history table and time series
  • separate endorsements from operations table
  • simplified rights table to use bitsets instead of individual rights

Breaking changes

  • general
    • renamed API argument collapse to merge (used for nesting internal and batch operations)
    • renamed all occurences of delegateto baker
  • block model
    • we no longer store orphan blocks
    • dropped fields endorsed_slots, fitness, is_orphan, parent_id, slot_mask, gas_price and most counters such as n_ops_contract, n_tx, n_activation, n_seed_nonce_revelation, n_double_baking_evidence, n_double_endorsement_evidence, n_endorsement, n_delegation, n_reveal, n_origination, n_proposal, n_ballot, n_register_constant
    • added fields proposer, proposer_id, minted_supply
    • renamed fields
      • priority to round
      • storage_size to storage_paid
      • n_ops to n_ops_applied
      • n_ops_implicit to n_events
  • operation model
    • renamed implicit operations to events
    • new global stable/unique id instead of row_id
    • unique op_n event counter inside each block (before, batch and internal operations shared the same op_n)
    • switched sender and creator accounts on internal operations such that an internal call always lists the original signer of the outer operation as sender
      • refactored op list ids for protocol upgrade events (-3), block-level events like auto (un)freeze and rewards payments (-2) and block header implicit operations like liquidity baking (-1)
    • dropped op table fields has_data, branch_height, branch_hash, branch_depth, is_orphan, is_sapling, entrypoint_id, gas_price, storage_size, has_data
    • penalty ops now use accuser and offender instead of sender and receiver
    • internal ops now use source instead of creator for the outer transaction signer
    • ops in lists (block, account) no longer contain storage updates, use storage=1 to add
    • op lists default to order=desc (most recent transactions first), use order=asc for previous behaviour)
    • renamed fields
      • is_implicit to is_event
      • block_hash to block
      • delegate_id and delegate to baker_id and baker
    • renamed operation types
      • seed_nonce_revelation to nonce_revelation
      • double_baking_evidence to double_baking
      • double_endorsement_evidence to double_endorsement
    • added new operation and event types for Tenderbake
      • preendorsement for preendorsements (only visible when block round > 0)
      • double_preendorsement for double signatures on preendorsements
      • deposits_limit for explicit baker deposit limit ops
      • deposit for explicit deposit freeze and unfreeze events
      • reward for endorsement reward payments
      • bonus for baker bonus payments (i.e. including more than threshold endorsements)
      • subsidy for minting liquidity baking subsidy (was type transaction before)
  • rights model
    • dropped individual rights in favour of per-cycle bitmaps (only round 0 baking rights and endorsing rights are available)
    • endorsements no longer store power or list of slots
    • baking rights no longer store priority/round
  • flow model
    • dropped fields account_type, op_l, op_p, op_n, op_c, op_i, token_gen_min and token_gen_min
    • added new types bonus, deposit and deposits_limit for Ithaca
  • chain model
    • dropped field total_paid_bytes (duplicate of total_storage_bytes)
    • added fields total_set_limits and total_preendorsements
    • renamed fields *_delegates to *_bakers
    • renamed total_double_baking_evidences to total_double_bakings
    • renamed total_double_endorsement_evidences to total_double_endorsements
    • renamed total_seed_nonce_revelations to total_nonce_revelations
  • cycle model
    • renamed missed_priorities into missed_rounds
    • renamed priority_min|max|mean into round_min|max|mean
    • dropped n_orphans
  • tip
    • moved deployments from to separate endpoint /explorer/protocols
  • account model
    • split account and baker data into two tables/models
    • dropped all baker related fields from account
    • removed /explorer/account/{address}/managed and /explorer/account/{address}/ballots endpoints
  • income model
    • added new fields active_stake, endorsing_loss
    • replaced fields double_baking_income, double_endorsing_income with accusation_income
    • replaced fields lost_accusation_fees, lost_accusation_rewards, lost_accusation_deposits with accusation_loss
    • replaced lost_revelation_fees, lost_revelation_rewards with seed_loss
    • removed fields n_blocks_lost, n_blocks_stolen, n_slots_missed, expected_bonds, missed_endorsing_income without replacement
  • baker model
    • use /explorer/bakers/{address} endpoint for baker-specific data, add ?meta=1 for baker statistics
    • /explorer/bakers/{address}/votes to list baker votes (defaults to descending order, i.e. newest first)
    • /explorer/bakers/{address}/endorsements to list baker endorsements (defaults to descending order, i.e. newest first)
    • /explorer/bakers/{address}/delegations to list baker delegation events (defaults to descending order, i.e. newest first)
    • /explorer/bakers/{address}/income/{cycle} returns baker income for a cycle
    • /explorer/bakers/{address}/rights/{cycle} returns baker rights and their use for a cycle
    • /explorer/bakers/{address}/delegators/{cycle} returns list of delegators at shapshot block for a cycle
  • bigmap model
    • renamed key_hash to hash in bigmap keys and bigmap update table

v2021-11-20 Changes​

Tezos Hangzhou protocol support

  • ETL: support for new Michelson smart contract on-chain views, global constants and timelocks
  • ETL: new global constants table
  • ETL: global constants are automatically injected into new originated contracts
  • API: new endpoints /tables/constant and /explorer/constant/{hash}
  • API: new typedefs for on-chain views in /explorer/contracts/{address}/script

Fixes and enhancements

  • ETL: fixed bigmap copy owner on origination
  • ETL: improved TTL block cache usage
  • API: support long collapse intervals w week, M month, y year for time-series
  • API: fixed future vote end date
  • API: block table, series and block explorer endpoints
    • removed n_new_managed, n_new_implicit properties
    • changed n_new_accounts to count EOA only (before this also counted new contracts)
    • added n_register_constant, n_contract_calls properties
  • API: chain table and series
    • removed total_implicit, total_managed properties
    • changed total_accounts to count EOA only (before this also counted new contracts)
    • added total_constants, total_contract_calls properties
    • added dust_accounts and dust_delegators for accounts with balance <1tez
  • API: supply table and series
    • renamed burned_implicit to burned_allocation
    • added burned_storage (storage fees) and burned_explicit (sent to burn address) properties

Breaking changes

  • the compact array field order of block, chain and supply tables and time-series has changed since some fields were removed and new fields were added