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_typeselection->gov_electionproposal->gov_proposalvote->gov_voteballot->gov_ballotstake->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 bytotal_stake) - removed
deposits_limit - removed
total_delegations - removed
is_full(replaced byis_over_delegatedandis_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
stakingto only include slashable stake - changed
active_stakingto only include slashable stake - changed
inactive_stakingto 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_idtotoken_id - new
asset.tokensmap using token id as key (string) - moved
asset.symbol,asset.decimals,asset.logointoasset.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_transferscounter - block model: add
n_ticketscounter - move
smart_rollup_cementfieldcommitmentfrom 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_originationandrollup_transaction transfer_ticket(split from tx_rollup, made it an explicit op)smart_rollup_add_messagessmart_rollup_cementsmart_rollup_originatesmart_rollup_execute_outbox_messagesmart_rollup_publishsmart_rollup_recover_bondsmart_rollup_refutesmart_rollup_timeout- export ticket updates on tz1 accounts
- add Mumbai operations wrapped into
- constants model (/explorer/config/:id)
- removed all but indexer-related properties, use Tezos RPC for protocol constants instead
- tables API: removed translation from
headkeyword for cycle and block filters /explorer/account/:id/contractswill 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_delegateandupdate_consensus_key - drop
days_destroyedwithout replacement - add
code_hashfield on contract calls to help filter by receiver contract type - add Lima
ticket_updateson contract calls that mint, burn or transfer tickets
- add Lima operations
- block model
- add Lima
proposer_consensus_key_idandproposer_consensus_keyfields - add Lima
baker_consensus_key_idandbaker_consensus_keyfields
- add Lima
- account model (update statistics fields)
- replace
n_opswithn_tx_success - replace
n_ops_failedwithn_tx_failed - replace
n_txbyn_tx_outandn_tx_in - drop
token_gen_minwithout replacement - drop
token_gen_maxwithout replacement - drop
n_constantswithout replacement - drop
n_originationwithout replacement - drop
n_delegationwithout replacement - add
total_fees_usedfor total fees from tx where this account is receiver - hide
frozen_bond,lost_bond,is_activated,is_baker,is_contractflags if unused
- replace
- contract model (update statistics fields)
- replace
n_calls_successbyn_calls_in - add
n_calls_out - add
total_fees_usedfor all fees pay for calling this contract
- replace
- ticket models
- add
ticket_updatetable to track ticket updates - add
ticket_typetable to track ticket types (== ticketer, type and content)
- add
- constants model
- replace
tokens_per_rollwithminimal_stake - remove
time_between_blocks(useminimal_block_delayanddelay_increment_per_roundinstead) - remove
block_rewards_v6andendorsement_rewards_v6without replacement
- replace
- balance model
- drop
valid_untilfield and always store most recent balance
- drop
- Micheline
- add new opcodes Lima
D_LAMBDA_REC,I_LAMBDA_REC - replace deprecated opcode
TICKETwith new opcode of same name (breaking!)
- add new opcodes Lima
- ZMQ
- extended op data with new fields
code_hash,eventsandticket_updates
- extended op data with new fields
- fixes
- fix missing bigmap type annotations post Jakarta
- fix detecting protocol invoices
- fix use consistent field
volumefor 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_revelationandincrease_paid_storageoperations
- add
- account model
- store all ghost accounts (unfunded wallets that appear in smart contract storage)
- chain model
- add
ghost_accountscounter
- add
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
eventsfield to contract calls (off by default on lists, enable withstorage=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_bondfor current rollup bonds - new
lost_bondfor rollup slashes
- new balance type
- baker model
- new
active_stake
- new
- bigmap model
- add
delete_height,delete_block,delete_timefields to signal when a bigmap was removed from storage - fix returning dynamic allocated bigmaps in responses
- add
- block model
- new counter
n_rollup_calls
- new counter
- chain model
- new
total_ops_failed,total_rollup_callsandtotal_rollups
- new
- contract model
- new
storage_burncounter
- new
- flow model
- new balance category
bond - new operations types
rollup_origination,rollup_transaction,rollup_reward,rollup_penalty
- new balance category
- income model
- add
lost_accusation_fees,lost_accusation_rewards,lost_accusation_deposits,lost_seed_fees,lost_seed_rewards, - renamed
total_bondstototal_depositsto avoid name conflict with rollup bonds contribution_percentandavg_contribution_64are now counted up until position in cycle, formerly this was end of cycle which skewed numbers for the current cycle
- add
- op model
- new types
rollup_originationandrollup_transaction - rollup op arguments are packed into
parameters - new parameter fields
l2_address,methodandarguments - different rollup op types are represented as method names
- new
is_rollupflag
- new types
- snapshot model
- new
active_stake
- new
- supply model
- new
active_stake,frozen_bondsandburned_rollup(for penalties)
- new
- tip model
- removed
rollsandroll_owners - added
total_contractsandtotal_rollups
- removed
- vote model
- new
eligible_stake,quorum_stake,turnout_stake,yay_stake,nay_stake,pass_stake
- new
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
collapsetomerge(used for nesting internal and batch operations) - renamed all occurences of
delegatetobaker
- renamed API argument
- block model
- we no longer store orphan blocks
- dropped fields
endorsed_slots,fitness,is_orphan,parent_id,slot_mask,gas_priceand most counters such asn_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
prioritytoroundstorage_sizetostorage_paidn_opston_ops_appliedn_ops_implicitton_events
- operation model
- renamed
implicitoperations toevents - new global stable/unique
idinstead ofrow_id - unique
op_nevent counter inside each block (before, batch and internal operations shared the same op_n) - switched
senderandcreatoraccounts 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)
- refactored op list ids for protocol upgrade events (
- 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
accuserandoffenderinstead ofsenderandreceiver - internal ops now use
sourceinstead ofcreatorfor the outer transaction signer - ops in lists (block, account) no longer contain storage updates, use
storage=1to add - op lists default to
order=desc(most recent transactions first), useorder=ascfor previous behaviour) - renamed fields
is_implicittois_eventblock_hashtoblockdelegate_idanddelegatetobaker_idandbaker
- renamed operation types
seed_nonce_revelationtononce_revelationdouble_baking_evidencetodouble_bakingdouble_endorsement_evidencetodouble_endorsement
- added new operation and event types for Tenderbake
preendorsementfor preendorsements (only visible when block round > 0)double_preendorsementfor double signatures on preendorsementsdeposits_limitfor explicit baker deposit limit opsdepositfor explicit deposit freeze and unfreeze eventsrewardfor endorsement reward paymentsbonusfor baker bonus payments (i.e. including more than threshold endorsements)subsidyfor minting liquidity baking subsidy (was typetransactionbefore)
- renamed
- 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_minandtoken_gen_min - added new types
bonus,depositanddeposits_limitfor Ithaca
- dropped fields
- chain model
- dropped field
total_paid_bytes(duplicate oftotal_storage_bytes) - added fields
total_set_limitsandtotal_preendorsements - renamed fields
*_delegatesto*_bakers - renamed
total_double_baking_evidencestototal_double_bakings - renamed
total_double_endorsement_evidencestototal_double_endorsements - renamed
total_seed_nonce_revelationstototal_nonce_revelations
- dropped field
- cycle model
- renamed
missed_prioritiesintomissed_rounds - renamed
priority_min|max|meanintoround_min|max|mean - dropped
n_orphans
- renamed
- tip
- moved
deploymentsfrom to separate endpoint/explorer/protocols
- moved
- account model
- split account and baker data into two tables/models
- dropped all baker related fields from account
- removed
/explorer/account/{address}/managedand/explorer/account/{address}/ballotsendpoints
- income model
- added new fields
active_stake,endorsing_loss - replaced fields
double_baking_income,double_endorsing_incomewithaccusation_income - replaced fields
lost_accusation_fees,lost_accusation_rewards,lost_accusation_depositswithaccusation_loss - replaced
lost_revelation_fees,lost_revelation_rewardswithseed_loss - removed fields
n_blocks_lost,n_blocks_stolen,n_slots_missed,expected_bonds,missed_endorsing_incomewithout replacement
- added new fields
- baker model
- use
/explorer/bakers/{address}endpoint for baker-specific data, add?meta=1for baker statistics /explorer/bakers/{address}/votesto list baker votes (defaults to descending order, i.e. newest first)/explorer/bakers/{address}/endorsementsto list baker endorsements (defaults to descending order, i.e. newest first)/explorer/bakers/{address}/delegationsto 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
- use
- bigmap model
- renamed
key_hashtohashin bigmap keys and bigmap update table
- renamed
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/constantand/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
wweek,Mmonth,yyear for time-series - API: fixed future vote end date
- API: block table, series and block explorer endpoints
- removed
n_new_managed,n_new_implicitproperties - changed
n_new_accountsto count EOA only (before this also counted new contracts) - added
n_register_constant,n_contract_callsproperties
- removed
- API: chain table and series
- removed
total_implicit,total_managedproperties - changed
total_accountsto count EOA only (before this also counted new contracts) - added
total_constants,total_contract_callsproperties - added
dust_accountsanddust_delegatorsfor accounts with balance <1tez
- removed
- API: supply table and series
- renamed
burned_implicittoburned_allocation - added
burned_storage(storage fees) andburned_explicit(sent to burn address) properties
- renamed
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