-- queries for btcdata -- :name insert-binance-price! :! :n -- :doc Insert a Binance BTC price INSERT INTO binance_price (price) VALUES (:price) -- :name get-latest-binance-price :? :1 -- :doc Get the most recent Binance BTC price SELECT price, recorded_at FROM binance_price ORDER BY id DESC LIMIT 1 -- :name upsert-kraken-hour! :! :n -- :doc Upsert a Kraken hourly OHLC candle INSERT INTO kraken_hour (ts, open, high, low, close, vwap, volume, trade_count) VALUES (:ts, :open, :high, :low, :close, :vwap, :volume, :trade-count) ON CONFLICT (ts) DO UPDATE SET open = EXCLUDED.open, high = EXCLUDED.high, low = EXCLUDED.low, close = EXCLUDED.close, vwap = EXCLUDED.vwap, volume = EXCLUDED.volume, trade_count = EXCLUDED.trade_count -- :name get-latest-kraken-hour :? :1 -- :doc Get the most recent Kraken hourly candle by timestamp SELECT ts, open, high, low, close, vwap, volume, trade_count, created_at FROM kraken_hour ORDER BY ts DESC LIMIT 1 -- :name upsert-kraken-day! :! :n -- :doc Upsert a Kraken daily OHLC candle INSERT INTO kraken_day (ts, open, high, low, close, vwap, volume, trade_count) VALUES (:ts, :open, :high, :low, :close, :vwap, :volume, :trade-count) ON CONFLICT (ts) DO UPDATE SET open = EXCLUDED.open, high = EXCLUDED.high, low = EXCLUDED.low, close = EXCLUDED.close, vwap = EXCLUDED.vwap, volume = EXCLUDED.volume, trade_count = EXCLUDED.trade_count -- :name get-latest-kraken-day :? :1 -- :doc Get the most recent Kraken daily candle by timestamp SELECT ts FROM kraken_day ORDER BY ts DESC LIMIT 1 -- :name insert-strike-price! :! :n -- :doc Insert a Strike ticker snapshot INSERT INTO strike_price (rates, quote_sats) VALUES (:rates, :quote-sats) -- :name get-latest-strike-price :? :1 -- :doc Get the most recent Strike ticker snapshot SELECT rates, recorded_at FROM strike_price ORDER BY id DESC LIMIT 1 -- :name upsert-currency-rates! :! :n -- :doc Upsert daily currency rates from Frankfurter INSERT INTO currencies (rate_date, eur, dkk, eur_dkk, updated_at) VALUES (:rate-date, :eur, :dkk, :eur-dkk, NOW()) ON CONFLICT (rate_date) DO UPDATE SET eur = EXCLUDED.eur, dkk = EXCLUDED.dkk, eur_dkk = EXCLUDED.eur_dkk, updated_at = NOW() -- :name get-latest-currency-rates :? :1 -- :doc Get the most recent currency rates SELECT rate_date, eur, dkk, eur_dkk, updated_at FROM currencies ORDER BY rate_date DESC LIMIT 1 -- :name get-currency-rates-by-date :? :1 -- :doc Get currency rates for a specific date SELECT rate_date, eur, dkk, eur_dkk, updated_at FROM currencies WHERE rate_date = :rate-date