mirror of
https://github.com/aljazceru/ark.git
synced 2025-12-18 12:44:19 +01:00
Co-authored-by: Marco Argentieri <tiero@users.noreply.github.com> * Add claim command * Persist pending data in sqlite repo * Remove debug log * Return pending data at interface level * Fix unlocking btc wallet after restart * Lint & Fix whitelist permissions * Fix send command for covenant * Update client/covenantless/claim.go Signed-off-by: Marco Argentieri <3596602+tiero@users.noreply.github.com> * Fix * Pay for min relay fee instead of estimating fees for redeem and unconf forfeit txs * Add support for pending payments (coventanless) * Fixes * Fixes * Improve verbosity * Fix coin selection * Fix --------- Signed-off-by: Marco Argentieri <3596602+tiero@users.noreply.github.com> Co-authored-by: louisinger <louis@vulpem.com> Co-authored-by: Marco Argentieri <tiero@users.noreply.github.com> Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
93 lines
2.4 KiB
SQL
93 lines
2.4 KiB
SQL
CREATE TABLE IF NOT EXISTS round (
|
|
id TEXT PRIMARY KEY,
|
|
starting_timestamp INTEGER NOT NULL,
|
|
ending_timestamp INTEGER NOT NULL,
|
|
ended BOOLEAN NOT NULL,
|
|
failed BOOLEAN NOT NULL,
|
|
stage_code INTEGER NOT NULL,
|
|
txid TEXT NOT NULL,
|
|
unsigned_tx TEXT NOT NULL,
|
|
connector_address TEXT NOT NULL,
|
|
dust_amount INTEGER NOT NULL,
|
|
version INTEGER NOT NULL,
|
|
swept BOOLEAN NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS payment (
|
|
id TEXT PRIMARY KEY,
|
|
round_id TEXT NOT NULL,
|
|
FOREIGN KEY (round_id) REFERENCES round(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS receiver (
|
|
payment_id TEXT NOT NULL,
|
|
pubkey TEXT NOT NULL,
|
|
amount INTEGER NOT NULL,
|
|
onchain_address TEXT NOT NULL,
|
|
FOREIGN KEY (payment_id) REFERENCES payment(id),
|
|
PRIMARY KEY (payment_id, pubkey)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS tx (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
tx TEXT NOT NULL,
|
|
round_id TEXT NOT NULL,
|
|
type TEXT NOT NULL,
|
|
position INTEGER NOT NULL,
|
|
txid TEXT,
|
|
tree_level INTEGER,
|
|
parent_txid TEXT,
|
|
is_leaf BOOLEAN,
|
|
FOREIGN KEY (round_id) REFERENCES round(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS uncond_forfeit_tx (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
tx TEXT NOT NULL,
|
|
vtxo_txid TEXT NOT NULL,
|
|
vtxo_vout INTEGER NOT NULL,
|
|
position INTEGER NOT NULL,
|
|
FOREIGN KEY (vtxo_txid, vtxo_vout) REFERENCES vtxo(txid, vout)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS vtxo (
|
|
txid TEXT NOT NULL,
|
|
vout INTEGER NOT NULL,
|
|
pubkey TEXT NOT NULL,
|
|
amount INTEGER NOT NULL,
|
|
pool_tx TEXT NOT NULL,
|
|
spent_by TEXT NOT NULL,
|
|
spent BOOLEAN NOT NULL,
|
|
redeemed BOOLEAN NOT NULL,
|
|
swept BOOLEAN NOT NULL,
|
|
expire_at INTEGER NOT NULL,
|
|
payment_id TEXT,
|
|
redeem_tx TEXT,
|
|
PRIMARY KEY (txid, vout),
|
|
FOREIGN KEY (payment_id) REFERENCES payment(id)
|
|
);
|
|
|
|
CREATE VIEW round_payment_vw AS SELECT payment.*
|
|
FROM round
|
|
LEFT OUTER JOIN payment
|
|
ON round.id=payment.round_id;
|
|
|
|
CREATE VIEW round_tx_vw AS SELECT tx.*
|
|
FROM round
|
|
LEFT OUTER JOIN tx
|
|
ON round.id=tx.round_id;
|
|
|
|
CREATE VIEW payment_receiver_vw AS SELECT receiver.*
|
|
FROM payment
|
|
LEFT OUTER JOIN receiver
|
|
ON payment.id=receiver.payment_id;
|
|
|
|
CREATE VIEW payment_vtxo_vw AS SELECT vtxo.*
|
|
FROM payment
|
|
LEFT OUTER JOIN vtxo
|
|
ON payment.id=vtxo.payment_id;
|
|
|
|
CREATE VIEW uncond_forfeit_tx_vw AS SELECT uncond_forfeit_tx.*
|
|
FROM vtxo
|
|
LEFT OUTER JOIN uncond_forfeit_tx
|
|
ON vtxo.txid=uncond_forfeit_tx.vtxo_txid AND vtxo.vout=uncond_forfeit_tx.vtxo_vout; |