diff options
Diffstat (limited to 'src/exchangedb/auditor-triggers-0001.sql')
-rw-r--r-- | src/exchangedb/auditor-triggers-0001.sql | 433 |
1 files changed, 430 insertions, 3 deletions
diff --git a/src/exchangedb/auditor-triggers-0001.sql b/src/exchangedb/auditor-triggers-0001.sql index 4e2ea66ce..ad66bc11d 100644 --- a/src/exchangedb/auditor-triggers-0001.sql +++ b/src/exchangedb/auditor-triggers-0001.sql @@ -17,10 +17,9 @@ -- Everything in one big transaction BEGIN; -SELECT _v.register_patch('auditor-triggers-0001'); - -SET search_path TO exchange; +--SELECT _v.register_patch('auditor-triggers-0001'); +/* CREATE OR REPLACE FUNCTION auditor_new_deposits_trigger() RETURNS trigger LANGUAGE plpgsql @@ -36,6 +35,434 @@ CREATE TRIGGER auditor_notify_helper_insert_deposits AFTER INSERT ON exchange.batch_deposits EXECUTE PROCEDURE auditor_new_deposits_trigger(); +*/ + + +-- make 6 of these functions, one for each helper + +-- the coins helper listens to this trigger +CREATE OR REPLACE FUNCTION auditor_wake_coins_helper_trigger() + RETURNS trigger + LANGUAGE plpgsql +AS $$ +BEGIN + NOTIFY X5V5R0DDFMXS0R3W058R3W4RPDVMK35YZCS0S5VZS583J0NR0PE2G; +RETURN NEW; +END $$; +COMMENT ON FUNCTION auditor_wake_coins_helper_trigger() + IS 'Call auditor_call_db_notify on new entry'; + + +-- the purses helper listens to this trigger +CREATE OR REPLACE FUNCTION auditor_wake_purses_helper_trigger() + RETURNS trigger + LANGUAGE plpgsql +AS $$ +BEGIN + NOTIFY X908G8PNPMJYA59YGGTJND1TKTBFNG8C7TREHG3X5SJ9EQAJY4Z00; +RETURN NEW; +END $$; +COMMENT ON FUNCTION auditor_wake_purses_helper_trigger() + IS 'Call auditor_call_db_notify on new entry'; + + +-- the deposits helper listens to this trigger +CREATE OR REPLACE FUNCTION auditor_wake_deposits_helper_trigger() + RETURNS trigger + LANGUAGE plpgsql +AS $$ +BEGIN + NOTIFY XZD0FASMJD3XCY3Z0CGXNJQ8CMWSCW80JN6796098N71CXPH70TQ0; +RETURN NEW; +END $$; +COMMENT ON FUNCTION auditor_wake_deposits_helper_trigger() + IS 'Call auditor_call_db_notify on new entry'; + +-- the reserves helper listens to this trigger +CREATE OR REPLACE FUNCTION auditor_wake_reserves_helper_trigger() + RETURNS trigger + LANGUAGE plpgsql +AS $$ +BEGIN + NOTIFY XMF69RJQB7EN06KGSQ02VFD3723CE86VXA5GRE8H7XNNS6BDYF0G0; +RETURN NEW; +END $$; +COMMENT ON FUNCTION auditor_wake_reserves_helper_trigger() + IS 'Call auditor_call_db_notify on new entry'; + +-- the wire helper listens to this trigger +CREATE OR REPLACE FUNCTION auditor_wake_wire_helper_trigger() + RETURNS trigger + LANGUAGE plpgsql +AS $$ +BEGIN + NOTIFY X1RYYSTS139MBHVEXJ6CZZTY76MAMEEF87SRRWC8WM00HCCW6D12G; +RETURN NEW; +END $$; +COMMENT ON FUNCTION auditor_wake_wire_helper_trigger() + IS 'Call auditor_call_db_notify on new entry'; + +-- the wire aggregation listens to this trigger +CREATE OR REPLACE FUNCTION auditor_wake_aggregation_helper_trigger() + RETURNS trigger + LANGUAGE plpgsql +AS $$ +BEGIN + NOTIFY XWRPZ889FPA6TMGJ15JVTCMKEFVJEWCEKF1TEZHTDQHBYSV49M31G; +RETURN NEW; +END $$; +COMMENT ON FUNCTION auditor_wake_aggregation_helper_trigger() + IS 'Call auditor_call_db_notify on new entry'; + + +-- call the functions in each table to call all relevant helpers +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation0 + AFTER INSERT ON exchange.batch_deposits +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation1 + AFTER INSERT ON exchange.partners +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation2 + AFTER INSERT ON exchange.wire_targets +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation3 + AFTER INSERT ON exchange.reserves_open_deposits +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation4 + AFTER INSERT ON exchange.aggregation_tracking +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation5 + AFTER INSERT ON exchange.purse_requests +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation6 + AFTER INSERT ON exchange.refresh_revealed_coins +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation7 + AFTER INSERT ON exchange.reserves +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation8 + AFTER INSERT ON exchange.purse_deposits +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation9 + AFTER INSERT ON exchange.reserves_out +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation10 + AFTER INSERT ON exchange.recoup +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation11 + AFTER INSERT ON exchange.coin_history +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation12 + AFTER INSERT ON exchange.coin_deposits +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation13 + AFTER INSERT ON exchange.wire_out +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation14 + AFTER INSERT ON exchange.refunds +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation15 + AFTER INSERT ON exchange.refresh_commitments +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation16 + AFTER INSERT ON exchange.purse_decision +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation17 + AFTER INSERT ON exchange.known_coins +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation18 + AFTER INSERT ON exchange.recoup_refresh +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins0 + AFTER INSERT ON exchange.purse_merges +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins1 + AFTER INSERT ON exchange.batch_deposits +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins2 + AFTER INSERT ON exchange.partners +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins3 + AFTER INSERT ON exchange.denomination_revocations +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins4 + AFTER INSERT ON exchange.wire_targets +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins5 + AFTER INSERT ON exchange.auditors +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins6 + AFTER INSERT ON exchange.purse_requests +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins7 + AFTER INSERT ON exchange.refresh_revealed_coins +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins8 + AFTER INSERT ON exchange.reserves +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins9 + AFTER INSERT ON exchange.purse_deposits +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins10 + AFTER INSERT ON exchange.reserves_out +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins11 + AFTER INSERT ON exchange.recoup +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins12 + AFTER INSERT ON exchange.auditor_denom_sigs +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins13 + AFTER INSERT ON exchange.coin_deposits +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins14 + AFTER INSERT ON exchange.refunds +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins15 + AFTER INSERT ON exchange.refresh_commitments +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins16 + AFTER INSERT ON exchange.purse_decision +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins17 + AFTER INSERT ON exchange.known_coins +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins18 + AFTER INSERT ON exchange.recoup_refresh +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_purses0 + AFTER INSERT ON exchange.purse_merges +EXECUTE FUNCTION auditor_wake_purses_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_purses1 + AFTER INSERT ON exchange.account_merges +EXECUTE FUNCTION auditor_wake_purses_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_purses2 + AFTER INSERT ON exchange.purse_deposits +EXECUTE FUNCTION auditor_wake_purses_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_purses3 + AFTER INSERT ON exchange.global_fee +EXECUTE FUNCTION auditor_wake_purses_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_purses4 + AFTER INSERT ON exchange.purse_requests +EXECUTE FUNCTION auditor_wake_purses_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_purses5 + AFTER INSERT ON exchange.partners +EXECUTE FUNCTION auditor_wake_purses_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_purses6 + AFTER INSERT ON exchange.purse_decision +EXECUTE FUNCTION auditor_wake_purses_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_purses7 + AFTER INSERT ON exchange.known_coins +EXECUTE FUNCTION auditor_wake_purses_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_deposits0 + AFTER INSERT ON exchange.wire_targets +EXECUTE FUNCTION auditor_wake_deposits_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_deposits1 + AFTER INSERT ON exchange.batch_deposits +EXECUTE FUNCTION auditor_wake_deposits_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_deposits2 + AFTER INSERT ON exchange.known_coins +EXECUTE FUNCTION auditor_wake_deposits_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_deposits3 + AFTER INSERT ON exchange.coin_deposits +EXECUTE FUNCTION auditor_wake_deposits_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves0 + AFTER INSERT ON exchange.wire_fee +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves1 + AFTER INSERT ON exchange.reserves +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves2 + AFTER INSERT ON exchange.reserves_close +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves3 + AFTER INSERT ON exchange.purse_merges +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves4 + AFTER INSERT ON exchange.wire_targets +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves5 + AFTER INSERT ON exchange.reserves_out +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves6 + AFTER INSERT ON exchange.recoup +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves7 + AFTER INSERT ON exchange.purse_requests +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves8 + AFTER INSERT ON exchange.reserves_open_requests +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves9 + AFTER INSERT ON exchange.denomination_revocations +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves10 + AFTER INSERT ON exchange.purse_decision +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves11 + AFTER INSERT ON exchange.known_coins +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves12 + AFTER INSERT ON exchange.reserves_in +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_wire0 + AFTER INSERT ON exchange.reserves +EXECUTE FUNCTION auditor_wake_wire_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_wire1 + AFTER INSERT ON exchange.wire_targets +EXECUTE FUNCTION auditor_wake_wire_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_wire2 + AFTER INSERT ON exchange.aggregation_tracking +EXECUTE FUNCTION auditor_wake_wire_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_wire3 + AFTER INSERT ON exchange.wire_out +EXECUTE FUNCTION auditor_wake_wire_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_wire4 + AFTER INSERT ON exchange.reserves_close +EXECUTE FUNCTION auditor_wake_wire_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_wire5 + AFTER INSERT ON exchange.profit_drains +EXECUTE FUNCTION auditor_wake_wire_helper_trigger(); + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_wire6 + AFTER INSERT ON exchange.reserves_in +EXECUTE FUNCTION auditor_wake_wire_helper_trigger(); COMMIT; |