Compare commits

...
38 Commits
Author SHA1 Message Date
Ian Norden 05600e51d2 Merge pull request #59 from vulcanize/release-v3.2.0
update the pre- and post- batch sets with new meta schema and tables
2022-03-31 12:47:32 -05:00
i-norden 201cadbd49 update the pre- and post- batch sets with new meta schema and tables 2022-03-31 12:45:27 -05:00
Ian Norden 82f28ae6ba Merge pull request #53 from vulcanize/feature/known_table
Add `known_gaps` table
2022-03-31 11:12:54 -05:00
Abdul Rabbani 63e3d66cc1 Merge branch 'main' into feature/known_table 2022-03-31 12:07:28 -04:00
Abdul Rabbani 2ffb98c6f7 Change file name 2022-03-31 12:06:11 -04:00
Abdul Rabbani b2f8f63a65 Update file name 2022-03-31 10:47:29 -04:00
Abdul Rabbani e99787242e Add Migration file 2022-03-31 10:45:11 -04:00
Ian Norden d8dbd14af8 Merge pull request #54 from deep-stack/ng-watched-addresses-v3
Add a table for watched addresses (v3)
2022-03-23 07:08:59 -05:00
nabarun 679f3e8d79 Remove GO111MODULE flag when installing goose in makefile
Passing GO111MODULE=off with go get throws error. The CI fails due to this when using the makefile.
2022-03-21 17:07:46 +05:30
Abdul Rabbani a1b75c31e9 Update schema.sql 2022-03-19 09:17:48 -04:00
Abdul Rabbani 35b40e6ff7 Add known_gaps table - DO NOT MERGE YET!!
We will probably need to change the `modulus_block_number` columns name
2022-03-18 14:35:07 -04:00
nabarun a500c1a49a Add table for watched addresses in eth_meta schema 2022-03-17 19:02:05 +05:30
Ian Norden bba8a410f8 Merge pull request #50 from vulcanize/release-v3.0.7
Release v3.0.7
2022-03-07 11:12:09 -06:00
i-norden f59582ab42 indexes on receipt cid and mh_key should not be unique, as it is possible (but improbable) that two receipts can be identical 2022-02-16 14:11:23 -06:00
Ian Norden 16e17abb7e Merge pull request #47 from vulcanize/release-v3.0.6
split pk application into two parts
2022-01-26 13:09:24 -06:00
i-norden 9e7e0377a5 split pk application into two parts 2022-01-26 13:01:41 -06:00
Ian Norden 36de257357 Merge pull request #46 from vulcanize/release-v3.0.5
drop un-unique indexes
2022-01-25 12:33:34 -06:00
i-norden 0710ed1bb1 drop un-unique indexes 2022-01-25 12:31:59 -06:00
Ian Norden c4254bdff1 Merge pull request #45 from vulcanize/release-v3.0.3
prep for integrated node of v3
2022-01-25 09:29:26 -06:00
i-norden 1088313ab7 prep for integrated node of v3 2022-01-25 08:29:25 -06:00
Ian Norden ffdf0a0d4d Merge pull request #43 from vulcanize/release-v3.0.2
v3.0.2
2022-01-19 15:31:13 -06:00
i-norden edabfcc9c9 migration for applying log_cids.leaf_mh_key FK constraint to check that repair process was completed 2022-01-19 15:21:29 -06:00
Ian Norden 6612edabbe Merge pull request #41 from vulcanize/release-v3.0.1
disable and renable indexes correctly
2022-01-10 21:52:25 -06:00
i-norden ae1a6e9d31 disable and renable indexes correctly 2022-01-10 21:51:04 -06:00
Ian Norden 35a1ba7218 Merge pull request #40 from vulcanize/release-v3.0.0
Release v3.0.0
2022-01-10 12:49:57 -06:00
i-norden 4699385a21 new make targets for rolling back pre and post-batch migrations 2022-01-10 12:13:52 -06:00
i-norden a2c98550b7 mig to upgrade schema version in db; mig to remove temporary indexes for logTrie fix 2022-01-10 12:13:49 -06:00
i-norden 4ad1250ea1 split out new post-batch migration for indexes that will accelerate our logTrie repair process 2022-01-10 11:53:55 -06:00
Ian Norden 3fb695c1e6 Merge pull request #39 from vulcanize/release-v0.3.3
Release v0.3.3
2022-01-07 13:44:36 -06:00
i-norden b5b9950f1d default val for GOPATH in Makefile 2022-01-07 13:41:40 -06:00
i-norden 858d6ee85a set GO111MODULE=off when go getting 2022-01-07 13:07:57 -06:00
i-norden d313d4823e new make targets for running up migrations one at a time 2022-01-07 12:56:19 -06:00
i-norden 8b64621f46 move public.blocks PK application into own migration to be applied alone 2022-01-07 12:52:45 -06:00
i-norden 70d571e03e rename file, no schema changes 2022-01-07 12:51:29 -06:00
Ian Norden 0e865ad735 Merge pull request #37 from vulcanize/version_table
singleton table for internally recording the database schema version
2021-12-28 23:00:01 -06:00
i-norden e2f261caa9 include timestamp for when version is updated 2021-12-27 13:52:52 -06:00
i-norden 28be11187c updated uml 2021-12-27 11:41:30 -06:00
i-norden 3833fb85e2 singleton table for internally recording the database schema version 2021-12-27 11:35:32 -06:00
31 changed files with 461 additions and 140 deletions
+24 -1
View File
@@ -1,3 +1,7 @@
ifndef GOPATH
override GOPATH = $(HOME)/go
endif
BIN = $(GOPATH)/bin BIN = $(GOPATH)/bin
# Tools # Tools
@@ -44,12 +48,26 @@ rollback: $(GOOSE) checkdbvars
$(GOOSE) -dir db/migrations postgres "$(CONNECT_STRING)" down $(GOOSE) -dir db/migrations postgres "$(CONNECT_STRING)" down
pg_dump -O -s $(CONNECT_STRING) > schema.sql pg_dump -O -s $(CONNECT_STRING) > schema.sql
## Rollback to a select migration (id/timestamp) ## Rollback to a select migration (id/timestamp)
.PHONY: rollback_to .PHONY: rollback_to
rollback_to: $(GOOSE) checkmigration checkdbvars rollback_to: $(GOOSE) checkmigration checkdbvars
$(GOOSE) -dir db/migrations postgres "$(CONNECT_STRING)" down-to "$(MIGRATION)" $(GOOSE) -dir db/migrations postgres "$(CONNECT_STRING)" down-to "$(MIGRATION)"
## Rollback pre_batch_set
.PHONY: `rollback_pre_batch_set`
rollback_pre_batch_set: $(GOOSE) checkdbvars
$(GOOSE) -dir db/pre_batch_processing_migrations postgres "$(CONNECT_STRING)" down
## Rollback post_batch_set
.PHONY: rollback_post_batch_set
rollback_post_batch_set: $(GOOSE) checkdbvars
$(GOOSE) -dir db/post_batch_processing_migrations postgres "$(CONNECT_STRING)" down
## Apply the next up migration
.PHONY: migrate_up_by_one
migrate_up_by_one: $(GOOSE) checkdbvars
$(GOOSE) -dir db/migrations postgres "$(CONNECT_STRING)" up-by-one
## Apply all migrations not already run ## Apply all migrations not already run
.PHONY: migrate .PHONY: migrate
migrate: $(GOOSE) checkdbvars migrate: $(GOOSE) checkdbvars
@@ -61,6 +79,11 @@ migrate: $(GOOSE) checkdbvars
migrate_pre_batch_set: $(GOOSE) checkdbvars migrate_pre_batch_set: $(GOOSE) checkdbvars
$(GOOSE) -dir db/pre_batch_processing_migrations postgres "$(CONNECT_STRING)" up $(GOOSE) -dir db/pre_batch_processing_migrations postgres "$(CONNECT_STRING)" up
## Apply migrations to be ran after a batch processing, one-by-one
.PHONY: migrate_post_batch_set_up_by_one
migrate_post_batch_set_up_by_one: $(GOOSE) checkdbvars
$(GOOSE) -dir db/post_batch_processing_migrations postgres "$(CONNECT_STRING)" up-by-one
## Apply migrations to be ran after a batch processing ## Apply migrations to be ran after a batch processing
.PHONY: migrate_post_batch_set .PHONY: migrate_post_batch_set
migrate_post_batch_set: $(GOOSE) checkdbvars migrate_post_batch_set: $(GOOSE) checkdbvars
+4 -4
View File
@@ -1,8 +1,8 @@
-- +goose Up -- +goose Up
-- header indexes -- header indexes
CREATE INDEX block_number_index ON eth.header_cids USING brin (block_number); CREATE INDEX block_number_index ON eth.header_cids USING brin (block_number);
CREATE INDEX header_cid_index ON eth.header_cids USING btree (cid); CREATE UNIQUE INDEX header_cid_index ON eth.header_cids USING btree (cid);
CREATE INDEX header_mh_index ON eth.header_cids USING btree (mh_key); CREATE UNIQUE INDEX header_mh_index ON eth.header_cids USING btree (mh_key);
CREATE INDEX state_root_index ON eth.header_cids USING btree (state_root); CREATE INDEX state_root_index ON eth.header_cids USING btree (state_root);
CREATE INDEX timestamp_index ON eth.header_cids USING brin (timestamp); CREATE INDEX timestamp_index ON eth.header_cids USING brin (timestamp);
@@ -11,8 +11,8 @@ CREATE INDEX uncle_header_id_index ON eth.uncle_cids USING btree (header_id);
-- transaction indexes -- transaction indexes
CREATE INDEX tx_header_id_index ON eth.transaction_cids USING btree (header_id); CREATE INDEX tx_header_id_index ON eth.transaction_cids USING btree (header_id);
CREATE INDEX tx_cid_index ON eth.transaction_cids USING btree (cid); CREATE UNIQUE INDEX tx_cid_index ON eth.transaction_cids USING btree (cid);
CREATE INDEX tx_mh_index ON eth.transaction_cids USING btree (mh_key); CREATE UNIQUE INDEX tx_mh_index ON eth.transaction_cids USING btree (mh_key);
CREATE INDEX tx_dst_index ON eth.transaction_cids USING btree (dst); CREATE INDEX tx_dst_index ON eth.transaction_cids USING btree (dst);
CREATE INDEX tx_src_index ON eth.transaction_cids USING btree (src); CREATE INDEX tx_src_index ON eth.transaction_cids USING btree (src);
@@ -0,0 +1,9 @@
-- +goose Up
CREATE TABLE IF NOT EXISTS public.db_version (
singleton BOOLEAN NOT NULL DEFAULT TRUE UNIQUE CHECK (singleton),
version TEXT NOT NULL,
tstamp TIMESTAMP WITHOUT TIME ZONE DEFAULT NOW()
);
-- +goose Down
DROP TABLE public.db_version;
@@ -0,0 +1,6 @@
-- +goose Up
INSERT INTO public.db_version (singleton, version) VALUES (true, 'v3.0.0')
ON CONFLICT (singleton) DO UPDATE SET (version, tstamp) = ('v3.0.0', NOW());
-- +goose Down
DELETE FROM public.db_version WHERE version = 'v3.0.0';
@@ -0,0 +1,5 @@
-- +goose Up
CREATE SCHEMA eth_meta;
-- +goose Down
DROP SCHEMA eth_meta;
@@ -0,0 +1,10 @@
-- +goose Up
CREATE TABLE eth_meta.watched_addresses (
address VARCHAR(66) PRIMARY KEY,
created_at BIGINT NOT NULL,
watched_at BIGINT NOT NULL,
last_filled_at BIGINT NOT NULL DEFAULT 0
);
-- +goose Down
DROP TABLE eth_meta.watched_addresses;
@@ -0,0 +1,10 @@
-- +goose Up
CREATE TABLE eth_meta.known_gaps (
starting_block_number bigint PRIMARY KEY,
ending_block_number bigint,
checked_out boolean,
processing_key bigint
);
-- +goose Down
DROP TABLE eth_meta.known_gaps;
@@ -0,0 +1,7 @@
-- +goose Up
ALTER TABLE public.blocks
ADD CONSTRAINT pk_public_blocks PRIMARY KEY (key);
-- +goose Down
ALTER TABLE public.blocks
DROP CONSTRAINT pk_public_blocks;
@@ -0,0 +1,8 @@
-- +goose Up
INSERT INTO public.db_version (singleton, version) VALUES (true, 'v3.0.0')
ON CONFLICT (singleton) DO UPDATE SET (version, tstamp) = ('v3.0.0', NOW());
-- +goose Down
DELETE FROM public.db_version WHERE version = 'v3.0.0';
INSERT INTO public.db_version (singleton, version) VALUES (true, 'v0.3.2')
ON CONFLICT (singleton) DO UPDATE SET (version, tstamp) = ('v0.3.2', NOW());
@@ -0,0 +1,15 @@
-- +goose Up
CREATE INDEX log_mh_index ON eth.log_cids USING btree (leaf_mh_key);
CREATE INDEX block_number_index ON eth.header_cids USING brin (block_number);
CREATE INDEX header_block_hash_index ON eth.header_cids USING btree (block_hash);
CREATE INDEX tx_header_id_index ON eth.transaction_cids USING btree (header_id);
CREATE INDEX tx_tx_hash_index ON eth.transaction_cids USING btree (tx_hash);
CREATE INDEX log_cids_index ON eth.log_cids USING btree (rct_id, index);
-- +goose Down
DROP INDEX eth.log_cids_index;
DROP INDEX eth.tx_tx_hash_index;
DROP INDEX eth.tx_header_id_index;
DROP INDEX eth.header_block_hash_index;
DROP INDEX eth.block_number_index;
DROP INDEX eth.log_mh_index;
@@ -0,0 +1,9 @@
-- +goose Up
ALTER TABLE eth.log_cids
ADD CONSTRAINT fk_log_leaf_mh_key
FOREIGN KEY (leaf_mh_key) REFERENCES public.blocks (key)
ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
-- +goose Down
ALTER TABLE eth.log_cids
DROP CONSTRAINT fk_log_leaf_mh_key;
@@ -0,0 +1,53 @@
-- +goose Up
UPDATE pg_index
SET indisready=false
WHERE indrelid = (
SELECT oid
FROM pg_class
WHERE relname='eth.log_cids'
);
UPDATE pg_index
SET indisready=false
WHERE indrelid = (
SELECT oid
FROM pg_class
WHERE relname='eth.transaction_cids'
);
UPDATE pg_index
SET indisready=false
WHERE indrelid = (
SELECT oid
FROM pg_class
WHERE relname='eth.header_cids'
);
ALTER TABLE eth.log_cids
DROP CONSTRAINT fk_log_leaf_mh_key;
-- +goose Down
ALTER TABLE eth.log_cids
ADD CONSTRAINT fk_log_leaf_mh_key
FOREIGN KEY (leaf_mh_key) REFERENCES public.blocks (key)
ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
UPDATE pg_index
SET indisready=true
WHERE indrelid = (
SELECT oid
FROM pg_class
WHERE relname='eth.header_cids'
);
UPDATE pg_index
SET indisready=true
WHERE indrelid = (
SELECT oid
FROM pg_class
WHERE relname='eth.transaction_cids'
);
UPDATE pg_index
SET indisready=true
WHERE indrelid = (
SELECT oid
FROM pg_class
WHERE relname='eth.log_cids'
);
@@ -0,0 +1,53 @@
-- +goose Up
UPDATE pg_index
SET indisready=true
WHERE indrelid = (
SELECT oid
FROM pg_class
WHERE relname='eth.header_cids'
);
UPDATE pg_index
SET indisready=true
WHERE indrelid = (
SELECT oid
FROM pg_class
WHERE relname='eth.transaction_cids'
);
UPDATE pg_index
SET indisready=true
WHERE indrelid = (
SELECT oid
FROM pg_class
WHERE relname='eth.log_cids'
);
DROP INDEX eth.tx_header_id_index;
DROP INDEX eth.block_number_index;
DROP INDEX eth.log_mh_index;
-- +goose Down
CREATE INDEX log_mh_index ON eth.log_cids USING btree (leaf_mh_key);
CREATE INDEX block_number_index ON eth.header_cids USING brin (block_number);
CREATE INDEX tx_header_id_index ON eth.transaction_cids USING btree (header_id);
UPDATE pg_index
SET indisready=false
WHERE indrelid = (
SELECT oid
FROM pg_class
WHERE relname='eth.log_cids'
);
UPDATE pg_index
SET indisready=false
WHERE indrelid = (
SELECT oid
FROM pg_class
WHERE relname='eth.transaction_cids'
);
UPDATE pg_index
SET indisready=false
WHERE indrelid = (
SELECT oid
FROM pg_class
WHERE relname='eth.header_cids'
);
@@ -0,0 +1,9 @@
-- +goose Up
DROP INDEX eth.log_cids_index;
DROP INDEX eth.tx_tx_hash_index;
DROP INDEX eth.header_block_hash_index;
-- +goose Down
CREATE INDEX header_block_hash_index ON eth.header_cids USING btree (block_hash);
CREATE INDEX tx_tx_hash_index ON eth.transaction_cids USING btree (tx_hash);
CREATE INDEX log_cids_index ON eth.log_cids USING btree (rct_id, index);
@@ -1,7 +1,4 @@
-- +goose Up -- +goose Up
ALTER TABLE public.blocks
ADD CONSTRAINT pk_public_blocks PRIMARY KEY (key);
ALTER TABLE public.nodes ALTER TABLE public.nodes
ADD CONSTRAINT pk_public_nodes PRIMARY KEY (node_id); ADD CONSTRAINT pk_public_nodes PRIMARY KEY (node_id);
@@ -33,35 +30,32 @@ ALTER TABLE eth.state_accounts
ADD CONSTRAINT pk_eth_state_accounts PRIMARY KEY (header_id, state_path); ADD CONSTRAINT pk_eth_state_accounts PRIMARY KEY (header_id, state_path);
-- +goose Down -- +goose Down
ALTER TABLE public.blocks ALTER TABLE eth.state_accounts
DROP CONSTRAINT pk_public_blocks; DROP CONSTRAINT pk_eth_state_accounts;
ALTER TABLE public.nodes
DROP CONSTRAINT pk_public_nodes;
ALTER TABLE eth.header_cids
DROP CONSTRAINT pk_eth_header_cids;
ALTER TABLE eth.uncle_cids
DROP CONSTRAINT pk_eth_uncle_cids;
ALTER TABLE eth.transaction_cids
DROP CONSTRAINT pk_eth_transaction_cids;
ALTER TABLE eth.receipt_cids
DROP CONSTRAINT pk_eth_receipt_cids;
ALTER TABLE eth.access_list_elements
DROP CONSTRAINT pk_eth_access_list_elements;
ALTER TABLE eth.log_cids
DROP CONSTRAINT pk_eth_log_cids;
ALTER TABLE eth.state_cids
DROP CONSTRAINT pk_eth_state_cids;
ALTER TABLE eth.storage_cids ALTER TABLE eth.storage_cids
DROP CONSTRAINT pk_eth_storage_cids; DROP CONSTRAINT pk_eth_storage_cids;
ALTER TABLE eth.state_accounts ALTER TABLE eth.state_cids
DROP CONSTRAINT pk_eth_state_accounts; DROP CONSTRAINT pk_eth_state_cids;
ALTER TABLE eth.log_cids
DROP CONSTRAINT pk_eth_log_cids;
ALTER TABLE eth.access_list_elements
DROP CONSTRAINT pk_eth_access_list_elements;
ALTER TABLE eth.receipt_cids
DROP CONSTRAINT pk_eth_receipt_cids;
ALTER TABLE eth.transaction_cids
DROP CONSTRAINT pk_eth_transaction_cids;
ALTER TABLE eth.uncle_cids
DROP CONSTRAINT pk_eth_uncle_cids;
ALTER TABLE eth.header_cids
DROP CONSTRAINT pk_eth_header_cids;
ALTER TABLE public.nodes
DROP CONSTRAINT pk_public_nodes;
@@ -0,0 +1,5 @@
-- +goose Up
CREATE SCHEMA eth_meta;
-- +goose Down
DROP SCHEMA eth_meta;
@@ -0,0 +1,10 @@
-- +goose Up
CREATE TABLE eth_meta.watched_addresses (
address VARCHAR(66) PRIMARY KEY,
created_at BIGINT NOT NULL,
watched_at BIGINT NOT NULL,
last_filled_at BIGINT NOT NULL DEFAULT 0
);
-- +goose Down
DROP TABLE eth_meta.watched_addresses;
@@ -0,0 +1,10 @@
-- +goose Up
CREATE TABLE eth_meta.known_gaps (
starting_block_number bigint PRIMARY KEY,
ending_block_number bigint,
checked_out boolean,
processing_key bigint
);
-- +goose Down
DROP TABLE eth_meta.known_gaps;
@@ -1,8 +1,8 @@
-- +goose Up -- +goose Up
-- header indexes -- header indexes
CREATE INDEX block_number_index ON eth.header_cids USING brin (block_number); CREATE INDEX block_number_index ON eth.header_cids USING brin (block_number);
CREATE INDEX header_cid_index ON eth.header_cids USING btree (cid); CREATE UNIQUE INDEX header_cid_index ON eth.header_cids USING btree (cid);
CREATE INDEX header_mh_index ON eth.header_cids USING btree (mh_key); CREATE UNIQUE INDEX header_mh_index ON eth.header_cids USING btree (mh_key);
CREATE INDEX state_root_index ON eth.header_cids USING btree (state_root); CREATE INDEX state_root_index ON eth.header_cids USING btree (state_root);
CREATE INDEX timestamp_index ON eth.header_cids USING brin (timestamp); CREATE INDEX timestamp_index ON eth.header_cids USING brin (timestamp);
@@ -11,8 +11,8 @@ CREATE INDEX uncle_header_id_index ON eth.uncle_cids USING btree (header_id);
-- transaction indexes -- transaction indexes
CREATE INDEX tx_header_id_index ON eth.transaction_cids USING btree (header_id); CREATE INDEX tx_header_id_index ON eth.transaction_cids USING btree (header_id);
CREATE INDEX tx_cid_index ON eth.transaction_cids USING btree (cid); CREATE UNIQUE INDEX tx_cid_index ON eth.transaction_cids USING btree (cid);
CREATE INDEX tx_mh_index ON eth.transaction_cids USING btree (mh_key); CREATE UNIQUE INDEX tx_mh_index ON eth.transaction_cids USING btree (mh_key);
CREATE INDEX tx_dst_index ON eth.transaction_cids USING btree (dst); CREATE INDEX tx_dst_index ON eth.transaction_cids USING btree (dst);
CREATE INDEX tx_src_index ON eth.transaction_cids USING btree (src); CREATE INDEX tx_src_index ON eth.transaction_cids USING btree (src);
@@ -46,8 +46,8 @@ CREATE INDEX access_list_element_address_index ON eth.access_list_elements USING
CREATE INDEX access_list_storage_keys_index ON eth.access_list_elements USING gin (storage_keys); CREATE INDEX access_list_storage_keys_index ON eth.access_list_elements USING gin (storage_keys);
-- log indexes -- log indexes
CREATE INDEX log_mh_index ON eth.log_cids USING btree (leaf_mh_key);
CREATE INDEX log_cid_index ON eth.log_cids USING btree (leaf_cid); CREATE INDEX log_cid_index ON eth.log_cids USING btree (leaf_cid);
CREATE INDEX log_mh_index ON eth.log_cids USING btree (leaf_mh_key);
CREATE INDEX log_address_index ON eth.log_cids USING btree (address); CREATE INDEX log_address_index ON eth.log_cids USING btree (address);
CREATE INDEX log_topic0_index ON eth.log_cids USING btree (topic0); CREATE INDEX log_topic0_index ON eth.log_cids USING btree (topic0);
CREATE INDEX log_topic1_index ON eth.log_cids USING btree (topic1); CREATE INDEX log_topic1_index ON eth.log_cids USING btree (topic1);
@@ -61,8 +61,8 @@ DROP INDEX eth.log_topic2_index;
DROP INDEX eth.log_topic1_index; DROP INDEX eth.log_topic1_index;
DROP INDEX eth.log_topic0_index; DROP INDEX eth.log_topic0_index;
DROP INDEX eth.log_address_index; DROP INDEX eth.log_address_index;
DROP INDEX eth.log_cid_index;
DROP INDEX eth.log_mh_index; DROP INDEX eth.log_mh_index;
DROP INDEX eth.log_cid_index;
-- access list indexes -- access list indexes
DROP INDEX eth.access_list_storage_keys_index; DROP INDEX eth.access_list_storage_keys_index;
@@ -0,0 +1,9 @@
-- +goose Up
CREATE TABLE IF NOT EXISTS public.db_version (
singleton BOOLEAN NOT NULL DEFAULT TRUE UNIQUE CHECK (singleton),
version TEXT NOT NULL,
tstamp TIMESTAMP WITHOUT TIME ZONE DEFAULT NOW()
);
-- +goose Down
DROP TABLE public.db_version;
@@ -0,0 +1,6 @@
-- +goose Up
INSERT INTO public.db_version (singleton, version) VALUES (true, 'v0.3.2')
ON CONFLICT (singleton) DO UPDATE SET (version, tstamp) = ('v0.3.2', NOW());
-- +goose Down
DELETE FROM public.db_version WHERE version = 'v0.3.2';
+88 -19
View File
@@ -2,8 +2,8 @@
-- PostgreSQL database dump -- PostgreSQL database dump
-- --
-- Dumped from database version 10.12 -- Dumped from database version 14beta3
-- Dumped by pg_dump version 14.1 -- Dumped by pg_dump version 14beta3
SET statement_timeout = 0; SET statement_timeout = 0;
SET lock_timeout = 0; SET lock_timeout = 0;
@@ -23,8 +23,17 @@ SET row_security = off;
CREATE SCHEMA eth; CREATE SCHEMA eth;
--
-- Name: eth_meta; Type: SCHEMA; Schema: -; Owner: -
--
CREATE SCHEMA eth_meta;
SET default_tablespace = ''; SET default_tablespace = '';
SET default_table_access_method = heap;
-- --
-- Name: header_cids; Type: TABLE; Schema: eth; Owner: - -- Name: header_cids; Type: TABLE; Schema: eth; Owner: -
-- --
@@ -400,6 +409,30 @@ CREATE TABLE eth.uncle_cids (
); );
--
-- Name: known_gaps; Type: TABLE; Schema: eth_meta; Owner: -
--
CREATE TABLE eth_meta.known_gaps (
starting_block_number bigint NOT NULL,
ending_block_number bigint,
checked_out boolean,
processing_key bigint
);
--
-- Name: watched_addresses; Type: TABLE; Schema: eth_meta; Owner: -
--
CREATE TABLE eth_meta.watched_addresses (
address character varying(66) NOT NULL,
created_at bigint NOT NULL,
watched_at bigint NOT NULL,
last_filled_at bigint DEFAULT 0 NOT NULL
);
-- --
-- Name: blocks; Type: TABLE; Schema: public; Owner: - -- Name: blocks; Type: TABLE; Schema: public; Owner: -
-- --
@@ -410,6 +443,18 @@ CREATE TABLE public.blocks (
); );
--
-- Name: db_version; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.db_version (
singleton boolean DEFAULT true NOT NULL,
version text NOT NULL,
tstamp timestamp without time zone DEFAULT now(),
CONSTRAINT db_version_singleton_check CHECK (singleton)
);
-- --
-- Name: goose_db_version; Type: TABLE; Schema: public; Owner: - -- Name: goose_db_version; Type: TABLE; Schema: public; Owner: -
-- --
@@ -548,6 +593,22 @@ ALTER TABLE ONLY eth.uncle_cids
ADD CONSTRAINT uncle_cids_pkey PRIMARY KEY (block_hash); ADD CONSTRAINT uncle_cids_pkey PRIMARY KEY (block_hash);
--
-- Name: known_gaps known_gaps_pkey; Type: CONSTRAINT; Schema: eth_meta; Owner: -
--
ALTER TABLE ONLY eth_meta.known_gaps
ADD CONSTRAINT known_gaps_pkey PRIMARY KEY (starting_block_number);
--
-- Name: watched_addresses watched_addresses_pkey; Type: CONSTRAINT; Schema: eth_meta; Owner: -
--
ALTER TABLE ONLY eth_meta.watched_addresses
ADD CONSTRAINT watched_addresses_pkey PRIMARY KEY (address);
-- --
-- Name: blocks blocks_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- Name: blocks blocks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
-- --
@@ -556,6 +617,14 @@ ALTER TABLE ONLY public.blocks
ADD CONSTRAINT blocks_pkey PRIMARY KEY (key); ADD CONSTRAINT blocks_pkey PRIMARY KEY (key);
--
-- Name: db_version db_version_singleton_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.db_version
ADD CONSTRAINT db_version_singleton_key UNIQUE (singleton);
-- --
-- Name: goose_db_version goose_db_version_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- Name: goose_db_version goose_db_version_pkey; Type: CONSTRAINT; Schema: public; Owner: -
-- --
@@ -604,14 +673,14 @@ CREATE INDEX block_number_index ON eth.header_cids USING brin (block_number);
-- Name: header_cid_index; Type: INDEX; Schema: eth; Owner: - -- Name: header_cid_index; Type: INDEX; Schema: eth; Owner: -
-- --
CREATE INDEX header_cid_index ON eth.header_cids USING btree (cid); CREATE UNIQUE INDEX header_cid_index ON eth.header_cids USING btree (cid);
-- --
-- Name: header_mh_index; Type: INDEX; Schema: eth; Owner: - -- Name: header_mh_index; Type: INDEX; Schema: eth; Owner: -
-- --
CREATE INDEX header_mh_index ON eth.header_cids USING btree (mh_key); CREATE UNIQUE INDEX header_mh_index ON eth.header_cids USING btree (mh_key);
-- --
@@ -793,7 +862,7 @@ CREATE INDEX timestamp_index ON eth.header_cids USING brin ("timestamp");
-- Name: tx_cid_index; Type: INDEX; Schema: eth; Owner: - -- Name: tx_cid_index; Type: INDEX; Schema: eth; Owner: -
-- --
CREATE INDEX tx_cid_index ON eth.transaction_cids USING btree (cid); CREATE UNIQUE INDEX tx_cid_index ON eth.transaction_cids USING btree (cid);
-- --
@@ -814,7 +883,7 @@ CREATE INDEX tx_header_id_index ON eth.transaction_cids USING btree (header_id);
-- Name: tx_mh_index; Type: INDEX; Schema: eth; Owner: - -- Name: tx_mh_index; Type: INDEX; Schema: eth; Owner: -
-- --
CREATE INDEX tx_mh_index ON eth.transaction_cids USING btree (mh_key); CREATE UNIQUE INDEX tx_mh_index ON eth.transaction_cids USING btree (mh_key);
-- --
@@ -835,63 +904,63 @@ CREATE INDEX uncle_header_id_index ON eth.uncle_cids USING btree (header_id);
-- Name: access_list_elements trg_eth_access_list_elements; Type: TRIGGER; Schema: eth; Owner: - -- Name: access_list_elements trg_eth_access_list_elements; Type: TRIGGER; Schema: eth; Owner: -
-- --
CREATE TRIGGER trg_eth_access_list_elements AFTER INSERT ON eth.access_list_elements FOR EACH ROW EXECUTE PROCEDURE eth.graphql_subscription(); CREATE TRIGGER trg_eth_access_list_elements AFTER INSERT ON eth.access_list_elements FOR EACH ROW EXECUTE FUNCTION eth.graphql_subscription();
-- --
-- Name: header_cids trg_eth_header_cids; Type: TRIGGER; Schema: eth; Owner: - -- Name: header_cids trg_eth_header_cids; Type: TRIGGER; Schema: eth; Owner: -
-- --
CREATE TRIGGER trg_eth_header_cids AFTER INSERT ON eth.header_cids FOR EACH ROW EXECUTE PROCEDURE eth.graphql_subscription(); CREATE TRIGGER trg_eth_header_cids AFTER INSERT ON eth.header_cids FOR EACH ROW EXECUTE FUNCTION eth.graphql_subscription();
-- --
-- Name: log_cids trg_eth_log_cids; Type: TRIGGER; Schema: eth; Owner: - -- Name: log_cids trg_eth_log_cids; Type: TRIGGER; Schema: eth; Owner: -
-- --
CREATE TRIGGER trg_eth_log_cids AFTER INSERT ON eth.log_cids FOR EACH ROW EXECUTE PROCEDURE eth.graphql_subscription(); CREATE TRIGGER trg_eth_log_cids AFTER INSERT ON eth.log_cids FOR EACH ROW EXECUTE FUNCTION eth.graphql_subscription();
-- --
-- Name: receipt_cids trg_eth_receipt_cids; Type: TRIGGER; Schema: eth; Owner: - -- Name: receipt_cids trg_eth_receipt_cids; Type: TRIGGER; Schema: eth; Owner: -
-- --
CREATE TRIGGER trg_eth_receipt_cids AFTER INSERT ON eth.receipt_cids FOR EACH ROW EXECUTE PROCEDURE eth.graphql_subscription(); CREATE TRIGGER trg_eth_receipt_cids AFTER INSERT ON eth.receipt_cids FOR EACH ROW EXECUTE FUNCTION eth.graphql_subscription();
-- --
-- Name: state_accounts trg_eth_state_accounts; Type: TRIGGER; Schema: eth; Owner: - -- Name: state_accounts trg_eth_state_accounts; Type: TRIGGER; Schema: eth; Owner: -
-- --
CREATE TRIGGER trg_eth_state_accounts AFTER INSERT ON eth.state_accounts FOR EACH ROW EXECUTE PROCEDURE eth.graphql_subscription(); CREATE TRIGGER trg_eth_state_accounts AFTER INSERT ON eth.state_accounts FOR EACH ROW EXECUTE FUNCTION eth.graphql_subscription();
-- --
-- Name: state_cids trg_eth_state_cids; Type: TRIGGER; Schema: eth; Owner: - -- Name: state_cids trg_eth_state_cids; Type: TRIGGER; Schema: eth; Owner: -
-- --
CREATE TRIGGER trg_eth_state_cids AFTER INSERT ON eth.state_cids FOR EACH ROW EXECUTE PROCEDURE eth.graphql_subscription(); CREATE TRIGGER trg_eth_state_cids AFTER INSERT ON eth.state_cids FOR EACH ROW EXECUTE FUNCTION eth.graphql_subscription();
-- --
-- Name: storage_cids trg_eth_storage_cids; Type: TRIGGER; Schema: eth; Owner: - -- Name: storage_cids trg_eth_storage_cids; Type: TRIGGER; Schema: eth; Owner: -
-- --
CREATE TRIGGER trg_eth_storage_cids AFTER INSERT ON eth.storage_cids FOR EACH ROW EXECUTE PROCEDURE eth.graphql_subscription(); CREATE TRIGGER trg_eth_storage_cids AFTER INSERT ON eth.storage_cids FOR EACH ROW EXECUTE FUNCTION eth.graphql_subscription();
-- --
-- Name: transaction_cids trg_eth_transaction_cids; Type: TRIGGER; Schema: eth; Owner: - -- Name: transaction_cids trg_eth_transaction_cids; Type: TRIGGER; Schema: eth; Owner: -
-- --
CREATE TRIGGER trg_eth_transaction_cids AFTER INSERT ON eth.transaction_cids FOR EACH ROW EXECUTE PROCEDURE eth.graphql_subscription(); CREATE TRIGGER trg_eth_transaction_cids AFTER INSERT ON eth.transaction_cids FOR EACH ROW EXECUTE FUNCTION eth.graphql_subscription();
-- --
-- Name: uncle_cids trg_eth_uncle_cids; Type: TRIGGER; Schema: eth; Owner: - -- Name: uncle_cids trg_eth_uncle_cids; Type: TRIGGER; Schema: eth; Owner: -
-- --
CREATE TRIGGER trg_eth_uncle_cids AFTER INSERT ON eth.uncle_cids FOR EACH ROW EXECUTE PROCEDURE eth.graphql_subscription(); CREATE TRIGGER trg_eth_uncle_cids AFTER INSERT ON eth.uncle_cids FOR EACH ROW EXECUTE FUNCTION eth.graphql_subscription();
-- --
@@ -951,11 +1020,11 @@ ALTER TABLE ONLY eth.receipt_cids
-- --
-- Name: state_accounts state_accounts_header_id_fkey; Type: FK CONSTRAINT; Schema: eth; Owner: - -- Name: state_accounts state_accounts_header_id_state_path_fkey; Type: FK CONSTRAINT; Schema: eth; Owner: -
-- --
ALTER TABLE ONLY eth.state_accounts ALTER TABLE ONLY eth.state_accounts
ADD CONSTRAINT state_accounts_header_id_fkey FOREIGN KEY (header_id, state_path) REFERENCES eth.state_cids(header_id, state_path) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED; ADD CONSTRAINT state_accounts_header_id_state_path_fkey FOREIGN KEY (header_id, state_path) REFERENCES eth.state_cids(header_id, state_path) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
-- --
@@ -975,11 +1044,11 @@ ALTER TABLE ONLY eth.state_cids
-- --
-- Name: storage_cids storage_cids_header_id_fkey; Type: FK CONSTRAINT; Schema: eth; Owner: - -- Name: storage_cids storage_cids_header_id_state_path_fkey; Type: FK CONSTRAINT; Schema: eth; Owner: -
-- --
ALTER TABLE ONLY eth.storage_cids ALTER TABLE ONLY eth.storage_cids
ADD CONSTRAINT storage_cids_header_id_fkey FOREIGN KEY (header_id, state_path) REFERENCES eth.state_cids(header_id, state_path) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED; ADD CONSTRAINT storage_cids_header_id_state_path_fkey FOREIGN KEY (header_id, state_path) REFERENCES eth.state_cids(header_id, state_path) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
-- --
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 491 KiB

