From 1a0edee06f73ec97d4aa0dceb806392e77b05c82 Mon Sep 17 00:00:00 2001 From: Viki Val Date: Mon, 16 Sep 2024 13:04:41 +0200 Subject: [PATCH] Revert "Need to release v12 first" --- basick.yaml | 2 +- db/migrations/1726484389986-Data.js | 15 +++++++++++++++ package-lock.json | 14 +++++++------- package.json | 2 +- schema.graphql | 13 ++++++++++++- src/mappings/shared/metadata.ts | 5 +++-- src/model/generated/_kind.ts | 6 ++++++ src/model/generated/collectionEntity.model.ts | 4 ++++ src/model/generated/index.ts | 1 + src/model/generated/metadataEntity.model.ts | 7 +++++++ src/processable.ts | 3 ++- 11 files changed, 59 insertions(+), 13 deletions(-) create mode 100644 db/migrations/1726484389986-Data.js create mode 100644 src/model/generated/_kind.ts diff --git a/basick.yaml b/basick.yaml index 6920dfe..3a1f346 100644 --- a/basick.yaml +++ b/basick.yaml @@ -1,6 +1,6 @@ manifestVersion: subsquid.io/v0.1 name: basick -version: 12 +version: 13 description: 'SubSquid indexer for Base' build: deploy: diff --git a/db/migrations/1726484389986-Data.js b/db/migrations/1726484389986-Data.js new file mode 100644 index 0000000..4ac83a2 --- /dev/null +++ b/db/migrations/1726484389986-Data.js @@ -0,0 +1,15 @@ +module.exports = class Data1726484389986 { + name = 'Data1726484389986' + + async up(db) { + await db.query(`ALTER TABLE "metadata_entity" ADD "banner" text`) + await db.query(`ALTER TABLE "metadata_entity" ADD "kind" character varying(6)`) + await db.query(`ALTER TABLE "collection_entity" ADD "kind" character varying(6)`) + } + + async down(db) { + await db.query(`ALTER TABLE "metadata_entity" DROP COLUMN "banner"`) + await db.query(`ALTER TABLE "metadata_entity" DROP COLUMN "kind"`) + await db.query(`ALTER TABLE "collection_entity" DROP COLUMN "kind"`) + } +} diff --git a/package-lock.json b/package-lock.json index 23702f4..70f7848 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "": { "name": "@kodadot1/synck", "dependencies": { - "@kodadot1/hyperdata": "^0.0.1-rc.4", + "@kodadot1/hyperdata": "^0.0.1-rc.5", "@kodadot1/metasquid": "^0.3.0-rc.0", "@kodadot1/minipfs": "^0.4.3-rc.2", "@subsquid/archive-registry": "^3.3.2", @@ -407,9 +407,9 @@ } }, "node_modules/@kodadot1/hyperdata": { - "version": "0.0.1-rc.4", - "resolved": "https://registry.npmjs.org/@kodadot1/hyperdata/-/hyperdata-0.0.1-rc.4.tgz", - "integrity": "sha512-8vBamHWimmZ/ew1Z0iUJPDdW2fkNiPC5S1Ezklsy5BjG0AvA+7t+cwpi2gD33sMrfkzAAHcg30B3EHA98sgUzw==" + "version": "0.0.1-rc.5", + "resolved": "https://registry.npmjs.org/@kodadot1/hyperdata/-/hyperdata-0.0.1-rc.5.tgz", + "integrity": "sha512-p6tNXWc+Obll/hpPs9wrru2csK9DBWDL6JSXYPojt3cxIerwDB7gj6ZyQfdzTN9ThM9HU6H/uheKXcXiHytdEg==" }, "node_modules/@kodadot1/metasquid": { "version": "0.3.0-rc.0", @@ -4979,9 +4979,9 @@ } }, "@kodadot1/hyperdata": { - "version": "0.0.1-rc.4", - "resolved": "https://registry.npmjs.org/@kodadot1/hyperdata/-/hyperdata-0.0.1-rc.4.tgz", - "integrity": "sha512-8vBamHWimmZ/ew1Z0iUJPDdW2fkNiPC5S1Ezklsy5BjG0AvA+7t+cwpi2gD33sMrfkzAAHcg30B3EHA98sgUzw==" + "version": "0.0.1-rc.5", + "resolved": "https://registry.npmjs.org/@kodadot1/hyperdata/-/hyperdata-0.0.1-rc.5.tgz", + "integrity": "sha512-p6tNXWc+Obll/hpPs9wrru2csK9DBWDL6JSXYPojt3cxIerwDB7gj6ZyQfdzTN9ThM9HU6H/uheKXcXiHytdEg==" }, "@kodadot1/metasquid": { "version": "0.3.0-rc.0", diff --git a/package.json b/package.json index 70aea3c..025ae7a 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "update": "npx npm-check-updates --filter /subsquid/ --upgrade && npm i -f" }, "dependencies": { - "@kodadot1/hyperdata": "^0.0.1-rc.4", + "@kodadot1/hyperdata": "^0.0.1-rc.5", "@kodadot1/metasquid": "^0.3.0-rc.0", "@kodadot1/minipfs": "^0.4.3-rc.2", "@subsquid/archive-registry": "^3.3.2", diff --git a/schema.graphql b/schema.graphql index f2eeaf0..e958ac2 100644 --- a/schema.graphql +++ b/schema.graphql @@ -12,6 +12,7 @@ type CollectionEntity @entity { id: ID! image: String issuer: String! + kind: Kind max: Int media: String meta: MetadataEntity @@ -75,7 +76,8 @@ type MetadataEntity @entity { attributes: [Attribute!] animationUrl: String type: String - # banner: String + banner: String + kind: Kind } type Attribute @jsonField { @@ -135,6 +137,15 @@ enum Interaction { # LOCK } +enum Kind { + poap + pfp + genart + mixed + # audio + # video +} + # type AssetEntity @entity { # id: ID! # name: String diff --git a/src/mappings/shared/metadata.ts b/src/mappings/shared/metadata.ts index 3722a96..054e6ea 100644 --- a/src/mappings/shared/metadata.ts +++ b/src/mappings/shared/metadata.ts @@ -5,7 +5,7 @@ import type { Content } from '@kodadot1/hyperdata' import { logger } from '@kodadot1/metasquid/logger' import { Store } from '@subsquid/typeorm-store' // import md5 from 'md5' -import { MetadataEntity as Metadata } from '../../model/generated' +import { Kind, MetadataEntity as Metadata } from '../../model/generated' import { fetchMetadata } from '../utils/metadata' export async function handleMetadata(id: string, store: Store): Promise> { @@ -31,7 +31,8 @@ export async function handleMetadata(id: string, store: Store): Promise(Metadata, id, partial) diff --git a/src/model/generated/_kind.ts b/src/model/generated/_kind.ts new file mode 100644 index 0000000..67fc9d5 --- /dev/null +++ b/src/model/generated/_kind.ts @@ -0,0 +1,6 @@ +export enum Kind { + poap = "poap", + pfp = "pfp", + genart = "genart", + mixed = "mixed", +} diff --git a/src/model/generated/collectionEntity.model.ts b/src/model/generated/collectionEntity.model.ts index d10aced..5646a4f 100644 --- a/src/model/generated/collectionEntity.model.ts +++ b/src/model/generated/collectionEntity.model.ts @@ -1,5 +1,6 @@ import {Entity as Entity_, Column as Column_, PrimaryColumn as PrimaryColumn_, StringColumn as StringColumn_, BigIntColumn as BigIntColumn_, Index as Index_, DateTimeColumn as DateTimeColumn_, IntColumn as IntColumn_, OneToMany as OneToMany_, ManyToOne as ManyToOne_} from "@subsquid/typeorm-store" import {CollectionEvent} from "./collectionEvent.model" +import {Kind} from "./_kind" import {MetadataEntity} from "./metadataEntity.model" import {NFTEntity} from "./nftEntity.model" import {CollectionType} from "./_collectionType" @@ -49,6 +50,9 @@ export class CollectionEntity { @StringColumn_({nullable: false}) issuer!: string + @Column_("varchar", {length: 6, nullable: true}) + kind!: Kind | undefined | null + @IntColumn_({nullable: true}) max!: number | undefined | null diff --git a/src/model/generated/index.ts b/src/model/generated/index.ts index 5a23a03..a22631a 100644 --- a/src/model/generated/index.ts +++ b/src/model/generated/index.ts @@ -1,4 +1,5 @@ export * from "./collectionEntity.model" +export * from "./_kind" export * from "./_collectionType" export * from "./nftEntity.model" export * from "./tokenEntity.model" diff --git a/src/model/generated/metadataEntity.model.ts b/src/model/generated/metadataEntity.model.ts index d7af54b..76656ff 100644 --- a/src/model/generated/metadataEntity.model.ts +++ b/src/model/generated/metadataEntity.model.ts @@ -1,6 +1,7 @@ import {Entity as Entity_, Column as Column_, PrimaryColumn as PrimaryColumn_, StringColumn as StringColumn_} from "@subsquid/typeorm-store" import * as marshal from "./marshal" import {Attribute} from "./_attribute" +import {Kind} from "./_kind" @Entity_() export class MetadataEntity { @@ -28,4 +29,10 @@ export class MetadataEntity { @StringColumn_({nullable: true}) type!: string | undefined | null + + @StringColumn_({nullable: true}) + banner!: string | undefined | null + + @Column_("varchar", {length: 6, nullable: true}) + kind!: Kind | undefined | null } diff --git a/src/processable.ts b/src/processable.ts index 526b854..420d325 100644 --- a/src/processable.ts +++ b/src/processable.ts @@ -1,4 +1,4 @@ -import { CollectionEntity, CollectionType } from "./model"; +import { CollectionEntity, CollectionType, Kind } from "./model"; // https://sphere.market/immutable/collection/0x4cd9d7819c01c85F0130Aef429ab32D0465672A2 // export enum Contracts { @@ -116,5 +116,6 @@ function toMap( supply: 0, volume: BigInt(0), version: 721, + kind: Kind.genart, }; }