Skip to content
This repository has been archived by the owner on Nov 5, 2023. It is now read-only.

Releases: helium/blockchain-etl

Handle Transaction Hash Collisions

14 Aug 00:00
0a3f6f6
Compare
Choose a tag to compare

State channel issues caused duplicate transactions to be included in later blocks. ETL relies on transaction hashes being unique, so it failed on those existing transactions.

We now ignore existing transactions hashes at the cost of the block transaction count being of by one or two for the blocks where this occurs. This should hopefully not happen again.

Blockchain Variables and Fixups

13 Aug 20:54
Compare
Choose a tag to compare
  • Adds calming to new hotspots so they don't show as offline because they haven't synced yet
  • Adds payee actor for token burn transactions. This was missing in previous transactions and we're going to let those go as historical inaccuracy for now

NOTE: This release requires NO migrations, but is REQUIRED to pick up new chain variables that will be activated soon

Gateway Status and Location fixes

09 Aug 23:15
Compare
Choose a tag to compare
  • Bump blockchain core for libp2p improvements
  • adds peer_timestamp to gateway_status to track last seen peer record
    timestamp
  • Fix a problem where peer height was not returned correctly
  • Fixes ordering of coalesced values for gateway_status which would cause missing hotspot heights
  • Use postal_town and locality_3 to increase city lookup success

NOTE: This release requires a short migration. Make sure to stop ETL before running the migration

Owner Payer Transactions

27 Jul 20:15
019f140
Compare
Choose a tag to compare

This release fixes a problem for add_gateway and assert_location transaction where the payer is empty. The blockchain rules will interpret that as the owner taking responsibility for the payment but ETL did not take this into account.

Early ETL Crash

23 Jul 21:19
e111bac
Compare
Choose a tag to compare

On clean runs of ETL the application would crash when it came across one of the first state_channel_close_v1 transactions. This was due to state channels allowing un-added gateways to transit packets.

ETL was not handling this correctly. This will fix it by handling state channel gateways that are not in the ledger.

Required Blockchain Update

21 Jul 13:49
Compare
Choose a tag to compare
  • Handle oracle price predictions better earlier in the sync process
  • Pick up two new required chain variables in blockchain-core
  • Bump assumed valid block

Transaction Count in Stats

13 Jul 21:23
Compare
Choose a tag to compare
  • Adds total transaction count in the /v1/stats results

Oracle Price Predictions

10 Jul 21:10
Compare
Choose a tag to compare
  • Adds Oracle price predictions as a table to reflect earliest expected time and price changes
  • Breaks out gateway_status "online" fields to the values that determine that online status (poc_interval and last_challenge).
  • Upgraded blockchain core to pick up new chain variable that tightens some transaction validations

Account and Gateway Inventory

03 Jun 18:04
77c0146
Compare
Choose a tag to compare

This changes gateway_ledger and account_ledger to be proper tables (gateway_inventory, account_inventory, respectively) instead of materialized views.

These tables are updated with triggers on their sources (gateways, accounts) to keep them up to date.

This version will break running http servers which will need to be udpated to at least version 1.2.9 to account for these changes.

NOTE: This does not require a replay, but does require you to stop etl, apply migrations and start again.

NOTE: If you build from source and the build fails for enacl please remove the _build/default/lib/enacl folder and run make && make release again

State Channel Support

15 May 22:32
Compare
Choose a tag to compare
  • Picks up compression support from libp2p for gossip compression
  • Adds State Channel open/close transaction and actor support

There are a number of state channels on the main net blockchain already, if you want to pick those up you will have to do a full resync unfortunately. If you don't mind a few initial missing state channels in the database just stop, run the migrations and start up again.