After

Width:  |  Height:  |  Size: 516 KiB

+80 -79
View File
@@ -3,145 +3,146 @@
<ID>DATABASE</ID> <ID>DATABASE</ID>
<OriginalElement>407978cb-39e6-453c-b9b7-c4183a4e26ef</OriginalElement> <OriginalElement>407978cb-39e6-453c-b9b7-c4183a4e26ef</OriginalElement>
<nodes> <nodes>
<node x="623.125" y="196.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.header_cids</node> <node x="553.96484375" y="196.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.header_cids</node>
<node x="245.5" y="944.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.receipt_cids</node> <node x="93.5" y="944.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.receipt_cids</node>
<node x="922.837890625" y="0.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.nodes</node> <node x="884.80078125" y="966.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.state_accounts</node>
<node x="689.794921875" y="966.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.state_accounts</node> <node x="849.705078125" y="0.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.nodes</node>
<node x="586.353515625" y="680.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.uncle_cids</node> <node x="127.30078125" y="680.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.uncle_cids</node>
<node x="351.294921875" y="33.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.blocks</node> <node x="102.67578125" y="33.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.blocks</node>
<node x="226.353515625" y="636.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.transaction_cids</node> <node x="341.30078125" y="636.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.transaction_cids</node>
<node x="10.5" y="988.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.access_list_elements</node> <node x="357.365234375" y="988.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.access_list_elements</node>
<node x="800.353515625" y="669.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.state_cids</node> <node x="832.365234375" y="669.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.state_cids</node>
<node x="152.435546875" y="1206.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.log_cids</node> <node x="1433.705078125" y="0.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.db_version</node>
<node x="1273.837890625" y="0.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.goose_db_version</node> <node x="58.0" y="1206.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.log_cids</node>
<node x="906.794921875" y="944.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.storage_cids</node> <node x="1200.705078125" y="0.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.goose_db_version</node>
<node x="592.365234375" y="944.0">407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.storage_cids</node>
</nodes> </nodes>
<notes /> <notes />
<edges> <edges>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.access_list_elements" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.transaction_cids" relationship="REFERENCES"> <edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.access_list_elements" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.transaction_cids" relationship="REFERENCES">
<point x="0.0" y="-61.0" /> <point x="0.0" y="-61.0" />
<point x="118.0" y="922.0" /> <point x="464.865234375" y="922.0" />
<point x="396.353515625" y="922.0" /> <point x="511.30078125" y="922.0" />
<point x="0.0" y="127.0" /> <point x="0.0" y="127.0" />
</edge> </edge>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.state_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.header_cids" relationship="REFERENCES"> <edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.state_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.header_cids" relationship="REFERENCES">
<point x="-52.25" y="-94.0" /> <point x="-52.25" y="-94.0" />
<point x="852.603515625" y="614.0" /> <point x="884.615234375" y="614.0" />
<point x="770.125" y="614.0" /> <point x="700.96484375" y="614.0" />
<point x="0.0" y="193.0" /> <point x="0.0" y="193.0" />
</edge> </edge>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.receipt_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.blocks" relationship="REFERENCES"> <edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.receipt_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.blocks" relationship="REFERENCES">
<point x="-51.75" y="-105.0" /> <point x="-51.75" y="-105.0" />
<point x="297.25" y="912.0" /> <point x="145.25" y="922.0" />
<point x="129.669921875" y="912.0" /> <point x="59.365234375" y="922.0" />
<point x="129.669921875" y="175.0" /> <point x="59.365234375" y="175.0" />
<point x="108.0" y="175.0" /> <point x="52.75" y="175.0" />
<point x="108.0" y="165.0" /> <point x="52.75" y="165.0" />
<point x="376.544921875" y="165.0" /> <point x="127.92578125" y="165.0" />
<point x="-25.25" y="39.0" /> <point x="-25.25" y="39.0" />
</edge> </edge>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.state_accounts" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.state_cids" relationship="REFERENCES"> <edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.state_accounts" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.state_cids" relationship="REFERENCES">
<point x="0.0" y="-83.0" /> <point x="0.0" y="-83.0" />
<point x="788.294921875" y="922.0" /> <point x="983.30078125" y="922.0" />
<point x="904.853515625" y="922.0" /> <point x="936.865234375" y="922.0" />
<point x="0.0" y="94.0" /> <point x="0.0" y="94.0" />
</edge> </edge>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.log_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.blocks" relationship="REFERENCES"> <edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.log_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.blocks" relationship="REFERENCES">
<point x="-41.0" y="-127.0" /> <point x="-41.0" y="-127.0" />
<point x="193.435546875" y="1180.0" /> <point x="99.0" y="1180.0" />
<point x="0.0" y="1180.0" /> <point x="47.5" y="1180.0" />
<point x="0.0" y="175.0" /> <point x="47.5" y="175.0" />
<point x="108.0" y="175.0" /> <point x="52.75" y="175.0" />
<point x="108.0" y="165.0" /> <point x="52.75" y="165.0" />
<point x="376.544921875" y="165.0" /> <point x="127.92578125" y="165.0" />
<point x="-25.25" y="39.0" /> <point x="-25.25" y="39.0" />
</edge> </edge>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.storage_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.blocks" relationship="REFERENCES">
<point x="56.5" y="-105.0" />
<point x="1076.294921875" y="922.0" />
<point x="1024.794921875" y="922.0" />
<point x="1024.794921875" y="175.0" />
<point x="699.087890625" y="175.0" />
<point x="699.087890625" y="165.0" />
<point x="427.044921875" y="165.0" />
<point x="25.25" y="39.0" />
</edge>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.receipt_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.transaction_cids" relationship="REFERENCES"> <edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.receipt_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.transaction_cids" relationship="REFERENCES">
<point x="51.75" y="-105.0" /> <point x="51.75" y="-105.0" />
<point x="400.75" y="922.0" /> <point x="248.75" y="922.0" />
<point x="396.353515625" y="922.0" /> <point x="511.30078125" y="922.0" />
<point x="0.0" y="127.0" /> <point x="0.0" y="127.0" />
</edge> </edge>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.storage_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.blocks" relationship="REFERENCES">
<point x="-56.5" y="-105.0" />
<point x="648.865234375" y="912.0" />
<point x="116.80078125" y="912.0" />
<point x="116.80078125" y="175.0" />
<point x="437.205078125" y="175.0" />
<point x="437.205078125" y="165.0" />
<point x="178.42578125" y="165.0" />
<point x="25.25" y="39.0" />
</edge>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.transaction_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.header_cids" relationship="REFERENCES"> <edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.transaction_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.header_cids" relationship="REFERENCES">
<point x="85.0" y="-127.0" /> <point x="85.0" y="-127.0" />
<point x="481.353515625" y="614.0" /> <point x="596.30078125" y="614.0" />
<point x="770.125" y="614.0" /> <point x="700.96484375" y="614.0" />
<point x="0.0" y="193.0" /> <point x="0.0" y="193.0" />
</edge> </edge>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.storage_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.state_cids" relationship="REFERENCES">
<point x="-56.5" y="-105.0" />
<point x="963.294921875" y="922.0" />
<point x="904.853515625" y="922.0" />
<point x="0.0" y="94.0" />
</edge>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.state_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.blocks" relationship="REFERENCES"> <edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.state_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.blocks" relationship="REFERENCES">
<point x="52.25" y="-94.0" /> <point x="52.25" y="-94.0" />
<point x="957.103515625" y="614.0" /> <point x="989.115234375" y="614.0" />
<point x="953.478515625" y="614.0" /> <point x="970.279296875" y="614.0" />
<point x="953.478515625" y="175.0" /> <point x="970.279296875" y="175.0" />
<point x="699.087890625" y="175.0" /> <point x="437.205078125" y="175.0" />
<point x="699.087890625" y="165.0" /> <point x="437.205078125" y="165.0" />
<point x="427.044921875" y="165.0" /> <point x="178.42578125" y="165.0" />
<point x="25.25" y="39.0" /> <point x="25.25" y="39.0" />
</edge> </edge>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.storage_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.state_cids" relationship="REFERENCES">
<point x="56.5" y="-105.0" />
<point x="761.865234375" y="922.0" />
<point x="936.865234375" y="922.0" />
<point x="0.0" y="94.0" />
</edge>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.log_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.receipt_cids" relationship="REFERENCES"> <edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.log_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.receipt_cids" relationship="REFERENCES">
<point x="41.0" y="-127.0" /> <point x="41.0" y="-127.0" />
<point x="275.435546875" y="1180.0" /> <point x="181.0" y="1180.0" />
<point x="349.0" y="1180.0" /> <point x="197.0" y="1180.0" />
<point x="0.0" y="105.0" /> <point x="0.0" y="105.0" />
</edge> </edge>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.header_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.nodes" relationship="REFERENCES"> <edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.header_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.nodes" relationship="REFERENCES">
<point x="73.5" y="-193.0" /> <point x="73.5" y="-193.0" />
<point x="843.625" y="165.0" /> <point x="774.46484375" y="165.0" />
<point x="1075.837890625" y="165.0" /> <point x="1002.705078125" y="165.0" />
<point x="0.0" y="72.0" /> <point x="0.0" y="72.0" />
</edge> </edge>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.uncle_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.header_cids" relationship="REFERENCES"> <edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.uncle_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.header_cids" relationship="REFERENCES">
<point x="48.5" y="-83.0" /> <point x="48.5" y="-83.0" />
<point x="731.853515625" y="614.0" /> <point x="272.80078125" y="614.0" />
<point x="770.125" y="614.0" /> <point x="700.96484375" y="614.0" />
<point x="0.0" y="193.0" /> <point x="0.0" y="193.0" />
</edge> </edge>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.header_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.blocks" relationship="REFERENCES"> <edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.header_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.blocks" relationship="REFERENCES">
<point x="-73.5" y="-193.0" /> <point x="-73.5" y="-193.0" />
<point x="696.625" y="175.0" /> <point x="627.46484375" y="175.0" />
<point x="699.087890625" y="175.0" /> <point x="437.205078125" y="175.0" />
<point x="699.087890625" y="165.0" /> <point x="437.205078125" y="165.0" />
<point x="427.044921875" y="165.0" /> <point x="178.42578125" y="165.0" />
<point x="25.25" y="39.0" /> <point x="25.25" y="39.0" />
</edge> </edge>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.uncle_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.blocks" relationship="REFERENCES"> <edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.uncle_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.blocks" relationship="REFERENCES">
<point x="-48.5" y="-83.0" /> <point x="-48.5" y="-83.0" />
<point x="634.853515625" y="604.0" /> <point x="175.80078125" y="614.0" />
<point x="523.044921875" y="604.0" /> <point x="214.30078125" y="614.0" />
<point x="523.044921875" y="175.0" /> <point x="214.30078125" y="175.0" />
<point x="699.087890625" y="175.0" /> <point x="437.205078125" y="175.0" />
<point x="699.087890625" y="165.0" /> <point x="437.205078125" y="165.0" />
<point x="427.044921875" y="165.0" /> <point x="178.42578125" y="165.0" />
<point x="25.25" y="39.0" /> <point x="25.25" y="39.0" />
</edge> </edge>
<edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.transaction_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.blocks" relationship="REFERENCES"> <edge source="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.eth.transaction_cids" target="407978cb-39e6-453c-b9b7-c4183a4e26ef.TABLE:vulcanize_test.public.blocks" relationship="REFERENCES">
<point x="-85.0" y="-127.0" /> <point x="-85.0" y="-127.0" />
<point x="311.353515625" y="614.0" /> <point x="426.30078125" y="604.0" />
<point x="386.353515625" y="614.0" /> <point x="344.55078125" y="604.0" />
<point x="386.353515625" y="175.0" /> <point x="344.55078125" y="175.0" />
<point x="699.087890625" y="175.0" /> <point x="437.205078125" y="175.0" />
<point x="699.087890625" y="165.0" /> <point x="437.205078125" y="165.0" />
<point x="427.044921875" y="165.0" /> <point x="178.42578125" y="165.0" />
<point x="25.25" y="39.0" /> <point x="25.25" y="39.0" />
</edge> </edge>
</edges> </edges>
<settings layout="Hierarchic" zoom="0.40337837837837837" showDependencies="false" x="731.0" y="730.0" /> <settings layout="Hierarchic" zoom="0.40337837837837837" showDependencies="false" x="791.0" y="730.0" />
<SelectedNodes /> <SelectedNodes />
<Categories> <Categories>
<Category>Columns</Category> <Category>Columns</Category>