Skip to content

Commit

Permalink
Merge pull request #209 from kodadot/zlozenec
Browse files Browse the repository at this point in the history
REMARK version.2™
  • Loading branch information
vikiival authored Apr 11, 2023
2 parents d07dc1f + f3076a5 commit 63f0d5c
Show file tree
Hide file tree
Showing 66 changed files with 3,927 additions and 3,201 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
.DS_Store
kusamaVersions.json
kusamaVersions.jsonl
*.sql
*.sql
/builds
37 changes: 37 additions & 0 deletions db/migrations/1675357928963-Data.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
module.exports = class Data1675357928963 {
name = 'Data1675357928963'

async up(db) {
await db.query(`DROP INDEX "public"."IDX_16e57ac8478b6ea1f383e3eb03"`)
await db.query(`CREATE TABLE "base" ("id" character varying NOT NULL, "type" character varying(5) NOT NULL, "symbol" text NOT NULL, "issuer" text NOT NULL, "current_owner" text NOT NULL, "metadata" text, "meta_id" character varying, CONSTRAINT "PK_ee39d2f844e458c187af0e5383f" PRIMARY KEY ("id"))`)
await db.query(`CREATE INDEX "IDX_8169d5c032175073a2cb2dced2" ON "base" ("meta_id") `)
await db.query(`ALTER TABLE "emote" ADD "version" text NOT NULL`)
await db.query(`ALTER TABLE "event" ADD "version" text NOT NULL`)
await db.query(`ALTER TABLE "nft_entity" ADD "version" text NOT NULL`)
await db.query(`ALTER TABLE "collection_entity" ADD "hash" text NOT NULL`)
await db.query(`ALTER TABLE "collection_entity" ALTER COLUMN "issuer" SET NOT NULL`)
await db.query(`ALTER TABLE "collection_entity" ALTER COLUMN "symbol" SET NOT NULL`)
await db.query(`ALTER TABLE "collection_entity" ALTER COLUMN "version" SET NOT NULL`)
await db.query(`CREATE UNIQUE INDEX "IDX_16e57ac8478b6ea1f383e3eb03" ON "nft_entity" ("hash") `)
await db.query(`CREATE UNIQUE INDEX "IDX_90561baea428b17fdaf8e484d7" ON "collection_entity" ("hash") `)
await db.query(`CREATE UNIQUE INDEX "IDX_52aced6d11be2f40270941fe32" ON "collection_entity" ("symbol") `)
await db.query(`ALTER TABLE "base" ADD CONSTRAINT "FK_8169d5c032175073a2cb2dced2b" FOREIGN KEY ("meta_id") REFERENCES "metadata_entity"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`)
}

async down(db) {
await db.query(`CREATE INDEX "IDX_16e57ac8478b6ea1f383e3eb03" ON "nft_entity" ("hash") `)
await db.query(`DROP TABLE "base"`)
await db.query(`DROP INDEX "public"."IDX_8169d5c032175073a2cb2dced2"`)
await db.query(`ALTER TABLE "emote" DROP COLUMN "version"`)
await db.query(`ALTER TABLE "event" DROP COLUMN "version"`)
await db.query(`ALTER TABLE "nft_entity" DROP COLUMN "version"`)
await db.query(`ALTER TABLE "collection_entity" DROP COLUMN "hash"`)
await db.query(`ALTER TABLE "collection_entity" ALTER COLUMN "issuer" DROP NOT NULL`)
await db.query(`ALTER TABLE "collection_entity" ALTER COLUMN "symbol" DROP NOT NULL`)
await db.query(`ALTER TABLE "collection_entity" ALTER COLUMN "version" DROP NOT NULL`)
await db.query(`DROP INDEX "public"."IDX_16e57ac8478b6ea1f383e3eb03"`)
await db.query(`DROP INDEX "public"."IDX_90561baea428b17fdaf8e484d7"`)
await db.query(`DROP INDEX "public"."IDX_52aced6d11be2f40270941fe32"`)
await db.query(`ALTER TABLE "base" DROP CONSTRAINT "FK_8169d5c032175073a2cb2dced2b"`)
}
}
25 changes: 25 additions & 0 deletions db/migrations/1675779641945-Data.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
module.exports = class Data1675779641945 {
name = 'Data1675779641945'

async up(db) {
await db.query(`CREATE TABLE "resource" ("id" character varying NOT NULL, "src" text, "metadata" text, "slot" text, "thumb" text, "priority" integer NOT NULL, "pending" boolean NOT NULL, "meta_id" character varying, "nft_id" character varying, CONSTRAINT "PK_e2894a5867e06ae2e8889f1173f" PRIMARY KEY ("id"))`)
await db.query(`CREATE INDEX "IDX_7051669e23906fb1d9244b224c" ON "resource" ("meta_id") `)
await db.query(`CREATE INDEX "IDX_3835ff3c52c06c0f8aaa3f9506" ON "resource" ("nft_id") `)
await db.query(`ALTER TABLE "nft_entity" ADD "parent_id" character varying`)
await db.query(`CREATE INDEX "IDX_2671695ceee965b07704b54b2b" ON "nft_entity" ("parent_id") `)
await db.query(`ALTER TABLE "resource" ADD CONSTRAINT "FK_7051669e23906fb1d9244b224c1" FOREIGN KEY ("meta_id") REFERENCES "metadata_entity"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`)
await db.query(`ALTER TABLE "resource" ADD CONSTRAINT "FK_3835ff3c52c06c0f8aaa3f95061" FOREIGN KEY ("nft_id") REFERENCES "nft_entity"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`)
await db.query(`ALTER TABLE "nft_entity" ADD CONSTRAINT "FK_2671695ceee965b07704b54b2be" FOREIGN KEY ("parent_id") REFERENCES "nft_entity"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`)
}

async down(db) {
await db.query(`DROP TABLE "resource"`)
await db.query(`DROP INDEX "public"."IDX_7051669e23906fb1d9244b224c"`)
await db.query(`DROP INDEX "public"."IDX_3835ff3c52c06c0f8aaa3f9506"`)
await db.query(`ALTER TABLE "nft_entity" DROP COLUMN "parent_id"`)
await db.query(`DROP INDEX "public"."IDX_2671695ceee965b07704b54b2b"`)
await db.query(`ALTER TABLE "resource" DROP CONSTRAINT "FK_7051669e23906fb1d9244b224c1"`)
await db.query(`ALTER TABLE "resource" DROP CONSTRAINT "FK_3835ff3c52c06c0f8aaa3f95061"`)
await db.query(`ALTER TABLE "nft_entity" DROP CONSTRAINT "FK_2671695ceee965b07704b54b2be"`)
}
}
11 changes: 11 additions & 0 deletions db/migrations/1675899176978-Data.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
module.exports = class Data1675899176978 {
name = 'Data1675899176978'

async up(db) {
await db.query(`ALTER TABLE "nft_entity" ADD "pending" boolean NOT NULL`)
}

async down(db) {
await db.query(`ALTER TABLE "nft_entity" DROP COLUMN "pending"`)
}
}
11 changes: 11 additions & 0 deletions db/migrations/1676574032719-Data.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
module.exports = class Data1676574032719 {
name = 'Data1676574032719'

async up(db) {
await db.query(`ALTER TABLE "nft_entity" ADD "royalty" numeric`)
}

async down(db) {
await db.query(`ALTER TABLE "nft_entity" DROP COLUMN "royalty"`)
}
}
13 changes: 13 additions & 0 deletions db/migrations/1679415976518-Data.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
module.exports = class Data1679415976518 {
name = 'Data1679415976518'

async up(db) {
await db.query(`DROP INDEX "public"."IDX_52aced6d11be2f40270941fe32"`)
await db.query(`ALTER TABLE "collection_entity" ALTER COLUMN "issuer" DROP NOT NULL`)
}

async down(db) {
await db.query(`CREATE UNIQUE INDEX "IDX_52aced6d11be2f40270941fe32" ON "collection_entity" ("symbol") `)
await db.query(`ALTER TABLE "collection_entity" ALTER COLUMN "issuer" SET NOT NULL`)
}
}
11 changes: 11 additions & 0 deletions db/migrations/1679570258760-Data.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
module.exports = class Data1679570258760 {
name = 'Data1679570258760'

async up(db) {
await db.query(`ALTER TABLE "nft_entity" ADD "recipient" text`)
}

async down(db) {
await db.query(`ALTER TABLE "nft_entity" DROP COLUMN "recipient"`)
}
}
31 changes: 21 additions & 10 deletions justfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
default := 'squid'

