diff --git a/.prettierrc b/.prettierrc index 8ad06aa..e6734c4 100644 --- a/.prettierrc +++ b/.prettierrc @@ -3,5 +3,6 @@ "trailingComma": "es5", "tabWidth": 2, "singleQuote": false, - "bracketSpacing": false + "bracketSpacing": true, + "semi": true } diff --git a/package.json b/package.json index 8b6efd2..a63eccd 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,6 @@ "@subql/testing": "2.2.1", "@typescript-eslint/eslint-plugin": "^5.10.2", "@typescript-eslint/parser": "^5.10.2", - "dotenv": "latest", "eslint": "^8.8.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-header": "^3.1.1", @@ -75,9 +74,13 @@ "typescript": "^5.2.2" }, "dependencies": { - "@subql/node-cosmos": "4.0.1", - "@subql/types-cosmos": "3.5.0", + "@subql/node-cosmos": "^4.1.1", + "@subql/types-cosmos": "^3.5.2", + "@types/json-bigint": "^1.0.4", "@types/node": "^22.0.0", + "dotenv": "latest", + "json-bigint": "^1.0.0", + "lodash": "^4.17.21", "pino": "^7.8.0", "ts-proto": "^1.112.1", "tslib": "^2.3.1" diff --git a/src/mappings/bank/balanceChange.ts b/src/mappings/bank/balanceChange.ts index e872337..ecfda43 100644 --- a/src/mappings/bank/balanceChange.ts +++ b/src/mappings/bank/balanceChange.ts @@ -1,23 +1,27 @@ -import {CosmosEvent} from "@subql/types-cosmos"; -import {parseCoins} from "../../cosmjs/utils"; -import {NativeBalanceChange, Transaction} from "../../types"; +import { CosmosEvent } from "@subql/types-cosmos"; +import { parseCoins } from "../../cosmjs/utils"; +import { + NativeBalanceChange, + Transaction, +} from "../../types"; import { attemptHandling, checkBalancesAccount, messageId, - unprocessedEventHandler + stringify, + unprocessedEventHandler, } from "../utils"; export async function saveNativeBalanceEvent(id: string, address: string, amount: bigint, denom: string, event: CosmosEvent): Promise { await checkBalancesAccount(address, event.block.block.header.chainId); - let eventId + let eventId; if (event.tx) { eventId = `${messageId(event)}-${event.idx}`; } else { eventId = `${event.block.blockId}-${event.idx}`; } - + const nativeBalanceChangeEntity = NativeBalanceChange.create({ id, balanceOffset: amount.valueOf(), @@ -31,6 +35,7 @@ export async function saveNativeBalanceEvent(id: string, address: string, amount await nativeBalanceChangeEntity.save(); } +// eslint-disable-next-line @typescript-eslint/no-unused-vars async function saveNativeFeesEvent(event: CosmosEvent) { const transaction = await Transaction.get(event.tx.hash); if (!transaction) { @@ -38,7 +43,7 @@ async function saveNativeFeesEvent(event: CosmosEvent) { return; } - const {fees, signerAddress} = transaction as Transaction; + const { fees, signerAddress } = transaction as Transaction; if (!signerAddress) { // TODO(@bryanchriswhite): add logging. return; @@ -60,9 +65,9 @@ export async function handleNativeBalanceIncrement(event: CosmosEvent): Promise< } async function _handleNativeBalanceDecrement(event: CosmosEvent): Promise { - // logger.info(`[handleNativeBalanceDecrement] (tx ${event.tx.hash}): indexing event ${event.idx + 1} / ${event.tx.tx.events.length}`); - logger.debug(`[handleNativeBalanceDecrement] (event.event): ${JSON.stringify(event.event, null, 2)}`); - logger.debug(`[handleNativeBalanceDecrement] (event.log): ${JSON.stringify(event.log, null, 2)}`); + logger.info(`[handleNativeBalanceDecrement] (tx ${event.tx.hash}): indexing event ${event.idx + 1} / ${event.tx.tx.events.length}`); + logger.debug(`[handleNativeBalanceDecrement] (event.event): ${stringify(event.event, undefined, 2)}`); + logger.debug(`[handleNativeBalanceDecrement] (event.log): ${stringify(event.log, undefined, 2)}`); // sample event.event.attributes: // [ @@ -77,7 +82,7 @@ async function _handleNativeBalanceDecrement(event: CosmosEvent): Promise continue; } const spender = e.value; - const amountStr = event.event.attributes[parseInt(i) + 1].value; + const amountStr = event.event.attributes[parseInt(i) + 1].value as string; // NB: some events contain empty string amounts if (amountStr === "") { @@ -87,7 +92,7 @@ async function _handleNativeBalanceDecrement(event: CosmosEvent): Promise const coin = parseCoins(amountStr)[0]; const amount = BigInt(0) - BigInt(coin.amount); // save a negative amount for a "spend" event - spendEvents.push({spender: spender, amount: amount, denom: coin.denom}); + spendEvents.push({ spender: spender, amount: amount, denom: coin.denom }); } @@ -106,9 +111,9 @@ async function _handleNativeBalanceDecrement(event: CosmosEvent): Promise } async function _handleNativeBalanceIncrement(event: CosmosEvent): Promise { - // logger.info(`[handleNativeBalanceIncrement] (tx ${event.tx.hash}): indexing event ${event.idx + 1} / ${event.tx.tx.events.length}`); - logger.debug(`[handleNativeBalanceIncrement] (event.event): ${JSON.stringify(event.event, null, 2)}`); - logger.debug(`[handleNativeBalanceIncrement] (event.log): ${JSON.stringify(event.log, null, 2)}`); + logger.info(`[handleNativeBalanceIncrement] (tx ${event.tx.hash}): indexing event ${event.idx + 1} / ${event.tx.tx.events.length}`); + logger.debug(`[handleNativeBalanceIncrement] (event.event): ${stringify(event.event, undefined, 2)}`); + logger.debug(`[handleNativeBalanceIncrement] (event.log): ${stringify(event.log, undefined, 2)}`); // sample event.event.attributes: // [ @@ -123,7 +128,7 @@ async function _handleNativeBalanceIncrement(event: CosmosEvent): Promise continue; } const receiver = e.value; - const amountStr = event.event.attributes[parseInt(i) + 1].value; + const amountStr = event.event.attributes[parseInt(i) + 1].value as string; // NB: some events contain empty string amounts if (amountStr === "") { @@ -133,7 +138,7 @@ async function _handleNativeBalanceIncrement(event: CosmosEvent): Promise const coin = parseCoins(amountStr)[0]; const amount = BigInt(coin.amount); - receiveEvents.push({receiver, amount, denom: coin.denom}); + receiveEvents.push({ receiver, amount, denom: coin.denom }); } for (const [i, receiveEvent] of Object.entries(receiveEvents)) { diff --git a/src/mappings/bank/transfer.ts b/src/mappings/bank/transfer.ts index 9819dd1..f62ea6a 100644 --- a/src/mappings/bank/transfer.ts +++ b/src/mappings/bank/transfer.ts @@ -1,7 +1,15 @@ -import {CosmosEvent, CosmosMessage} from "@subql/types-cosmos"; -import {NativeTransfer} from "../../types"; -import {NativeTransferMsg} from "../types"; -import {attemptHandling, messageId, unprocessedEventHandler} from "../utils"; +import { + CosmosEvent, + CosmosMessage, +} from "@subql/types-cosmos"; +import { NativeTransfer } from "../../types"; +import { NativeTransferMsg } from "../types"; +import { + attemptHandling, + messageId, + stringify, + unprocessedEventHandler, +} from "../utils"; export async function handleNativeTransfer(event: CosmosEvent): Promise { await attemptHandling(event, _handleNativeTransfer, unprocessedEventHandler); @@ -10,7 +18,7 @@ export async function handleNativeTransfer(event: CosmosEvent): Promise { async function _handleNativeTransfer(event: CosmosEvent): Promise { const msg: CosmosMessage = event.msg; logger.info(`[handleNativeTransfer] (tx ${msg.tx.hash}): indexing message ${msg.idx + 1} / ${msg.tx.decodedTx.body.messages.length}`); - logger.debug(`[handleNativeTransfer] (msg.msg): ${JSON.stringify(msg.msg, null, 2)}`); + logger.debug(`[handleNativeTransfer] (msg.msg): ${stringify(msg.msg, undefined, 2)}`); // const timeline = getTimeline(event); const fromAddress = msg.msg?.decodedMsg?.fromAddress; @@ -18,7 +26,7 @@ async function _handleNativeTransfer(event: CosmosEvent): Promise { const amounts = msg.msg?.decodedMsg?.amount; if (!fromAddress || !amounts || !toAddress) { - logger.warn(`[handleNativeTransfer] (tx ${event.tx.hash}): cannot index event (event.event): ${JSON.stringify(event.event, null, 2)}`); + logger.warn(`[handleNativeTransfer] (tx ${event.tx.hash}): cannot index event (event.event): ${stringify(event.event, undefined, 2)}`); return; } @@ -34,7 +42,7 @@ async function _handleNativeTransfer(event: CosmosEvent): Promise { // timeline, messageId: id, transactionId: msg.tx.hash, - blockId: msg.block.block.id + blockId: msg.block.block.id, }); await transferEntity.save(); diff --git a/src/mappings/constants.ts b/src/mappings/constants.ts new file mode 100644 index 0000000..3e3f781 --- /dev/null +++ b/src/mappings/constants.ts @@ -0,0 +1 @@ +export const PREFIX = "poktroll"; diff --git a/src/mappings/primitives.ts b/src/mappings/primitives.ts index 7d3e36e..f9aa5d6 100644 --- a/src/mappings/primitives.ts +++ b/src/mappings/primitives.ts @@ -1,14 +1,33 @@ -import {createHash} from "crypto"; -import {toBech32} from "@cosmjs/encoding"; -import {CosmosBlock, CosmosEvent, CosmosMessage, CosmosTransaction} from "@subql/types-cosmos"; -import {Block, Event, EventAttribute, Message, Transaction, TxStatus} from "../types"; +import { sha256 } from "@cosmjs/crypto"; +import { toBech32 } from "@cosmjs/encoding"; +import { + CosmosBlock, + CosmosEvent, + CosmosMessage, + CosmosTransaction, +} from "@subql/types-cosmos"; +import { + isEmpty, + isNil, + isString, +} from "lodash"; +import { + Block, + Event, + EventAttribute, + Message, + Transaction, + TxStatus, +} from "../types"; +import { PREFIX } from "./constants"; import { attemptHandling, messageId, primitivesFromMsg, primitivesFromTx, + stringify, trackUnprocessed, - unprocessedEventHandler + unprocessedEventHandler, } from "./utils"; export async function handleBlock(block: CosmosBlock): Promise { @@ -30,54 +49,39 @@ export async function handleEvent(event: CosmosEvent): Promise { async function _handleBlock(block: CosmosBlock): Promise { logger.info(`[handleBlock] (block.header.height): indexing block ${block.block.header.height}`); - const {header: {chainId, height, time}, id} = block.block; + const { header: { chainId, height, time }, id } = block.block; const timestamp = new Date(time.getTime()); const blockEntity = Block.create({ id, chainId, height: BigInt(height), - timestamp + timestamp, }); await blockEntity.save(); } async function _handleTransaction(tx: CosmosTransaction): Promise { - logger.info(`[handleTransaction] (block ${tx.block.block.header.height}): indexing transaction ${tx.idx + 1} / ${tx.block.txs.length}`); - // logger.debug(`[handleTransaction] (tx.decodedTx): ${JSON.stringify(tx.decodedTx, null, 2)}`); - logger.debug(`[handleTransaction] (tx.tx.log): ${tx.tx.log}`); - - let status = TxStatus.Error; - if (tx.tx.log) { - try { - JSON.parse(tx.tx.log); - status = TxStatus.Success; - } catch { - // NB: assume tx failed - } - } - + let status = tx.tx.code === 0 ? TxStatus.Success : TxStatus.Error; // const timeline = BigInt((tx.block.block.header.height * 100000) + tx.idx); - const pubKey: Uint8Array | undefined = tx.decodedTx.authInfo.signerInfos[0]?.publicKey?.value; + let signerAddress; - if (typeof (pubKey) !== "undefined") { - // TODO: check key type and handle respectively - // NB: ripemd160(sha256(pubKey)) only works for secp256k1 keys - const ripemd160 = createHash("ripemd160"); - const sha256 = createHash("sha256"); - // TODO: understand why!!! - // NB: pubKey has 2 "extra" bytes at the beginning as compared to the - // base64-decoded representation/ of the same key when imported to - // fetchd (`fetchd keys add --recover`) and shown (`fetchd keys show`). - sha256.update(pubKey.slice(2)); - ripemd160.update(sha256.digest()); - // TODO: move prefix to config value or constant - signerAddress = toBech32("fetch", ripemd160.digest()); + if (isEmpty(tx.decodedTx.authInfo.signerInfos) || isNil(tx.decodedTx.authInfo.signerInfos[0]?.publicKey)) { + status = TxStatus.Error; + logger.error(`[handleTransaction] (block ${tx.block.block.header.height}): hash=${tx.hash} missing signerInfos public key`); + } else { + // Apply sha256 to the public key to get the address bytes + const addressBytes = sha256(tx.decodedTx.authInfo.signerInfos[0]?.publicKey?.value).slice(0, 20); + // Encode the raw address to Bech32 + signerAddress = toBech32(PREFIX, addressBytes); } - const feeAmount = typeof(tx.decodedTx.authInfo.fee) !== "undefined" ? - tx.decodedTx.authInfo.fee.amount : []; + logger.info(`[handleTransaction] (block ${tx.block.block.header.height}): indexing transaction ${tx.idx + 1} / ${tx.block.txs.length} status=${status} signer=${signerAddress}`); + logger.debug(`[handleTransaction] (tx.decodedTx): ${stringify(tx.decodedTx, undefined, 2)}`); + if (!isNil(tx.tx.log)) logger.debug(`[handleTransaction] (tx.tx.log): ${tx.tx.log}`); + + const feeAmount = !isNil(tx.decodedTx.authInfo.fee) ? tx.decodedTx.authInfo.fee.amount : []; const txEntity = Transaction.create({ id: tx.hash, @@ -86,23 +90,22 @@ async function _handleTransaction(tx: CosmosTransaction): Promise { gasUsed: tx.tx.gasUsed, gasWanted: tx.tx.gasWanted, memo: tx.decodedTx.body.memo, - timeoutHeight: BigInt(tx.decodedTx.body.timeoutHeight.toString()), + timeoutHeight: tx.decodedTx.body.timeoutHeight, fees: feeAmount, log: tx.tx.log || "", status, signerAddress, }); - await txEntity.save(); } async function _handleMessage(msg: CosmosMessage): Promise { logger.info(`[handleMessage] (tx ${msg.tx.hash}): indexing message ${msg.idx + 1} / ${msg.tx.decodedTx.body.messages.length}`); - // logger.debug(`[handleMessage] (msg.msg): ${JSON.stringify(msg.msg, null, 2)}`); + logger.debug(`[handleMessage] (msg.msg): ${stringify(msg.msg, undefined, 2)}`); // const timeline = getTimeline(msg); - + delete msg.msg?.decodedMsg?.wasmByteCode; - const json = JSON.stringify(msg.msg.decodedMsg); + const json = stringify(msg.msg.decodedMsg); const msgEntity = Message.create({ id: messageId(msg), typeUrl: msg.msg.typeUrl, @@ -116,36 +119,40 @@ async function _handleMessage(msg: CosmosMessage): Promise { } async function _handleEvent(event: CosmosEvent): Promise { - // if (!!event.tx.hash) { - // logger.info(`[handleEvent] (tx ${event.tx.hash}): indexing event ${event.idx + 1} / ${event.tx.tx.events.length}`); - // } else { - // logger.info(`[handleEvent]: indexing event ${event.idx + 1} / ${event.tx.tx.events.length}`); - // } - // logger.debug(`[handleEvent] (event.event): ${JSON.stringify(event.event, null, 2)}`); - // logger.debug(`[handleEvent] (event.log): ${JSON.stringify(event.log, null, 2)}`); + // TODO: generate an ID that will match on the event.event.type source depending on what type is. + if (!isEmpty(event.tx.hash)) { + logger.info(`[handleEvent] (tx ${event.tx.hash}): indexing event ${event.idx + 1} / ${event.tx.tx.events.length}`); + } else { + logger.info(`[handleEvent]: indexing event ${event.idx + 1} / ${event.tx.tx.events.length}`); + } - // logger.debug("HANDLE EVENT"); + let id; + if (event.tx) { + id = `${messageId(event)}-${event.idx}`; + } else { + id = `${event.block.blockId}-${event.idx}`; + } // NB: sanitize attribute values (may contain non-text characters) - const sanitize = (value: unknown) => { - const json = JSON.stringify(value); - return json.substring(1, json.length - 1); + const sanitize = (value: unknown): string => { + // avoid stringify an string + if (isString(value)) return value; + // otherwise return it as a stringifies object + return stringify(value); }; const attributes = event.event.attributes.map((attribute) => { - const {key, value} = attribute; - return {key, value: sanitize(value)}; + const { key, value } = attribute; + return { key, value: sanitize(value) }; }); - let id - if (event.tx) { - id = `${messageId(event)}-${event.idx}`; - } else { - id = `${event.block.blockId}-${event.idx}` - } + logger.debug(`[handleEvent] (event.event): ${stringify(event.event, undefined, 2)}`); + logger.debug(`[handleEvent] (event.log): ${stringify(event.log, undefined, 2)}`); + logger.debug(`[handleEvent] (event.attributes): ${stringify(attributes, undefined, 2)}`); const eventEntity = Event.create({ id, type: event.event.type, + // sourceId: event // transactionId: event.tx.hash, blockId: event.block.block.id, }); @@ -153,10 +160,10 @@ async function _handleEvent(event: CosmosEvent): Promise { for (const [i, attribute] of Object.entries(attributes)) { const attrId = `${id}-${i}`; - const {key, value} = attribute; + const { key, value } = attribute; await EventAttribute.create({ id: attrId, - key, + key: key as string, value, eventId: eventEntity.id, }).save(); diff --git a/src/mappings/types/messages.ts b/src/mappings/types/messages.ts index c33fe2c..3454b1a 100644 --- a/src/mappings/types/messages.ts +++ b/src/mappings/types/messages.ts @@ -1,4 +1,4 @@ -import {Coin} from "./common"; +import { Coin } from "./common"; export interface NativeTransferMsg { toAddress: string; @@ -23,7 +23,7 @@ export interface DistDelegatorClaimMsg { validatorAddress: string; } -export interface LegacyBridgeSwapMsg extends ExecuteContractMsg{ +export interface LegacyBridgeSwapMsg extends ExecuteContractMsg { msg: { swap: { destination: string, diff --git a/src/mappings/utils.ts b/src/mappings/utils.ts index d0f42a7..d10165d 100644 --- a/src/mappings/utils.ts +++ b/src/mappings/utils.ts @@ -1,6 +1,15 @@ -import {createHash} from "crypto"; -import {CosmosBlock, CosmosEvent, CosmosMessage, CosmosTransaction} from "@subql/types-cosmos"; -import {Account, UnprocessedEntity} from "../types"; +import { createHash } from "crypto"; +import { + CosmosBlock, + CosmosEvent, + CosmosMessage, + CosmosTransaction, +} from "@subql/types-cosmos"; +import { default as JSONBig } from "json-bigint"; +import { + Account, + UnprocessedEntity, +} from "../types"; export type Primitive = CosmosEvent | CosmosMessage | CosmosTransaction | CosmosBlock; @@ -11,6 +20,14 @@ export interface Primitives { block?: CosmosBlock; } +export function parseJson(str: string, reviver?: (this: unknown, key: string, value: unknown) => unknown): T { + return JSONBig.parse(str, reviver) as T; +} + +export function stringify(value: unknown, replacer?: (this: unknown, key: string, value: unknown) => unknown, space?: string | number): string { + return JSONBig.stringify(value, replacer, space); +} + // messageId returns the id of the message passed or // that of the message which generated the event passed. export function messageId(msg: CosmosMessage | CosmosEvent): string { @@ -20,12 +37,12 @@ export function messageId(msg: CosmosMessage | CosmosEvent): string { export async function checkBalancesAccount(address: string, chainId: string): Promise { let accountEntity = await Account.get(address); if (typeof (accountEntity) === "undefined") { - accountEntity = Account.create({id: address, chainId}); + accountEntity = Account.create({ id: address, chainId }); await accountEntity.save(); } } -export function getTimeline(entity: CosmosMessage|CosmosEvent): bigint { +export function getTimeline(entity: CosmosMessage | CosmosEvent): bigint { const K2 = 100, K1 = K2 * 1000; const txIndex = entity.tx.idx; const blockHeight = entity.block.block.header.height; @@ -36,11 +53,13 @@ export function getTimeline(entity: CosmosMessage|CosmosEvent): bigint { return BigInt(timeline); } -export async function attemptHandling(input: Primitive, +export async function attemptHandling( + input: Primitive, // eslint-disable-next-line @typescript-eslint/no-explicit-any handlerFn: (primitive: any) => Promise, // eslint-disable-next-line @typescript-eslint/no-explicit-any - errorFn: (Error: Error, Primitive: any) => Promise | void): Promise { + errorFn: (Error: Error, Primitive: any) => Promise | void, +): Promise { try { await handlerFn(input); } catch (error: unknown) { @@ -53,15 +72,15 @@ export async function unprocessedEventHandler(err: Error, event: CosmosEvent): P } export function primitivesFromTx(tx: CosmosTransaction): Primitives { - return {block: tx.block, tx: tx}; + return { block: tx.block, tx: tx }; } export function primitivesFromMsg(msg: CosmosMessage): Primitives { - return {block: msg.block, tx: msg.tx}; + return { block: msg.block, tx: msg.tx }; } export function primitivesFromEvent(event: CosmosEvent): Primitives { - return {block: event.block, tx: event.tx}; + return { block: event.block, tx: event.tx }; } export async function trackUnprocessed(error: Error, primitives: Primitives): Promise { @@ -69,12 +88,12 @@ export async function trackUnprocessed(error: Error, primitives: Primitives): Pr logger.warn(`[trackUnprocessable] (error.stack): ${error.stack}`); // NB: failsafe try/catch try { - const {block, event, msg, tx} = primitives; + const { block, event, msg, tx } = primitives; const sha256 = createHash("sha256"); // NB: use error stack if no primitives available (i.e. block handler). const hashInput = event ? - (event.tx ? messageId(event): `${event.block.blockId}-${event.idx}`) : msg ? - // messageId(event) : msg ? + (event.tx ? messageId(event) : `${event.block.blockId}-${event.idx}`) : msg ? + // messageId(event) : msg ? messageId(msg) : tx ? tx.hash : block ? block.block.id : error.stack; diff --git a/yarn.lock b/yarn.lock index 0449102..1473911 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,9 +15,9 @@ __metadata: languageName: node linkType: hard -"@apollo/client@npm:^3.8.8": - version: 3.10.6 - resolution: "@apollo/client@npm:3.10.6" +"@apollo/client@npm:^3.11.2": + version: 3.11.5 + resolution: "@apollo/client@npm:3.11.5" dependencies: "@graphql-typed-document-node/core": ^3.1.1 "@wry/caches": ^1.0.0 @@ -36,8 +36,8 @@ __metadata: peerDependencies: graphql: ^15.0.0 || ^16.0.0 graphql-ws: ^5.5.5 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 subscriptions-transport-ws: ^0.9.0 || ^0.11.0 peerDependenciesMeta: graphql-ws: @@ -48,7 +48,7 @@ __metadata: optional: true subscriptions-transport-ws: optional: true - checksum: b37a49af0f5315f0de890b8f8bd03d16d88477fba861985582a6c101c3522e60c10bce399f2eff18a094bb094301ee94abe2301648131739f1eddf52c1eb9992 + checksum: 70feb94acfadc114b27b268e8544217d2b50d1987421b20b2f5f43ba8f3f14f8472198c9f5dd3e842ac72a29b1975b7710960de766ec6d42fc1f17b66e64c9ab languageName: node linkType: hard @@ -2377,24 +2377,6 @@ __metadata: languageName: node linkType: hard -"@cosmjs/cosmwasm-stargate@npm:^0.32.3": - version: 0.32.3 - resolution: "@cosmjs/cosmwasm-stargate@npm:0.32.3" - dependencies: - "@cosmjs/amino": ^0.32.3 - "@cosmjs/crypto": ^0.32.3 - "@cosmjs/encoding": ^0.32.3 - "@cosmjs/math": ^0.32.3 - "@cosmjs/proto-signing": ^0.32.3 - "@cosmjs/stargate": ^0.32.3 - "@cosmjs/tendermint-rpc": ^0.32.3 - "@cosmjs/utils": ^0.32.3 - cosmjs-types: ^0.9.0 - pako: ^2.0.2 - checksum: 7b4174381758cfccb00e6b6af5341f147125b4b7094015cd4e3f25661b4f55c0f99b253f6bb589bce70816eef0907be0772591235763526624edf151637cf424 - languageName: node - linkType: hard - "@cosmjs/cosmwasm-stargate@npm:^0.32.4": version: 0.32.4 resolution: "@cosmjs/cosmwasm-stargate@npm:0.32.4" @@ -3832,6 +3814,15 @@ __metadata: languageName: node linkType: hard +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: ^7.0.4 + checksum: 5d36d289960e886484362d9eb6a51d1ea28baed5f5d0140bbe62b99bac52eaf06cc01c2bc0d3575977962f84f6b2c4387b043ee632216643d4787b0999465bf2 + languageName: node + linkType: hard + "@istanbuljs/load-nyc-config@npm:^1.0.0": version: 1.1.0 resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" @@ -4539,6 +4530,13 @@ __metadata: languageName: node linkType: hard +"@opentelemetry/api@npm:^1.4.0": + version: 1.9.0 + resolution: "@opentelemetry/api@npm:1.9.0" + checksum: 9e88e59d53ced668f3daaecfd721071c5b85a67dd386f1c6f051d1be54375d850016c881f656ffbe9a03bedae85f7e89c2f2b635313f9c9b195ad033cdc31020 + languageName: node + linkType: hard + "@parcel/watcher@npm:2.0.4": version: 2.0.4 resolution: "@parcel/watcher@npm:2.0.4" @@ -4568,6 +4566,17 @@ __metadata: languageName: node linkType: hard +"@polkadot/networks@npm:13.0.2": + version: 13.0.2 + resolution: "@polkadot/networks@npm:13.0.2" + dependencies: + "@polkadot/util": 13.0.2 + "@substrate/ss58-registry": ^1.46.0 + tslib: ^2.6.2 + checksum: 4bc02ae6a95c0bf770ab2ba99af59013665edf4e759a228148289859dcc171be61d93359f6846a5d248707eb215bcbf2ca69ae9f63eb1720caa38ceb3dab7587 + languageName: node + linkType: hard + "@polkadot/util-crypto@npm:^12.6.2": version: 12.6.2 resolution: "@polkadot/util-crypto@npm:12.6.2" @@ -4588,6 +4597,26 @@ __metadata: languageName: node linkType: hard +"@polkadot/util-crypto@npm:^13.0.2": + version: 13.0.2 + resolution: "@polkadot/util-crypto@npm:13.0.2" + dependencies: + "@noble/curves": ^1.3.0 + "@noble/hashes": ^1.3.3 + "@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": 13.0.2 + "@polkadot/x-randomvalues": 13.0.2 + "@scure/base": ^1.1.5 + tslib: ^2.6.2 + peerDependencies: + "@polkadot/util": 13.0.2 + checksum: 025bb2179d77b73dd8af775192627fe31e985e365fbecf38d7903a663aa11b703fa3f23fbb65e53d0a9710cc087e0cb9a113b0a660d8e9b36de21c36c1bc40d7 + languageName: node + linkType: hard + "@polkadot/util@npm:12.6.2, @polkadot/util@npm:^12.6.2": version: 12.6.2 resolution: "@polkadot/util@npm:12.6.2" @@ -4603,6 +4632,21 @@ __metadata: languageName: node linkType: hard +"@polkadot/util@npm:13.0.2, @polkadot/util@npm:^13.0.2": + version: 13.0.2 + resolution: "@polkadot/util@npm:13.0.2" + 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 + checksum: c7d71898395d2e9fb994ed53be10e9b44e9cb6f6bd502ce31a48848dda032a9e3f462a6039759798023425c6e17d5a7515784f0a8c0ab74c1a0a2691b0ef3660 + languageName: node + linkType: hard + "@polkadot/wasm-bridge@npm:7.3.2": version: 7.3.2 resolution: "@polkadot/wasm-bridge@npm:7.3.2" @@ -4693,6 +4737,16 @@ __metadata: languageName: node linkType: hard +"@polkadot/x-bigint@npm:13.0.2": + version: 13.0.2 + resolution: "@polkadot/x-bigint@npm:13.0.2" + dependencies: + "@polkadot/x-global": 13.0.2 + tslib: ^2.6.2 + checksum: a1c9d9ab3aa27f7a68a879c76cea38ca4757ae4802c6d2a7402dbfbf31468c4dd3c4f1e852e62c0a1bff18889fccac1ccbc38649bf96e9473948ea7d7c2899f3 + languageName: node + linkType: hard + "@polkadot/x-global@npm:12.6.2": version: 12.6.2 resolution: "@polkadot/x-global@npm:12.6.2" @@ -4702,6 +4756,15 @@ __metadata: languageName: node linkType: hard +"@polkadot/x-global@npm:13.0.2": + version: 13.0.2 + resolution: "@polkadot/x-global@npm:13.0.2" + dependencies: + tslib: ^2.6.2 + checksum: b487bf2a15d77681efae5e928364526102cff48207a871662515c500404ae58d9d08df813fd675c8bf0a2744dbf4648db6a0fe927993e597e8391349295560c8 + languageName: node + linkType: hard + "@polkadot/x-randomvalues@npm:12.6.2": version: 12.6.2 resolution: "@polkadot/x-randomvalues@npm:12.6.2" @@ -4715,6 +4778,19 @@ __metadata: languageName: node linkType: hard +"@polkadot/x-randomvalues@npm:13.0.2": + version: 13.0.2 + resolution: "@polkadot/x-randomvalues@npm:13.0.2" + dependencies: + "@polkadot/x-global": 13.0.2 + tslib: ^2.6.2 + peerDependencies: + "@polkadot/util": 13.0.2 + "@polkadot/wasm-util": "*" + checksum: 3968ca273ccdc3055466a8bdeae64141ef20dd5451f7fc750eaef28465460e41d28cdd4eadedf3b4ca94024c9ebae023a8a04eb946b9fd17a1ff9c105ebfe39c + languageName: node + linkType: hard + "@polkadot/x-textdecoder@npm:12.6.2": version: 12.6.2 resolution: "@polkadot/x-textdecoder@npm:12.6.2" @@ -4725,6 +4801,16 @@ __metadata: languageName: node linkType: hard +"@polkadot/x-textdecoder@npm:13.0.2": + version: 13.0.2 + resolution: "@polkadot/x-textdecoder@npm:13.0.2" + dependencies: + "@polkadot/x-global": 13.0.2 + tslib: ^2.6.2 + checksum: 586c970c66a014471b5354d41a55aa6dbeaa4aec041153d294205d7f86f93cfb6cb5c274b6ef38b0923b515b531bc8608fea7cdc6116c6dc61c370d892b207e4 + languageName: node + linkType: hard + "@polkadot/x-textencoder@npm:12.6.2": version: 12.6.2 resolution: "@polkadot/x-textencoder@npm:12.6.2" @@ -4735,6 +4821,16 @@ __metadata: languageName: node linkType: hard +"@polkadot/x-textencoder@npm:13.0.2": + version: 13.0.2 + resolution: "@polkadot/x-textencoder@npm:13.0.2" + dependencies: + "@polkadot/x-global": 13.0.2 + tslib: ^2.6.2 + checksum: b2db5ab0fd94b8a13816f028f9fb52e0f00c43df4a727c01911902b5fc11bec476b02b92aee5a98adabf4696907e828752c6e0eb9bece79f0440675e4eb030c9 + languageName: node + linkType: hard + "@protobufjs/aspromise@npm:^1.1.1, @protobufjs/aspromise@npm:^1.1.2": version: 1.1.2 resolution: "@protobufjs/aspromise@npm:1.1.2" @@ -5665,9 +5761,9 @@ __metadata: languageName: node linkType: hard -"@subql/common-cosmos@npm:5.0.1": - version: 5.0.1 - resolution: "@subql/common-cosmos@npm:5.0.1" +"@subql/common-cosmos@npm:5.0.3": + version: 5.0.3 + resolution: "@subql/common-cosmos@npm:5.0.3" dependencies: "@cosmwasm/ts-codegen": ^1.11.1 "@protobufs/cosmos": ^0.1.0 @@ -5677,8 +5773,8 @@ __metadata: "@protobufs/google": ^0.0.10 "@protobufs/ibc": ^0.1.0 "@protobufs/tendermint": ^0.0.10 - "@subql/common": ^4.1.1 - "@subql/types-cosmos": 3.5.1 + "@subql/common": ^5.1.1 + "@subql/types-cosmos": 3.5.3-0 "@subql/x-cosmology-telescope": ^1.4.14 fs-extra: ^11.1.1 js-yaml: ^4.1.0 @@ -5687,11 +5783,11 @@ __metadata: class-transformer: "*" class-validator: "*" ejs: "*" - checksum: 7aa28b485cd82ed4065eaff4248653b3ee7a604fa37530b0af0fa270226bb26d780c76fdd1dbceabda5e8528eba6ec72e3aabb6c3dec136103fefa96fb162334 + checksum: fa50ff96b1be4fa7594d8f614c744853f6c5313e0fc90f75aca5bea5678502899d3d60f5ec94cf69f66003cf7638ecdaec6888c651518aef87b4dce76200155b languageName: node linkType: hard -"@subql/common@npm:4.1.1, @subql/common@npm:^4.1.1": +"@subql/common@npm:4.1.1": version: 4.1.1 resolution: "@subql/common@npm:4.1.1" dependencies: @@ -5708,42 +5804,57 @@ __metadata: languageName: node linkType: hard -"@subql/node-core@npm:^13.0.1": - version: 13.0.1 - resolution: "@subql/node-core@npm:13.0.1" +"@subql/common@npm:5.1.1, @subql/common@npm:^5.1.1": + version: 5.1.1 + resolution: "@subql/common@npm:5.1.1" dependencies: - "@apollo/client": ^3.8.8 + "@subql/types-core": 1.1.1 + axios: ^0.28.0 + class-transformer: ^0.5.1 + class-validator: ^0.14.1 + js-yaml: ^4.1.0 + reflect-metadata: ^0.1.14 + semver: ^7.6.3 + update-notifier: ^5.1.0 + checksum: 7e8eeb5bb0242c178df8f68d38f078799d896837bd260804abcdf44eaa8b2ea1f28823d611d3b1a271e5216d0fc1b4a764a417ad9ac83b5c061e9761cc838ffc + languageName: node + linkType: hard + +"@subql/node-core@npm:^14.1.2": + version: 14.1.3 + resolution: "@subql/node-core@npm:14.1.3" + dependencies: + "@apollo/client": ^3.11.2 "@nestjs/common": ^9.4.0 "@nestjs/event-emitter": ^2.0.0 "@nestjs/schedule": ^3.0.1 - "@subql/common": 4.1.1 + "@subql/common": 5.1.1 "@subql/testing": 2.2.1 - "@subql/types": 3.9.0 - "@subql/utils": 2.13.1 + "@subql/types": 3.11.2 + "@subql/utils": 2.14.0 "@willsoto/nestjs-prometheus": ^5.4.0 - async-lock: ^1.4.0 - async-mutex: ^0.4.0 + async-mutex: ^0.5.0 cron-converter: ^2.0.1 cross-fetch: ^3.1.6 - csv-stringify: ^6.4.5 - dayjs: ^1.10.7 + csv-stringify: ^6.5.1 + dayjs: ^1.11.12 lodash: ^4.17.21 lru-cache: 10.1.0 merkle-tools: ^1.4.1 - pg: ^8.11.5 - prom-client: ^14.0.1 + pg: ^8.12.0 + prom-client: ^15.1.3 source-map: ^0.7.4 - tar: ^6.2.1 + tar: ^7.4.3 toposort-class: ^1.0.1 vm2: ^3.9.19 yargs: ^16.2.0 - checksum: 6946a95cd4ec14c9d1a00ecb830a8d92174923db85b89ba340c76afa5fa96bc07c83f6051dbd87ccb65085f43093437ebd2e24ee9de4285a576f84f5e5e5cda3 + checksum: 64059af71e59d1956e6eaae4b2f33268c99c644f56c0cee79bfb4a8c2682c22f000bf636b98938a39a33c1a24449fff58912c4b7f74e7ff715c1a6e2f7a4f273 languageName: node linkType: hard -"@subql/node-cosmos@npm:4.0.1": - version: 4.0.1 - resolution: "@subql/node-cosmos@npm:4.0.1" +"@subql/node-cosmos@npm:^4.1.1": + version: 4.1.1 + resolution: "@subql/node-cosmos@npm:4.1.1" dependencies: "@cosmjs/cosmwasm-stargate": ^0.32.4 "@cosmjs/proto-signing": ^0.32.4 @@ -5755,10 +5866,10 @@ __metadata: "@nestjs/event-emitter": ^2.0.0 "@nestjs/platform-express": ^9.4.0 "@nestjs/schedule": ^3.0.1 - "@subql/common": ^4.1.1 - "@subql/common-cosmos": 5.0.1 - "@subql/node-core": ^13.0.1 - "@subql/types-cosmos": 3.5.1 + "@subql/common": ^5.1.1 + "@subql/common-cosmos": 5.0.3 + "@subql/node-core": ^14.1.2 + "@subql/types-cosmos": 3.5.3-0 lodash: ^4.17.21 protobufjs: ^6.11.4 reflect-metadata: ^0.1.13 @@ -5768,7 +5879,7 @@ __metadata: "@subql/utils": "*" bin: subql-node-cosmos: ./bin/run - checksum: 185d086b5c2b4df952e55f520ca04adcfb7c7577d69b6f8d64e89061ed7158097f0f05d2adeb54046109646cd0515f59def9b530013c0e8c87e49e8cd4c8f2e1 + checksum: 99cfeeadd21c51549ac553360886effd9afea10192f3fa6e2dbae08538f910dc45dbe81ba2b390d6aef755776b5741f80e3633ee399420d5b82013adbab6d4a9 languageName: node linkType: hard @@ -5781,7 +5892,7 @@ __metadata: languageName: node linkType: hard -"@subql/types-core@npm:0.10.0, @subql/types-core@npm:^0.10.0": +"@subql/types-core@npm:0.10.0": version: 0.10.0 resolution: "@subql/types-core@npm:0.10.0" dependencies: @@ -5790,7 +5901,14 @@ __metadata: languageName: node linkType: hard -"@subql/types-core@npm:0.9.1, @subql/types-core@npm:^0.9.0, @subql/types-core@npm:^0.9.1": +"@subql/types-core@npm:1.1.1, @subql/types-core@npm:^1.1.1": + version: 1.1.1 + resolution: "@subql/types-core@npm:1.1.1" + checksum: d804ba8f9a9a8bbce36e98ef3dd03e33602495e96ca8e04438c38b6631de102772b5f209de17d78657bcacc9c91f9af02dabd68edb8e6e24a2ca6e681e4636fc + languageName: node + linkType: hard + +"@subql/types-core@npm:^0.9.1": version: 0.9.1 resolution: "@subql/types-core@npm:0.9.1" dependencies: @@ -5799,38 +5917,38 @@ __metadata: languageName: node linkType: hard -"@subql/types-cosmos@npm:3.5.0": - version: 3.5.0 - resolution: "@subql/types-cosmos@npm:3.5.0" +"@subql/types-cosmos@npm:3.5.3-0": + version: 3.5.3-0 + resolution: "@subql/types-cosmos@npm:3.5.3-0" dependencies: - "@cosmjs/cosmwasm-stargate": ^0.32.3 - "@cosmjs/proto-signing": ^0.32.3 - "@cosmjs/stargate": ^0.32.3 - "@subql/types-core": ^0.9.0 - checksum: 7612f034df1f5d39e91e90031ba34252f009e2d2c719a6f7efedc7f5873fe8fdd427e3221c942a83b7a1cd37fe56ceb8f0ef5a3e554f2cf983cfeb8318f66bfe + "@cosmjs/cosmwasm-stargate": ^0.32.4 + "@cosmjs/proto-signing": ^0.32.4 + "@cosmjs/stargate": ^0.32.4 + "@subql/types-core": ^1.1.1 + checksum: cd7dd1f2c693a2d21c7018deb004ecc9bcea22598fd309af79f50fe478f541ab7077dfaba5cd3ec534ef281a5004d5cc37b40f6f5174ac5c155db6df103b336f languageName: node linkType: hard -"@subql/types-cosmos@npm:3.5.1": - version: 3.5.1 - resolution: "@subql/types-cosmos@npm:3.5.1" +"@subql/types-cosmos@npm:^3.5.2": + version: 3.5.2 + resolution: "@subql/types-cosmos@npm:3.5.2" dependencies: "@cosmjs/cosmwasm-stargate": ^0.32.4 "@cosmjs/proto-signing": ^0.32.4 "@cosmjs/stargate": ^0.32.4 - "@subql/types-core": ^0.10.0 - checksum: 6d6e0799ca981ae0457b7a5839950b0ef4a8deea6931923fe4f60642328c51bd0900bc81871dc6b192e9fcf13cf1e59d48f7cbd64007b97e0eeed67708d5ab76 + "@subql/types-core": ^1.1.1 + checksum: 8d45b7996b8bc61b80a23734505b4d897697045c876d42525123e6ab8a02f7331b5d17a89949bce2e2714d4a9153581ca0e1883e133d6446a481a365d09f47e0 languageName: node linkType: hard -"@subql/types@npm:3.9.0": - version: 3.9.0 - resolution: "@subql/types@npm:3.9.0" +"@subql/types@npm:3.11.2": + version: 3.11.2 + resolution: "@subql/types@npm:3.11.2" dependencies: - "@subql/types-core": 0.9.1 + "@subql/types-core": 1.1.1 peerDependencies: - "@polkadot/api": ^11 - checksum: 3f44c8ade916b9957cb09ada9d78383df56b668c2fa5515576bca2bedb7db97760f47e8d87f0c3ce475ae12538bdff4e0d93a3ab998cf8919d199be81e6816aa + "@polkadot/api": ^12 + checksum: ef8e9f6bd73e9071ec267cb90259472d9ecb595d02bf52e44e4f93e90016ed0a897f09f6c8496455368b7ecb42a9a5aac7fc715ac5df5697936e8c1c1956e13f languageName: node linkType: hard @@ -5856,6 +5974,25 @@ __metadata: languageName: node linkType: hard +"@subql/utils@npm:2.14.0": + version: 2.14.0 + resolution: "@subql/utils@npm:2.14.0" + dependencies: + "@polkadot/util": ^13.0.2 + "@polkadot/util-crypto": ^13.0.2 + "@subql/x-sequelize": 6.32.0-0.0.4 + chalk: ^4.1.2 + detect-port: ^1.6.1 + flatted: ^3.3.1 + graphql: ^15.8.0 + graphql-tag: ^2.12.6 + lodash: ^4.17.21 + pino: ^6.13.3 + rotating-file-stream: ^3.2.3 + checksum: 0a56114494cb5e8c5dcf62e1d24fb7b2ba7b445472e61661ab9eec61df7a09449dd7251d78d6cd11a6da9939c5d54d2d57e16639b5d0986756513ab8810cf3e5 + languageName: node + linkType: hard + "@subql/x-cosmology-ast@npm:^1.4.10": version: 1.4.10 resolution: "@subql/x-cosmology-ast@npm:1.4.10" @@ -5988,6 +6125,13 @@ __metadata: languageName: node linkType: hard +"@substrate/ss58-registry@npm:^1.46.0": + version: 1.50.0 + resolution: "@substrate/ss58-registry@npm:1.50.0" + checksum: d19d933fadf9bfbebd1c4a62c750620de34bd920ca6beb3ad8d66147c6d672e0773b57fce8394ec52a36c60d0564a92b7961ed1eac8508bca0248e23f62b8460 + languageName: node + linkType: hard + "@supercharge/promise-pool@npm:^2.1.0": version: 2.4.0 resolution: "@supercharge/promise-pool@npm:2.4.0" @@ -6158,6 +6302,13 @@ __metadata: languageName: node linkType: hard +"@types/json-bigint@npm:^1.0.4": + version: 1.0.4 + resolution: "@types/json-bigint@npm:1.0.4" + checksum: 7aee137b3796121cec755247ea56577611c8e5df89224c567fa71999764d01e12199c4089c6be8a9e4e6a6a8f5c6f309eee2965cc3dd8d576f4c4ba432566041 + languageName: node + linkType: hard + "@types/json-schema@npm:*, @types/json-schema@npm:^7.0.11, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" @@ -7299,19 +7450,12 @@ __metadata: languageName: node linkType: hard -"async-lock@npm:^1.4.0": - version: 1.4.1 - resolution: "async-lock@npm:1.4.1" - checksum: 29e70cd892932b7c202437786cedc39ff62123cb6941014739bd3cabd6106326416e9e7c21285a5d1dc042cad239a0f7ec9c44658491ee4a615fd36a21c1d10a - languageName: node - linkType: hard - -"async-mutex@npm:^0.4.0": - version: 0.4.1 - resolution: "async-mutex@npm:0.4.1" +"async-mutex@npm:^0.5.0": + version: 0.5.0 + resolution: "async-mutex@npm:0.5.0" dependencies: tslib: ^2.4.0 - checksum: cb529c0d257c8ff8e5b26c81b36127a255e545edee2c42c76247d533b89a7664037d95f33130f964de49b111ad3324ead8dcccd419c47acdfeb7413ed93063a1 + checksum: be1587f4875f3bb15e34e9fcce82eac2966daef4432c8d0046e61947fb9a1b95405284601bc7ce4869319249bc07c75100880191db6af11d1498931ac2a2f9ea languageName: node linkType: hard @@ -8094,6 +8238,13 @@ __metadata: languageName: node linkType: hard +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: fd73a4bab48b79e66903fe1cafbdc208956f41ea4f856df883d0c7277b7ab29fd33ee65f93b2ec9192fc0169238f2f8307b7735d27c155821d886b84aa97aa8d + languageName: node + linkType: hard + "chrome-trace-event@npm:^1.0.2": version: 1.0.4 resolution: "chrome-trace-event@npm:1.0.4" @@ -8132,7 +8283,7 @@ __metadata: languageName: node linkType: hard -"class-validator@npm:^0.14.0": +"class-validator@npm:^0.14.0, class-validator@npm:^0.14.1": version: 0.14.1 resolution: "class-validator@npm:0.14.1" dependencies: @@ -8651,13 +8802,20 @@ __metadata: languageName: node linkType: hard -"csv-stringify@npm:^6.4.5, csv-stringify@npm:^6.5.0": +"csv-stringify@npm:^6.5.0": version: 6.5.0 resolution: "csv-stringify@npm:6.5.0" checksum: c4009bc691b30314ff17cb2918d2f43dd42de5a1d3cd7889fd523f131d0e37d2a3c3c2601de93e8b71e2d8f3f52a9e4fb2a5f2ede9991e2895c1daa268694d78 languageName: node linkType: hard +"csv-stringify@npm:^6.5.1": + version: 6.5.1 + resolution: "csv-stringify@npm:6.5.1" + checksum: 5eb8167ee944f5328c53c733d8c4b1eea88fb9e510abec430e2fcb4be6c4ce008b92e90da7825d424fe74d22c85405add7f89b9dcf82ffe2bf0a1cf31536057a + languageName: node + linkType: hard + "csv@npm:^6.0.5": version: 6.3.9 resolution: "csv@npm:6.3.9" @@ -8720,10 +8878,10 @@ __metadata: languageName: node linkType: hard -"dayjs@npm:^1.10.7": - version: 1.11.11 - resolution: "dayjs@npm:1.11.11" - checksum: 84788275aad8a87fee4f1ce4be08861df29687aae6b7b43dd65350118a37dda56772a3902f802cb2dc651dfed447a5a8df62d88f0fb900dba8333e411190a5d5 +"dayjs@npm:^1.11.12": + version: 1.11.13 + resolution: "dayjs@npm:1.11.13" + checksum: f388db88a6aa93956c1f6121644e783391c7b738b73dbc54485578736565c8931bdfba4bb94e9b1535c6e509c97d5deb918bbe1ae6b34358d994de735055cca9 languageName: node linkType: hard @@ -8890,7 +9048,7 @@ __metadata: languageName: node linkType: hard -"detect-port@npm:^1.3.0": +"detect-port@npm:^1.3.0, detect-port@npm:^1.6.1": version: 1.6.1 resolution: "detect-port@npm:1.6.1" dependencies: @@ -10044,7 +10202,7 @@ __metadata: languageName: node linkType: hard -"flatted@npm:^3.2.5, flatted@npm:^3.2.9": +"flatted@npm:^3.2.5, flatted@npm:^3.2.9, flatted@npm:^3.3.1": version: 3.3.1 resolution: "flatted@npm:3.3.1" checksum: 85ae7181650bb728c221e7644cbc9f4bf28bc556f2fc89bb21266962bdf0ce1029cc7acc44bb646cd469d9baac7c317f64e841c4c4c00516afa97320cdac7f94 @@ -10383,6 +10541,22 @@ __metadata: languageName: node linkType: hard +"glob@npm:^10.3.7": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: ^3.1.0 + jackspeak: ^3.1.2 + minimatch: ^9.0.4 + minipass: ^7.1.2 + package-json-from-dist: ^1.0.0 + path-scurry: ^1.11.1 + bin: + glob: dist/esm/bin.mjs + checksum: 0bc725de5e4862f9f387fd0f2b274baf16850dcd2714502ccf471ee401803997983e2c05590cb65f9675a3c6f2a58e7a53f9e365704108c6ad3cbf1d60934c4a + languageName: node + linkType: hard + "glob@npm:^7.0.0, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": version: 7.2.3 resolution: "glob@npm:7.2.3" @@ -12230,7 +12404,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": version: 7.1.2 resolution: "minipass@npm:7.1.2" checksum: 2bfd325b95c555f2b4d2814d49325691c7bee937d753814861b0b49d5edcda55cbbf22b6b6a60bb91eddac8668771f03c5ff647dcd9d0f798e9548b9cdc46ee3 @@ -12247,6 +12421,16 @@ __metadata: languageName: node linkType: hard +"minizlib@npm:^3.0.1": + version: 3.0.1 + resolution: "minizlib@npm:3.0.1" + dependencies: + minipass: ^7.0.4 + rimraf: ^5.0.5 + checksum: da0a53899252380475240c587e52c824f8998d9720982ba5c4693c68e89230718884a209858c156c6e08d51aad35700a3589987e540593c36f6713fe30cd7338 + languageName: node + linkType: hard + "mkdirp@npm:1.0.4, mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" @@ -12276,6 +12460,15 @@ __metadata: languageName: node linkType: hard +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 972deb188e8fb55547f1e58d66bd6b4a3623bf0c7137802582602d73e6480c1c2268dcbafbfb1be466e00cc7e56ac514d7fd9334b7cf33e3e2ab547c16f83a8d + languageName: node + linkType: hard + "module-error@npm:^1.0.1, module-error@npm:^1.0.2": version: 1.0.2 resolution: "module-error@npm:1.0.2" @@ -13132,7 +13325,7 @@ __metadata: languageName: node linkType: hard -"pg@npm:^8.11.5": +"pg@npm:^8.12.0": version: 8.12.0 resolution: "pg@npm:8.12.0" dependencies: @@ -13259,9 +13452,10 @@ __metadata: dependencies: "@cosmjs/stargate": ^0.28.9 "@subql/cli": 5.1.1 - "@subql/node-cosmos": 4.0.1 + "@subql/node-cosmos": ^4.1.1 "@subql/testing": 2.2.1 - "@subql/types-cosmos": 3.5.0 + "@subql/types-cosmos": ^3.5.2 + "@types/json-bigint": ^1.0.4 "@types/node": ^22.0.0 "@typescript-eslint/eslint-plugin": ^5.10.2 "@typescript-eslint/parser": ^5.10.2 @@ -13273,6 +13467,8 @@ __metadata: eslint-plugin-jest: ^27.2.3 eslint-plugin-prettier: ^4.0.0 eslint-plugin-sort-destructure-keys: ^1.4.0 + json-bigint: ^1.0.0 + lodash: ^4.17.21 nodemon: ^3.1.4 pino: ^7.8.0 prettier: ^2.5.1 @@ -13413,7 +13609,7 @@ __metadata: languageName: node linkType: hard -"prom-client@npm:^14.0.1, prom-client@npm:^14.1.0": +"prom-client@npm:^14.1.0": version: 14.2.0 resolution: "prom-client@npm:14.2.0" dependencies: @@ -13422,6 +13618,16 @@ __metadata: languageName: node linkType: hard +"prom-client@npm:^15.1.3": + version: 15.1.3 + resolution: "prom-client@npm:15.1.3" + dependencies: + "@opentelemetry/api": ^1.4.0 + tdigest: ^0.1.1 + checksum: 9a57f3c16f39aa9a03da021883a4231c0bb56fc9d02f6ef9c28f913379f275640a5a33b98d9946ebf53c71011a29b580e9d2d6e3806cb1c229a3f59c65993968 + languageName: node + linkType: hard + "promise-retry@npm:^2.0.1": version: 2.0.1 resolution: "promise-retry@npm:2.0.1" @@ -13721,7 +13927,7 @@ __metadata: languageName: node linkType: hard -"reflect-metadata@npm:^0.1.13": +"reflect-metadata@npm:^0.1.13, reflect-metadata@npm:^0.1.14": version: 0.1.14 resolution: "reflect-metadata@npm:0.1.14" checksum: 155ad339319cec3c2d9d84719f730f8b6a6cd2a074733ec29dbae6c89d48a2914c7d07a2350212594f3aae160fa4da4f903e6512f27ceaf968443a7c692bcad0 @@ -13963,6 +14169,17 @@ __metadata: languageName: node linkType: hard +"rimraf@npm:^5.0.5": + version: 5.0.10 + resolution: "rimraf@npm:5.0.10" + dependencies: + glob: ^10.3.7 + bin: + rimraf: dist/esm/bin.mjs + checksum: 50e27388dd2b3fa6677385fc1e2966e9157c89c86853b96d02e6915663a96b7ff4d590e14f6f70e90f9b554093aa5dbc05ac3012876be558c06a65437337bc05 + languageName: node + linkType: hard + "ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1, ripemd160@npm:^2.0.2": version: 2.0.2 resolution: "ripemd160@npm:2.0.2" @@ -13973,7 +14190,7 @@ __metadata: languageName: node linkType: hard -"rotating-file-stream@npm:^3.0.2": +"rotating-file-stream@npm:^3.0.2, rotating-file-stream@npm:^3.2.3": version: 3.2.3 resolution: "rotating-file-stream@npm:3.2.3" checksum: 9ccfb04ee9763c0c9ddce5aaa93bf17268f3bb672ae3b0f98a2eca718ce5d9d293590df6071386660a75dcb047e259190ed5cacb83090e8bda55ef36848e2e33 @@ -14187,6 +14404,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.6.3": + version: 7.6.3 + resolution: "semver@npm:7.6.3" + bin: + semver: bin/semver.js + checksum: 4110ec5d015c9438f322257b1c51fe30276e5f766a3f64c09edd1d7ea7118ecbc3f379f3b69032bacf13116dc7abc4ad8ce0d7e2bd642e26b0d271b56b61a7d8 + languageName: node + linkType: hard + "send@npm:0.18.0": version: 0.18.0 resolution: "send@npm:0.18.0" @@ -14802,6 +15028,20 @@ __metadata: languageName: node linkType: hard +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" + dependencies: + "@isaacs/fs-minipass": ^4.0.0 + chownr: ^3.0.0 + minipass: ^7.1.2 + minizlib: ^3.0.1 + mkdirp: ^3.0.1 + yallist: ^5.0.0 + checksum: 8485350c0688331c94493031f417df069b778aadb25598abdad51862e007c39d1dd5310702c7be4a6784731a174799d8885d2fde0484269aea205b724d7b2ffa + languageName: node + linkType: hard + "tdigest@npm:^0.1.1": version: 0.1.2 resolution: "tdigest@npm:0.1.2" @@ -15455,7 +15695,7 @@ __metadata: languageName: node linkType: hard -"update-notifier@npm:5.1.0": +"update-notifier@npm:5.1.0, update-notifier@npm:^5.1.0": version: 5.1.0 resolution: "update-notifier@npm:5.1.0" dependencies: @@ -15983,6 +16223,13 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: eba51182400b9f35b017daa7f419f434424410691bbc5de4f4240cc830fdef906b504424992700dc047f16b4d99100a6f8b8b11175c193f38008e9c96322b6a5 + languageName: node + linkType: hard + "yaml-loader@npm:^0.6.0": version: 0.6.0 resolution: "yaml-loader@npm:0.6.0"