From ecf5d24b9a7ae4ca96e99cc6bb77c5c0cfc97431 Mon Sep 17 00:00:00 2001 From: Wes Biggs Date: Tue, 6 Aug 2024 12:16:08 -0500 Subject: [PATCH 1/4] Working version, parquet stuff still redundant. --- .node-version | 2 +- .tool-versions | 2 +- README.md | 8 ++-- dsnp/broadcast.spec.ts | 14 ------ dsnp/broadcast.ts | 40 ----------------- dsnp/graphChange.spec.ts | 9 ---- dsnp/graphChange.ts | 27 ------------ dsnp/index.ts | 67 +++++++++++++++------------- dsnp/profile.spec.ts | 14 ------ dsnp/profile.ts | 40 ----------------- dsnp/publicKey.spec.ts | 9 ---- dsnp/publicKey.ts | 19 -------- dsnp/reaction.spec.ts | 15 ------- dsnp/reaction.ts | 51 --------------------- dsnp/reply.spec.ts | 15 ------- dsnp/reply.ts | 46 ------------------- dsnp/tombstone.spec.ts | 14 ------ dsnp/tombstone.ts | 45 ------------------- dsnp/update.spec.ts | 16 ------- dsnp/update.ts | 57 ------------------------ dsnp/userPrivateConnections.ts | 26 ++--------- dsnp/userPrivateFollows.ts | 19 ++------ dsnp/userPublicFollows.ts | 19 ++------ package-lock.json | 81 ++++++++++++++++++++++------------ package.json | 1 + 25 files changed, 105 insertions(+), 551 deletions(-) delete mode 100644 dsnp/broadcast.spec.ts delete mode 100644 dsnp/broadcast.ts delete mode 100644 dsnp/graphChange.spec.ts delete mode 100644 dsnp/graphChange.ts delete mode 100644 dsnp/profile.spec.ts delete mode 100644 dsnp/profile.ts delete mode 100644 dsnp/publicKey.spec.ts delete mode 100644 dsnp/publicKey.ts delete mode 100644 dsnp/reaction.spec.ts delete mode 100644 dsnp/reaction.ts delete mode 100644 dsnp/reply.spec.ts delete mode 100644 dsnp/reply.ts delete mode 100644 dsnp/tombstone.spec.ts delete mode 100644 dsnp/tombstone.ts delete mode 100644 dsnp/update.spec.ts delete mode 100644 dsnp/update.ts diff --git a/.node-version b/.node-version index 6d80269..87ec884 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -18.16.0 +18.18.2 diff --git a/.tool-versions b/.tool-versions index 8ead549..343dc53 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -nodejs 18.16.0 +nodejs 18.18.2 diff --git a/README.md b/README.md index c8eb3c0..2b28b80 100644 --- a/README.md +++ b/README.md @@ -89,14 +89,14 @@ DEPLOY_SCHEMA_ENDPOINT_URL="ws://localhost:9944" e.g. ```sh -DEPLOY_SCHEMA_ACCOUNT_URI="//Bob" DEPLOY_SCHEMA_ENDPOINT_URL="ws://127.0.0.1:9944" npm run deploy profile +DEPLOY_SCHEMA_ACCOUNT_URI="//Bob" DEPLOY_SCHEMA_ENDPOINT_URL="ws://127.0.0.1:9944" npm run deploy profile-resources ``` ### To register a single schema -e.g. To register the "profile" schema +e.g. To register the "profile-resources" schema - npm run deploy profile + npm run deploy profile-resources **Note:** Requires a sudo key if deploying to a testnet. Mainnet will use the proposal system (`proposeToCreateSchema`). @@ -141,7 +141,7 @@ There are 8 schemas on the connected chain. │ 0 │ 'schema_id' │ '1' │ │ 1 │ 'model_type' │ 'Parquet' │ │ 2 │ 'payload_location' │ 'IPFS' │ -│ 3 │ 'matchesDSNPSchemas' │ 'dsnp.broadcast,dsnp.profile' │ +│ 3 │ 'matchesDSNPSchemas' │ 'dsnp.broadcast' │ └─────────┴──────────────────────┴───────────────────────────────┘ ## Schema Model diff --git a/dsnp/broadcast.spec.ts b/dsnp/broadcast.spec.ts deleted file mode 100644 index e15a85f..0000000 --- a/dsnp/broadcast.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { testCompression, testParquetSchema } from "../test/parquet.js"; -import * as generators from "@dsnp/test-generators"; -import broadcastSchema from "./broadcast.js"; - -describe("Broadcast Spec", () => { - testParquetSchema(broadcastSchema); - - testCompression("broadcast", broadcastSchema, () => ({ - announcementType: 2, - contentHash: generators.generateHash(), - fromId: generators.randInt(10000000), - url: `https://www.imadapp.com/data/posts/${generators.generateHash()}`, - })); -}); diff --git a/dsnp/broadcast.ts b/dsnp/broadcast.ts deleted file mode 100644 index 145d38d..0000000 --- a/dsnp/broadcast.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { FrequencyParquetSchema } from "../types/frequency.js"; - -const broadcast: FrequencyParquetSchema = [ - { - name: "announcementType", - column_type: { - INTEGER: { - bit_width: 32, - sign: true, - }, - }, - compression: "GZIP", - bloom_filter: false, - }, - { - name: "contentHash", - column_type: "BYTE_ARRAY", - compression: "GZIP", - bloom_filter: true, - }, - { - name: "fromId", - column_type: { - INTEGER: { - bit_width: 64, - sign: false, - }, - }, - compression: "GZIP", - bloom_filter: true, - }, - { - name: "url", - column_type: "STRING", - compression: "GZIP", - bloom_filter: false, - }, -]; - -export default broadcast; diff --git a/dsnp/graphChange.spec.ts b/dsnp/graphChange.spec.ts deleted file mode 100644 index bdc9770..0000000 --- a/dsnp/graphChange.spec.ts +++ /dev/null @@ -1,9 +0,0 @@ -import graphChangeSchema from "./graphChange.js"; -import avro from "avro-js"; - -describe("Graph Change Schema", () => { - it("Is Avro", () => { - const parsed = avro.parse(graphChangeSchema); - expect(parsed).toBeDefined(); - }); -}); diff --git a/dsnp/graphChange.ts b/dsnp/graphChange.ts deleted file mode 100644 index 53c8c76..0000000 --- a/dsnp/graphChange.ts +++ /dev/null @@ -1,27 +0,0 @@ -export default { - type: "record", - name: "GraphChange", - fields: [ - // When converting from Frequency Schema Message to DSNP Announcement, assume announcementType=1 - { - name: "changeType", - type: { - name: "ChangeTypeEnum", - type: "enum", - symbols: ["Unfollow", "Follow"], // Encoded as int - }, - }, - { - name: "fromId", - type: { - name: "DSNPId", - type: "fixed", - size: 8, - }, - }, - { - name: "objectId", - type: "DSNPId", - }, - ], -}; diff --git a/dsnp/index.ts b/dsnp/index.ts index 93e35a7..c73c2c5 100644 --- a/dsnp/index.ts +++ b/dsnp/index.ts @@ -1,19 +1,21 @@ import { ApiPromise } from "@polkadot/api"; -import { FrequencyParquetSchema } from "../types/frequency.js"; +import { Schema } from "avsc"; +import { DSNPParquetSchema } from "@dsnp/schemas/types/dsnp-parquet.js"; +import { AnnouncementType, descriptorForAnnouncementType, UserDataType, descriptorForUserDataType } from "@dsnp/schemas"; -import broadcast from "./broadcast.js"; -// Deprecated -// import graphChange from "./dsnp/graphChange.js"; -import profile from "./profile.js"; -import reaction from "./reaction.js"; -import reply from "./reply.js"; -import tombstone from "./tombstone.js"; -import publicKey from "./publicKey.js"; import userPublicFollows from "./userPublicFollows.js"; import userPrivateFollows from "./userPrivateFollows.js"; import userPrivateConnections from "./userPrivateConnections.js"; -import update from "./update.js"; + +const broadcast = descriptorForAnnouncementType(AnnouncementType.Broadcast).parquetSchema; +const reaction = descriptorForAnnouncementType(AnnouncementType.Reaction).parquetSchema; +const reply = descriptorForAnnouncementType(AnnouncementType.Reply).parquetSchema; +const tombstone = descriptorForAnnouncementType(AnnouncementType.Tombstone).parquetSchema; +const update = descriptorForAnnouncementType(AnnouncementType.Update).parquetSchema; + +const profile = descriptorForUserDataType(UserDataType.ProfileResources).avroSchema; +const publicKey = descriptorForUserDataType(UserDataType.KeyAgreementPublicKeys).avroSchema; export { broadcast, @@ -45,7 +47,7 @@ type Settings = "AppendOnly" | "SignatureRequired"; export type DSNPVersion = "1.1" | "1.2" | "1.3"; type ParquetDeploy = { - model: FrequencyParquetSchema; + model: DSNPParquetSchema; modelType: "Parquet"; payloadLocation: "IPFS"; settings: []; @@ -53,7 +55,7 @@ type ParquetDeploy = { }; type AvroDeploy = { - model: object; + model: Schema; modelType: "AvroBinary"; payloadLocation: PayloadLocation; settings: Settings[]; @@ -62,13 +64,14 @@ type AvroDeploy = { export type Deploy = ParquetDeploy | AvroDeploy; -export type ParquetSchemaName = "broadcast" | "profile" | "reaction" | "reply" | "tombstone" | "update"; +export type ParquetSchemaName = "broadcast" | "reaction" | "reply" | "tombstone" | "update"; export type AvroSchemaName = | "public-key-key-agreement" | "public-key-assertion-method" | "public-follows" | "private-follows" - | "private-connections"; + | "private-connections" + | "profile-resources"; export type SchemaName = ParquetSchemaName | AvroSchemaName; @@ -116,16 +119,6 @@ export const schemas = new Map([ dsnpVersion: "1.1", }, ], - [ - "profile", - { - model: profile, - modelType: "Parquet", - payloadLocation: "IPFS", - settings: [], - dsnpVersion: "1.2", - }, - ], [ "update", { @@ -139,7 +132,7 @@ export const schemas = new Map([ [ "public-key-key-agreement", { - model: publicKey, + model: publicKey as Schema, modelType: "AvroBinary", payloadLocation: "Itemized", settings: ["AppendOnly", "SignatureRequired"], @@ -149,7 +142,7 @@ export const schemas = new Map([ [ "public-follows", { - model: userPublicFollows, + model: userPublicFollows as Schema, modelType: "AvroBinary", payloadLocation: "Paginated", settings: [], @@ -159,7 +152,7 @@ export const schemas = new Map([ [ "private-follows", { - model: userPrivateFollows, + model: userPrivateFollows as Schema, modelType: "AvroBinary", payloadLocation: "Paginated", settings: [], @@ -169,7 +162,7 @@ export const schemas = new Map([ [ "private-connections", { - model: userPrivateConnections, + model: userPrivateConnections as Schema, modelType: "AvroBinary", payloadLocation: "Paginated", settings: [], @@ -179,13 +172,23 @@ export const schemas = new Map([ [ "public-key-assertion-method", { - model: publicKey, + model: publicKey as Schema, modelType: "AvroBinary", payloadLocation: "Itemized", settings: ["AppendOnly", "SignatureRequired"], dsnpVersion: "1.3", }, ], + [ + "profile-resources", + { + model: profile as Schema, + modelType: "AvroBinary", + payloadLocation: "Itemized", + settings: [], + dsnpVersion: "1.3", + }, + ], ]); export const getSchema = (name: SchemaName): Deploy | null => { @@ -204,13 +207,13 @@ chainMapping[GENESIS_HASH_TESTNET_PASEO] = { broadcast: { "1.2": 2 }, reply: { "1.2": 3 }, reaction: { "1.1": 4 }, - profile: { "1.2": 6 }, update: { "1.2": 5 }, "public-key-key-agreement": { "1.2": 7 }, "public-follows": { "1.2": 8 }, "private-follows": { "1.2": 9 }, "private-connections": { "1.2": 10 }, "public-key-assertion-method": { "1.3": 11 }, +// "profile-resources": { "1.3": TBD }, }; chainMapping[GENESIS_HASH_MAINNET] = { tombstone: { "1.2": 1 }, @@ -223,7 +226,8 @@ chainMapping[GENESIS_HASH_MAINNET] = { "public-follows": { "1.2": 8 }, "private-follows": { "1.2": 9 }, "private-connections": { "1.2": 10 }, - // TBD "public-key-assertion-method": { "1.3": 11? }, +// "public-key-assertion-method": { "1.3": TBD }, +// "profile-resources": { "1.3": TBD }, }; /* * Schema in "default" deployments (e.g. to a clean local chain) are @@ -243,6 +247,7 @@ chainMapping["default"] = { "private-follows": { "1.2": 9 }, "private-connections": { "1.2": 10 }, "public-key-assertion-method": { "1.3": 11 }, + "profile-resources": { "1.3": 12 }, }; /** diff --git a/dsnp/profile.spec.ts b/dsnp/profile.spec.ts deleted file mode 100644 index cf7a4d0..0000000 --- a/dsnp/profile.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { testCompression, testParquetSchema } from "../test/parquet.js"; -import * as generators from "@dsnp/test-generators"; -import profileSchema from "./profile.js"; - -describe("Profile Spec", () => { - testParquetSchema(profileSchema); - - testCompression("profile", profileSchema, () => ({ - announcementType: 5, - contentHash: generators.generateHash(), - fromId: generators.randInt(10000000), - url: `https://www.imadapp.com/data/posts/${generators.generateHash()}`, - })); -}); diff --git a/dsnp/profile.ts b/dsnp/profile.ts deleted file mode 100644 index 713a71c..0000000 --- a/dsnp/profile.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { FrequencyParquetSchema } from "../types/frequency.js"; - -const profile: FrequencyParquetSchema = [ - { - name: "announcementType", - column_type: { - INTEGER: { - bit_width: 32, - sign: true, - }, - }, - compression: "GZIP", - bloom_filter: false, - }, - { - name: "contentHash", - column_type: "BYTE_ARRAY", - compression: "GZIP", - bloom_filter: true, - }, - { - name: "fromId", - column_type: { - INTEGER: { - bit_width: 64, - sign: false, - }, - }, - compression: "GZIP", - bloom_filter: true, - }, - { - name: "url", - column_type: "STRING", - compression: "GZIP", - bloom_filter: false, - }, -]; - -export default profile; diff --git a/dsnp/publicKey.spec.ts b/dsnp/publicKey.spec.ts deleted file mode 100644 index 1e7b45d..0000000 --- a/dsnp/publicKey.spec.ts +++ /dev/null @@ -1,9 +0,0 @@ -import publicKeySchema from "./publicKey.js"; -import avro from "avro-js"; - -describe("Public Key Schema", () => { - it("Is Avro", () => { - const parsed = avro.parse(publicKeySchema); - expect(parsed).toBeDefined(); - }); -}); diff --git a/dsnp/publicKey.ts b/dsnp/publicKey.ts deleted file mode 100644 index 3b517db..0000000 --- a/dsnp/publicKey.ts +++ /dev/null @@ -1,19 +0,0 @@ -export default { - type: "record", - name: "PublicKey", - namespace: "org.dsnp", - fields: [ - // When converting from Frequency Data to DSNP Announcement, assume: - // - announcementType = 7 - // - fromId = [Associated MSA Id] - // - keyType = 1 for keyAgreement (used for graph encryption/decryption and PRIds), or - // keyType = 2 for assertionMethod (used for credential signatures) - // - keyId = `index` from the Itemized storage - // DID Key Id could be publicKey or could be the index of the array. Not user assigned - { - name: "publicKey", - doc: "Multicodec public key", - type: "bytes", - }, - ], -}; diff --git a/dsnp/reaction.spec.ts b/dsnp/reaction.spec.ts deleted file mode 100644 index daba832..0000000 --- a/dsnp/reaction.spec.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { testCompression, testParquetSchema } from "../test/parquet.js"; -import * as generators from "@dsnp/test-generators"; -import reactionSchema from "./reaction.js"; - -describe("Reaction Spec", () => { - testParquetSchema(reactionSchema); - - testCompression("reaction", reactionSchema, () => ({ - announcementType: 4, - emoji: generators.sample(["😀", "🤌🏼", "👩🏻‍🎤", "🧑🏿‍🏫", "🏳️‍🌈", "🏳️‍⚧️", "⚛︎", "🃑", "♻︎"]), - apply: generators.randInt(255), - fromId: generators.randInt(10000000), - inReplyTo: `dsnp://${generators.randInt(10000000)}/${generators.generateHash()}`, - })); -}); diff --git a/dsnp/reaction.ts b/dsnp/reaction.ts deleted file mode 100644 index 57b32ad..0000000 --- a/dsnp/reaction.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { FrequencyParquetSchema } from "../types/frequency.js"; - -const reaction: FrequencyParquetSchema = [ - { - name: "announcementType", - column_type: { - INTEGER: { - bit_width: 32, - sign: true, - }, - }, - compression: "GZIP", - bloom_filter: false, - }, - { - name: "emoji", - column_type: "STRING", - compression: "GZIP", - bloom_filter: true, - }, - { - name: "apply", - column_type: { - INTEGER: { - bit_width: 8, - sign: false, - }, - }, - compression: "GZIP", - bloom_filter: false, - }, - { - name: "fromId", - column_type: { - INTEGER: { - bit_width: 64, - sign: false, - }, - }, - compression: "GZIP", - bloom_filter: true, - }, - { - name: "inReplyTo", - column_type: "STRING", - compression: "GZIP", - bloom_filter: true, - }, -]; - -export default reaction; diff --git a/dsnp/reply.spec.ts b/dsnp/reply.spec.ts deleted file mode 100644 index f90bce7..0000000 --- a/dsnp/reply.spec.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { testCompression, testParquetSchema } from "../test/parquet.js"; -import * as generators from "@dsnp/test-generators"; -import replySchema from "./reply.js"; - -describe("Reply Spec", () => { - testParquetSchema(replySchema); - - testCompression("reply", replySchema, () => ({ - announcementType: 3, - contentHash: generators.generateHash(), - fromId: generators.randInt(10000000), - inReplyTo: `dsnp://${generators.randInt(10000000)}/${generators.generateHash()}`, - url: `https://www.imadapp.com/data/posts/${generators.generateHash()}`, - })); -}); diff --git a/dsnp/reply.ts b/dsnp/reply.ts deleted file mode 100644 index 3335b7c..0000000 --- a/dsnp/reply.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { FrequencyParquetSchema } from "../types/frequency.js"; - -const reply: FrequencyParquetSchema = [ - { - name: "announcementType", - column_type: { - INTEGER: { - bit_width: 32, - sign: true, - }, - }, - compression: "GZIP", - bloom_filter: false, - }, - { - name: "contentHash", - column_type: "BYTE_ARRAY", - compression: "GZIP", - bloom_filter: true, - }, - { - name: "fromId", - column_type: { - INTEGER: { - bit_width: 64, - sign: false, - }, - }, - compression: "GZIP", - bloom_filter: true, - }, - { - name: "inReplyTo", - column_type: "STRING", - compression: "GZIP", - bloom_filter: true, - }, - { - name: "url", - column_type: "STRING", - compression: "GZIP", - bloom_filter: false, - }, -]; - -export default reply; diff --git a/dsnp/tombstone.spec.ts b/dsnp/tombstone.spec.ts deleted file mode 100644 index 7301815..0000000 --- a/dsnp/tombstone.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { testCompression, testParquetSchema } from "../test/parquet.js"; -import * as generators from "@dsnp/test-generators"; -import tombstoneSchema from "./tombstone.js"; - -describe("Tombstone Spec", () => { - testParquetSchema(tombstoneSchema); - - testCompression("tombstone", tombstoneSchema, () => ({ - announcementType: 0, - fromId: generators.randInt(10000000), - targetAnnouncementType: 2, - targetContentHash: generators.generateHash(), - })); -}); diff --git a/dsnp/tombstone.ts b/dsnp/tombstone.ts deleted file mode 100644 index da22320..0000000 --- a/dsnp/tombstone.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { FrequencyParquetSchema } from "../types/frequency.js"; - -const tombstone: FrequencyParquetSchema = [ - { - name: "announcementType", - column_type: { - INTEGER: { - bit_width: 32, - sign: true, - }, - }, - compression: "GZIP", - bloom_filter: false, - }, - { - name: "fromId", - column_type: { - INTEGER: { - bit_width: 64, - sign: false, - }, - }, - compression: "GZIP", - bloom_filter: true, - }, - { - name: "targetAnnouncementType", - column_type: { - INTEGER: { - bit_width: 32, - sign: true, - }, - }, - compression: "GZIP", - bloom_filter: false, - }, - { - name: "targetContentHash", - column_type: "BYTE_ARRAY", - compression: "GZIP", - bloom_filter: true, - }, -]; - -export default tombstone; diff --git a/dsnp/update.spec.ts b/dsnp/update.spec.ts deleted file mode 100644 index 63c02f7..0000000 --- a/dsnp/update.spec.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { testCompression, testParquetSchema } from "../test/parquet.js"; -import * as generators from "@dsnp/test-generators"; -import updateSchema from "./update.js"; - -describe("Update Spec", () => { - testParquetSchema(updateSchema); - - testCompression("update", updateSchema, () => ({ - announcementType: 6, - contentHash: generators.generateHash(), - fromId: generators.randInt(10000000), - targetAnnouncementType: 2, - targetContentHash: generators.generateHash(), - url: `https://www.imadapp.com/data/posts/${generators.generateHash()}`, - })); -}); diff --git a/dsnp/update.ts b/dsnp/update.ts deleted file mode 100644 index 1c7810f..0000000 --- a/dsnp/update.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { FrequencyParquetSchema } from "../types/frequency.js"; - -const update: FrequencyParquetSchema = [ - { - name: "announcementType", - column_type: { - INTEGER: { - bit_width: 32, - sign: true, - }, - }, - compression: "GZIP", - bloom_filter: false, - }, - { - name: "contentHash", - column_type: "BYTE_ARRAY", - compression: "GZIP", - bloom_filter: true, - }, - { - name: "fromId", - column_type: { - INTEGER: { - bit_width: 64, - sign: false, - }, - }, - compression: "GZIP", - bloom_filter: true, - }, - { - name: "url", - column_type: "STRING", - compression: "GZIP", - bloom_filter: false, - }, - { - name: "targetAnnouncementType", - column_type: { - INTEGER: { - bit_width: 32, - sign: true, - }, - }, - compression: "GZIP", - bloom_filter: false, - }, - { - name: "targetContentHash", - column_type: "BYTE_ARRAY", - compression: "GZIP", - bloom_filter: true, - }, -]; - -export default update; diff --git a/dsnp/userPrivateConnections.ts b/dsnp/userPrivateConnections.ts index 56377a7..1b435c0 100644 --- a/dsnp/userPrivateConnections.ts +++ b/dsnp/userPrivateConnections.ts @@ -1,3 +1,5 @@ +import { UserDataType, descriptorForUserDataType } from "@dsnp/schemas"; + // Paginated Chunk with PRIds export default { type: "record", @@ -14,12 +16,7 @@ export default { name: "pridList", type: { type: "array", - items: { - name: "prid", - type: "fixed", - size: 8, - doc: "Pseudonymous Relationship Identifier", - }, + items: descriptorForUserDataType(UserDataType.PrivateConnectionPRIds).avroSchema, }, }, { @@ -34,22 +31,7 @@ export default { type: "array", name: "PrivateGraph", namespace: "org.dsnp", - items: { - type: "record", - name: "GraphEdge", - fields: [ - { - name: "userId", - type: "long", - doc: "DSNP User Id of object of relationship", - }, - { - name: "since", - type: "long", - doc: "Unix epoch in seconds when this relationship was originally established rounded to the nearest 1000", - }, - ], - }, + items: descriptorForUserDataType(UserDataType.PrivateConnections).avroSchema, }, ], }; diff --git a/dsnp/userPrivateFollows.ts b/dsnp/userPrivateFollows.ts index 46379a0..5c9f6cf 100644 --- a/dsnp/userPrivateFollows.ts +++ b/dsnp/userPrivateFollows.ts @@ -1,3 +1,5 @@ +import { UserDataType, descriptorForUserDataType } from "@dsnp/schemas"; + // Paginated Chunks export default { type: "record", @@ -21,22 +23,7 @@ export default { type: "array", name: "PrivateGraph", namespace: "org.dsnp", - items: { - type: "record", - name: "GraphEdge", - fields: [ - { - name: "userId", - type: "long", - doc: "DSNP User Id of object of relationship", - }, - { - name: "since", - type: "long", - doc: "Unix epoch in seconds when this relationship was originally established rounded to the nearest 1000", - }, - ], - }, + items: descriptorForUserDataType(UserDataType.PrivateFollows).avroSchema, }, ], }; diff --git a/dsnp/userPublicFollows.ts b/dsnp/userPublicFollows.ts index 4197c6f..e2321d3 100644 --- a/dsnp/userPublicFollows.ts +++ b/dsnp/userPublicFollows.ts @@ -1,3 +1,5 @@ +import { UserDataType, descriptorForUserDataType } from "@dsnp/schemas"; + // Paginated Chunk of compressed data with a type defined for the data post decompression export default { type: "record", @@ -15,22 +17,7 @@ export default { type: "array", name: "PublicGraph", namespace: "org.dsnp", - items: { - type: "record", - name: "GraphEdge", - fields: [ - { - name: "userId", - type: "long", - doc: "DSNP User Id of object of relationship", - }, - { - name: "since", - type: "long", - doc: "Unix epoch in seconds when this relationship was originally established rounded to the nearest 1000", - }, - ], - }, + items: descriptorForUserDataType(UserDataType.PublicFollows).avroSchema, }, ], }; diff --git a/package-lock.json b/package-lock.json index 3ddbbed..0f4f466 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.0", "license": "Apache-2.0", "dependencies": { + "@dsnp/schemas": "^0.0.3", "@frequency-chain/api-augment": "^1.10.0", "@polkadot/api": "^10.7.3", "json-stringify-pretty-compact": "^4.0.0", @@ -732,7 +733,7 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/@dsnp/parquetjs/-/parquetjs-1.3.5.tgz", "integrity": "sha512-XytuSZFta1PZ9uX/kNNcRfPTA49nizEGUrclwXa9dJVMJDjRvo24SxE6SddVnLMCMK2zxe5mnnNdOO1eth5pAg==", - "dev": true, + "devOptional": true, "dependencies": { "@types/long": "^4.0.2", "@types/node-int64": "^0.4.29", @@ -752,6 +753,20 @@ "node": ">=18.18.2" } }, + "node_modules/@dsnp/schemas": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@dsnp/schemas/-/schemas-0.0.3.tgz", + "integrity": "sha512-k3tUSda5mVDL5g+snlYHwd9MIr1AYTZnxSNSpYU7cxDS53w5DU+43DcIwGZUopYKMmS6kBj3K1ivdyk4AgUgUA==", + "dependencies": { + "avsc": "^5.7.7", + "json-stringify-pretty-compact": "^4.0.0", + "ts-node": "^10.9.2", + "typescript": "^5.3.3" + }, + "optionalDependencies": { + "@dsnp/parquetjs": "^1.3.0" + } + }, "node_modules/@dsnp/test-generators": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/@dsnp/test-generators/-/test-generators-0.1.0.tgz", @@ -2082,7 +2097,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==", - "dev": true + "devOptional": true }, "node_modules/@types/node": { "version": "20.10.6", @@ -2096,7 +2111,7 @@ "version": "0.4.32", "resolved": "https://registry.npmjs.org/@types/node-int64/-/node-int64-0.4.32.tgz", "integrity": "sha512-xf/JsSlnXQ+mzvc0IpXemcrO4BrCfpgNpMco+GLcXkFk01k/gW9lGJu+Vof0ZSvHK6DsHJDPSbjFPs36QkWXqw==", - "dev": true, + "devOptional": true, "dependencies": { "@types/node": "*" } @@ -2105,7 +2120,7 @@ "version": "1.5.8", "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==", - "dev": true + "devOptional": true }, "node_modules/@types/semver": { "version": "7.5.6", @@ -2123,7 +2138,7 @@ "version": "0.10.17", "resolved": "https://registry.npmjs.org/@types/thrift/-/thrift-0.10.17.tgz", "integrity": "sha512-bDX6d5a5ZDWC81tgDv224n/3PKNYfIQJTPHzlbk4vBWJrYXF6Tg1ncaVmP/c3JbGN2AK9p7zmHorJC2D6oejGQ==", - "dev": true, + "devOptional": true, "dependencies": { "@types/node": "*", "@types/node-int64": "*", @@ -2616,7 +2631,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true + "devOptional": true }, "node_modules/asynckit": { "version": "0.4.0", @@ -2645,6 +2660,14 @@ "underscore": "^1.13.2" } }, + "node_modules/avsc": { + "version": "5.7.7", + "resolved": "https://registry.npmjs.org/avsc/-/avsc-5.7.7.tgz", + "integrity": "sha512-9cYNccliXZDByFsFliVwk5GvTq058Fj513CiR4E60ndDwmuXzTJEp/Bp8FyuRmGyYupLjHLs+JA9/CBoVS4/NQ==", + "engines": { + "node": ">=0.11" + } + }, "node_modules/babel-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", @@ -2771,7 +2794,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -2817,13 +2840,13 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-1.3.0.tgz", "integrity": "sha512-0F2z/VSnLbmEeBcUrSuDH5l0HxTXdQQzLjkmBR4cYfvg1zJrKSlmIZFqyFR8oX0NrwPhy3c3HQ6i3OxMbew4Tg==", - "dev": true + "devOptional": true }, "node_modules/browserify-zlib": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, + "devOptional": true, "dependencies": { "pako": "~1.0.5" } @@ -2832,7 +2855,7 @@ "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "devOptional": true }, "node_modules/browserslist": { "version": "4.22.2", @@ -2891,7 +2914,7 @@ "version": "4.6.3", "resolved": "https://registry.npmjs.org/bson/-/bson-4.6.3.tgz", "integrity": "sha512-rAqP5hcUVJhXP2MCSNVsf0oM2OGU1So6A9pVRDYayvJ5+hygXHQApf87wd5NlhPM1J9RJnbqxIG/f8QTzRoQ4A==", - "dev": true, + "devOptional": true, "dependencies": { "buffer": "^5.6.0" }, @@ -2903,7 +2926,7 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -3143,7 +3166,7 @@ "version": "3.1.8", "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", - "dev": true, + "devOptional": true, "dependencies": { "node-fetch": "^2.6.12" } @@ -3152,7 +3175,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, + "devOptional": true, "dependencies": { "whatwg-url": "^5.0.0" }, @@ -3172,19 +3195,19 @@ "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true + "devOptional": true }, "node_modules/cross-fetch/node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true + "devOptional": true }, "node_modules/cross-fetch/node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, + "devOptional": true, "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -4723,7 +4746,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -4812,7 +4835,7 @@ "version": "0.2.4", "resolved": "https://registry.npmjs.org/int53/-/int53-0.2.4.tgz", "integrity": "sha512-a5jlKftS7HUOhkUyYD7j2sJ/ZnvWiNlZS1ldR+g1ifQ+/UuZXIE+YTc/lK1qGj/GwAU5F8Z0e1eVq2t1J5Ob2g==", - "dev": true + "devOptional": true }, "node_modules/internal-slot": { "version": "1.0.6", @@ -5118,7 +5141,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "dev": true, + "devOptional": true, "peerDependencies": { "ws": "*" } @@ -5969,7 +5992,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "dev": true + "devOptional": true }, "node_modules/lru-cache": { "version": "5.1.1", @@ -6174,7 +6197,7 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true + "devOptional": true }, "node_modules/node-releases": { "version": "2.0.14", @@ -6664,7 +6687,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.6.0", "teleport": ">=0.2.0" @@ -7027,7 +7050,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/snappyjs/-/snappyjs-0.6.1.tgz", "integrity": "sha512-YIK6I2lsH072UE0aOFxxY1dPDCS43I5ktqHpeAsuLNYWkE5pGxRGWfDM4/vSUfNzXjC1Ivzt3qx31PCLmc9yqg==", - "dev": true + "devOptional": true }, "node_modules/source-map": { "version": "0.6.1", @@ -7281,7 +7304,7 @@ "version": "0.16.0", "resolved": "https://registry.npmjs.org/thrift/-/thrift-0.16.0.tgz", "integrity": "sha512-W8DpGyTPlIaK3f+e1XOCLxefaUWXtrOXAaVIDbfYhmVyriYeAKgsBVFNJUV1F9SQ2SPt2sG44AZQxSGwGj/3VA==", - "dev": true, + "devOptional": true, "dependencies": { "browser-or-node": "^1.2.1", "isomorphic-ws": "^4.0.1", @@ -7297,7 +7320,7 @@ "version": "5.2.3", "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", - "dev": true, + "devOptional": true, "dependencies": { "async-limiter": "~1.0.0" } @@ -7743,7 +7766,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", - "dev": true + "devOptional": true }, "node_modules/w3c-xmlserializer": { "version": "4.0.0", @@ -7770,7 +7793,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/wasm-brotli/-/wasm-brotli-2.0.2.tgz", "integrity": "sha512-DgjRlpZz9z5br4TjQHSlDHRF9NIuGXHUj3AqO08koDCXz7EYzmPDb7T/6oar5UKLYgPp9Yxc2ImGpx4BMFwbNQ==", - "dev": true + "devOptional": true }, "node_modules/web-streams-polyfill": { "version": "3.2.1", @@ -7948,7 +7971,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.0.2.tgz", "integrity": "sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==", - "dev": true + "devOptional": true }, "node_modules/y18n": { "version": "5.0.8", diff --git a/package.json b/package.json index 37e3b4c..fe0435a 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ }, "homepage": "https://github.com/LibertyDSNP/schemas#readme", "dependencies": { + "@dsnp/schemas": "^0.0.3", "@frequency-chain/api-augment": "^1.10.0", "@polkadot/api": "^10.7.3", "json-stringify-pretty-compact": "^4.0.0", From 2fbd51dc97118fcc2dd3333837bad3f05c539afe Mon Sep 17 00:00:00 2001 From: Wes Biggs Date: Wed, 7 Aug 2024 00:05:44 -0500 Subject: [PATCH 2/4] Remove parquet stuff --- __snapshots__/parquet.spec.ts.snap | 237 ----------------------------- index.ts | 1 - package-lock.json | 14 +- package.json | 2 +- parquet.spec.ts | 50 ------ parquet.ts | 127 ---------------- test/parquet.ts | 55 ------- 7 files changed, 8 insertions(+), 478 deletions(-) delete mode 100644 __snapshots__/parquet.spec.ts.snap delete mode 100644 parquet.spec.ts delete mode 100644 parquet.ts delete mode 100644 test/parquet.ts diff --git a/__snapshots__/parquet.spec.ts.snap b/__snapshots__/parquet.spec.ts.snap deleted file mode 100644 index ffb2f22..0000000 --- a/__snapshots__/parquet.spec.ts.snap +++ /dev/null @@ -1,237 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Frequency Schema Conversion Test File schema is encoded correctly 1`] = ` -[ - { - "converted_type": null, - "field_id": null, - "logicalType": null, - "name": "root", - "num_children": 4, - "precision": null, - "repetition_type": null, - "scale": null, - "type": null, - "type_length": null, - }, - { - "converted_type": 17, - "field_id": null, - "logicalType": null, - "name": "announcementType", - "num_children": null, - "precision": null, - "repetition_type": 0, - "scale": null, - "type": 1, - "type_length": null, - }, - { - "converted_type": null, - "field_id": null, - "logicalType": null, - "name": "contentHash", - "num_children": null, - "precision": null, - "repetition_type": 0, - "scale": null, - "type": 6, - "type_length": null, - }, - { - "converted_type": 14, - "field_id": null, - "logicalType": null, - "name": "fromId", - "num_children": null, - "precision": null, - "repetition_type": 0, - "scale": null, - "type": 2, - "type_length": null, - }, - { - "converted_type": 0, - "field_id": null, - "logicalType": null, - "name": "url", - "num_children": null, - "precision": null, - "repetition_type": 0, - "scale": null, - "type": 6, - "type_length": null, - }, -] -`; - -exports[`Frequency Schema Conversion Test File schema is generated correctly 1`] = ` -ParquetSchema { - "fieldList": [ - { - "compression": "GZIP", - "dLevelMax": 0, - "encoding": "PLAIN", - "name": "announcementType", - "originalType": "INT_32", - "path": [ - "announcementType", - ], - "precision": undefined, - "primitiveType": "INT32", - "rLevelMax": 0, - "repetitionType": "REQUIRED", - "scale": undefined, - "statistics": false, - "typeLength": undefined, - }, - { - "compression": "GZIP", - "dLevelMax": 0, - "encoding": "PLAIN", - "name": "contentHash", - "originalType": undefined, - "path": [ - "contentHash", - ], - "precision": undefined, - "primitiveType": "BYTE_ARRAY", - "rLevelMax": 0, - "repetitionType": "REQUIRED", - "scale": undefined, - "statistics": false, - "typeLength": undefined, - }, - { - "compression": "GZIP", - "dLevelMax": 0, - "encoding": "PLAIN", - "name": "fromId", - "originalType": "UINT_64", - "path": [ - "fromId", - ], - "precision": undefined, - "primitiveType": "INT64", - "rLevelMax": 0, - "repetitionType": "REQUIRED", - "scale": undefined, - "statistics": false, - "typeLength": undefined, - }, - { - "compression": "GZIP", - "dLevelMax": 0, - "encoding": "PLAIN", - "name": "url", - "originalType": "UTF8", - "path": [ - "url", - ], - "precision": undefined, - "primitiveType": "BYTE_ARRAY", - "rLevelMax": 0, - "repetitionType": "REQUIRED", - "scale": undefined, - "statistics": false, - "typeLength": undefined, - }, - ], - "fields": { - "announcementType": { - "compression": "GZIP", - "dLevelMax": 0, - "encoding": "PLAIN", - "name": "announcementType", - "originalType": "INT_32", - "path": [ - "announcementType", - ], - "precision": undefined, - "primitiveType": "INT32", - "rLevelMax": 0, - "repetitionType": "REQUIRED", - "scale": undefined, - "statistics": false, - "typeLength": undefined, - }, - "contentHash": { - "compression": "GZIP", - "dLevelMax": 0, - "encoding": "PLAIN", - "name": "contentHash", - "originalType": undefined, - "path": [ - "contentHash", - ], - "precision": undefined, - "primitiveType": "BYTE_ARRAY", - "rLevelMax": 0, - "repetitionType": "REQUIRED", - "scale": undefined, - "statistics": false, - "typeLength": undefined, - }, - "fromId": { - "compression": "GZIP", - "dLevelMax": 0, - "encoding": "PLAIN", - "name": "fromId", - "originalType": "UINT_64", - "path": [ - "fromId", - ], - "precision": undefined, - "primitiveType": "INT64", - "rLevelMax": 0, - "repetitionType": "REQUIRED", - "scale": undefined, - "statistics": false, - "typeLength": undefined, - }, - "url": { - "compression": "GZIP", - "dLevelMax": 0, - "encoding": "PLAIN", - "name": "url", - "originalType": "UTF8", - "path": [ - "url", - ], - "precision": undefined, - "primitiveType": "BYTE_ARRAY", - "rLevelMax": 0, - "repetitionType": "REQUIRED", - "scale": undefined, - "statistics": false, - "typeLength": undefined, - }, - }, - "schema": { - "announcementType": { - "compression": "GZIP", - "encoding": "PLAIN", - "statistics": false, - "type": "INT_32", - }, - "contentHash": { - "compression": "GZIP", - "encoding": "PLAIN", - "statistics": false, - "type": "BYTE_ARRAY", - }, - "fromId": { - "compression": "GZIP", - "encoding": "PLAIN", - "statistics": false, - "type": "UINT_64", - }, - "url": { - "compression": "GZIP", - "encoding": "PLAIN", - "statistics": false, - "type": "UTF8", - }, - }, -} -`; diff --git a/index.ts b/index.ts index 71a85d9..5df7f99 100644 --- a/index.ts +++ b/index.ts @@ -1,2 +1 @@ export * as dsnp from "./dsnp/index.js"; -export * as parquet from "./parquet.js"; diff --git a/package-lock.json b/package-lock.json index 0f4f466..e08b664 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "Apache-2.0", "dependencies": { "@dsnp/schemas": "^0.0.3", - "@frequency-chain/api-augment": "^1.10.0", + "@frequency-chain/api-augment": "^1.11.0", "@polkadot/api": "^10.7.3", "json-stringify-pretty-compact": "^4.0.0", "ts-node": "^10.9.2", @@ -852,9 +852,9 @@ } }, "node_modules/@frequency-chain/api-augment": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@frequency-chain/api-augment/-/api-augment-1.10.0.tgz", - "integrity": "sha512-AnjE4N78YQo1VRHoR0uqwfS0/RS1HBm6HSsoEUt40bZcie1BRP44EQ5/bm/xSg4+F7EQZyn8RRH1yM4SNfdQ3g==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@frequency-chain/api-augment/-/api-augment-1.11.0.tgz", + "integrity": "sha512-G/srRoEqmGbe7pNERMl5q8q5PFdgdwrHWbJ2nB2C90bPzlOzapag0L5K/FJl2+k1y1pNa13pJNNX51r2mRCUEw==", "dependencies": { "@polkadot/api": "^10.9.1", "@polkadot/rpc-provider": "^10.9.1", @@ -6134,9 +6134,9 @@ "dev": true }, "node_modules/nock": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.4.0.tgz", - "integrity": "sha512-W8NVHjO/LCTNA64yxAPHV/K47LpGYcVzgKd3Q0n6owhwvD0Dgoterc25R4rnZbckJEb6Loxz1f5QMuJpJnbSyQ==", + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.5.4.tgz", + "integrity": "sha512-yAyTfdeNJGGBFxWdzSKCBYxs5FxLbCg5X5Q4ets974hcQzG1+qCxvIyOo4j2Ry6MUlhWVMX4OoYDefAIIwupjw==", "dependencies": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", diff --git a/package.json b/package.json index fe0435a..39ae90f 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "homepage": "https://github.com/LibertyDSNP/schemas#readme", "dependencies": { "@dsnp/schemas": "^0.0.3", - "@frequency-chain/api-augment": "^1.10.0", + "@frequency-chain/api-augment": "^1.11.0", "@polkadot/api": "^10.7.3", "json-stringify-pretty-compact": "^4.0.0", "ts-node": "^10.9.2", diff --git a/parquet.spec.ts b/parquet.spec.ts deleted file mode 100644 index 1519949..0000000 --- a/parquet.spec.ts +++ /dev/null @@ -1,50 +0,0 @@ -import fs from "fs"; -import { ParquetWriter, ParquetReader } from "@dsnp/parquetjs"; -import { fromFrequencySchema } from "./parquet.js"; -import { broadcast } from "./dsnp/index.js"; - -describe("Frequency Schema Conversion Test File", () => { - const [parquetSchema, writerOptions] = fromFrequencySchema(broadcast); - - const row1 = { - announcementType: 2, - contentHash: "0x12345678", - fromId: 12n, - url: "https://github.com/LibertyDSNP/parquetjs/", - }; - - const path = "./frequency-schema-test-file.parquet"; - - let reader: ParquetReader; - - beforeAll(async () => { - const writer = await ParquetWriter.openFile(parquetSchema, path, writerOptions); - writer.appendRow(row1); - await writer.close(); - - reader = await ParquetReader.openFile(path); - }); - - afterAll(async () => { - await reader.close(); - fs.rmSync(path); - }); - - it("schema is generated correctly", () => { - expect(parquetSchema).toMatchSnapshot(); - }); - - it("schema is encoded correctly", () => { - expect(reader.metadata?.schema).toMatchSnapshot(); - }); - - it("output matches input", async () => { - const cursor = reader.getCursor(); - const row = await cursor.next(); - const rowData = { - ...row1, - contentHash: Buffer.from([48, 120, 49, 50, 51, 52, 53, 54, 55, 56]), - }; - expect(row).toEqual(rowData); - }); -}); diff --git a/parquet.ts b/parquet.ts deleted file mode 100644 index d60c72f..0000000 --- a/parquet.ts +++ /dev/null @@ -1,127 +0,0 @@ -import { ParquetSchema } from "@dsnp/parquetjs"; -import type { ParquetType, FieldDefinition, SchemaDefinition, WriterOptions } from "@dsnp/parquetjs/dist/lib/declare"; -import type { createSBBFParams } from "@dsnp/parquetjs/dist/lib/bloomFilterIO/bloomFilterWriter"; -import { FrequencyParquetSchema, FrequencyParquetType, ParquetColumn } from "./types/frequency.js"; -import * as dsnp from "./dsnp/index.js"; - -/** - * All supported types from Parquetjs - */ -const supportedTypes = new Set([ - "BOOLEAN", - "INT32", - "INT64", - "INT96", - "FLOAT", - "DOUBLE", - "BYTE_ARRAY", - "FIXED_LEN_BYTE_ARRAY", - "UTF8", - "MAP", - "LIST", - "ENUM", - "DECIMAL", - "DATE", - "TIME_MILLIS", - "TIME_MICROS", - "TIMESTAMP_MILLIS", - "TIMESTAMP_MICROS", - "UINT_8", - "UINT_16", - "UINT_32", - "UINT_64", - "INT_8", - "INT_16", - "INT_32", - "INT_64", - "JSON", - "BSON", - "INTERVAL", -]); - -/** - * Simple check to make sure that type is supported. - */ -const isColumnTypeSupported = (incoming: string): incoming is ParquetType => { - return supportedTypes.has(incoming); -}; - -/** - * Error to capture all the unsupported edge cases - */ -export class UnsupportedFrequencySchemaError extends Error { - constructor(msg: string) { - const message = `Unsupported Frequency schema: ${msg}`; - super(message); - this.name = "UnsupportedFrequencySchemaError"; - } -} - -const convertColumnType = (columnType: FrequencyParquetType): FieldDefinition["type"] => { - if (typeof columnType === "string") { - if (columnType === "STRING") return "UTF8"; - if (isColumnTypeSupported(columnType)) return columnType; - throw new UnsupportedFrequencySchemaError(columnType.toString()); - } - // ParquetJs uses the old format still, so not all options are available - if ("INTEGER" in columnType) { - return `${columnType.INTEGER.sign ? "" : "U"}INT_${columnType.INTEGER.bit_width}` as ParquetType; - } - if ("TIMESTAMP" in columnType && columnType.TIMESTAMP.is_adjusted_to_utc && columnType.TIMESTAMP.unit !== "NANOS") { - return `TIMESTAMP_${columnType.TIMESTAMP.unit}` as ParquetType; - } - if ("TIME" in columnType && columnType.TIME.is_adjusted_to_utc && columnType.TIME.unit !== "NANOS") { - return `TIME_${columnType.TIME.unit}` as ParquetType; - } - - throw new UnsupportedFrequencySchemaError(columnType.toString()); -}; - -/** - * Converts a field from a JSON Schema into a Parquet Field Definition - */ -const fromColumn = (column: ParquetColumn): FieldDefinition => { - return { - type: convertColumnType(column.column_type), - compression: column.compression, - statistics: false, - }; -}; - -/** - * Converts supported Json Schemas into Parquet Schema Definitions - */ -const toSchema = (frequencySchema: FrequencyParquetSchema): SchemaDefinition => { - const schema: SchemaDefinition = {}; - - for (const column of frequencySchema) { - schema[column.name] = fromColumn(column); - } - - return schema; -}; - -/** - * Create a new schema from a Frequency Parquet Schema (frequency.xyz) - * Also provides the Writer Options as Frequency Schemas support bloom filter selection. - */ -export const fromFrequencySchema = ( - frequencySchema: FrequencyParquetSchema | dsnp.ParquetSchemaName, -): [ParquetSchema, WriterOptions] => { - if (typeof frequencySchema === "string") { - const deploy = dsnp.getSchema(frequencySchema); - if (!deploy || deploy.modelType !== "Parquet") throw new Error("Unknown schema"); - frequencySchema = deploy.model; - } - const schema: SchemaDefinition = toSchema(frequencySchema); - const bloomFilters = frequencySchema.reduce((acc, x) => { - if (x.bloom_filter) acc.push({ column: x.name }); - return acc; - }, []); - return [ - new ParquetSchema(schema), - { - bloomFilters, - }, - ]; -}; diff --git a/test/parquet.ts b/test/parquet.ts deleted file mode 100644 index 25011af..0000000 --- a/test/parquet.ts +++ /dev/null @@ -1,55 +0,0 @@ -/* eslint-disable jest/no-export */ -import fs from "fs"; -import { ParquetWriter } from "@dsnp/parquetjs"; -import { FrequencyParquetSchema } from "../types/frequency.js"; -import { fromFrequencySchema } from "../parquet.js"; - -type RowGenerator = () => Record; - -export const testParquetSchema = async (model: FrequencyParquetSchema) => { - test("can build a parquet file", async () => { - expect(async () => { - const [schema, options] = fromFrequencySchema(model); - await ParquetWriter.openStream( - schema, - { - write: jest.fn(), - end: jest.fn(), - }, - options, - ); - }).not.toThrow(); - }); -}; - -export const testCompression = async (name: string, model: FrequencyParquetSchema, rowGenerator: RowGenerator) => { - test("Compressing all columns is best", async () => { - const defaultSize = await generateParquetTestFileSize(name, model, 100, rowGenerator); - - for (const idx in model) { - const testSchema = [...model]; - testSchema[idx].compression = "UNCOMPRESSED"; - const uncompressedSize = await generateParquetTestFileSize(name, testSchema, 100, rowGenerator); - expect(defaultSize).toBeLessThan(uncompressedSize); - } - }); -}; - -const generateParquetTestFileSize = async ( - name: string, - rawSchema: FrequencyParquetSchema, - count: number, - rowGenerator: RowGenerator, -): Promise => { - const [schema, options] = fromFrequencySchema(rawSchema); - const path = `./test-${name}-size.parquet`; - const writer = await ParquetWriter.openFile(schema, path, options); - - for (let i = 0; i < count; i++) { - await writer.appendRow(rowGenerator()); - } - await writer.close(); - const size = fs.statSync(path).size; - fs.rmSync(path); - return size; -}; From 6efb02cabd1d1f87ffc442f4136287256abf689d Mon Sep 17 00:00:00 2001 From: Wes Biggs Date: Wed, 7 Aug 2024 00:26:43 -0500 Subject: [PATCH 3/4] Dependency and lint fix --- dsnp/index.ts | 13 +- package-lock.json | 1543 +++++++++++++++++++++++++++++++++++++++------ package.json | 6 +- 3 files changed, 1364 insertions(+), 198 deletions(-) diff --git a/dsnp/index.ts b/dsnp/index.ts index c73c2c5..34fae70 100644 --- a/dsnp/index.ts +++ b/dsnp/index.ts @@ -2,7 +2,12 @@ import { ApiPromise } from "@polkadot/api"; import { Schema } from "avsc"; import { DSNPParquetSchema } from "@dsnp/schemas/types/dsnp-parquet.js"; -import { AnnouncementType, descriptorForAnnouncementType, UserDataType, descriptorForUserDataType } from "@dsnp/schemas"; +import { + AnnouncementType, + descriptorForAnnouncementType, + UserDataType, + descriptorForUserDataType, +} from "@dsnp/schemas"; import userPublicFollows from "./userPublicFollows.js"; import userPrivateFollows from "./userPrivateFollows.js"; @@ -213,7 +218,7 @@ chainMapping[GENESIS_HASH_TESTNET_PASEO] = { "private-follows": { "1.2": 9 }, "private-connections": { "1.2": 10 }, "public-key-assertion-method": { "1.3": 11 }, -// "profile-resources": { "1.3": TBD }, + // "profile-resources": { "1.3": TBD }, }; chainMapping[GENESIS_HASH_MAINNET] = { tombstone: { "1.2": 1 }, @@ -226,8 +231,8 @@ chainMapping[GENESIS_HASH_MAINNET] = { "public-follows": { "1.2": 8 }, "private-follows": { "1.2": 9 }, "private-connections": { "1.2": 10 }, -// "public-key-assertion-method": { "1.3": TBD }, -// "profile-resources": { "1.3": TBD }, + // "public-key-assertion-method": { "1.3": TBD }, + // "profile-resources": { "1.3": TBD }, }; /* * Schema in "default" deployments (e.g. to a clean local chain) are diff --git a/package-lock.json b/package-lock.json index e08b664..f1ca215 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,8 +10,8 @@ "license": "Apache-2.0", "dependencies": { "@dsnp/schemas": "^0.0.3", - "@frequency-chain/api-augment": "^1.11.0", - "@polkadot/api": "^10.7.3", + "@frequency-chain/api-augment": "^1.13.0-rc3", + "@polkadot/api": "^12.3.1", "json-stringify-pretty-compact": "^4.0.0", "ts-node": "^10.9.2", "typescript": "^5.3.3" @@ -19,7 +19,7 @@ "devDependencies": { "@dsnp/parquetjs": "^1.3.5", "@dsnp/test-generators": "^0.1.0", - "@polkadot/types": "^10.7.3", + "@polkadot/types": "^12.3.1", "@types/jest": "^29.5.11", "@typescript-eslint/eslint-plugin": "^6.17.0", "@typescript-eslint/parser": "^6.17.0", @@ -852,13 +852,13 @@ } }, "node_modules/@frequency-chain/api-augment": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@frequency-chain/api-augment/-/api-augment-1.11.0.tgz", - "integrity": "sha512-G/srRoEqmGbe7pNERMl5q8q5PFdgdwrHWbJ2nB2C90bPzlOzapag0L5K/FJl2+k1y1pNa13pJNNX51r2mRCUEw==", + "version": "1.13.0-rc3", + "resolved": "https://registry.npmjs.org/@frequency-chain/api-augment/-/api-augment-1.13.0-rc3.tgz", + "integrity": "sha512-dIR6VUyMs5UwyBwdW0SO3ZqNFDp7JnDIOg0jC3KnSY5uOLMDWSQKyNk7dWnLApGo2m7XweKXBu+Cz4tC3HU3FQ==", "dependencies": { - "@polkadot/api": "^10.9.1", - "@polkadot/rpc-provider": "^10.9.1", - "@polkadot/types": "^10.9.1" + "@polkadot/api": "^12.0.1", + "@polkadot/rpc-provider": "^12.0.1", + "@polkadot/types": "^12.0.1" } }, "node_modules/@humanwhocodes/config-array": { @@ -1417,25 +1417,86 @@ "url": "https://opencollective.com/unts" } }, + "node_modules/@polkadot-api/json-rpc-provider": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/json-rpc-provider/-/json-rpc-provider-0.0.1.tgz", + "integrity": "sha512-/SMC/l7foRjpykLTUTacIH05H3mr9ip8b5xxfwXlVezXrNVLp3Cv0GX6uItkKd+ZjzVPf3PFrDF2B2/HLSNESA==", + "optional": true + }, + "node_modules/@polkadot-api/json-rpc-provider-proxy": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/json-rpc-provider-proxy/-/json-rpc-provider-proxy-0.0.1.tgz", + "integrity": "sha512-gmVDUP8LpCH0BXewbzqXF2sdHddq1H1q+XrAW2of+KZj4woQkIGBRGTJHeBEVHe30EB+UejR1N2dT4PO/RvDdg==", + "optional": true + }, + "node_modules/@polkadot-api/metadata-builders": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/metadata-builders/-/metadata-builders-0.0.1.tgz", + "integrity": "sha512-GCI78BHDzXAF/L2pZD6Aod/yl82adqQ7ftNmKg51ixRL02JpWUA+SpUKTJE5MY1p8kiJJIo09P2um24SiJHxNA==", + "optional": true, + "dependencies": { + "@polkadot-api/substrate-bindings": "0.0.1", + "@polkadot-api/utils": "0.0.1" + } + }, + "node_modules/@polkadot-api/observable-client": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@polkadot-api/observable-client/-/observable-client-0.1.0.tgz", + "integrity": "sha512-GBCGDRztKorTLna/unjl/9SWZcRmvV58o9jwU2Y038VuPXZcr01jcw/1O3x+yeAuwyGzbucI/mLTDa1QoEml3A==", + "optional": true, + "dependencies": { + "@polkadot-api/metadata-builders": "0.0.1", + "@polkadot-api/substrate-bindings": "0.0.1", + "@polkadot-api/substrate-client": "0.0.1", + "@polkadot-api/utils": "0.0.1" + }, + "peerDependencies": { + "rxjs": ">=7.8.0" + } + }, + "node_modules/@polkadot-api/substrate-bindings": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-bindings/-/substrate-bindings-0.0.1.tgz", + "integrity": "sha512-bAe7a5bOPnuFVmpv7y4BBMRpNTnMmE0jtTqRUw/+D8ZlEHNVEJQGr4wu3QQCl7k1GnSV1wfv3mzIbYjErEBocg==", + "optional": true, + "dependencies": { + "@noble/hashes": "^1.3.1", + "@polkadot-api/utils": "0.0.1", + "@scure/base": "^1.1.1", + "scale-ts": "^1.6.0" + } + }, + "node_modules/@polkadot-api/substrate-client": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-client/-/substrate-client-0.0.1.tgz", + "integrity": "sha512-9Bg9SGc3AwE+wXONQoW8GC00N3v6lCZLW74HQzqB6ROdcm5VAHM4CB/xRzWSUF9CXL78ugiwtHx3wBcpx4H4Wg==", + "optional": true + }, + "node_modules/@polkadot-api/utils": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/utils/-/utils-0.0.1.tgz", + "integrity": "sha512-3j+pRmlF9SgiYDabSdZsBSsN5XHbpXOAce1lWj56IEEaFZVjsiCaxDOA7C9nCcgfVXuvnbxqqEGQvnY+QfBAUw==", + "optional": true + }, "node_modules/@polkadot/api": { - "version": "10.11.2", - "resolved": "https://registry.npmjs.org/@polkadot/api/-/api-10.11.2.tgz", - "integrity": "sha512-AorCZxCWCoTtdbl4DPUZh+ACe/pbLIS1BkdQY0AFJuZllm0x/yWzjgampcPd5jQAA/O3iKShRBkZqj6Mk9yG/A==", - "dependencies": { - "@polkadot/api-augment": "10.11.2", - "@polkadot/api-base": "10.11.2", - "@polkadot/api-derive": "10.11.2", - "@polkadot/keyring": "^12.6.2", - "@polkadot/rpc-augment": "10.11.2", - "@polkadot/rpc-core": "10.11.2", - "@polkadot/rpc-provider": "10.11.2", - "@polkadot/types": "10.11.2", - "@polkadot/types-augment": "10.11.2", - "@polkadot/types-codec": "10.11.2", - "@polkadot/types-create": "10.11.2", - "@polkadot/types-known": "10.11.2", - "@polkadot/util": "^12.6.2", - "@polkadot/util-crypto": "^12.6.2", + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/api/-/api-12.3.1.tgz", + "integrity": "sha512-VCrtadJRJttya5NhZ8slkD/UQyOZv4qABjagQMaG1eTZpn5k1wskmDUGdHrZZpYO5jBPewnCgaN8+LPKO2qiOw==", + "dependencies": { + "@polkadot/api-augment": "12.3.1", + "@polkadot/api-base": "12.3.1", + "@polkadot/api-derive": "12.3.1", + "@polkadot/keyring": "^13.0.2", + "@polkadot/rpc-augment": "12.3.1", + "@polkadot/rpc-core": "12.3.1", + "@polkadot/rpc-provider": "12.3.1", + "@polkadot/types": "12.3.1", + "@polkadot/types-augment": "12.3.1", + "@polkadot/types-codec": "12.3.1", + "@polkadot/types-create": "12.3.1", + "@polkadot/types-known": "12.3.1", + "@polkadot/util": "^13.0.2", + "@polkadot/util-crypto": "^13.0.2", "eventemitter3": "^5.0.1", "rxjs": "^7.8.1", "tslib": "^2.6.2" @@ -1444,196 +1505,964 @@ "node": ">=18" } }, - "node_modules/@polkadot/api-augment": { - "version": "10.11.2", - "resolved": "https://registry.npmjs.org/@polkadot/api-augment/-/api-augment-10.11.2.tgz", - "integrity": "sha512-PTpnqpezc75qBqUtgrc0GYB8h9UHjfbHSRZamAbecIVAJ2/zc6CqtnldeaBlIu1IKTgBzi3FFtTyYu+ZGbNT2Q==", - "dependencies": { - "@polkadot/api-base": "10.11.2", - "@polkadot/rpc-augment": "10.11.2", - "@polkadot/types": "10.11.2", - "@polkadot/types-augment": "10.11.2", - "@polkadot/types-codec": "10.11.2", - "@polkadot/util": "^12.6.2", + "node_modules/@polkadot/api-augment": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/api-augment/-/api-augment-12.3.1.tgz", + "integrity": "sha512-KfofZVEUeTgLzcexdxKBT2vihazDheUoTLxbsa2ztmmw4UB/IjOL911y04pjg2obZQAI9B+oCyxJXyCfzauWEg==", + "dependencies": { + "@polkadot/api-base": "12.3.1", + "@polkadot/rpc-augment": "12.3.1", + "@polkadot/types": "12.3.1", + "@polkadot/types-augment": "12.3.1", + "@polkadot/types-codec": "12.3.1", + "@polkadot/util": "^13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api-augment/node_modules/@polkadot/util": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.0.2.tgz", + "integrity": "sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==", + "dependencies": { + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-global": "13.0.2", + "@polkadot/x-textdecoder": "13.0.2", + "@polkadot/x-textencoder": "13.0.2", + "@types/bn.js": "^5.1.5", + "bn.js": "^5.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api-augment/node_modules/@polkadot/x-bigint": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz", + "integrity": "sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api-augment/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api-augment/node_modules/@polkadot/x-textdecoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz", + "integrity": "sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api-augment/node_modules/@polkadot/x-textencoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz", + "integrity": "sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api-base": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/api-base/-/api-base-12.3.1.tgz", + "integrity": "sha512-vNbxXNjn4APfXg+ui99gurX2Jzns+eezmWranxoGXT7q0mme1zAtWus5t4e+qe1qRjDNZZYPruF7YJA8dL5k8A==", + "dependencies": { + "@polkadot/rpc-core": "12.3.1", + "@polkadot/types": "12.3.1", + "@polkadot/util": "^13.0.2", + "rxjs": "^7.8.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api-base/node_modules/@polkadot/util": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.0.2.tgz", + "integrity": "sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==", + "dependencies": { + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-global": "13.0.2", + "@polkadot/x-textdecoder": "13.0.2", + "@polkadot/x-textencoder": "13.0.2", + "@types/bn.js": "^5.1.5", + "bn.js": "^5.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api-base/node_modules/@polkadot/x-bigint": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz", + "integrity": "sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api-base/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api-base/node_modules/@polkadot/x-textdecoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz", + "integrity": "sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api-base/node_modules/@polkadot/x-textencoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz", + "integrity": "sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api-derive": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/api-derive/-/api-derive-12.3.1.tgz", + "integrity": "sha512-2MbK1h4GcKEdSgDKKYI28iZESw0VOm0kekV6YGQflZNWe84jJOn2rohP8pACseUjQjwWDgbPPBvTlRZTk7zdAw==", + "dependencies": { + "@polkadot/api": "12.3.1", + "@polkadot/api-augment": "12.3.1", + "@polkadot/api-base": "12.3.1", + "@polkadot/rpc-core": "12.3.1", + "@polkadot/types": "12.3.1", + "@polkadot/types-codec": "12.3.1", + "@polkadot/util": "^13.0.2", + "@polkadot/util-crypto": "^13.0.2", + "rxjs": "^7.8.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api-derive/node_modules/@polkadot/util": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.0.2.tgz", + "integrity": "sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==", + "dependencies": { + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-global": "13.0.2", + "@polkadot/x-textdecoder": "13.0.2", + "@polkadot/x-textencoder": "13.0.2", + "@types/bn.js": "^5.1.5", + "bn.js": "^5.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api-derive/node_modules/@polkadot/x-bigint": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz", + "integrity": "sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api-derive/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api-derive/node_modules/@polkadot/x-textdecoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz", + "integrity": "sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api-derive/node_modules/@polkadot/x-textencoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz", + "integrity": "sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api/node_modules/@polkadot/util": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.0.2.tgz", + "integrity": "sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==", + "dependencies": { + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-global": "13.0.2", + "@polkadot/x-textdecoder": "13.0.2", + "@polkadot/x-textencoder": "13.0.2", + "@types/bn.js": "^5.1.5", + "bn.js": "^5.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api/node_modules/@polkadot/x-bigint": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz", + "integrity": "sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api/node_modules/@polkadot/x-textdecoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz", + "integrity": "sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/api/node_modules/@polkadot/x-textencoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz", + "integrity": "sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/keyring": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-13.0.2.tgz", + "integrity": "sha512-NeLbhyKDT5W8LI9seWTZGePxNTOVpDhv2018HSrEDwJq9Ie0C4TZhUf3KNERCkSveuThXjfQJMs+1CF33ZXPWw==", + "dependencies": { + "@polkadot/util": "13.0.2", + "@polkadot/util-crypto": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@polkadot/util": "13.0.2", + "@polkadot/util-crypto": "13.0.2" + } + }, + "node_modules/@polkadot/keyring/node_modules/@polkadot/util": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.0.2.tgz", + "integrity": "sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==", + "dependencies": { + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-global": "13.0.2", + "@polkadot/x-textdecoder": "13.0.2", + "@polkadot/x-textencoder": "13.0.2", + "@types/bn.js": "^5.1.5", + "bn.js": "^5.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/keyring/node_modules/@polkadot/x-bigint": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz", + "integrity": "sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/keyring/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/keyring/node_modules/@polkadot/x-textdecoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz", + "integrity": "sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/keyring/node_modules/@polkadot/x-textencoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz", + "integrity": "sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/networks": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-13.0.2.tgz", + "integrity": "sha512-ABAL+vug/gIwkdFEzeh87JoJd0YKrxSYg/HjUrZ+Zis2ucxQEKpvtCpJ34ku+YrjacBfVqIAkkwd3ZdIPGq9aQ==", + "dependencies": { + "@polkadot/util": "13.0.2", + "@substrate/ss58-registry": "^1.46.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/networks/node_modules/@polkadot/util": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.0.2.tgz", + "integrity": "sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==", + "dependencies": { + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-global": "13.0.2", + "@polkadot/x-textdecoder": "13.0.2", + "@polkadot/x-textencoder": "13.0.2", + "@types/bn.js": "^5.1.5", + "bn.js": "^5.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/networks/node_modules/@polkadot/x-bigint": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz", + "integrity": "sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/networks/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/networks/node_modules/@polkadot/x-textdecoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz", + "integrity": "sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/networks/node_modules/@polkadot/x-textencoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz", + "integrity": "sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/rpc-augment": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-augment/-/rpc-augment-12.3.1.tgz", + "integrity": "sha512-/tZLl5IuQ4vdGlUAbd8x3ShZ35XDSeyknKHCC+9kIrM/+KIyoCYBob2RXP9uqX8m516AWkXUrjsSO6DFPBpRGg==", + "dependencies": { + "@polkadot/rpc-core": "12.3.1", + "@polkadot/types": "12.3.1", + "@polkadot/types-codec": "12.3.1", + "@polkadot/util": "^13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/rpc-augment/node_modules/@polkadot/util": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.0.2.tgz", + "integrity": "sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==", + "dependencies": { + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-global": "13.0.2", + "@polkadot/x-textdecoder": "13.0.2", + "@polkadot/x-textencoder": "13.0.2", + "@types/bn.js": "^5.1.5", + "bn.js": "^5.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/rpc-augment/node_modules/@polkadot/x-bigint": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz", + "integrity": "sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/rpc-augment/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/rpc-augment/node_modules/@polkadot/x-textdecoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz", + "integrity": "sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/rpc-augment/node_modules/@polkadot/x-textencoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz", + "integrity": "sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/rpc-core": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-12.3.1.tgz", + "integrity": "sha512-bNo26P20nRpLfANTK4sWEakxvqBJpKwAp/Gt7KlxoGgoTUbWFapyGKScFxp/pblycEziEbC+ZjkLMkaWaqi69g==", + "dependencies": { + "@polkadot/rpc-augment": "12.3.1", + "@polkadot/rpc-provider": "12.3.1", + "@polkadot/types": "12.3.1", + "@polkadot/util": "^13.0.2", + "rxjs": "^7.8.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/rpc-core/node_modules/@polkadot/util": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.0.2.tgz", + "integrity": "sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==", + "dependencies": { + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-global": "13.0.2", + "@polkadot/x-textdecoder": "13.0.2", + "@polkadot/x-textencoder": "13.0.2", + "@types/bn.js": "^5.1.5", + "bn.js": "^5.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/rpc-core/node_modules/@polkadot/x-bigint": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz", + "integrity": "sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/rpc-core/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/rpc-core/node_modules/@polkadot/x-textdecoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz", + "integrity": "sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/rpc-core/node_modules/@polkadot/x-textencoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz", + "integrity": "sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/rpc-provider": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-12.3.1.tgz", + "integrity": "sha512-Tg1Oj/1ldivqwnnOWepcNHEHYgpOBffxlrZMEXH1XX6D3AZaUhAWbatizyisydpuMbknTQ9FGYSnb9rOc2QBJw==", + "dependencies": { + "@polkadot/keyring": "^13.0.2", + "@polkadot/types": "12.3.1", + "@polkadot/types-support": "12.3.1", + "@polkadot/util": "^13.0.2", + "@polkadot/util-crypto": "^13.0.2", + "@polkadot/x-fetch": "^13.0.2", + "@polkadot/x-global": "^13.0.2", + "@polkadot/x-ws": "^13.0.2", + "eventemitter3": "^5.0.1", + "mock-socket": "^9.3.1", + "nock": "^13.5.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@substrate/connect": "0.8.10" + } + }, + "node_modules/@polkadot/rpc-provider/node_modules/@polkadot/util": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.0.2.tgz", + "integrity": "sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==", + "dependencies": { + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-global": "13.0.2", + "@polkadot/x-textdecoder": "13.0.2", + "@polkadot/x-textencoder": "13.0.2", + "@types/bn.js": "^5.1.5", + "bn.js": "^5.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/rpc-provider/node_modules/@polkadot/x-bigint": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz", + "integrity": "sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/rpc-provider/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/rpc-provider/node_modules/@polkadot/x-textdecoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz", + "integrity": "sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/rpc-provider/node_modules/@polkadot/x-textencoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz", + "integrity": "sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-12.3.1.tgz", + "integrity": "sha512-4MkTF1znpgp9mZc/ZZPdFe7/5it9v+EJmzXc/DEOX9kVWs2BuKOWopzOFyO3reVUUB+v7dxfSOArSsxkMUcuoA==", + "dependencies": { + "@polkadot/keyring": "^13.0.2", + "@polkadot/types-augment": "12.3.1", + "@polkadot/types-codec": "12.3.1", + "@polkadot/types-create": "12.3.1", + "@polkadot/util": "^13.0.2", + "@polkadot/util-crypto": "^13.0.2", + "rxjs": "^7.8.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-augment": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/types-augment/-/types-augment-12.3.1.tgz", + "integrity": "sha512-I3ggJt7W3UOScP6WA6PNmNsmpCfZtXkRJvSJkX7bi2LsSm/iF0xo0KdpQK02dHu7nGRFD9O5cSoVawzZJifGLA==", + "dependencies": { + "@polkadot/types": "12.3.1", + "@polkadot/types-codec": "12.3.1", + "@polkadot/util": "^13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-augment/node_modules/@polkadot/util": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.0.2.tgz", + "integrity": "sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==", + "dependencies": { + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-global": "13.0.2", + "@polkadot/x-textdecoder": "13.0.2", + "@polkadot/x-textencoder": "13.0.2", + "@types/bn.js": "^5.1.5", + "bn.js": "^5.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-augment/node_modules/@polkadot/x-bigint": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz", + "integrity": "sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-augment/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-augment/node_modules/@polkadot/x-textdecoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz", + "integrity": "sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==", + "dependencies": { + "@polkadot/x-global": "13.0.2", "tslib": "^2.6.2" }, "engines": { "node": ">=18" } }, - "node_modules/@polkadot/api-base": { - "version": "10.11.2", - "resolved": "https://registry.npmjs.org/@polkadot/api-base/-/api-base-10.11.2.tgz", - "integrity": "sha512-4LIjaUfO9nOzilxo7XqzYKCNMtmUypdk8oHPdrRnSjKEsnK7vDsNi+979z2KXNXd2KFSCFHENmI523fYnMnReg==", + "node_modules/@polkadot/types-augment/node_modules/@polkadot/x-textencoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz", + "integrity": "sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==", "dependencies": { - "@polkadot/rpc-core": "10.11.2", - "@polkadot/types": "10.11.2", - "@polkadot/util": "^12.6.2", - "rxjs": "^7.8.1", + "@polkadot/x-global": "13.0.2", "tslib": "^2.6.2" }, "engines": { "node": ">=18" } }, - "node_modules/@polkadot/api-derive": { - "version": "10.11.2", - "resolved": "https://registry.npmjs.org/@polkadot/api-derive/-/api-derive-10.11.2.tgz", - "integrity": "sha512-m3BQbPionkd1iSlknddxnL2hDtolPIsT+aRyrtn4zgMRPoLjHFmTmovvg8RaUyYofJtZeYrnjMw0mdxiSXx7eA==", - "dependencies": { - "@polkadot/api": "10.11.2", - "@polkadot/api-augment": "10.11.2", - "@polkadot/api-base": "10.11.2", - "@polkadot/rpc-core": "10.11.2", - "@polkadot/types": "10.11.2", - "@polkadot/types-codec": "10.11.2", - "@polkadot/util": "^12.6.2", - "@polkadot/util-crypto": "^12.6.2", - "rxjs": "^7.8.1", + "node_modules/@polkadot/types-codec": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/types-codec/-/types-codec-12.3.1.tgz", + "integrity": "sha512-yZ4exsQI+eVkE/fZNuJBOajAgOH/YncKWOOf0N4lc6iq28oYp22DCAXc50Ym372l4HO+uhC9QdMPH9EiWwT2pQ==", + "dependencies": { + "@polkadot/util": "^13.0.2", + "@polkadot/x-bigint": "^13.0.2", "tslib": "^2.6.2" }, "engines": { "node": ">=18" } }, - "node_modules/@polkadot/keyring": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-12.6.2.tgz", - "integrity": "sha512-O3Q7GVmRYm8q7HuB3S0+Yf/q/EB2egKRRU3fv9b3B7V+A52tKzA+vIwEmNVaD1g5FKW9oB97rmpggs0zaKFqHw==", + "node_modules/@polkadot/types-codec/node_modules/@polkadot/util": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.0.2.tgz", + "integrity": "sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==", "dependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/util-crypto": "12.6.2", + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-global": "13.0.2", + "@polkadot/x-textdecoder": "13.0.2", + "@polkadot/x-textencoder": "13.0.2", + "@types/bn.js": "^5.1.5", + "bn.js": "^5.2.1", "tslib": "^2.6.2" }, "engines": { "node": ">=18" + } + }, + "node_modules/@polkadot/types-codec/node_modules/@polkadot/x-bigint": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz", + "integrity": "sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" }, - "peerDependencies": { - "@polkadot/util": "12.6.2", - "@polkadot/util-crypto": "12.6.2" + "engines": { + "node": ">=18" } }, - "node_modules/@polkadot/networks": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-12.6.2.tgz", - "integrity": "sha512-1oWtZm1IvPWqvMrldVH6NI2gBoCndl5GEwx7lAuQWGr7eNL+6Bdc5K3Z9T0MzFvDGoi2/CBqjX9dRKo39pDC/w==", + "node_modules/@polkadot/types-codec/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", "dependencies": { - "@polkadot/util": "12.6.2", - "@substrate/ss58-registry": "^1.44.0", "tslib": "^2.6.2" }, "engines": { "node": ">=18" } }, - "node_modules/@polkadot/rpc-augment": { - "version": "10.11.2", - "resolved": "https://registry.npmjs.org/@polkadot/rpc-augment/-/rpc-augment-10.11.2.tgz", - "integrity": "sha512-9AhT0WW81/8jYbRcAC6PRmuxXqNhJje8OYiulBQHbG1DTCcjAfz+6VQBke9BwTStzPq7d526+yyBKD17O3zlAA==", - "dependencies": { - "@polkadot/rpc-core": "10.11.2", - "@polkadot/types": "10.11.2", - "@polkadot/types-codec": "10.11.2", - "@polkadot/util": "^12.6.2", + "node_modules/@polkadot/types-codec/node_modules/@polkadot/x-textdecoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz", + "integrity": "sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==", + "dependencies": { + "@polkadot/x-global": "13.0.2", "tslib": "^2.6.2" }, "engines": { "node": ">=18" } }, - "node_modules/@polkadot/rpc-core": { - "version": "10.11.2", - "resolved": "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-10.11.2.tgz", - "integrity": "sha512-Ot0CFLWx8sZhLZog20WDuniPA01Bk2StNDsdAQgcFKPwZw6ShPaZQCHuKLQK6I6DodOrem9FXX7c1hvoKJP5Ww==", - "dependencies": { - "@polkadot/rpc-augment": "10.11.2", - "@polkadot/rpc-provider": "10.11.2", - "@polkadot/types": "10.11.2", - "@polkadot/util": "^12.6.2", - "rxjs": "^7.8.1", + "node_modules/@polkadot/types-codec/node_modules/@polkadot/x-textencoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz", + "integrity": "sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==", + "dependencies": { + "@polkadot/x-global": "13.0.2", "tslib": "^2.6.2" }, "engines": { "node": ">=18" } }, - "node_modules/@polkadot/rpc-provider": { - "version": "10.11.2", - "resolved": "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-10.11.2.tgz", - "integrity": "sha512-he5jWMpDJp7e+vUzTZDzpkB7ps3H8psRally+/ZvZZScPvFEjfczT7I1WWY9h58s8+ImeVP/lkXjL9h/gUOt3Q==", - "dependencies": { - "@polkadot/keyring": "^12.6.2", - "@polkadot/types": "10.11.2", - "@polkadot/types-support": "10.11.2", - "@polkadot/util": "^12.6.2", - "@polkadot/util-crypto": "^12.6.2", - "@polkadot/x-fetch": "^12.6.2", - "@polkadot/x-global": "^12.6.2", - "@polkadot/x-ws": "^12.6.2", - "eventemitter3": "^5.0.1", - "mock-socket": "^9.3.1", - "nock": "^13.4.0", + "node_modules/@polkadot/types-create": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/types-create/-/types-create-12.3.1.tgz", + "integrity": "sha512-Jf9BByWB64FPW3lM5/Mcc/foyPJ3L9t0QwHVHaYWaonZt6l7SPX71rQmD7twJiTj9q1d1WidDKg/TtRDNbm1yA==", + "dependencies": { + "@polkadot/types-codec": "12.3.1", + "@polkadot/util": "^13.0.2", "tslib": "^2.6.2" }, "engines": { "node": ">=18" + } + }, + "node_modules/@polkadot/types-create/node_modules/@polkadot/util": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.0.2.tgz", + "integrity": "sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==", + "dependencies": { + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-global": "13.0.2", + "@polkadot/x-textdecoder": "13.0.2", + "@polkadot/x-textencoder": "13.0.2", + "@types/bn.js": "^5.1.5", + "bn.js": "^5.2.1", + "tslib": "^2.6.2" }, - "optionalDependencies": { - "@substrate/connect": "0.7.35" + "engines": { + "node": ">=18" } }, - "node_modules/@polkadot/types": { - "version": "10.11.2", - "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-10.11.2.tgz", - "integrity": "sha512-d52j3xXni+C8GdYZVTSfu8ROAnzXFMlyRvXtor0PudUc8UQHOaC4+mYAkTBGA2gKdmL8MHSfRSbhcxHhsikY6Q==", - "dependencies": { - "@polkadot/keyring": "^12.6.2", - "@polkadot/types-augment": "10.11.2", - "@polkadot/types-codec": "10.11.2", - "@polkadot/types-create": "10.11.2", - "@polkadot/util": "^12.6.2", - "@polkadot/util-crypto": "^12.6.2", - "rxjs": "^7.8.1", + "node_modules/@polkadot/types-create/node_modules/@polkadot/x-bigint": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz", + "integrity": "sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", "tslib": "^2.6.2" }, "engines": { "node": ">=18" } }, - "node_modules/@polkadot/types-augment": { - "version": "10.11.2", - "resolved": "https://registry.npmjs.org/@polkadot/types-augment/-/types-augment-10.11.2.tgz", - "integrity": "sha512-8eB8ew04wZiE5GnmFvEFW1euJWmF62SGxb1O+8wL3zoUtB9Xgo1vB6w6xbTrd+HLV6jNSeXXnbbF1BEUvi9cNg==", + "node_modules/@polkadot/types-create/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", "dependencies": { - "@polkadot/types": "10.11.2", - "@polkadot/types-codec": "10.11.2", - "@polkadot/util": "^12.6.2", "tslib": "^2.6.2" }, "engines": { "node": ">=18" } }, - "node_modules/@polkadot/types-codec": { - "version": "10.11.2", - "resolved": "https://registry.npmjs.org/@polkadot/types-codec/-/types-codec-10.11.2.tgz", - "integrity": "sha512-3xjOQL+LOOMzYqlgP9ROL0FQnzU8lGflgYewzau7AsDlFziSEtb49a9BpYo6zil4koC+QB8zQ9OHGFumG08T8w==", + "node_modules/@polkadot/types-create/node_modules/@polkadot/x-textdecoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz", + "integrity": "sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==", "dependencies": { - "@polkadot/util": "^12.6.2", - "@polkadot/x-bigint": "^12.6.2", + "@polkadot/x-global": "13.0.2", "tslib": "^2.6.2" }, "engines": { "node": ">=18" } }, - "node_modules/@polkadot/types-create": { - "version": "10.11.2", - "resolved": "https://registry.npmjs.org/@polkadot/types-create/-/types-create-10.11.2.tgz", - "integrity": "sha512-SJt23NxYvefRxVZZm6mT9ed1pR6FDoIGQ3xUpbjhTLfU2wuhpKjekMVorYQ6z/gK2JLMu2kV92Ardsz+6GX5XQ==", + "node_modules/@polkadot/types-create/node_modules/@polkadot/x-textencoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz", + "integrity": "sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==", "dependencies": { - "@polkadot/types-codec": "10.11.2", - "@polkadot/util": "^12.6.2", + "@polkadot/x-global": "13.0.2", "tslib": "^2.6.2" }, "engines": { @@ -1641,15 +2470,79 @@ } }, "node_modules/@polkadot/types-known": { - "version": "10.11.2", - "resolved": "https://registry.npmjs.org/@polkadot/types-known/-/types-known-10.11.2.tgz", - "integrity": "sha512-kbEIX7NUQFxpDB0FFGNyXX/odY7jbp56RGD+Z4A731fW2xh/DgAQrI994xTzuh0c0EqPE26oQm3kATSpseqo9w==", - "dependencies": { - "@polkadot/networks": "^12.6.2", - "@polkadot/types": "10.11.2", - "@polkadot/types-codec": "10.11.2", - "@polkadot/types-create": "10.11.2", - "@polkadot/util": "^12.6.2", + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/types-known/-/types-known-12.3.1.tgz", + "integrity": "sha512-G8t0uiIW1iu3KwylHDPnqdHxg5qwBxzPZQJvsjnGx2qBUk2VqXditKWcNFLEwCTnJPL95t2AzEO711lS99WRbg==", + "dependencies": { + "@polkadot/networks": "^13.0.2", + "@polkadot/types": "12.3.1", + "@polkadot/types-codec": "12.3.1", + "@polkadot/types-create": "12.3.1", + "@polkadot/util": "^13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-known/node_modules/@polkadot/util": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.0.2.tgz", + "integrity": "sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==", + "dependencies": { + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-global": "13.0.2", + "@polkadot/x-textdecoder": "13.0.2", + "@polkadot/x-textencoder": "13.0.2", + "@types/bn.js": "^5.1.5", + "bn.js": "^5.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-known/node_modules/@polkadot/x-bigint": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz", + "integrity": "sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-known/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-known/node_modules/@polkadot/x-textdecoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz", + "integrity": "sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-known/node_modules/@polkadot/x-textencoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz", + "integrity": "sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==", + "dependencies": { + "@polkadot/x-global": "13.0.2", "tslib": "^2.6.2" }, "engines": { @@ -1657,11 +2550,139 @@ } }, "node_modules/@polkadot/types-support": { - "version": "10.11.2", - "resolved": "https://registry.npmjs.org/@polkadot/types-support/-/types-support-10.11.2.tgz", - "integrity": "sha512-X11hoykFYv/3efg4coZy2hUOUc97JhjQMJLzDhHniFwGLlYU8MeLnPdCVGkXx0xDDjTo4/ptS1XpZ5HYcg+gRw==", + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/types-support/-/types-support-12.3.1.tgz", + "integrity": "sha512-TwL5M5HkZ4jQGKekD+qJFLba7UXWASfwlPy2OpKj0LOnnmq4tudXgN13UFdQ7HoOmisPhr+vYo9vteYeBZ0jTA==", + "dependencies": { + "@polkadot/util": "^13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-support/node_modules/@polkadot/util": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.0.2.tgz", + "integrity": "sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==", + "dependencies": { + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-global": "13.0.2", + "@polkadot/x-textdecoder": "13.0.2", + "@polkadot/x-textencoder": "13.0.2", + "@types/bn.js": "^5.1.5", + "bn.js": "^5.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-support/node_modules/@polkadot/x-bigint": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz", + "integrity": "sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-support/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-support/node_modules/@polkadot/x-textdecoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz", + "integrity": "sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-support/node_modules/@polkadot/x-textencoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz", + "integrity": "sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types/node_modules/@polkadot/util": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.0.2.tgz", + "integrity": "sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==", + "dependencies": { + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-global": "13.0.2", + "@polkadot/x-textdecoder": "13.0.2", + "@polkadot/x-textencoder": "13.0.2", + "@types/bn.js": "^5.1.5", + "bn.js": "^5.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types/node_modules/@polkadot/x-bigint": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz", + "integrity": "sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types/node_modules/@polkadot/x-textdecoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz", + "integrity": "sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types/node_modules/@polkadot/x-textencoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz", + "integrity": "sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==", "dependencies": { - "@polkadot/util": "^12.6.2", + "@polkadot/x-global": "13.0.2", "tslib": "^2.6.2" }, "engines": { @@ -1672,6 +2693,7 @@ "version": "12.6.2", "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", + "peer": true, "dependencies": { "@polkadot/x-bigint": "12.6.2", "@polkadot/x-global": "12.6.2", @@ -1686,18 +2708,18 @@ } }, "node_modules/@polkadot/util-crypto": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-12.6.2.tgz", - "integrity": "sha512-FEWI/dJ7wDMNN1WOzZAjQoIcCP/3vz3wvAp5QQm+lOrzOLj0iDmaIGIcBkz8HVm3ErfSe/uKP0KS4jgV/ib+Mg==", + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-13.0.2.tgz", + "integrity": "sha512-woUsJJ6zd/caL7U+D30a5oM/+WK9iNI00Y8aNUHSj6Zq/KPzK9uqDBaLGWwlgrejoMQkxxiU2X0f2LzP15AtQg==", "dependencies": { "@noble/curves": "^1.3.0", "@noble/hashes": "^1.3.3", - "@polkadot/networks": "12.6.2", - "@polkadot/util": "12.6.2", + "@polkadot/networks": "13.0.2", + "@polkadot/util": "13.0.2", "@polkadot/wasm-crypto": "^7.3.2", "@polkadot/wasm-util": "^7.3.2", - "@polkadot/x-bigint": "12.6.2", - "@polkadot/x-randomvalues": "12.6.2", + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-randomvalues": "13.0.2", "@scure/base": "^1.1.5", "tslib": "^2.6.2" }, @@ -1705,7 +2727,87 @@ "node": ">=18" }, "peerDependencies": { - "@polkadot/util": "12.6.2" + "@polkadot/util": "13.0.2" + } + }, + "node_modules/@polkadot/util-crypto/node_modules/@polkadot/util": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.0.2.tgz", + "integrity": "sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==", + "dependencies": { + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-global": "13.0.2", + "@polkadot/x-textdecoder": "13.0.2", + "@polkadot/x-textencoder": "13.0.2", + "@types/bn.js": "^5.1.5", + "bn.js": "^5.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/util-crypto/node_modules/@polkadot/x-bigint": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz", + "integrity": "sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/util-crypto/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/util-crypto/node_modules/@polkadot/x-randomvalues": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-13.0.2.tgz", + "integrity": "sha512-SGj+L0H/7TWZtSmtkWlixO4DFzXDdluI0UscN2h285os2Ns8PnmBbue+iJ8PVSzpY1BOxd66gvkkpboPz+jXFQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@polkadot/util": "13.0.2", + "@polkadot/wasm-util": "*" + } + }, + "node_modules/@polkadot/util-crypto/node_modules/@polkadot/x-textdecoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz", + "integrity": "sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/util-crypto/node_modules/@polkadot/x-textencoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz", + "integrity": "sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" } }, "node_modules/@polkadot/wasm-bridge": { @@ -1810,6 +2912,7 @@ "version": "12.6.2", "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", + "peer": true, "dependencies": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2" @@ -1819,11 +2922,11 @@ } }, "node_modules/@polkadot/x-fetch": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-12.6.2.tgz", - "integrity": "sha512-8wM/Z9JJPWN1pzSpU7XxTI1ldj/AfC8hKioBlUahZ8gUiJaOF7K9XEFCrCDLis/A1BoOu7Ne6WMx/vsJJIbDWw==", + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-13.0.2.tgz", + "integrity": "sha512-B/gf9iriUr6za/Ui7zIFBfHz7UBZ68rJEIteWHx1UHRCZPcLqv+hgpev6xIGrkfFljI0/lI7IwtN2qy6HYzFBg==", "dependencies": { - "@polkadot/x-global": "12.6.2", + "@polkadot/x-global": "13.0.2", "node-fetch": "^3.3.2", "tslib": "^2.6.2" }, @@ -1831,10 +2934,22 @@ "node": ">=18" } }, + "node_modules/@polkadot/x-fetch/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@polkadot/x-global": { "version": "12.6.2", "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", + "peer": true, "dependencies": { "tslib": "^2.6.2" }, @@ -1846,6 +2961,7 @@ "version": "12.6.2", "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-12.6.2.tgz", "integrity": "sha512-Vr8uG7rH2IcNJwtyf5ebdODMcr0XjoCpUbI91Zv6AlKVYOGKZlKLYJHIwpTaKKB+7KPWyQrk4Mlym/rS7v9feg==", + "peer": true, "dependencies": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2" @@ -1862,6 +2978,7 @@ "version": "12.6.2", "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", + "peer": true, "dependencies": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2" @@ -1874,6 +2991,7 @@ "version": "12.6.2", "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", + "peer": true, "dependencies": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2" @@ -1883,13 +3001,24 @@ } }, "node_modules/@polkadot/x-ws": { - "version": "12.6.2", - "resolved": "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-12.6.2.tgz", - "integrity": "sha512-cGZWo7K5eRRQCRl2LrcyCYsrc3lRbTlixZh3AzgU8uX4wASVGRlNWi/Hf4TtHNe1ExCDmxabJzdIsABIfrr7xw==", + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-13.0.2.tgz", + "integrity": "sha512-nC5e2eY5D5ZR5teQOB7ib+dWLbmNws86cTz3BjKCalSMBBIn6i3V9ElgABpierBmnSJe9D94EyrH1BxdVfDxUg==", "dependencies": { - "@polkadot/x-global": "12.6.2", + "@polkadot/x-global": "13.0.2", "tslib": "^2.6.2", - "ws": "^8.15.1" + "ws": "^8.16.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/x-ws/node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", + "dependencies": { + "tslib": "^2.6.2" }, "engines": { "node": ">=18" @@ -1928,26 +3057,52 @@ } }, "node_modules/@substrate/connect": { - "version": "0.7.35", - "resolved": "https://registry.npmjs.org/@substrate/connect/-/connect-0.7.35.tgz", - "integrity": "sha512-Io8vkalbwaye+7yXfG1Nj52tOOoJln2bMlc7Q9Yy3vEWqZEVkgKmcPVzbwV0CWL3QD+KMPDA2Dnw/X7EdwgoLw==", - "hasInstallScript": true, + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@substrate/connect/-/connect-0.8.10.tgz", + "integrity": "sha512-DIyQ13DDlXqVFnLV+S6/JDgiGowVRRrh18kahieJxhgvzcWicw5eLc6jpfQ0moVVLBYkO7rctB5Wreldwpva8w==", + "deprecated": "versions below 1.x are no longer maintained", "optional": true, "dependencies": { - "@substrate/connect-extension-protocol": "^1.0.1", - "smoldot": "2.0.7" + "@substrate/connect-extension-protocol": "^2.0.0", + "@substrate/connect-known-chains": "^1.1.4", + "@substrate/light-client-extension-helpers": "^0.0.6", + "smoldot": "2.0.22" } }, "node_modules/@substrate/connect-extension-protocol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@substrate/connect-extension-protocol/-/connect-extension-protocol-1.0.1.tgz", - "integrity": "sha512-161JhCC1csjH3GE5mPLEd7HbWtwNSPJBg3p1Ksz9SFlTzj/bgEwudiRN2y5i0MoLGCIJRYKyKGMxVnd29PzNjg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@substrate/connect-extension-protocol/-/connect-extension-protocol-2.0.0.tgz", + "integrity": "sha512-nKu8pDrE3LNCEgJjZe1iGXzaD6OSIDD4Xzz/yo4KO9mQ6LBvf49BVrt4qxBFGL6++NneLiWUZGoh+VSd4PyVIg==", + "optional": true + }, + "node_modules/@substrate/connect-known-chains": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@substrate/connect-known-chains/-/connect-known-chains-1.2.2.tgz", + "integrity": "sha512-gOGrXSWA2d/3kf8Yco00VlHZl48smzAGW5Z9MDxMht98hRpT2yEEN4N5QdoEKMI4ihDW8goXGzmp79D0hFPpuA==", "optional": true }, + "node_modules/@substrate/light-client-extension-helpers": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@substrate/light-client-extension-helpers/-/light-client-extension-helpers-0.0.6.tgz", + "integrity": "sha512-girltEuxQ1BvkJWmc8JJlk4ZxnlGXc/wkLcNguhY+UoDEMBK0LsdtfzQKIfrIehi4QdeSBlFEFBoI4RqPmsZzA==", + "optional": true, + "dependencies": { + "@polkadot-api/json-rpc-provider": "0.0.1", + "@polkadot-api/json-rpc-provider-proxy": "0.0.1", + "@polkadot-api/observable-client": "0.1.0", + "@polkadot-api/substrate-client": "0.0.1", + "@substrate/connect-extension-protocol": "^2.0.0", + "@substrate/connect-known-chains": "^1.1.4", + "rxjs": "^7.8.1" + }, + "peerDependencies": { + "smoldot": "2.x" + } + }, "node_modules/@substrate/ss58-registry": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/@substrate/ss58-registry/-/ss58-registry-1.44.0.tgz", - "integrity": "sha512-7lQ/7mMCzVNSEfDS4BCqnRnKCFKpcOaPrxMeGTXHX1YQzM/m2BBHjbK2C3dJvjv7GYxMiaTq/HdWQj1xS6ss+A==" + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/@substrate/ss58-registry/-/ss58-registry-1.49.0.tgz", + "integrity": "sha512-leW6Ix4LD7XgvxT7+aobPWSw+WvPcN2Rxof1rmd0mNC5t2n99k1N7UNEvz7YEFSOUeHWmKIY7F5q8KeIqYoHfA==" }, "node_modules/@tootallnate/once": { "version": "2.0.0", @@ -6919,6 +8074,12 @@ "node": ">=v12.22.7" } }, + "node_modules/scale-ts": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/scale-ts/-/scale-ts-1.6.0.tgz", + "integrity": "sha512-Ja5VCjNZR8TGKhUumy9clVVxcDpM+YFjAnkMuwQy68Hixio3VRRvWdE3g8T/yC+HXA0ZDQl2TGyUmtmbcVl40Q==", + "optional": true + }, "node_modules/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", @@ -7038,9 +8199,9 @@ } }, "node_modules/smoldot": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/smoldot/-/smoldot-2.0.7.tgz", - "integrity": "sha512-VAOBqEen6vises36/zgrmAT1GWk2qE3X8AGnO7lmQFdskbKx8EovnwS22rtPAG+Y1Rk23/S22kDJUdPANyPkBA==", + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/smoldot/-/smoldot-2.0.22.tgz", + "integrity": "sha512-B50vRgTY6v3baYH6uCgL15tfaag5tcS2o/P5q1OiXcKGv1axZDfz2dzzMuIkVpyMR2ug11F6EAtQlmYBQd292g==", "optional": true, "dependencies": { "ws": "^8.8.1" @@ -7796,9 +8957,9 @@ "devOptional": true }, "node_modules/web-streams-polyfill": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", "engines": { "node": ">= 8" } diff --git a/package.json b/package.json index 39ae90f..a3a9643 100644 --- a/package.json +++ b/package.json @@ -28,8 +28,8 @@ "homepage": "https://github.com/LibertyDSNP/schemas#readme", "dependencies": { "@dsnp/schemas": "^0.0.3", - "@frequency-chain/api-augment": "^1.11.0", - "@polkadot/api": "^10.7.3", + "@frequency-chain/api-augment": "^1.13.0-rc3", + "@polkadot/api": "^12.3.1", "json-stringify-pretty-compact": "^4.0.0", "ts-node": "^10.9.2", "typescript": "^5.3.3" @@ -40,7 +40,7 @@ "devDependencies": { "@dsnp/parquetjs": "^1.3.5", "@dsnp/test-generators": "^0.1.0", - "@polkadot/types": "^10.7.3", + "@polkadot/types": "^12.3.1", "@types/jest": "^29.5.11", "@typescript-eslint/eslint-plugin": "^6.17.0", "@typescript-eslint/parser": "^6.17.0", From f41a1e5113c25143aa98ac5774696d47d0ff092e Mon Sep 17 00:00:00 2001 From: Wes Biggs Date: Wed, 7 Aug 2024 01:42:38 -0500 Subject: [PATCH 4/4] Syntax tweaks --- dsnp/index.ts | 14 +++++++------- dsnp/userPrivateConnections.spec.ts | 3 ++- dsnp/userPrivateConnections.ts | 5 ++++- dsnp/userPrivateFollows.spec.ts | 3 ++- dsnp/userPrivateFollows.ts | 5 ++++- dsnp/userPublicFollows.spec.ts | 3 ++- dsnp/userPublicFollows.ts | 5 ++++- 7 files changed, 25 insertions(+), 13 deletions(-) diff --git a/dsnp/index.ts b/dsnp/index.ts index 34fae70..75df9ca 100644 --- a/dsnp/index.ts +++ b/dsnp/index.ts @@ -1,6 +1,6 @@ import { ApiPromise } from "@polkadot/api"; -import { Schema } from "avsc"; +import type { Schema } from "avsc"; import { DSNPParquetSchema } from "@dsnp/schemas/types/dsnp-parquet.js"; import { AnnouncementType, @@ -137,7 +137,7 @@ export const schemas = new Map([ [ "public-key-key-agreement", { - model: publicKey as Schema, + model: publicKey, modelType: "AvroBinary", payloadLocation: "Itemized", settings: ["AppendOnly", "SignatureRequired"], @@ -147,7 +147,7 @@ export const schemas = new Map([ [ "public-follows", { - model: userPublicFollows as Schema, + model: userPublicFollows, modelType: "AvroBinary", payloadLocation: "Paginated", settings: [], @@ -157,7 +157,7 @@ export const schemas = new Map([ [ "private-follows", { - model: userPrivateFollows as Schema, + model: userPrivateFollows, modelType: "AvroBinary", payloadLocation: "Paginated", settings: [], @@ -167,7 +167,7 @@ export const schemas = new Map([ [ "private-connections", { - model: userPrivateConnections as Schema, + model: userPrivateConnections, modelType: "AvroBinary", payloadLocation: "Paginated", settings: [], @@ -177,7 +177,7 @@ export const schemas = new Map([ [ "public-key-assertion-method", { - model: publicKey as Schema, + model: publicKey, modelType: "AvroBinary", payloadLocation: "Itemized", settings: ["AppendOnly", "SignatureRequired"], @@ -187,7 +187,7 @@ export const schemas = new Map([ [ "profile-resources", { - model: profile as Schema, + model: profile, modelType: "AvroBinary", payloadLocation: "Itemized", settings: [], diff --git a/dsnp/userPrivateConnections.spec.ts b/dsnp/userPrivateConnections.spec.ts index 9321f2d..8df4d73 100644 --- a/dsnp/userPrivateConnections.spec.ts +++ b/dsnp/userPrivateConnections.spec.ts @@ -1,5 +1,6 @@ import privateConnectionsSchema from "./userPrivateConnections.js"; import avro from "avro-js"; +import type { Schema } from "avsc"; describe("Private Connections Schema", () => { it("Is Avro", () => { @@ -11,7 +12,7 @@ describe("Private Connections Schema", () => { // Parse the inside and outside types. // The inside type must be self contained. const outsideType = avro.parse(privateConnectionsSchema); - const insideType = avro.parse(privateConnectionsSchema.types[0]); + const insideType = avro.parse((privateConnectionsSchema as Schema & { types: Schema[] }).types[0]); // Generate a random inside type const inside = insideType.random(); diff --git a/dsnp/userPrivateConnections.ts b/dsnp/userPrivateConnections.ts index 1b435c0..796b868 100644 --- a/dsnp/userPrivateConnections.ts +++ b/dsnp/userPrivateConnections.ts @@ -1,7 +1,8 @@ import { UserDataType, descriptorForUserDataType } from "@dsnp/schemas"; +import type { Schema } from "avsc"; // Paginated Chunk with PRIds -export default { +const schema: Schema = { type: "record", name: "UserPrivateConnectionsChunk", namespace: "org.dsnp", @@ -35,3 +36,5 @@ export default { }, ], }; + +export default schema; diff --git a/dsnp/userPrivateFollows.spec.ts b/dsnp/userPrivateFollows.spec.ts index 1dc41ad..fc6756f 100644 --- a/dsnp/userPrivateFollows.spec.ts +++ b/dsnp/userPrivateFollows.spec.ts @@ -1,5 +1,6 @@ import privateFollowsSchema from "./userPrivateFollows.js"; import avro from "avro-js"; +import type { Schema } from "avsc"; describe("Private Follows Schema", () => { it("Is Avro", () => { @@ -11,7 +12,7 @@ describe("Private Follows Schema", () => { // Parse the inside and outside types. // The inside type must be self contained. const outsideType = avro.parse(privateFollowsSchema); - const insideType = avro.parse(privateFollowsSchema.types[0]); + const insideType = avro.parse((privateFollowsSchema as Schema & { types: Schema[] }).types[0]); // Generate a random inside type const inside = insideType.random(); diff --git a/dsnp/userPrivateFollows.ts b/dsnp/userPrivateFollows.ts index 5c9f6cf..2b630c0 100644 --- a/dsnp/userPrivateFollows.ts +++ b/dsnp/userPrivateFollows.ts @@ -1,7 +1,8 @@ import { UserDataType, descriptorForUserDataType } from "@dsnp/schemas"; +import type { Schema } from "avsc"; // Paginated Chunks -export default { +const schema: Schema = { type: "record", name: "UserPrivateFollowsChunk", namespace: "org.dsnp", @@ -27,3 +28,5 @@ export default { }, ], }; + +export default schema; diff --git a/dsnp/userPublicFollows.spec.ts b/dsnp/userPublicFollows.spec.ts index 405f67c..5c4474c 100644 --- a/dsnp/userPublicFollows.spec.ts +++ b/dsnp/userPublicFollows.spec.ts @@ -1,5 +1,6 @@ import publicFollowsSchema from "./userPublicFollows.js"; import avro from "avro-js"; +import type { Schema } from "avsc"; describe("Public Follows Schema", () => { it("Is Avro", () => { @@ -11,7 +12,7 @@ describe("Public Follows Schema", () => { // Parse the inside and outside types. // The inside type must be self contained. const outsideType = avro.parse(publicFollowsSchema); - const insideType = avro.parse(publicFollowsSchema.types[0]); + const insideType = avro.parse((publicFollowsSchema as Schema & { types: Schema[] }).types[0]); // Generate a random inside type const inside = insideType.random(); diff --git a/dsnp/userPublicFollows.ts b/dsnp/userPublicFollows.ts index e2321d3..588fd16 100644 --- a/dsnp/userPublicFollows.ts +++ b/dsnp/userPublicFollows.ts @@ -1,7 +1,8 @@ import { UserDataType, descriptorForUserDataType } from "@dsnp/schemas"; +import type { Schema } from "avsc"; // Paginated Chunk of compressed data with a type defined for the data post decompression -export default { +const schema: Schema = { type: "record", name: "UserPublicFollowsChunk", namespace: "org.dsnp", @@ -21,3 +22,5 @@ export default { }, ], }; + +export default schema;