process: build
node -r dotenv/config lib/processor.js

serve:
@npx squid-graphql-server

up:
docker compose up
up *FLAGS:
docker compose up {{FLAGS}}

upd:
@just up -d

pull:
docker compose pull
Expand All @@ -32,12 +37,14 @@ explore:
--archive https://kusama.archive.subsquid.io/graphql \
--out kusamaVersions.jsonl

bug: down up
bug: down upd

reset: migrate

quickstart: migrate process

quick: build reset process

prod TAG:
gh pr create --base release-{{TAG}}

Expand All @@ -47,28 +54,32 @@ migrate:
update-db:
npx squid-typeorm-migration generate

db: update-db migrate

test:
npm run test:unit

improve TAG:
npx sqd squid:update rubick@{{TAG}}
improve TAG=default:
npx sqd deploy -m {{TAG}}.yaml .

release TAG:
npx sqd squid:release rubick@{{TAG}}
release TAG=default:
npx sqd deploy -m {{TAG}}.yaml .

kill TAG:
npx sqd squid:kill "rubick@{{TAG}}"

tail TAG:
npx sqd squid logs rubick@{{TAG}} -f

brutal TAG:
npx sqd squid:update rubick@{{TAG}} --hardReset
brutal TAG=default:
npx sqd deploy —hard -m {{TAG}}.yaml .

update-deps:
npx npm-check-updates -u
npx npm-check-updates -ux

exec:
docker exec -it rubick-db-1 psql -U postgres -d squid

check: codegen build

kek: bug quick
20 changes: 20 additions & 0 deletions marck.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
manifestVersion: subsquid.io/v0.1
name: marck
version: 1
description: |-
SubSquid indexer for Kusama NFTs by KodaDot
build:

deploy:
addons:
postgres:
config:
statement_timeout: 30000
log_min_duration_statement: 5000
processor:
cmd: [ "node", "lib/processor" ]
api:
cmd: [ "npx", "squid-graphql-server", "--subscriptions", "--dumb-cache", "in-memory", "--dumb-cache-ttl", "1000", "--dumb-cache-size", "100", "--dumb-cache-max-age", "1000" ]

scale:
dedicated: true
Loading

0 comments on commit 63f0d5c

Please sign in to comment.