Files
cyphernode/proxy_docker/app/data/cyphernode.sql

124 lines
3.4 KiB
SQL

PRAGMA foreign_keys = ON;
CREATE TABLE watching_by_pub32 (
id INTEGER PRIMARY KEY AUTOINCREMENT,
pub32 TEXT UNIQUE,
label TEXT UNIQUE,
derivation_path TEXT,
callback0conf TEXT,
callback1conf TEXT,
last_imported_n INTEGER,
watching INTEGER DEFAULT FALSE,
inserted_ts INTEGER DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE watching (
id INTEGER PRIMARY KEY AUTOINCREMENT,
address TEXT UNIQUE,
watching INTEGER DEFAULT FALSE,
callback0conf TEXT,
calledback0conf INTEGER DEFAULT FALSE,
callback1conf TEXT,
calledback1conf INTEGER DEFAULT FALSE,
imported INTEGER DEFAULT FALSE,
watching_by_pub32_id INTEGER REFERENCES watching_by_pub32,
pub32_index INTEGER,
inserted_ts INTEGER DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE watching_tx (
watching_id INTEGER REFERENCES watching,
tx_id INTEGER REFERENCES tx,
vout INTEGER,
amount REAL
);
CREATE UNIQUE INDEX idx_watching_tx ON watching_tx (watching_id, tx_id);
CREATE TABLE tx (
id INTEGER PRIMARY KEY AUTOINCREMENT,
txid TEXT UNIQUE,
hash TEXT UNIQUE,
confirmations INTEGER DEFAULT 0,
timereceived INTEGER,
fee REAL,
size INTEGER,
vsize INTEGER,
is_replaceable INTEGER,
blockhash TEXT,
blockheight INTEGER,
blocktime INTEGER,
raw_tx TEXT,
inserted_ts INTEGER DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_tx_timereceived ON tx (timereceived);
CREATE INDEX idx_tx_fee ON tx (fee);
CREATE INDEX idx_tx_size ON tx (size);
CREATE INDEX idx_tx_vsize ON tx (vsize);
CREATE INDEX idx_tx_blockhash ON tx (blockhash);
CREATE INDEX idx_tx_blockheight ON tx (blockheight);
CREATE INDEX idx_tx_blocktime ON tx (blocktime);
CREATE TABLE recipient (
id INTEGER PRIMARY KEY AUTOINCREMENT,
address TEXT,
amount REAL,
tx_id INTEGER REFERENCES tx,
inserted_ts INTEGER DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_recipient_address ON recipient (address);
CREATE TABLE watching_by_txid (
id INTEGER PRIMARY KEY AUTOINCREMENT,
txid TEXT UNIQUE,
watching INTEGER DEFAULT FALSE,
callback1conf TEXT,
calledback1conf INTEGER DEFAULT FALSE,
callbackxconf TEXT,
calledbackxconf INTEGER DEFAULT FALSE,
nbxconf INTEGER,
inserted_ts INTEGER DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_watching_by_txid_txid ON watching_by_txid (txid);
CREATE TABLE stamp (
id INTEGER PRIMARY KEY AUTOINCREMENT,
hash TEXT UNIQUE,
callbackUrl TEXT,
requested INTEGER DEFAULT FALSE,
upgraded INTEGER DEFAULT FALSE,
calledback INTEGER DEFAULT FALSE,
inserted_ts INTEGER DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_stamp_calledback ON stamp (calledback);
CREATE TABLE cyphernode_props (
id INTEGER PRIMARY KEY AUTOINCREMENT,
property TEXT,
value TEXT,
inserted_ts INTEGER DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_cp_property ON cyphernode_props (property);
INSERT INTO cyphernode_props (property, value) VALUES ("version", "0.1");
INSERT INTO cyphernode_props (property, value) VALUES ("pay_index", "0");
CREATE TABLE ln_invoice (
id INTEGER PRIMARY KEY AUTOINCREMENT,
label TEXT UNIQUE,
bolt11 TEXT UNIQUE,
payment_hash TEXT,
msatoshi INTEGER,
status TEXT,
pay_index INTEGER,
msatoshi_received INTEGER,
paid_at INTEGER,
description TEXT,
expires_at INTEGER,
callback_url TEXT,
calledback INTEGER DEFAULT FALSE,
callback_failed INTEGER DEFAULT FALSE,
inserted_ts INTEGER DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_lninvoice_label ON ln_invoice (label);
CREATE INDEX idx_lninvoice_bolt11 ON ln_invoice (bolt11);