diff --git a/db/migrations/1706784285253-Data.js b/db/migrations/1706784285253-Data.js index 7d74cfa..ae98ce0 100644 --- a/db/migrations/1706784285253-Data.js +++ b/db/migrations/1706784285253-Data.js @@ -97,11 +97,11 @@ module.exports = class Data1706784285253 { await db.query(`ALTER TABLE "token_holder" ADD CONSTRAINT "FK_77bdccde4b3585013306c3606fc" FOREIGN KEY ("signer_id") REFERENCES "account"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`) await db.query(`ALTER TABLE "staking" ADD CONSTRAINT "FK_6ee1999545992b2cd1ba1f1f657" FOREIGN KEY ("signer_id") REFERENCES "account"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`) await db.query(`ALTER TABLE "staking" ADD CONSTRAINT "FK_c4f2c390140b9ff847dae450025" FOREIGN KEY ("event_id") REFERENCES "event"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`) - + // ************************************************************************************************ // Scripts inserted manually. Creates functions and triggers, and inserts initial data. // ************************************************************************************************ - + // Create functions await db.query(` CREATE FUNCTION public.account_count() RETURNS trigger @@ -439,5 +439,22 @@ module.exports = class Data1706784285253 { await db.query(`DROP FUNCTION public.extrinsic_count()`) await db.query(`DROP FUNCTION public.new_verified_contract_found()`) await db.query(`DROP FUNCTION public.transfer_count()`) + + // ************************************************************************************************************* + // Script inserted manually. Modifies the foreign key constraint on the verified_contract table to delete + // the verified contract when the contract is deleted. + // ************************************************************************************************************* + await db.query(` + ALTER TABLE "verified_contract" + DROP CONSTRAINT IF EXISTS "FK_70c992c058f4f82d658a2cd899c"; + `); + + + await db.query(` + ALTER TABLE "verified_contract" + ADD CONSTRAINT "FK_70c992c058f4f82d658a2cd899c" + FOREIGN KEY ("contract_id") REFERENCES "contract"("id") + ON DELETE CASCADE ON UPDATE NO ACTION; + `); } } diff --git a/db/migrations/1706784285254-Data.js b/db/migrations/1706784285254-Data.js index cecf6fb..eb4661f 100644 --- a/db/migrations/1706784285254-Data.js +++ b/db/migrations/1706784285254-Data.js @@ -1,12 +1,22 @@ -module.exports = class Data1706784285254 { - name = 'Data1706784285254' +// module.exports = class Data1706784285254 { +// name = 'Data1706784285254' - async up(db) { - // ************************************************************************************************************* - // Script inserted manually. Modifies the foreign key constraint on the verified_contract table to delete - // the verified contract when the contract is deleted. - // ************************************************************************************************************* - await db.query(`ALTER TABLE "verified_contract" DROP CONSTRAINT "FK_70c992c058f4f82d658a2cd899c";`); - await db.query(`ALTER TABLE "verified_contract" ADD CONSTRAINT "FK_70c992c058f4f82d658a2cd899c" FOREIGN KEY ("contract_id") REFERENCES "contract"("id") ON DELETE CASCADE ON UPDATE NO ACTION`) - } -} +// async up(db) { +// // ************************************************************************************************************* +// // Script inserted manually. Modifies the foreign key constraint on the verified_contract table to delete +// // the verified contract when the contract is deleted. +// // ************************************************************************************************************* +// await db.query(` +// ALTER TABLE "verified_contract" +// DROP CONSTRAINT IF EXISTS "FK_70c992c058f4f82d658a2cd899c"; +// `); + + +// await db.query(` +// ALTER TABLE "verified_contract" +// ADD CONSTRAINT "FK_70c992c058f4f82d658a2cd899c" +// FOREIGN KEY ("contract_id") REFERENCES "contract"("id") +// ON DELETE CASCADE ON UPDATE NO ACTION; +// `); +// } +// } diff --git a/squid.yaml b/squid.yaml new file mode 100644 index 0000000..b4d9e4e --- /dev/null +++ b/squid.yaml @@ -0,0 +1,108 @@ +manifestVersion: subsquid.io/v0.1 +name: reef-explorer +version: 13 +description: |- + Reef Chain explorer data + +# squid-reef@2.1.2 + +build: + +deploy: + addons: + postgres: + processor: + env: + NETWORK: + mainnet + HEAD_REACHED: + true + PIN_TO_IPFS: + false + USE_ONLY_RPC: + false + SUPPORT_HOT_BLOCKS: + true + UPDATE_FROM_HEAD_BATCH_SIZE: + 100 + PROCESSOR_BATCH_SIZE: + 1000 + REEFSWAP_ROUTER_ADDRESS_MAINNET: + "0x10ED43C718714eb63d5aA57B78B54704E256024E" + FIREBASE_EMITTER_ENABLED: + false + FIREBASE_PROJECT_ID: + reef-block-index + FIREBASE_DB_URL: + https://reef-block-index-default-rtdb.firebaseio.com/ + EMITTER_IO_ENABLED: + true + EMITTER_IO_URL: + https://events.reefscan.info:443 + PUSHER_ENABLED: + false + PUSHER_APP_ID: + 1629403 + PUSHER_KEY: + fc5ad78eb31981de6c67 + PUSHER_CLUSTER: + eu + PUSHER_CHANNEL: + reef-chain + PUSHER_EVENT: + block-finalised + cmd: [ "node", "lib/processor" ] + api: + env: + NETWORK: + mainnet + SQUID_NAME: + reef-explorer + FIREBASE_EMITTER_ENABLED: + false + FIREBASE_PROJECT_ID: + reef-block-index + FIREBASE_DB_URL: + https://reef-block-index-default-rtdb.firebaseio.com/ + EMITTER_IO_ENABLED: + true + EMITTER_IO_URL: + https://events.reefscan.info:443 + PUSHER_ENABLED: + false + PUSHER_APP_ID: + 1629403 + PUSHER_KEY: + fc5ad78eb31981de6c67 + PUSHER_CLUSTER: + eu + PUSHER_CHANNEL: + reef-chain + PUSHER_EVENT: + block-finalised + UPDATE_FINALIZED_MAX_SIZE: + 1000 + cmd: [ "npx", "squid-graphql-server", "--subscriptions", "--max-root-fields", "15", "--max-response-size", "1000"] + secrets: + - NODE_RPC_WS_MAINNET + - NODE_RPC_WS_TESTNET + - ARCHIVE_LOOKUP_NAME_MAINNET + - ARCHIVE_LOOKUP_NAME_TESTNET + - JWT_SECRET + - INFURA_IPFS_PROJECT_ID + - INFURA_IPFS_KEY + - APIKEY_REEF_BRIDGE + - FIREBASE_CLIENT_EMAIL + - FIREBASE_PK + - PUSHER_SECRET + - FIREBASE_CLIENT_EMAIL + - FIREBASE_PK + - EMITTER_IO_KEY + +scale: + dedicated: false + addons: + postgres: + profile: small + # processor: + # profile: medium