mirror of
https://github.com/onsonr/sonr.git
synced 2025-03-11 13:29:12 +00:00
- **refactor: remove unused auth components** - **refactor: improve devbox configuration and deployment process** - **refactor: improve devnet and testnet setup** - **fix: update templ version to v0.2.778** - **refactor: rename pkl/net.matrix to pkl/matrix.net** - **refactor: migrate webapp components to nebula** - **refactor: protobuf types** - **chore: update dependencies for improved security and stability** - **feat: implement landing page and vault gateway servers** - **refactor: Migrate data models to new module structure and update related files** - **feature/1121-implement-ucan-validation** - **refactor: Replace hardcoded constants with model types in attns.go** - **feature/1121-implement-ucan-validation** - **chore: add origin Host struct and update main function to handle multiple hosts** - **build: remove unused static files from dwn module** - **build: remove unused static files from dwn module** - **refactor: Move DWN models to common package** - **refactor: move models to pkg/common** - **refactor: move vault web app assets to embed module** - **refactor: update session middleware import path** - **chore: configure port labels and auto-forwarding behavior** - **feat: enhance devcontainer configuration** - **feat: Add UCAN middleware for Echo with flexible token validation** - **feat: add JWT middleware for UCAN authentication** - **refactor: update package URI and versioning in PklProject files** - **fix: correct sonr.pkl import path** - **refactor: move JWT related code to auth package** - **feat: introduce vault configuration retrieval and management** - **refactor: Move vault components to gateway module and update file paths** - **refactor: remove Dexie and SQLite database implementations** - **feat: enhance frontend with PWA features and WASM integration** - **feat: add Devbox features and streamline Dockerfile** - **chore: update dependencies to include TigerBeetle** - **chore(deps): update go version to 1.23** - **feat: enhance devnet setup with PATH environment variable and updated PWA manifest** - **fix: upgrade tigerbeetle-go dependency and remove indirect dependency** - **feat: add PostgreSQL support to devnet and testnet deployments** - **refactor: rename keyshare cookie to token cookie** - **feat: upgrade Go version to 1.23.3 and update dependencies** - **refactor: update devnet and testnet configurations** - **feat: add IPFS configuration for devnet** - **I'll help you update the ipfs.config.pkl to include all the peers from the shell script. Here's the updated configuration:** - **refactor: move mpc package to crypto directory** - **feat: add BIP32 support for various cryptocurrencies** - **feat: enhance ATN.pkl with additional capabilities** - **refactor: simplify smart account and vault attenuation creation** - **feat: add new capabilities to the Attenuation type** - **refactor: Rename MPC files for clarity and consistency** - **feat: add DIDKey support for cryptographic operations** - **feat: add devnet and testnet deployment configurations** - **fix: correct key derivation in bip32 package** - **refactor: rename crypto/bip32 package to crypto/accaddr** - **fix: remove duplicate indirect dependency** - **refactor: move vault package to root directory** - **refactor: update routes for gateway and vault** - **refactor: remove obsolete web configuration file** - **refactor: remove unused TigerBeetle imports and update host configuration** - **refactor: adjust styles directory path** - **feat: add broadcastTx and simulateTx functions to gateway** - **feat: add PinVault handler**
86 lines
3.2 KiB
SQL
86 lines
3.2 KiB
SQL
/*
|
|
This file defines the database schema for the PostgresQL ("psql") event sink
|
|
implementation in CometBFT. The operator must create a database and install
|
|
this schema before using the database to index events.
|
|
*/
|
|
|
|
-- The blocks table records metadata about each block.
|
|
-- The block record does not include its events or transactions (see tx_results).
|
|
CREATE TABLE blocks (
|
|
rowid BIGSERIAL PRIMARY KEY,
|
|
|
|
height BIGINT NOT NULL,
|
|
chain_id VARCHAR NOT NULL,
|
|
|
|
-- When this block header was logged into the sink, in UTC.
|
|
created_at TIMESTAMPTZ NOT NULL,
|
|
|
|
UNIQUE (height, chain_id)
|
|
);
|
|
|
|
-- Index blocks by height and chain, since we need to resolve block IDs when
|
|
-- indexing transaction records and transaction events.
|
|
CREATE INDEX idx_blocks_height_chain ON blocks(height, chain_id);
|
|
|
|
-- The tx_results table records metadata about transaction results. Note that
|
|
-- the events from a transaction are stored separately.
|
|
CREATE TABLE tx_results (
|
|
rowid BIGSERIAL PRIMARY KEY,
|
|
|
|
-- The block to which this transaction belongs.
|
|
block_id BIGINT NOT NULL REFERENCES blocks(rowid),
|
|
-- The sequential index of the transaction within the block.
|
|
index INTEGER NOT NULL,
|
|
-- When this result record was logged into the sink, in UTC.
|
|
created_at TIMESTAMPTZ NOT NULL,
|
|
-- The hex-encoded hash of the transaction.
|
|
tx_hash VARCHAR NOT NULL,
|
|
-- The protobuf wire encoding of the TxResult message.
|
|
tx_result BYTEA NOT NULL,
|
|
|
|
UNIQUE (block_id, index)
|
|
);
|
|
|
|
-- The events table records events. All events (both block and transaction) are
|
|
-- associated with a block ID; transaction events also have a transaction ID.
|
|
CREATE TABLE events (
|
|
rowid BIGSERIAL PRIMARY KEY,
|
|
|
|
-- The block and transaction this event belongs to.
|
|
-- If tx_id is NULL, this is a block event.
|
|
block_id BIGINT NOT NULL REFERENCES blocks(rowid),
|
|
tx_id BIGINT NULL REFERENCES tx_results(rowid),
|
|
|
|
-- The application-defined type label for the event.
|
|
type VARCHAR NOT NULL
|
|
);
|
|
|
|
-- The attributes table records event attributes.
|
|
CREATE TABLE attributes (
|
|
event_id BIGINT NOT NULL REFERENCES events(rowid),
|
|
key VARCHAR NOT NULL, -- bare key
|
|
composite_key VARCHAR NOT NULL, -- composed type.key
|
|
value VARCHAR NULL,
|
|
|
|
UNIQUE (event_id, key)
|
|
);
|
|
|
|
-- A joined view of events and their attributes. Events that do not have any
|
|
-- attributes are represented as a single row with empty key and value fields.
|
|
CREATE VIEW event_attributes AS
|
|
SELECT block_id, tx_id, type, key, composite_key, value
|
|
FROM events LEFT JOIN attributes ON (events.rowid = attributes.event_id);
|
|
|
|
-- A joined view of all block events (those having tx_id NULL).
|
|
CREATE VIEW block_events AS
|
|
SELECT blocks.rowid as block_id, height, chain_id, type, key, composite_key, value
|
|
FROM blocks JOIN event_attributes ON (blocks.rowid = event_attributes.block_id)
|
|
WHERE event_attributes.tx_id IS NULL;
|
|
|
|
-- A joined view of all transaction events.
|
|
CREATE VIEW tx_events AS
|
|
SELECT height, index, chain_id, type, key, composite_key, value, tx_results.created_at
|
|
FROM blocks JOIN tx_results ON (blocks.rowid = tx_results.block_id)
|
|
JOIN event_attributes ON (tx_results.rowid = event_attributes.tx_id)
|
|
WHERE event_attributes.tx_id IS NOT NULL;
|