diff --git a/package.json b/package.json index d9b093e8c..9be824799 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,6 @@ "@actions/core": "^1.10.0", "@babel/preset-env": "^7.16.11", "@octokit/request": "^5.6.3", - "@types/cron-converter": "^1", "@types/node": "^18.16.10", "@types/node-fetch": "2.6.2", "@typescript-eslint/eslint-plugin": "^5.10.2", diff --git a/packages/node/CHANGELOG.md b/packages/node/CHANGELOG.md index 89d03f8f0..96d965506 100644 --- a/packages/node/CHANGELOG.md +++ b/packages/node/CHANGELOG.md @@ -5,9 +5,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Added +- Support for KYVE integration with supporting flags (#235) + - `--kyve-endpoint` (default value is `https://api-us-1.kyve.network`, To disable use `false`) + - `--kyve-chain-id` (default value is `kyve-1`) + - `--kyve-storage-url` (default value is `https://arweave.net`) ### Removed - Unused @apollo/client dependency causing version conflicts (#253) - ### Changed - Update dependencies and apply changes to match (#254) diff --git a/packages/node/package.json b/packages/node/package.json index c3f118755..fa81538a0 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -22,6 +22,8 @@ "@cosmjs/cosmwasm-stargate": "^0.32.3", "@cosmjs/proto-signing": "^0.32.3", "@cosmjs/stargate": "^0.32.3", + "@kyvejs/protocol": "^1.0.12", + "@kyvejs/sdk": "^1.1.1", "@nestjs/common": "^9.4.0", "@nestjs/core": "^9.4.0", "@nestjs/event-emitter": "^2.0.0", @@ -29,17 +31,12 @@ "@nestjs/schedule": "^3.0.1", "@subql/common": "^3.5.1", "@subql/common-cosmos": "workspace:*", - "@subql/node-core": "^10.0.0", + "@subql/node-core": "^10.1.0", "@subql/types-cosmos": "workspace:*", - "cron-converter": "^1.0.2", - "eventemitter2": "^6.4.5", "lodash": "^4.17.21", - "pg": "^8.7.1", "protobufjs": "^6.11.4", "reflect-metadata": "^0.1.13", "rimraf": "^3.0.2", - "rxjs": "^7.5.2", - "vm2": "^3.9.9", "yargs": "^16.2.0" }, "devDependencies": { diff --git a/packages/node/src/configure/NodeConfig.ts b/packages/node/src/configure/NodeConfig.ts new file mode 100644 index 000000000..d86ac9b27 --- /dev/null +++ b/packages/node/src/configure/NodeConfig.ts @@ -0,0 +1,41 @@ +// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors +// SPDX-License-Identifier: GPL-3.0 + +import { SupportedChains } from '@kyvejs/sdk/src/constants'; +import { IConfig, NodeConfig } from '@subql/node-core'; + +export interface ICosmosConfig extends IConfig { + kyveChainId: SupportedChains; + kyveEndpoint: string; + kyveStorageUrl: string; +} + +export class CosmosNodeConfig extends NodeConfig { + /** + * This is a wrapper around the core NodeConfig to get additional properties that are provided through args or node runner options + * NOTE: This isn't injected anywhere, so you need to wrap the injected node config + * + * @example + * constructor( + * nodeConfig: NodeConfig, + * ) { + * this.nodeConfig = new CosmosNodeConfig(nodeConfig); + * } + * */ + constructor(config: NodeConfig) { + // Rebuild with internal config + super((config as any)._config, (config as any)._isTest); + } + + get kyveEndpoint(): string { + return this._config.kyveEndpoint; + } + + get kyveChainId(): SupportedChains { + return this._config.kyveChainId; + } + + get kyveStorageUrl(): string { + return this._config.kyveStorageUrl; + } +} diff --git a/packages/node/src/configure/SubqueryProject.ts b/packages/node/src/configure/SubqueryProject.ts index fb8412d3b..926ae3949 100644 --- a/packages/node/src/configure/SubqueryProject.ts +++ b/packages/node/src/configure/SubqueryProject.ts @@ -2,41 +2,46 @@ // SPDX-License-Identifier: GPL-3.0 import assert from 'assert'; +import fs from 'fs'; +import os from 'os'; +import { sep } from 'path'; +import { isMainThread } from 'worker_threads'; import { Injectable } from '@nestjs/common'; import { validateSemver } from '@subql/common'; import { CosmosProjectNetworkConfig, parseCosmosProjectManifest, - CosmosDataSource, ProjectManifestV1_0_0Impl, isRuntimeCosmosDs, isCustomCosmosDs, } from '@subql/common-cosmos'; import { + CronFilter, insertBlockFiltersCronSchedules, ISubqueryProject, loadProjectTemplates, - SubqlProjectDs, updateDataSourcesV1_0_0, + WorkerHost, } from '@subql/node-core'; import { ParentProject, Reader, RunnerSpecs } from '@subql/types-core'; import { + CosmosDatasource, CustomDatasourceTemplate, RuntimeDatasourceTemplate, CosmosHandlerKind, + CosmosBlockFilter, } from '@subql/types-cosmos'; import { buildSchemaFromString } from '@subql/utils'; -import Cron from 'cron-converter'; import { GraphQLSchema } from 'graphql'; import { processNetworkConfig } from '../utils/project'; const { version: packageVersion } = require('../../package.json'); -export type CosmosProjectDs = SubqlProjectDs; - export type CosmosProjectDsTemplate = - | SubqlProjectDs - | SubqlProjectDs; + | RuntimeDatasourceTemplate + | CustomDatasourceTemplate; + +export type SubqlProjectBlockFilter = CosmosBlockFilter & CronFilter; const NOT_SUPPORT = (name: string) => { throw new Error(`Manifest specVersion ${name} is not supported`); @@ -47,22 +52,23 @@ type NetworkConfig = CosmosProjectNetworkConfig & { chainId: string }; @Injectable() export class SubqueryProject implements ISubqueryProject { - #dataSources: CosmosProjectDs[]; + #dataSources: CosmosDatasource[]; constructor( readonly id: string, readonly root: string, readonly network: NetworkConfig, - dataSources: CosmosProjectDs[], + dataSources: CosmosDatasource[], readonly schema: GraphQLSchema, readonly templates: CosmosProjectDsTemplate[], readonly runner?: RunnerSpecs, readonly parent?: ParentProject, + readonly tempDir?: string, ) { this.#dataSources = dataSources; } - get dataSources(): CosmosProjectDs[] { + get dataSources(): CosmosDatasource[] { return this.#dataSources; } @@ -112,6 +118,23 @@ export class SubqueryProject implements ISubqueryProject { type SUPPORT_MANIFEST = ProjectManifestV1_0_0Impl; +/** + * Gets a temp dir shared between main thread and workers + * */ +function getTempDir(): string { + if (isMainThread) return fs.mkdtempSync(`${os.tmpdir()}${sep}`); + const workerTempDir = ( + (global as any).host as WorkerHost | undefined + )?.getWorkerData()?.tempDir; + + if (!workerTempDir) { + throw new Error( + 'Worker expected tempDir to be provided through workerData', + ); + } + return workerTempDir; +} + async function loadProjectFromManifestBase( projectManifest: SUPPORT_MANIFEST, reader: Reader, @@ -177,5 +200,6 @@ async function loadProjectFromManifestBase( templates, runner, projectManifest.parent, + getTempDir(), ); } diff --git a/packages/node/src/indexer/api.service.test.ts b/packages/node/src/indexer/api.service.test.ts index 3ce1fc889..844cf2175 100644 --- a/packages/node/src/indexer/api.service.test.ts +++ b/packages/node/src/indexer/api.service.test.ts @@ -8,45 +8,59 @@ import { toRfc3339WithNanoseconds } from '@cosmjs/tendermint-rpc'; import { INestApplication } from '@nestjs/common'; import { EventEmitter2, EventEmitterModule } from '@nestjs/event-emitter'; import { Test } from '@nestjs/testing'; -import { loadFromJsonOrYaml } from '@subql/common'; -import { ConnectionPoolService, delay, NodeConfig } from '@subql/node-core'; +import { loadFromJsonOrYaml, makeTempDir } from '@subql/common'; +import { + ConnectionPoolService, + ConnectionPoolStateManager, + NodeConfig, +} from '@subql/node-core'; import { GraphQLSchema } from 'graphql'; import { SubqueryProject } from '../configure/SubqueryProject'; import { ApiService } from './api.service'; -const ENDPOINT = 'https://rpc-juno.itastakers.com/'; -const CHAINID = 'juno-1'; - const TEST_BLOCKNUMBER = 3266772; const projectsDir = path.join(__dirname, '../../test'); -function testCosmosProject(): SubqueryProject { +function testCosmosProject( + endpoint: string, + chainId: string, + fileCacheDir?: string, +): SubqueryProject { return { network: { - endpoint: ENDPOINT, - chainId: CHAINID, + endpoint: [endpoint], + chainId: chainId, }, dataSources: [], id: 'test', root: './', schema: new GraphQLSchema({}), templates: [], + tempDir: fileCacheDir, } as SubqueryProject; } jest.setTimeout(200000); -describe.skip('ApiService', () => { +describe('ApiService', () => { let app: INestApplication; let apiService: ApiService; - const prepareApiService = async () => { + + let tmpPath: string; + + const prepareApiService = async ( + endpoint: string, + chainId: string, + fileCacheDir?: string, + ) => { const module = await Test.createTestingModule({ providers: [ + ConnectionPoolStateManager, ConnectionPoolService, { provide: 'ISubqueryProject', - useFactory: () => testCosmosProject(), + useFactory: () => testCosmosProject(endpoint, chainId, fileCacheDir), }, { provide: NodeConfig, @@ -61,38 +75,68 @@ describe.skip('ApiService', () => { app = module.createNestApplication(); await app.init(); apiService = app.get(ApiService); + (apiService as any).nodeConfig._config.kyveEndpoint = + 'https://api-us-1.kyve.network'; + (apiService as any).nodeConfig._config.kyveStorageUrl = + 'https://arweave.net'; await apiService.init(); }; - beforeAll(async () => { - await prepareApiService(); - }); + const ENDPOINT = 'https://rpc-juno.itastakers.com/'; + const CHAINID = 'juno-1'; + + describe('RPC api service', () => { + beforeAll(async () => { + tmpPath = await makeTempDir(); + }); + it('Falls back on rpc if kyve fails', async () => { + const endpoint = 'https://rpc.mainnet.archway.io:443'; + const chainId = 'archway-1'; + + await prepareApiService(endpoint, chainId, tmpPath); - it('query block info', async () => { - const api = apiService.api; - const blockInfo = await api.blockInfo(TEST_BLOCKNUMBER); - const doc: any = loadFromJsonOrYaml( - path.join(projectsDir, 'block_3266772.json'), - ); - const realBlockInfo = { - id: toHex(doc.block_id.hash).toUpperCase(), - header: { - version: { - block: new Uint53(+doc.block.header.version.block).toString(), - app: blockInfo.block.header.version.app, + jest + .spyOn((apiService as any).kyveApi, 'retrieveBundleData') + .mockRejectedValueOnce( + 'Error: Client network socket disconnected before secure TLS connection was established', + ); + + const rpcFetchSpy = jest.spyOn(apiService as any, 'retryFetch'); + + await apiService.fetchBlocks([4282099]); + + expect(rpcFetchSpy).toHaveBeenCalledTimes(1); + }); + it.skip('query block info', async () => { + await prepareApiService(ENDPOINT, CHAINID, tmpPath); + + const api = apiService.api; + const blockInfo = await api.blockInfo(TEST_BLOCKNUMBER); + const doc: any = loadFromJsonOrYaml( + path.join(projectsDir, 'block_3266772.json'), + ); + const realBlockInfo = { + id: toHex(doc.block_id.hash).toUpperCase(), + header: { + version: { + block: new Uint53(+doc.block.header.version.block).toString(), + app: blockInfo.block.header.version.app, + }, + height: doc.block.header.height, + chainId: doc.block.header.chainId, + time: toRfc3339WithNanoseconds(doc.block.header.time), }, - height: doc.block.header.height, - chainId: doc.block.header.chainId, - time: toRfc3339WithNanoseconds(doc.block.header.time), - }, - txs: doc.block.txs, - }; - expect(blockInfo).toMatchObject(realBlockInfo); - }); + txs: doc.block.txs, + }; + expect(blockInfo).toMatchObject(realBlockInfo); + }); + + it.skip('query tx info by height', async () => { + await prepareApiService(ENDPOINT, CHAINID, tmpPath); - it('query tx info by height', async () => { - const api = apiService.api; - const txInfos = await api.txInfoByHeight(TEST_BLOCKNUMBER); - expect(txInfos.length).toEqual(4); + const api = apiService.api; + const txInfos = await api.txInfoByHeight(TEST_BLOCKNUMBER); + expect(txInfos.length).toEqual(4); + }); }); }); diff --git a/packages/node/src/indexer/api.service.ts b/packages/node/src/indexer/api.service.ts index eb4f28ca7..6b1e18421 100644 --- a/packages/node/src/indexer/api.service.ts +++ b/packages/node/src/indexer/api.service.ts @@ -1,11 +1,10 @@ // Copyright 2020-2024 SubQuery Pte Ltd authors & contributors // SPDX-License-Identifier: GPL-3.0 -import { TextDecoder } from 'util'; import { CosmWasmClient, IndexedTx } from '@cosmjs/cosmwasm-stargate'; import { toHex } from '@cosmjs/encoding'; import { Uint53 } from '@cosmjs/math'; -import { DecodeObject, GeneratedType, Registry } from '@cosmjs/proto-signing'; +import { GeneratedType, Registry } from '@cosmjs/proto-signing'; import { Block, defaultRegistryTypes, SearchTxQuery } from '@cosmjs/stargate'; import { Tendermint37Client, @@ -13,17 +12,18 @@ import { } from '@cosmjs/tendermint-rpc'; import { BlockResponse, - Validator, BlockResultsResponse, + Validator, } from '@cosmjs/tendermint-rpc/build/tendermint37/responses'; import { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common'; import { EventEmitter2 } from '@nestjs/event-emitter'; import { CosmosProjectNetConfig } from '@subql/common-cosmos'; import { - getLogger, - ConnectionPoolService, ApiService as BaseApiService, + ConnectionPoolService, + getLogger, IBlock, + NodeConfig, } from '@subql/node-core'; import { CosmWasmSafeClient } from '@subql/types-cosmos/interfaces'; import { @@ -34,27 +34,36 @@ import { MsgStoreCode, MsgUpdateAdmin, } from 'cosmjs-types/cosmwasm/wasm/v1/tx'; +import { CosmosNodeConfig } from '../configure/NodeConfig'; import { SubqueryProject } from '../configure/SubqueryProject'; import * as CosmosUtil from '../utils/cosmos'; +import { KyveApi } from '../utils/kyve/kyve'; import { CosmosClientConnection } from './cosmosClient.connection'; import { BlockContent } from './types'; const logger = getLogger('api'); +const MAX_RECONNECT_ATTEMPTS = 5; +const KYVE_BUFFER_RANGE = 10; + @Injectable() export class ApiService extends BaseApiService[]> implements OnApplicationShutdown { private fetchBlocksBatches = CosmosUtil.fetchBlocksBatches; + private nodeConfig: CosmosNodeConfig; + private kyveApi?: KyveApi; registry: Registry; constructor( @Inject('ISubqueryProject') private project: SubqueryProject, connectionPoolService: ConnectionPoolService, eventEmitter: EventEmitter2, + nodeConfig: NodeConfig, ) { super(connectionPoolService, eventEmitter); + this.nodeConfig = new CosmosNodeConfig(nodeConfig); } private async buildRegistry(): Promise { @@ -95,9 +104,53 @@ export class ApiService ), ); + if ( + this.nodeConfig.kyveEndpoint && + this.nodeConfig.kyveEndpoint !== 'false' + ) { + try { + this.kyveApi = await KyveApi.create( + network.chainId, + this.nodeConfig.kyveEndpoint, + this.nodeConfig.kyveStorageUrl, + this.nodeConfig.kyveChainId, + this.project.tempDir, + KYVE_BUFFER_RANGE * this.nodeConfig.batchSize, + ); + } catch (e) { + logger.warn(`Kyve Api is not connected. ${e}`); + } + } else { + logger.info(`Kyve not connected`); + } + return this; } + // Overrides the super function because of the kyve integration + async fetchBlocks( + heights: number[], + numAttempts = MAX_RECONNECT_ATTEMPTS, + ): Promise[]> { + return this.retryFetch(async () => { + if (this.kyveApi) { + try { + return await this.kyveApi.fetchBlocksBatches(this.registry, heights); + } catch (e) { + logger.warn( + e, + `Failed to fetch blocks: ${JSON.stringify( + heights, + )} via Kyve, trying with RPC`, + ); + } + } + // Get the latest fetch function from the provider + const apiInstance = this.connectionPoolService.api; + return apiInstance.fetchBlocks(heights); + }, numAttempts); + } + get api(): CosmosClient { return this.unsafeApi; } @@ -141,16 +194,6 @@ export class CosmosClient extends CosmWasmClient { super(tendermintClient); } - /* - async chainId(): Promise { - return this.getChainId(); - } - - async finalisedHeight(): Promise { - return this.getHeight(); - } - */ - // eslint-disable-next-line @typescript-eslint/require-await async blockInfo(height?: number): Promise { return this.tendermintClient.block(height); @@ -166,25 +209,6 @@ export class CosmosClient extends CosmWasmClient { return this.tendermintClient.blockResults(height); } - decodeMsg(msg: DecodeObject): T { - try { - const decodedMsg = this.registry.decode(msg); - if ( - [ - '/cosmwasm.wasm.v1.MsgExecuteContract', - '/cosmwasm.wasm.v1.MsgMigrateContract', - '/cosmwasm.wasm.v1.MsgInstantiateContract', - ].includes(msg.typeUrl) - ) { - decodedMsg.msg = JSON.parse(new TextDecoder().decode(decodedMsg.msg)); - } - return decodedMsg; - } catch (e) { - logger.error(e, 'Failed to decode message'); - throw e; - } - } - static handleError(e: Error): Error { const formatted_error: Error = e; try { diff --git a/packages/node/src/indexer/blockDispatcher/block-dispatcher.service.ts b/packages/node/src/indexer/blockDispatcher/block-dispatcher.service.ts index 6bfac056c..00086c52b 100644 --- a/packages/node/src/indexer/blockDispatcher/block-dispatcher.service.ts +++ b/packages/node/src/indexer/blockDispatcher/block-dispatcher.service.ts @@ -14,10 +14,8 @@ import { IProjectUpgradeService, IBlock, } from '@subql/node-core'; -import { - CosmosProjectDs, - SubqueryProject, -} from '../../configure/SubqueryProject'; +import { CosmosDatasource } from '@subql/types-cosmos'; +import { SubqueryProject } from '../../configure/SubqueryProject'; import { ApiService } from '../api.service'; import { IndexerManager } from '../indexer.manager'; import { BlockContent } from '../types'; @@ -27,7 +25,7 @@ import { BlockContent } from '../types'; */ @Injectable() export class BlockDispatcherService - extends BlockDispatcher + extends BlockDispatcher implements OnApplicationShutdown { constructor( @@ -35,7 +33,8 @@ export class BlockDispatcherService nodeConfig: NodeConfig, private indexerManager: IndexerManager, eventEmitter: EventEmitter2, - @Inject('IProjectService') projectService: IProjectService, + @Inject('IProjectService') + projectService: IProjectService, @Inject('IProjectUpgradeService') projectUpgradeService: IProjectUpgradeService, storeService: StoreService, diff --git a/packages/node/src/indexer/blockDispatcher/worker-block-dispatcher.service.ts b/packages/node/src/indexer/blockDispatcher/worker-block-dispatcher.service.ts index 15013abc1..bde8fdc4b 100644 --- a/packages/node/src/indexer/blockDispatcher/worker-block-dispatcher.service.ts +++ b/packages/node/src/indexer/blockDispatcher/worker-block-dispatcher.service.ts @@ -4,6 +4,7 @@ import path from 'path'; import { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common'; import { EventEmitter2 } from '@nestjs/event-emitter'; +import { CosmosDataSource } from '@subql/common-cosmos'; import { NodeConfig, StoreService, @@ -16,10 +17,7 @@ import { InMemoryCacheService, createIndexerWorker, } from '@subql/node-core'; -import { - CosmosProjectDs, - SubqueryProject, -} from '../../configure/SubqueryProject'; +import { SubqueryProject } from '../../configure/SubqueryProject'; import { CosmosClientConnection } from '../cosmosClient.connection'; import { DynamicDsService } from '../dynamic-ds.service'; import { BlockContent } from '../types'; @@ -32,13 +30,14 @@ type IndexerWorker = IIndexerWorker & { @Injectable() export class WorkerBlockDispatcherService - extends WorkerBlockDispatcher + extends WorkerBlockDispatcher implements OnApplicationShutdown { constructor( nodeConfig: NodeConfig, eventEmitter: EventEmitter2, - @Inject('IProjectService') projectService: IProjectService, + @Inject('IProjectService') + projectService: IProjectService, @Inject('IProjectUpgradeService') projectUpgadeService: IProjectUpgradeService, cacheService: InMemoryCacheService, @@ -64,7 +63,7 @@ export class WorkerBlockDispatcherService IIndexerWorker, CosmosClientConnection, BlockContent, - CosmosProjectDs + CosmosDataSource >( path.resolve(__dirname, '../../../dist/indexer/worker/worker.js'), [], @@ -75,6 +74,9 @@ export class WorkerBlockDispatcherService connectionPoolState, project.root, projectService.startHeight, + { + tempDir: project.tempDir, + }, ), ); } diff --git a/packages/node/src/indexer/dynamic-ds.service.ts b/packages/node/src/indexer/dynamic-ds.service.ts index 6b65ebc4f..5ce2c326d 100644 --- a/packages/node/src/indexer/dynamic-ds.service.ts +++ b/packages/node/src/indexer/dynamic-ds.service.ts @@ -7,12 +7,13 @@ import { DatasourceParams, DynamicDsService as BaseDynamicDsService, } from '@subql/node-core'; -import { CosmosProjectDs, SubqueryProject } from '../configure/SubqueryProject'; +import { CosmosDatasource } from '@subql/types-cosmos'; +import { SubqueryProject } from '../configure/SubqueryProject'; import { DsProcessorService } from './ds-processor.service'; @Injectable() export class DynamicDsService extends BaseDynamicDsService< - CosmosProjectDs, + CosmosDatasource, SubqueryProject > { constructor( @@ -24,8 +25,8 @@ export class DynamicDsService extends BaseDynamicDsService< protected async getDatasource( params: DatasourceParams, - ): Promise { - const dsObj = this.getTemplate( + ): Promise { + const dsObj = this.getTemplate( params.templateName, params.startBlock, ); diff --git a/packages/node/src/indexer/indexer.manager.ts b/packages/node/src/indexer/indexer.manager.ts index 198ff6e47..fc8060200 100644 --- a/packages/node/src/indexer/indexer.manager.ts +++ b/packages/node/src/indexer/indexer.manager.ts @@ -29,7 +29,6 @@ import { CosmosCustomDatasource, CosmosDatasource, } from '@subql/types-cosmos'; -import { CosmosProjectDs } from '../configure/SubqueryProject'; import * as CosmosUtil from '../utils/cosmos'; import { ApiService as CosmosApiService, @@ -107,8 +106,8 @@ export class IndexerManager extends BaseIndexerManager< protected async indexBlockData( blockContent: BlockContent, - dataSources: CosmosProjectDs[], - getVM: (d: CosmosProjectDs) => Promise, + dataSources: CosmosDatasource[], + getVM: (d: CosmosDatasource) => Promise, ): Promise { await this.indexBlockContent(blockContent, dataSources, getVM); @@ -140,8 +139,8 @@ export class IndexerManager extends BaseIndexerManager< private async indexBlockContent( block: BlockContent, - dataSources: CosmosProjectDs[], - getVM: (d: CosmosProjectDs) => Promise, + dataSources: CosmosDatasource[], + getVM: (d: CosmosDatasource) => Promise, ): Promise { for (const ds of dataSources) { await this.indexData(CosmosHandlerKind.Block, block.block, ds, getVM); @@ -150,8 +149,8 @@ export class IndexerManager extends BaseIndexerManager< private async indexTransaction( tx: CosmosTransaction, - dataSources: CosmosProjectDs[], - getVM: (d: CosmosProjectDs) => Promise, + dataSources: CosmosDatasource[], + getVM: (d: CosmosDatasource) => Promise, ): Promise { for (const ds of dataSources) { await this.indexData(CosmosHandlerKind.Transaction, tx, ds, getVM); @@ -160,8 +159,8 @@ export class IndexerManager extends BaseIndexerManager< private async indexMessage( message: CosmosMessage, - dataSources: CosmosProjectDs[], - getVM: (d: CosmosProjectDs) => Promise, + dataSources: CosmosDatasource[], + getVM: (d: CosmosDatasource) => Promise, ): Promise { for (const ds of dataSources) { await this.indexData(CosmosHandlerKind.Message, message, ds, getVM); @@ -170,8 +169,8 @@ export class IndexerManager extends BaseIndexerManager< private async indexEvent( event: CosmosEvent, - dataSources: CosmosProjectDs[], - getVM: (d: CosmosProjectDs) => Promise, + dataSources: CosmosDatasource[], + getVM: (d: CosmosDatasource) => Promise, ): Promise { for (const ds of dataSources) { await this.indexData(CosmosHandlerKind.Event, event, ds, getVM); diff --git a/packages/node/src/indexer/project.service.ts b/packages/node/src/indexer/project.service.ts index 6ef3eeaff..d91849b15 100644 --- a/packages/node/src/indexer/project.service.ts +++ b/packages/node/src/indexer/project.service.ts @@ -14,8 +14,9 @@ import { IProjectUpgradeService, profiler, } from '@subql/node-core'; +import { CosmosDatasource } from '@subql/types-cosmos'; import { Sequelize } from '@subql/x-sequelize'; -import { SubqueryProject, CosmosProjectDs } from '../configure/SubqueryProject'; +import { SubqueryProject } from '../configure/SubqueryProject'; import { ApiService } from './api.service'; import { DsProcessorService } from './ds-processor.service'; import { DynamicDsService } from './dynamic-ds.service'; @@ -27,7 +28,7 @@ const { version: packageVersion } = require('../../package.json'); @Injectable() export class ProjectService extends BaseProjectService< ApiService, - CosmosProjectDs + CosmosDatasource > { protected packageVersion = packageVersion; diff --git a/packages/node/src/indexer/worker/worker-fetch.module.ts b/packages/node/src/indexer/worker/worker-fetch.module.ts index 00274d059..513046b01 100644 --- a/packages/node/src/indexer/worker/worker-fetch.module.ts +++ b/packages/node/src/indexer/worker/worker-fetch.module.ts @@ -10,6 +10,7 @@ import { WorkerConnectionPoolStateManager, InMemoryCacheService, WorkerInMemoryCacheService, + NodeConfig, SandboxService, WorkerUnfinalizedBlocksService, } from '@subql/node-core'; @@ -38,16 +39,23 @@ import { WorkerService } from './worker.service'; project: SubqueryProject, connectionPoolService: ConnectionPoolService, eventEmitter: EventEmitter2, + nodeConfig: NodeConfig, ) => { const apiService = new ApiService( project, connectionPoolService, eventEmitter, + nodeConfig, ); await apiService.init(); return apiService; }, - inject: ['ISubqueryProject', ConnectionPoolService, EventEmitter2], + inject: [ + 'ISubqueryProject', + ConnectionPoolService, + EventEmitter2, + NodeConfig, + ], }, SandboxService, DsProcessorService, diff --git a/packages/node/src/indexer/worker/worker.service.ts b/packages/node/src/indexer/worker/worker.service.ts index f911b5a55..02e10144f 100644 --- a/packages/node/src/indexer/worker/worker.service.ts +++ b/packages/node/src/indexer/worker/worker.service.ts @@ -13,7 +13,6 @@ import { IBlock, } from '@subql/node-core'; import { CosmosDatasource } from '@subql/types-cosmos'; -import { CosmosProjectDs } from '../../configure/SubqueryProject'; import { ApiService } from '../api.service'; import { IndexerManager } from '../indexer.manager'; import { BlockContent } from '../types'; @@ -41,7 +40,7 @@ export class WorkerService extends BaseWorkerService< private apiService: ApiService, private indexerManager: IndexerManager, @Inject('IProjectService') - projectService: IProjectService, + projectService: IProjectService, @Inject('IProjectUpgradeService') projectUpgradeService: IProjectUpgradeService, nodeConfig: NodeConfig, diff --git a/packages/node/src/subcommands/testing.module.ts b/packages/node/src/subcommands/testing.module.ts index 3c60f44a3..0282ad527 100644 --- a/packages/node/src/subcommands/testing.module.ts +++ b/packages/node/src/subcommands/testing.module.ts @@ -9,6 +9,7 @@ import { ConnectionPoolStateManager, DbModule, InMemoryCacheService, + NodeConfig, PoiService, PoiSyncService, StoreCacheService, @@ -50,11 +51,13 @@ import { UnfinalizedBlocksService } from '../indexer/unfinalizedBlocks.service'; project: SubqueryProject, connectionPoolService: ConnectionPoolService, eventEmitter: EventEmitter2, + nodeConfig: NodeConfig, ) => { const apiService = new ApiService( project, connectionPoolService, eventEmitter, + nodeConfig, ); await apiService.init(); return apiService; diff --git a/packages/node/src/subcommands/testing.service.ts b/packages/node/src/subcommands/testing.service.ts index 894184676..96aac766a 100644 --- a/packages/node/src/subcommands/testing.service.ts +++ b/packages/node/src/subcommands/testing.service.ts @@ -10,7 +10,8 @@ import { TestingService as BaseTestingService, TestRunner, } from '@subql/node-core'; -import { CosmosProjectDs, SubqueryProject } from '../configure/SubqueryProject'; +import { CosmosDatasource } from '@subql/types-cosmos'; +import { SubqueryProject } from '../configure/SubqueryProject'; import { CosmosClient, CosmosSafeClient } from '../indexer/api.service'; import { IndexerManager } from '../indexer/indexer.manager'; import { ProjectService } from '../indexer/project.service'; @@ -22,7 +23,7 @@ export class TestingService extends BaseTestingService< CosmosClient, CosmosSafeClient, BlockContent, - CosmosProjectDs + CosmosDatasource > { constructor( nodeConfig: NodeConfig, @@ -38,7 +39,7 @@ export class TestingService extends BaseTestingService< CosmosClient, CosmosSafeClient, BlockContent, - CosmosProjectDs + CosmosDatasource >, ] > { diff --git a/packages/node/src/utils/cosmos.spec.ts b/packages/node/src/utils/cosmos.spec.ts index 7e3b41a3a..ab3b23142 100644 --- a/packages/node/src/utils/cosmos.spec.ts +++ b/packages/node/src/utils/cosmos.spec.ts @@ -25,7 +25,7 @@ import { } from 'cosmjs-types/cosmwasm/wasm/v1/tx'; import { CosmosClient } from '../indexer/api.service'; import { HttpClient } from '../indexer/rpc-clients'; -import { filterMessageData, wrapEvent } from './cosmos'; +import { decodeMsg, filterMessageData, wrapEvent } from './cosmos'; const ENDPOINT = 'https://rpc-archive.junonetwork.io/'; @@ -113,7 +113,7 @@ describe('CosmosUtils', () => { msg: { typeUrl: decodedTx.body.messages[0].typeUrl, get decodedMsg() { - return api.decodeMsg(decodedTx.body.messages[0]); + return decodeMsg(decodedTx.body.messages[0], registry); }, }, }; @@ -157,7 +157,7 @@ describe('CosmosUtils', () => { hash: '', decodedTx: {} as DecodedTxRaw, }; - const events = wrapEvent({} as CosmosBlock, [tx], api, 0); + const events = wrapEvent({} as CosmosBlock, [tx], api.registry, 0); expect(events.length).toEqual(0); }); diff --git a/packages/node/src/utils/cosmos.ts b/packages/node/src/utils/cosmos.ts index 608d2d2d0..b44686e2a 100644 --- a/packages/node/src/utils/cosmos.ts +++ b/packages/node/src/utils/cosmos.ts @@ -2,18 +2,26 @@ // SPDX-License-Identifier: GPL-3.0 import assert from 'assert'; +import { TextDecoder } from 'util'; import { sha256 } from '@cosmjs/crypto'; import { toHex } from '@cosmjs/encoding'; -import { decodeTxRaw } from '@cosmjs/proto-signing'; +import { DecodeObject, decodeTxRaw, Registry } from '@cosmjs/proto-signing'; import { fromTendermintEvent } from '@cosmjs/stargate'; import { Log, parseRawLog } from '@cosmjs/stargate/build/logs'; +import { toRfc3339WithNanoseconds } from '@cosmjs/tendermint-rpc'; import { BlockResponse, BlockResultsResponse, TxData, Event, + Header as CosmosHeader, } from '@cosmjs/tendermint-rpc/build/tendermint37'; -import { IBlock, getLogger, Header } from '@subql/node-core'; +import { + IBlock, + getLogger, + Header, + filterBlockTimestamp, +} from '@subql/node-core'; import { CosmosEventFilter, CosmosMessageFilter, @@ -25,11 +33,34 @@ import { CosmosTxFilter, } from '@subql/types-cosmos'; import { isObjectLike } from 'lodash'; +import { SubqlProjectBlockFilter } from '../configure/SubqueryProject'; import { CosmosClient } from '../indexer/api.service'; import { BlockContent } from '../indexer/types'; const logger = getLogger('fetch'); +export function decodeMsg( + msg: DecodeObject, + registry: Registry, +): T { + try { + const decodedMsg = registry.decode(msg); + if ( + [ + '/cosmwasm.wasm.v1.MsgExecuteContract', + '/cosmwasm.wasm.v1.MsgMigrateContract', + '/cosmwasm.wasm.v1.MsgInstantiateContract', + ].includes(msg.typeUrl) + ) { + decodedMsg.msg = JSON.parse(new TextDecoder().decode(decodedMsg.msg)); + } + return decodedMsg; + } catch (e) { + logger.error(e, 'Failed to decode message'); + throw e; + } +} + export function filterBlock( data: CosmosBlock, filter?: CosmosBlockFilter, @@ -37,12 +68,24 @@ export function filterBlock( if (!filter) { return true; } + if ( + !filterBlockTimestamp( + getBlockTimestamp(data.header).getTime(), + filter as SubqlProjectBlockFilter, + ) + ) { + return false; + } if (filter.modulo && data.block.header.height % filter.modulo !== 0) { return false; } return true; } +export function getBlockTimestamp(blockHeader: CosmosHeader): Date { + return new Date(toRfc3339WithNanoseconds(blockHeader.time)); +} + export function filterTx( data: CosmosTransaction, filter?: CosmosTxFilter, @@ -166,7 +209,7 @@ export function filterEvents( return filteredEvents; } -async function getBlockByHeight( +async function getBlockByHeightByRpc( api: CosmosClient, height: number, ): Promise<[BlockResponse, BlockResultsResponse]> { @@ -181,11 +224,13 @@ async function getBlockByHeight( } export async function fetchCosmosBlocksArray( - api: CosmosClient, + getBlockByHeight: ( + height: number, + ) => Promise<[BlockResponse, BlockResultsResponse]>, blockArray: number[], ): Promise<[BlockResponse, BlockResultsResponse][]> { return Promise.all( - blockArray.map(async (height) => getBlockByHeight(api, height)), + blockArray.map(async (height) => getBlockByHeight(height)), ); } @@ -214,11 +259,11 @@ export function wrapTx( })); } -function wrapCosmosMsg( +export function wrapCosmosMsg( block: CosmosBlock, tx: CosmosTransaction, idx: number, - api: CosmosClient, + registry: Registry, ): CosmosMessage { const rawMessage = tx.decodedTx.body.messages[idx]; return { @@ -229,7 +274,7 @@ function wrapCosmosMsg( typeUrl: rawMessage.typeUrl, get decodedMsg() { delete this.decodedMsg; - return (this.decodedMsg = api.decodeMsg(rawMessage)); + return (this.decodedMsg = decodeMsg(rawMessage, registry)); }, }, }; @@ -238,12 +283,12 @@ function wrapCosmosMsg( function wrapMsg( block: CosmosBlock, txs: CosmosTransaction[], - api: CosmosClient, + registry: Registry, ): CosmosMessage[] { const msgs: CosmosMessage[] = []; for (const tx of txs) { for (let i = 0; i < tx.decodedTx.body.messages.length; i++) { - msgs.push(wrapCosmosMsg(block, tx, i, api)); + msgs.push(wrapCosmosMsg(block, tx, i, registry)); } } return msgs; @@ -270,7 +315,7 @@ export function wrapBlockBeginAndEndEvents( export function wrapEvent( block: CosmosBlock, txs: CosmosTransaction[], - api: CosmosClient, + registry: Registry, idxOffset: number, //use this offset to avoid clash with idx of begin block events ): CosmosEvent[] { const events: CosmosEvent[] = []; @@ -286,7 +331,7 @@ export function wrapEvent( for (const log of logs) { let msg: CosmosMessage; try { - msg = wrapCosmosMsg(block, tx, log.msg_index, api); + msg = wrapCosmosMsg(block, tx, log.msg_index, registry); } catch (e) { // Example where this can happen https://sei.explorers.guru/transaction/8D4CA68E917E15652E10CB960DE604AEEB1B183D6E94A85E9CD98403F15550B7 logger.warn( @@ -333,7 +378,11 @@ export async function fetchBlocksBatches( api: CosmosClient, blockArray: number[], ): Promise[]> { - const blocks = await fetchCosmosBlocksArray(api, blockArray); + const blocks = await fetchCosmosBlocksArray( + (height: number) => getBlockByHeightByRpc(api, height), + blockArray, + ); + return blocks.map(([blockInfo, blockResults]) => { try { assert( @@ -342,7 +391,7 @@ export async function fetchBlocksBatches( ); return formatBlockUtil( - new LazyBlockContent(blockInfo, blockResults, api), + new LazyBlockContent(blockInfo, blockResults, api.registry), ); } catch (e) { logger.error( @@ -354,7 +403,7 @@ export async function fetchBlocksBatches( }); } -class LazyBlockContent implements BlockContent { +export class LazyBlockContent implements BlockContent { private _wrappedBlock: CosmosBlock; private _wrappedTransaction: CosmosTransaction[]; private _wrappedMessage: CosmosMessage[]; @@ -366,7 +415,7 @@ class LazyBlockContent implements BlockContent { constructor( private _blockInfo: BlockResponse, private _results: BlockResultsResponse, - private _api: CosmosClient, + private _registry: Registry, ) {} get block() { @@ -387,7 +436,11 @@ class LazyBlockContent implements BlockContent { get messages() { if (!this._wrappedMessage) { - this._wrappedMessage = wrapMsg(this.block, this.transactions, this._api); + this._wrappedMessage = wrapMsg( + this.block, + this.transactions, + this._registry, + ); } return this._wrappedMessage; } @@ -397,7 +450,7 @@ class LazyBlockContent implements BlockContent { this._wrappedEvent = wrapEvent( this.block, this.transactions, - this._api, + this._registry, this._eventIdx, ); this._eventIdx += this._wrappedEvent.length; diff --git a/packages/node/src/utils/kyve/kyve.spec.ts b/packages/node/src/utils/kyve/kyve.spec.ts new file mode 100644 index 000000000..9e44c1ce8 --- /dev/null +++ b/packages/node/src/utils/kyve/kyve.spec.ts @@ -0,0 +1,565 @@ +// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors +// SPDX-License-Identifier: GPL-3.0 + +import fs from 'fs'; +import path from 'path'; +import { Readable } from 'stream'; +import { promisify } from 'util'; +import { gzipSync } from 'zlib'; +import { JsonRpcSuccessResponse } from '@cosmjs/json-rpc'; +import { GeneratedType, Registry } from '@cosmjs/proto-signing'; +import { defaultRegistryTypes } from '@cosmjs/stargate'; +import { Tendermint37Client } from '@cosmjs/tendermint-rpc'; +import { + BlockResponse, + BlockResultsResponse, +} from '@cosmjs/tendermint-rpc/build/tendermint37/responses'; +import KyveSDK from '@kyvejs/sdk'; +import { makeTempDir } from '@subql/common'; +import { delay } from '@subql/node-core'; +import axios from 'axios'; +import { + MsgClearAdmin, + MsgExecuteContract, + MsgInstantiateContract, + MsgMigrateContract, + MsgStoreCode, + MsgUpdateAdmin, +} from 'cosmjs-types/cosmwasm/wasm/v1/tx'; +import { isEqual } from 'lodash'; +import rimraf from 'rimraf'; +import { HttpClient } from '../../indexer/rpc-clients'; +import { LazyBlockContent } from '../cosmos'; +import { KyveApi } from './kyve'; +import { BundleDetails } from './kyveTypes'; + +const wasmTypes: ReadonlyArray<[string, GeneratedType]> = [ + ['/cosmwasm.wasm.v1.MsgClearAdmin', MsgClearAdmin], + ['/cosmwasm.wasm.v1.MsgExecuteContract', MsgExecuteContract], + ['/cosmwasm.wasm.v1.MsgMigrateContract', MsgMigrateContract], + ['/cosmwasm.wasm.v1.MsgStoreCode', MsgStoreCode], + ['/cosmwasm.wasm.v1.MsgInstantiateContract', MsgInstantiateContract], + ['/cosmwasm.wasm.v1.MsgUpdateAdmin', MsgUpdateAdmin], +]; + +const kyveBundlePath = path.join( + __dirname, + '../../../test/kyve_block/block_4326863.json', +); +const block_4326863 = require(kyveBundlePath); + +const KYVE_ENDPOINT = 'https://rpc-eu-1.kyve.network'; +const KYVE_STORAGE_URL = 'https://arweave.net'; +const KYVE_CHAINID = 'kyve-1'; + +jest.setTimeout(100000); +describe('KyveApi', () => { + let kyveApi: KyveApi; + let tendermint: Tendermint37Client; + let registry: Registry; + + let tmpPath: string; + let retrieveBundleDataSpy: jest.SpyInstance; + let decoderBlockResultsSpy: jest.SpyInstance; + let decoderBlockSpy: jest.SpyInstance; + let injectLogSpy: jest.SpyInstance; + let readerSpy: jest.SpyInstance; + let getBundleDataSpy: jest.SpyInstance; + + let zippedMockResp: Buffer; + let mockStream: Readable; + + beforeAll(async () => { + tmpPath = await makeTempDir(); + + registry = new Registry([...defaultRegistryTypes, ...wasmTypes]); + kyveApi = await KyveApi.create( + 'archway-1', + KYVE_ENDPOINT, + KYVE_STORAGE_URL, + KYVE_CHAINID, + tmpPath, + 300, + ); + const client = new HttpClient('https://rpc.mainnet.archway.io:443'); + tendermint = await Tendermint37Client.create(client); + }); + + beforeEach(async () => { + retrieveBundleDataSpy = jest.spyOn(kyveApi as any, 'retrieveBundleData'); + decoderBlockSpy = jest.spyOn(kyveApi as any, 'decodeBlock'); + decoderBlockResultsSpy = jest.spyOn(kyveApi as any, 'decodeBlockResult'); + injectLogSpy = jest.spyOn(kyveApi as any, 'injectLogs'); + readerSpy = jest.spyOn(kyveApi as any, 'readFromFile'); + getBundleDataSpy = jest.spyOn(kyveApi as any, 'getBundleData'); + + zippedMockResp = gzipSync(Buffer.from(JSON.stringify(block_4326863))); + mockStream = new Readable({ + read() { + this.push(zippedMockResp); + this.push(null); + }, + }); + + const files = await fs.promises.readdir(tmpPath); + for (const file of files) { + await fs.promises.unlink(path.join(tmpPath, file)); + } + }); + + afterEach(() => { + retrieveBundleDataSpy.mockRestore(); + decoderBlockSpy.mockRestore(); + decoderBlockResultsSpy.mockRestore(); + injectLogSpy.mockRestore(); + readerSpy.mockRestore(); + getBundleDataSpy.mockRestore(); + + // reset cache + ((kyveApi as any).cachedBundleDetails as Record< + string, + Promise + >) = {}; + }); + + afterAll(async () => { + await promisify(rimraf)(tmpPath); + }); + + it('ensure bundleDetails', async () => { + const bundleDetails = await (kyveApi as any).getBundleById(0); + expect(bundleDetails).toEqual({ + pool_id: '2', + id: '0', + storage_id: 'YLpTxtj_0ICoWq9HUEOx6VcIzKk8Qui1rnkhH4acbTU', + uploader: 'kyve1z6wduz3psfuhp87r4enfnaelhcf94uksgjs0qj', + from_index: '0', + to_index: '150', + from_key: '1', + to_key: '150', + bundle_summary: '150', + data_hash: + 'a5915a350030e60224909c82c0c7058f7096d401202fb8a05724e059d89ff7a5', + finalized_at: { height: '2589775', timestamp: '2023-09-06T12:20:22Z' }, + storage_provider_id: '2', + compression_id: '1', + stake_security: { + valid_vote_power: '954119472714', + total_vote_power: '1185083547399', + }, + }); + }); + + it('ensure correct bundle ID on binary search', async () => { + (kyveApi as any).currentBundleId = -1; // reset cached bundle Id + const a = Date.now(); + const firstBundle = await (kyveApi as any).getBundleIdSearch(120); // https://app.kyve.network/#/pools/2/bundles/0 + const b = Date.now(); + console.log(`${b - a}ms`); + + const laterBundle = await (kyveApi as any).getBundleIdSearch(3489747); // https://app.kyve.network/#/pools/2/bundles/5149474 + expect(firstBundle).toBe(0); + expect(laterBundle).toBe(113773); + }); + it('Ensure bundleId is defined', async () => { + getBundleDataSpy.mockResolvedValue(JSON.stringify({ mock: 'value' })); + + await Promise.all([ + (kyveApi as any).updateCurrentBundleAndDetails(1), + (kyveApi as any).updateCurrentBundleAndDetails(150), + (kyveApi as any).updateCurrentBundleAndDetails(151), + (kyveApi as any).updateCurrentBundleAndDetails(500), + (kyveApi as any).updateCurrentBundleAndDetails(1000), + (kyveApi as any).updateCurrentBundleAndDetails(2500), + ]); + + expect(getBundleDataSpy).toHaveBeenCalledTimes(6); + expect(getBundleDataSpy).not.toHaveBeenCalledWith(undefined); + }); + it('Concurrent fetch with incrementing bundle id', async () => { + // should increment from bundle id 8 to 9 only calling binary search once + const binarySearchSpy = jest.spyOn(kyveApi as any, 'getBundleIdSearch'); + await Promise.all([ + kyveApi.getBlockByHeight(1338), + kyveApi.getBlockByHeight(1339), + kyveApi.getBlockByHeight(1350), + kyveApi.getBlockByHeight(1351), + ]); + const batch2 = await Promise.all([ + kyveApi.getBlockByHeight(1500), + kyveApi.getBlockByHeight(1501), + kyveApi.getBlockByHeight(4000), + ]); + expect((kyveApi as any).cachedBundleDetails[10]).toBeDefined(); + expect(binarySearchSpy).toHaveBeenCalledTimes(4); + expect(batch2.length).toBe(3); + }); + it('Able to write and read with parallel calls', async () => { + const bundle_0Data = [ + { + key: '1', + value: { + block: {}, + block_results: {}, + }, + }, + { + key: '150', + value: { + block: {}, + block_results: {}, + }, + }, + ]; + + const bundle_1Data = [ + { + key: '151', + value: { + block: {}, + block_results: {}, + }, + }, + { + key: '300', + value: { + block: {}, + block_results: {}, + }, + }, + ]; + const bundle_2Data = [ + { + key: '301', + value: { + block: {}, + block_results: {}, + }, + }, + ]; + + const steam0 = new Readable({ + read() { + this.push(gzipSync(Buffer.from(JSON.stringify(bundle_0Data)))); + this.push(null); + }, + }); + const steam1 = new Readable({ + read() { + this.push(gzipSync(Buffer.from(JSON.stringify(bundle_1Data)))); + this.push(null); + }, + }); + const steam2 = new Readable({ + read() { + this.push(gzipSync(Buffer.from(JSON.stringify(bundle_2Data)))); + this.push(null); + }, + }); + + retrieveBundleDataSpy.mockImplementation((storageId: string) => { + switch (storageId) { + case 'YLpTxtj_0ICoWq9HUEOx6VcIzKk8Qui1rnkhH4acbTU': + return { data: steam0 }; + case 'nLFqaswVsuwZb1QoEXdLTOiB8o69AyxEGHzmxT1TNsw': + return { data: steam1 }; + case 'PnvgDqr8xq6xr9ZIwXZAo96uMb2Zil3muoVOl6eUpD8': + return { data: steam2 }; + default: + break; + } + }); + + decoderBlockSpy.mockImplementation( + (block: JsonRpcSuccessResponse) => block, + ); + decoderBlockResultsSpy.mockImplementation( + (blockResult: JsonRpcSuccessResponse) => blockResult, + ); + injectLogSpy.mockImplementation( + (kyveBlockResult: BlockResultsResponse) => kyveBlockResult, + ); + + const blocks = await Promise.all([ + kyveApi.getBlockByHeight(1), + kyveApi.getBlockByHeight(151), + kyveApi.getBlockByHeight(151), + kyveApi.getBlockByHeight(300), + kyveApi.getBlockByHeight(301), + ]); + + const cachedBundles = await fs.promises.readdir(tmpPath); + expect(cachedBundles.length).toBe(3); + expect(blocks.length).toBe(5); + + const bundles = (await Promise.all([ + (kyveApi as any).getBundleById(0), + (kyveApi as any).getBundleById(1), + (kyveApi as any).getBundleById(2), + ])) as BundleDetails[]; + + // Because somethings in the cache bundle doesn't mean its downloaded or on disc + for (const bundle of bundles) { + const stats = await fs.promises.stat( + (kyveApi as any).getBundleFilePath(bundle.id), + ); + const permissions = (stats.mode & 0o777).toString(8); + expect(permissions).toBe('444'); + } + }); + it('able to fetch/write/read blocks using Kyve api', async () => { + const heights_1 = [150, 300, 1, 301, 450, 550]; + const heights_2 = [498, 600, 801, 1100]; + const blockArr = await Promise.all([ + kyveApi.fetchBlocksBatches(registry, heights_1), + kyveApi.fetchBlocksBatches(registry, heights_2), + ]); + + blockArr.forEach((blockContent) => { + blockContent.forEach((b) => { + expect(b.block instanceof LazyBlockContent).toBe(true); + }); + }); + + const files = await fs.promises.readdir(tmpPath); + expect(files).not.toContain('bundle_2_0.json'); + }); + it('Able to clear stale files', async () => { + const bundlePath = (kyveApi as any).getBundleFilePath(0); + await fs.promises.writeFile(bundlePath, 'mock'); + await fs.promises.chmod(bundlePath, 0o200); + + await (KyveApi as any).clearStaleFiles(tmpPath, '2'); + + const isExist = await fs.promises + .access(bundlePath) + .then(() => true) + .catch(() => false); + expect(isExist).toBe(false); + }); + it('Should increment bundleId when height exceeds cache', async () => { + (kyveApi as any).cachedBundleDetails[0] = (kyveApi as any).getBundleById(0); + jest.spyOn(kyveApi as any, 'getBundleData').mockResolvedValueOnce('{}'); + await (kyveApi as any).updateCurrentBundleAndDetails(160); + + expect((kyveApi as any).cachedBundleDetails['1']).toBeDefined(); + }); + it('compare block info', async () => { + const height = 4282099; + const tendermintBlockInfo = await tendermint.block(height); + const [kyveBlockInfo] = await kyveApi.getBlockByHeight(height); + expect(isEqual(tendermintBlockInfo, kyveBlockInfo)).toBe(true); + }); + it('Compare reconstructed logs and RPC logs', async () => { + const height = 4284742; + + const blocks = await (kyveApi as any).updateCurrentBundleAndDetails(height); + const blockData = (kyveApi as any).findBlockByHeight(height, blocks); + + const blockRes = (kyveApi as any).decodeBlockResult( + blockData.value.block_results, + ); + const reconstructedKyveBlock = (kyveApi as any).injectLogs(blockRes); + + expect(JSON.parse(reconstructedKyveBlock.results[0].log).length).toBe(1); + expect(JSON.parse(reconstructedKyveBlock.results[1].log).length).toBe(1); + + expect( + reconstructedKyveBlock.results[0].log.includes( + 'wasm-astrovault-ratio_pool_factory-update_direct_ratios', + ) && !reconstructedKyveBlock.results[0].log.includes('ibc_transfer'), + ).toBe(true); + }); + it('determine correct pool', async () => { + const lcdClient = new KyveSDK(KYVE_CHAINID, { + rpc: KYVE_ENDPOINT, + }).createLCDClient(); + + const poolId = await (KyveApi as any).fetchPoolId('archway-1', lcdClient); + + expect(poolId).toBe('2'); + }); + it('remove bundle.json if bundle fetch fails', async () => { + (kyveApi as any).cachedBundleDetails = { + '8': (kyveApi as any).getBundleById(8), + }; + + jest.spyOn(axios, 'isAxiosError').mockImplementationOnce(() => true); + + retrieveBundleDataSpy.mockImplementation(() => { + return new Promise((resolve, reject) => { + reject('Failed to fetch'); + }); + }); + + const bundleDetails = await (kyveApi as any).cachedBundleDetails['8']; + await expect((kyveApi as any).getBundleData(bundleDetails)).rejects.toBe( + 'Failed to fetch', + ); + + const files = await fs.promises.readdir(tmpPath); + expect(files.length).toBe(0); + }); + it('ensure to remove logic', async () => { + const mockCachedBundles: Record> = { + '0': (kyveApi as any).getBundleById(0), + '1': (kyveApi as any).getBundleById(1), + '2': (kyveApi as any).getBundleById(2), + '3': (kyveApi as any).getBundleById(3), + '4': (kyveApi as any).getBundleById(4), + }; + + (kyveApi as any).cachedBundleDetails = mockCachedBundles; + + const height = 650; + const bufferSize = 300; + + const toRemoveBundles = await (kyveApi as any).getToRemoveBundles( + mockCachedBundles, + height, + bufferSize, + ); + + expect(toRemoveBundles.sort().map((b) => b.id)).toEqual(['0', '1'].sort()); + }); + it('Able to poll with simulated workers', async () => { + const mockCacheDetails = { + '151003': (kyveApi as any).getBundleById(151003), + }; + (kyveApi as any).cachedBundleDetails = mockCacheDetails; + + const workerKyveApi = await KyveApi.create( + 'archway-1', + KYVE_ENDPOINT, + KYVE_STORAGE_URL, + KYVE_CHAINID, + tmpPath, + 1, + ); + + (workerKyveApi as any).cachedBundleDetails = mockCacheDetails; + + jest + .spyOn(workerKyveApi, 'downloadAndProcessBundle') + .mockImplementation(async (bundle: BundleDetails) => { + await delay(2); + return kyveApi.downloadAndProcessBundle(bundle); + }); + + jest + .spyOn(workerKyveApi as any, 'retrieveBundleData') + .mockImplementation(() => { + return { data: mockStream }; + }); + + retrieveBundleDataSpy.mockImplementation(() => { + return { data: mockStream }; + }); + + const pollSpy = jest.spyOn(workerKyveApi as any, 'pollUntilReadable'); + await Promise.all([ + kyveApi.fetchBlocksBatches(registry, [4326863]), + workerKyveApi.fetchBlocksBatches(registry, [4326863]), + ]); + + expect(pollSpy).toHaveBeenCalledTimes(1); + + const r = await kyveApi.readFromFile( + (kyveApi as any).getBundleFilePath('151003'), + ); + + expect(r).toEqual(JSON.stringify(block_4326863)); + }); + it('isBundle', () => { + const bundle = 'bundle_2_0.json'; + const notBundle = 'data.json'; + + expect((KyveApi as any).isBundleFile(bundle, '2')).toBe(true); + expect((KyveApi as any).isBundleFile(notBundle, '2')).toBe(false); + }); + it('clear existing bundle files in directory when outside buffer', async () => { + await fs.promises.writeFile((kyveApi as any).getBundleFilePath(0), 'mock'); + await fs.promises.writeFile((kyveApi as any).getBundleFilePath(1), 'mock'); + + const removeFiles = await (kyveApi as any).getToRemoveBundles([], 800, 1); + + expect(removeFiles.map((r) => r.id).sort()).toEqual(['0', '1'].sort()); + }); + it('ensure file bundle id regex is correct', () => { + const files = [ + 'bundle_2_0.json', + 'bundle_2_1.json', + 'bundle_2_2.json', + 'bundle_2_3.json', + 'bundle_5_0.json', + 'bundle_4_0.json', + 'bundle_3_0.json', + 'bundle_1_0.json', + ]; + + expect( + files.filter((f) => (KyveApi as any).isBundleFile(f, '2')).length, + ).toBe(4); + }); + describe('able to wrap kyveBlock', () => { + let rpcLazyBlockContent: LazyBlockContent; + let kyveLazyBlockContent: LazyBlockContent; + let tendermintBlockInfo: BlockResponse; + let tendermintBlockResult: BlockResultsResponse; + + beforeAll(async () => { + const height = 4326863; + [tendermintBlockInfo, tendermintBlockResult] = await Promise.all([ + tendermint.block(height), + tendermint.blockResults(height), + ]); + + const blockInfo = block_4326863[0].value.block; + const blockResults = block_4326863[0].value.block_results; + + const bi = (kyveApi as any).decodeBlock(blockInfo); + const br = (kyveApi as any).decodeBlockResult(blockResults); + + rpcLazyBlockContent = new LazyBlockContent( + tendermintBlockInfo, + tendermintBlockResult, + registry, + ); + kyveLazyBlockContent = new LazyBlockContent(bi, br, registry); + }); + it('wrapTransaction', () => { + expect(kyveLazyBlockContent.transactions[0].tx.data.length).toBe( + rpcLazyBlockContent.transactions[0].tx.data.length, + ); + expect(kyveLazyBlockContent.transactions[0].tx.events.length).toBe( + rpcLazyBlockContent.transactions[0].tx.events.length, + ); + expect(kyveLazyBlockContent.transactions.length).toBe( + rpcLazyBlockContent.transactions.length, + ); + }); + it('wrapMessages', () => { + kyveLazyBlockContent.messages.forEach((m, i) => { + expect(m.msg).toEqual(rpcLazyBlockContent.messages[i].msg); + }); + }); + it('wrapBlock', () => { + expect(kyveLazyBlockContent.block.blockId.hash.length).toBe( + rpcLazyBlockContent.block.blockId.hash.length, + ); + expect(kyveLazyBlockContent.block.block.id).toBe( + rpcLazyBlockContent.block.block.id, + ); + expect(kyveLazyBlockContent.block.block.header).toEqual( + rpcLazyBlockContent.block.block.header, + ); + }); + it('wrapEvents', () => { + kyveLazyBlockContent.events.forEach((e, i) => { + const rpcEvent = rpcLazyBlockContent.events[i].event; + expect(e.event.type).toBe(rpcEvent.type); + expect(e.event.attributes.length).toBe(rpcEvent.attributes.length); + }); + }); + }); +}); diff --git a/packages/node/src/utils/kyve/kyve.ts b/packages/node/src/utils/kyve/kyve.ts new file mode 100644 index 000000000..c1d501b06 --- /dev/null +++ b/packages/node/src/utils/kyve/kyve.ts @@ -0,0 +1,597 @@ +// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors +// SPDX-License-Identifier: GPL-3.0 + +import assert from 'assert'; +import fs from 'fs'; +import { isMainThread } from 'node:worker_threads'; +import path from 'path'; +import * as zlib from 'zlib'; +import { JsonRpcSuccessResponse } from '@cosmjs/json-rpc'; +import { Registry } from '@cosmjs/proto-signing'; +import { logs } from '@cosmjs/stargate'; +import { + BlockResponse, + BlockResultsResponse, + TxData, +} from '@cosmjs/tendermint-rpc/build/tendermint37'; +import { Responses } from '@cosmjs/tendermint-rpc/build/tendermint37/adaptor'; // adaptor is not exported +import KyveSDK, { KyveLCDClientType } from '@kyvejs/sdk'; +import { SupportedChains } from '@kyvejs/sdk/src/constants'; // Currently these types are not exported +import { QueryPoolsResponse } from '@kyvejs/types/lcd/kyve/query/v1beta1/pools'; +import { delay, getLogger, IBlock, timeout } from '@subql/node-core'; +import axios, { AxiosResponse } from 'axios'; +import { BlockContent } from '../../indexer/types'; +import { formatBlockUtil, LazyBlockContent } from '../cosmos'; +import { isTmpDir } from '../project'; +import { BundleDetails } from './kyveTypes'; + +const BUNDLE_TIMEOUT = 10000; //ms +const WRITER_TIMEOUT = 3; //sec +const PROCESS_BUNDLE_TIMEOUT = 20; //sec +const POLL_TIMER = 3; // sec +const POLL_LIMIT = 10; +const MAX_COMPRESSION_BYTE_SIZE = 2 * 10 ** 9; +const BUNDLE_FILE_ID_REG = (poolId: string) => + new RegExp(`^bundle_${poolId}_(\\d+)\\.json$`); + +const parseDecimal = (value: string) => parseInt(value, 10); + +const logger = getLogger('kyve'); + +class ExistsError extends Error { + readonly code = 'EEXIST'; +} + +// eslint-disable-next-line @typescript-eslint/no-var-requires +const { version: packageVersion } = require('../../../package.json'); + +interface KyveBundleData { + value: { block: any; block_results: any }; + key: string; +} + +export class KyveApi { + private cachedBundleDetails: Record> = {}; + + private constructor( + private readonly storageUrl: string, + private readonly tmpCacheDir: string, + private readonly poolId: string, + private readonly lcdClient: KyveLCDClientType, + private readonly removeBuffer: number, + ) {} + + static async create( + chainId: string, // chainId for indexing chain + endpoint: string, + storageUrl: string, + kyveChainId: SupportedChains, + tmpCacheDir: string, + removeBuffer: number, // The buffer before a bundle file is removed from disc + ): Promise { + if (!isTmpDir(tmpCacheDir)) { + throw new Error('File cache directory must be a tmp directory'); + } + + const lcdClient = new KyveSDK(kyveChainId, { + rpc: endpoint, + }).createLCDClient(); + + const poolId = await KyveApi.fetchPoolId(chainId, lcdClient); + + await this.clearStaleFiles(tmpCacheDir, poolId); + + logger.info(`Kyve API connected`); + return new KyveApi( + storageUrl, + tmpCacheDir, + poolId, + lcdClient, + removeBuffer, + ); + } + + private static async fetchPoolId( + chainId: string, + lcdClient: KyveLCDClientType, + ): Promise { + const poolsResponse = + (await lcdClient.kyve.query.v1beta1.pools()) as unknown as QueryPoolsResponse; + + for (const p of poolsResponse.pools) { + try { + const config = JSON.parse(p.data.config); + if (config.network === chainId) { + return p.id; // Return the matching pool ID + } + } catch (error) { + throw new Error( + `Error parsing JSON for pool with id ${p.id}: ${error}`, + ); + } + } + + throw new Error(`${chainId} is not available on Kyve network`); + } + + private static async clearStaleFiles( + fileCacheDir: string, + poolId: string, + ): Promise { + if (!isMainThread) { + return; + } + const files = await fs.promises.readdir(fileCacheDir); + + const isStaleBundle = async (file: string) => { + try { + const bundlePath = path.join(fileCacheDir, file); + + const isStale = + ((await fs.promises.stat(bundlePath)).mode & 0o777).toString(8) === + '200'; + + if (isStale) { + await KyveApi.unlinkFile(bundlePath, `Removed stale bundle: ${file}`); + } + } catch (e) { + logger.error(e, 'Error clearing stale files'); + if (e.code !== 'ENOENT') throw e; + } + }; + await Promise.all( + files + .filter((f) => KyveApi.isBundleFile(f, poolId)) + .map((bundleFile) => isStaleBundle(bundleFile)), + ); + } + + private static isBundleFile(filename: string, poolId: string): boolean { + return BUNDLE_FILE_ID_REG(poolId).test(filename); + } + + private decodeBlock(block: JsonRpcSuccessResponse): BlockResponse { + return Responses.decodeBlock({ + id: 1, + jsonrpc: '2.0', + result: block, + }); + } + + private decodeBlockResult( + blockResult: JsonRpcSuccessResponse, + ): BlockResultsResponse { + return Responses.decodeBlockResults({ + id: 1, + jsonrpc: '2.0', + result: blockResult, + }); + } + + private getBundleFilePath(id: string): string { + return path.join(this.tmpCacheDir, `bundle_${this.poolId}_${id}.json`); + } + + private async getBundleById(bundleId: number): Promise { + return (this.cachedBundleDetails[bundleId] ??= (() => { + // logger.debug(`getBundleId ${bundleId}`); + return this.lcdClient.kyve.query.v1beta1.finalizedBundle({ + pool_id: this.poolId, + id: bundleId.toString(), + }) as Promise; + })()); + } + + private async getResolvedBundleDetails(): Promise { + return Promise.all(Object.values(this.cachedBundleDetails)); + } + + private async getLatestBundleId(): Promise { + return parseDecimal( + ( + await this.lcdClient.kyve.query.v1beta1.finalizedBundles({ + pool_id: this.poolId, + index: '1', + pagination: { + reverse: true, + limit: '1', + }, + }) + ).finalized_bundles[0].id, + ); + } + + /** + * Find bundleID based on height + * @description Increment bundleId by 1 until height is found in bundle + */ + private async getBundleIdIncrement(height: number): Promise { + let bundle: BundleDetails; + let bundleId: number; + + const cachedBundles = await this.getResolvedBundleDetails(); + const nearestBundle = cachedBundles.filter( + (b) => parseDecimal(b.to_key) < height, + ); + + bundleId = Math.max(...nearestBundle.map((b) => parseDecimal(b.id))) + 1; + + bundle = await this.getBundleById(bundleId); + + while (parseDecimal(bundle.to_key) < height) { + bundleId++; + bundle = await this.getBundleById(bundleId); + } + return parseDecimal(bundle.id); + } + + /** + * Find bundleID based on height + * @description Binary search to find height in bundle + */ + private async getBundleIdSearch(height: number): Promise { + const lowestCacheHeight = Object.keys(this.cachedBundleDetails); + + let low = + lowestCacheHeight.length > 0 + ? Math.min(...lowestCacheHeight.map(parseDecimal)) + : -1; + let high = await this.getLatestBundleId(); + + while (low <= high) { + const mid = Math.floor((low + high) / 2); + const midBundle = await this.getBundleById(mid); + + const fromKey = parseDecimal(midBundle.from_key); + const toKey = parseDecimal(midBundle.to_key); + + if (height >= fromKey && height <= toKey) { + return mid; + } + + if (height > toKey) { + low = mid + 1; + } else { + high = mid - 1; + } + } + throw new Error(`No suitable bundle found for height ${height}`); + } + + private findBlockByHeight( + height: number, + fileCacheData: KyveBundleData[], + ): KyveBundleData | undefined { + return fileCacheData.find( + (bk: KyveBundleData) => bk.key === height.toString(), + ); + } + + private async getBundleFromCache( + height: number, + ): Promise | undefined { + const bundles = await this.getResolvedBundleDetails(); + return bundles.find( + (b) => + parseDecimal(b.from_key) <= height && height <= parseDecimal(b.to_key), + ); + } + + private async updateCurrentBundleAndDetails( + height: number, + ): Promise { + let bundle = await this.getBundleFromCache(height); + + if (!bundle) { + const bundleIds = Object.keys(this.cachedBundleDetails); + + const bundleId = + bundleIds.length === 0 + ? await this.getBundleIdSearch(height) + : await this.getBundleIdIncrement(height); + + bundle = await this.cachedBundleDetails[bundleId]; + } + + return this.getBundleData(bundle); + } + + private async pollUntilReadable(bundleFilePath: string): Promise { + let limit = POLL_LIMIT; + while (limit > 0) { + try { + return await this.readFromFile(bundleFilePath); + } catch (e) { + if (e.code === 'EACCES') { + await delay(POLL_TIMER); + limit--; + } else { + throw e; + } + } + } + throw new Error(`Timeout waiting for bundle ${bundleFilePath}`); + } + + async downloadAndProcessBundle(bundle: BundleDetails): Promise { + const bundleFilePath = this.getBundleFilePath(bundle.id); + + // We use mode to control permissions amongst workers. + // The mode is updated once the file is finished downloading + const writeStream = fs.createWriteStream(bundleFilePath, { + flags: 'wx', + mode: 0o200, // Ensure that only writer has access to file + }); + + try { + await timeout( + new Promise((resolve, reject) => { + writeStream.on('open', resolve); + writeStream.on('error', reject); + }), + WRITER_TIMEOUT, + `Timeout waiting for write stream on file ${bundleFilePath}`, + ).catch(async (e) => { + // Timeout might be becaus of a race condition creating a write stream + // So check the file exists and allow continuing + if (e.code === undefined) { + await fs.promises.stat(bundleFilePath).catch((e2) => { + // Throw the original error if we get an error seeing if the file exists + throw e; + }); + throw new ExistsError('File exists when rechecking'); + } + throw e; + }); + + const zippedBundleData = await this.retrieveBundleData(bundle.storage_id); + + const gunzip = zlib.createUnzip({ + maxOutputLength: MAX_COMPRESSION_BYTE_SIZE /* avoid zip bombs */, + }); + + logger.debug(`Retrieving bundle ${bundle.id}`); + + await timeout( + new Promise((resolve, reject) => { + zippedBundleData.data + .pipe(gunzip) + .pipe(writeStream) + .on('error', reject) + .on('finish', resolve); + }), + PROCESS_BUNDLE_TIMEOUT, + `Timeout processing bundle from download bundleId=${bundle.id}`, + ); + + await fs.promises.chmod(bundleFilePath, 0o444); + + logger.debug(`Bundle ${bundle.id} ready`); + } catch (e) { + if (!['EEXIST', 'EACCES'].includes(e.code)) { + await KyveApi.unlinkFile(bundleFilePath); + } + throw e; + } + } + + private static async unlinkFile( + file: string, + loggerMsg?: string, + ): Promise { + try { + await fs.promises.unlink(file); + if (loggerMsg) { + logger.debug(loggerMsg); + } + } catch (e) { + // If file does not exist, no need to remove + if (e.code !== 'ENOENT') throw e; + } + } + + private async getBundleData( + bundle: BundleDetails, + ): Promise { + const bundleFilePath = this.getBundleFilePath(bundle.id); + let bundleData: string; + + try { + await this.downloadAndProcessBundle(bundle); + bundleData = await this.readFromFile(bundleFilePath); + } catch (e: any) { + if (['EEXIST', 'EACCES'].includes(e.code)) { + bundleData = await this.pollUntilReadable(bundleFilePath); + } else { + throw e; + } + } + + try { + return JSON.parse(bundleData); + } catch (e) { + logger.debug(`Bundle data is invalid ${bundleFilePath}`); + await KyveApi.unlinkFile(bundleFilePath); + throw e; + } + } + + async readFromFile(bundleFilePath: string): Promise { + return fs.promises.readFile(bundleFilePath, 'utf-8'); + } + + private async getExistingBundlesFromCacheDirectory( + tmpDir: string, + ): Promise { + const files = await fs.promises.readdir(tmpDir); + + return Promise.all( + files + .filter((file) => KyveApi.isBundleFile(file, this.poolId)) + .map((file) => { + const id = parseDecimal( + file.match(BUNDLE_FILE_ID_REG(this.poolId))[1], + ); + return this.getBundleById(id); + }), + ); + } + + private async getToRemoveBundles( + cachedBundles: Record>, + height: number, + bufferSize: number, + ): Promise { + if (!Object.keys(cachedBundles).length) { + return this.getExistingBundlesFromCacheDirectory(this.tmpCacheDir); + } + + const currentBundle = await this.getBundleFromCache(height); + const bundles = await Promise.all(Object.values(cachedBundles)); + + return bundles.filter((b) => { + const isNotCurrentBundleAndLower = + currentBundle.id !== b.id && + parseDecimal(currentBundle.id) > parseDecimal(b.id); + const isOutsiderBuffer = height > parseDecimal(b.to_key) + bufferSize; + + return isNotCurrentBundleAndLower && isOutsiderBuffer; + }); + } + + async clearFileCache( + cachedBundles: Record>, + height: number, + bufferSize: number, + ): Promise { + const toRemoveBundles = await this.getToRemoveBundles( + cachedBundles, + height, + bufferSize, + ); + + for (const bundle of toRemoveBundles) { + const bundlePath = this.getBundleFilePath(bundle.id); + try { + await KyveApi.unlinkFile(bundlePath, `Removed bundle ${bundle.id}`); + } finally { + delete this.cachedBundleDetails[bundle.id]; + } + } + } + + async getBlockByHeight( + height: number, + ): Promise<[BlockResponse, BlockResultsResponse]> { + const blocks = await this.updateCurrentBundleAndDetails(height); + const blockData = this.findBlockByHeight(height, blocks); + return [ + this.decodeBlock(blockData.value.block), + this.injectLogs(this.decodeBlockResult(blockData.value.block_results)), + ]; + } + + private injectLogs( + kyveBlockResult: BlockResultsResponse, + ): BlockResultsResponse { + try { + kyveBlockResult.results.forEach((b) => { + // log is readonly hence needing to cast it + (b.log as string) = JSON.stringify(this.reconstructLog(b)); + }); + } catch (e) { + throw new Error(`Failed to inject kyveBlock, ${e}`); + } + return kyveBlockResult; + } + + private reconstructLog(txData: TxData): logs.Log[] { + const logs: logs.Log[] = []; + + let currentLog: any = { + msg_index: -1, + events: [], + }; + + let msgIndex = -1; + for (const event of txData.events) { + const isMessageEvent = + event.type === 'message' && + event.attributes.some((e) => e.key === 'action'); + + if (isMessageEvent) { + if (msgIndex >= 0) { + logs.push(currentLog); + } + msgIndex += 1; + currentLog = { msg_index: msgIndex, events: [] }; + } + + if (msgIndex >= 0) { + currentLog.events.push(event); + } + } + + if (currentLog.events.length > 0) { + logs.push(currentLog); + } + + return logs; + } + + private async fetchBlocksArray( + blockArray: number[], + ): Promise<[BlockResponse, BlockResultsResponse][]> { + return Promise.all( + blockArray.map(async (height) => this.getBlockByHeight(height)), + ); + } + + private async retrieveBundleData(storageId: string): Promise { + return axios({ + method: 'get', + url: storageId, + baseURL: this.storageUrl, + responseType: 'stream', + timeout: BUNDLE_TIMEOUT, + headers: { + 'User-Agent': `SubQuery-Node ${packageVersion}`, + Connection: 'keep-alive', + 'Content-Encoding': 'gzip', + }, + }); + } + + async fetchBlocksBatches( + registry: Registry, + blockArray: number[], + ): Promise[]> { + const blocks = await this.fetchBlocksArray(blockArray); + const minHeight = Math.min(...blockArray); + + await this.clearFileCache( + this.cachedBundleDetails, + minHeight, + this.removeBuffer, + ); + + return blocks.map(([blockInfo, blockResults]) => { + try { + assert( + blockResults.results.length === blockInfo.block.txs.length, + `txInfos doesn't match up with block (${blockInfo.block.header.height}) transactions expected ${blockInfo.block.txs.length}, received: ${blockResults.results.length}`, + ); + + return formatBlockUtil( + new LazyBlockContent(blockInfo, blockResults, registry), + ); + } catch (e) { + logger.error( + e, + `Failed to fetch and prepare block ${blockInfo.block.header.height}`, + ); + throw e; + } + }); + } +} diff --git a/packages/node/src/utils/kyve/kyveTypes.ts b/packages/node/src/utils/kyve/kyveTypes.ts new file mode 100644 index 000000000..11072f950 --- /dev/null +++ b/packages/node/src/utils/kyve/kyveTypes.ts @@ -0,0 +1,31 @@ +// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors +// SPDX-License-Identifier: GPL-3.0 + +// Note: this is due to incorrect typings provided by kyvejs +// https://github.com/KYVENetwork/kyvejs/issues/131 +export interface BundleDetails { + pool_id: string; + id: string; + storage_id: string; + uploader: string; + from_index: string; + to_index: string; + from_key: string; + to_key: string; + bundle_summary: string; + data_hash: string; + finalized_at: FinalizedAt; + storage_provider_id: string; + compression_id: string; + stake_security: StakeSecurity; +} + +interface FinalizedAt { + height: string; + timestamp: string; +} + +interface StakeSecurity { + valid_vote_power: string; + total_vote_power: string; +} diff --git a/packages/node/src/utils/project.spec.ts b/packages/node/src/utils/project.spec.ts new file mode 100644 index 000000000..392f63079 --- /dev/null +++ b/packages/node/src/utils/project.spec.ts @@ -0,0 +1,18 @@ +// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors +// SPDX-License-Identifier: GPL-3.0 + +import { makeTempDir } from '@subql/common'; +import { isTmpDir } from './project'; + +describe('Project tests', () => { + it('ensure isTmpDir', async () => { + const tmpDir = await makeTempDir(); + expect(isTmpDir(tmpDir)).toBe(true); + }); + it('Not isTmpDir', () => { + const unixDir = '/Users/test/'; + const winDir = 'C:\\Users\\test\\'; + expect(isTmpDir(unixDir)).toBe(false); + expect(isTmpDir(winDir)).toBe(false); + }); +}); diff --git a/packages/node/src/utils/project.ts b/packages/node/src/utils/project.ts index c34302ada..00207a4bf 100644 --- a/packages/node/src/utils/project.ts +++ b/packages/node/src/utils/project.ts @@ -1,6 +1,7 @@ // Copyright 2020-2024 SubQuery Pte Ltd authors & contributors // SPDX-License-Identifier: GPL-3.0 +import os from 'os'; import { CosmosRuntimeHandler, CosmosCustomHandler, @@ -68,3 +69,10 @@ export async function loadNetworkChainType( return [packageName, root]; } + +export function isTmpDir(path: string): boolean { + const normalizedPath = path.replace(/\\/g, '/').toLowerCase(); + return normalizedPath.startsWith( + os.tmpdir().replace(/\\/g, '/').toLowerCase(), + ); +} diff --git a/packages/node/src/yargs.ts b/packages/node/src/yargs.ts index 857d19a71..9592a197c 100644 --- a/packages/node/src/yargs.ts +++ b/packages/node/src/yargs.ts @@ -22,4 +22,26 @@ export const yargsOptions = yargsBuilder({ const { reindexInit } = require('./subcommands/reindex.init'); return reindexInit(targetHeight); }, + runOptions: { + 'kyve-chain-id': { + demandOption: false, + describe: 'When indexing from Kyve, supported kyve chain-id', + type: 'string', + default: 'kyve-1', + }, + 'kyve-endpoint': { + demandOption: false, + describe: + 'If indexing a network that Kyve supports adding a Kyve LCD endpoint will fetch blocks from Kyve. Use `false` to disable kyve.', + type: 'string', + default: 'https://api-us-1.kyve.network', + }, + 'kyve-storage-url': { + demandOption: false, + describe: + 'When indexing from kyve, you can alternatively provide a different storageUrl to index data from, it is defaulted to arweave.', + type: 'string', + default: 'https://arweave.net', + }, + }, }); diff --git a/packages/node/test/block_3266772.json b/packages/node/test/block_3266772.json deleted file mode 100644 index 16963165d..000000000 --- a/packages/node/test/block_3266772.json +++ /dev/null @@ -1,869 +0,0 @@ -{ - "block_id": { - "hash": "9342E4F1D02326553D0BCCC4AEF78DB225A9A8CB1748B791A50DE29A6834B77A", - "parts": { - "total": 1, - "hash": "24D7190EA8364B629EA41C39766CC2A38D257E782500F320BA2368610ABEFCD3" - } - }, - "block": { - "header": { - "version": { - "block": "11" - }, - "chain_id": "juno-1", - "height": "3266772", - "time": "2022-05-27T07:37:37.536792362Z", - "last_block_id": { - "hash": "6403C5369ACD243F7AB01A7B577D41FC86C4E17131EB8B1ED58B1062A107A105", - "parts": { - "total": 1, - "hash": "FF9BCC40D3B805E30364C1576DD5A0C84ED4507CDA663BD8A50385B64601CC18" - } - }, - "last_commit_hash": "DBD1464F143E2C837D3B255973A4C7AAC6F84AD1AB11C48510A96EFE9B896745", - "data_hash": "E09806172DA252B7A14531C4BCB8F09A0E190C7F7C5C53487430D278289D91F8", - "validators_hash": "63FFEA17EF4CF4BCF1B64E682AB05D6C98BE63AA6B3BA74BD69E64EA5FCCF501", - "next_validators_hash": "63FFEA17EF4CF4BCF1B64E682AB05D6C98BE63AA6B3BA74BD69E64EA5FCCF501", - "consensus_hash": "1BF2556CA5D5D7EFFB540F34CB0FFC77A3202E32275557AFBD219882A9E42ACF", - "app_hash": "4BB3BFB8CA08F5A8B4C982D05D95F70CF6F803BF6A8588B502E12CC356CACBF1", - "last_results_hash": "6AADE361EA66579FE4F8041D941C1BC458B8377E11572F5996F0BCD2BEF9C75A", - "evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855", - "proposer_address": "1470B9237056641663CB4DFDEC86B064578B29BF" - }, - "data": { - "txs": [ - "CpkECpECCiQvY29zbXdhc20ud2FzbS52MS5Nc2dFeGVjdXRlQ29udHJhY3QS6AEKK2p1bm8xc2hlM21wcDQza3E4ank5ZTkzOGV0dnByOXRrbmR2aHZ2ZnJhOXYSP2p1bm8xNXUzZHQ3OXQ2c3h4YTN4M2twa2h6c3k1NmVkYWE1YTY2d3Z0M2t4bXVrcWp6MnN4MGhlczVzbjM4Zxp4eyJpbmNyZWFzZV9hbGxvd2FuY2UiOnsiYW1vdW50IjoiMjgxNDAyOTMiLCJzcGVuZGVyIjoianVubzEyNGQwenltcmtkeHY3MmNjeXVxcnF1dXI4ZGtlc214bXgydW5mbjdkZWo5NXlxeDV5bjhzNzB4M3lqIn19CoICCiQvY29zbXdhc20ud2FzbS52MS5Nc2dFeGVjdXRlQ29udHJhY3QS2QEKK2p1bm8xc2hlM21wcDQza3E4ank5ZTkzOGV0dnByOXRrbmR2aHZ2ZnJhOXYSP2p1bm8xMjRkMHp5bXJrZHh2NzJjY3l1cXJxdXVyOGRrZXNteG14MnVuZm43ZGVqOTV5cXg1eW44czcweDN5ahpYeyJhZGRfbGlxdWlkaXR5Ijp7InRva2VuMV9hbW91bnQiOiIyNDE3NTAiLCJtYXhfdG9rZW4yIjoiMjgxNDAyOTMiLCJtaW5fbGlxdWlkaXR5IjoiMCJ9fSoPCgV1anVubxIGMjQxNzUwEmgKUQpGCh8vY29zbW9zLmNyeXB0by5zZWNwMjU2azEuUHViS2V5EiMKIQPHK/0pBtEjrIN1biFnVxvj3PR6apHG7qwe4g4GcyeEVBIECgIIARiGBRITCg0KBXVqdW5vEgQxODAwEID5KxpAu32UE+tECMXQvP31Hm6DyithJ82Rl6kP15n2tIAzyz1MyeSuJAoVAsng4MwIiUe/kovJKniC11qGNBTC+2/3EA==", - "CvEBCu4BCiQvY29zbXdhc20ud2FzbS52MS5Nc2dFeGVjdXRlQ29udHJhY3QSxQEKK2p1bm8xNno5OTB4a2ZwaDh2aDR3eDkwNms1anplcmdyNHQ5Zmc5c3IzeTYSP2p1bm8xZThuNmNoN21za3M0ODdlY3pueWVhZ216ZDVtbDJwcTl0Z2VkcXQydTYzdnJhMHEwcjltcXJqeTZ5cxpHeyJzd2FwIjp7ImlucHV0X3Rva2VuIjoiVG9rZW4xIiwiaW5wdXRfYW1vdW50IjoiMTAwIiwibWluX291dHB1dCI6IjQifX0qDAoFdWp1bm8SAzEwMBJnClAKRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiECgC0Vdt+zCEEUGBRpvGFMQhxGqzUdX1KYObVtMTq6Eo4SBAoCCAEYAxITCg0KBXVqdW5vEgQxMDAwEIC1GBpAI+iSRBZ1sJNXn6R92XogDBwgOj8aF6GahdLAqDxojiUqhb3ybTk7XRQqmSuBhF20fs4zkN8XScbx3lJHiy3xsw==", - "CvoBCvcBCiQvY29zbXdhc20ud2FzbS52MS5Nc2dFeGVjdXRlQ29udHJhY3QSzgEKK2p1bm8xeDkwbTY1NXN1bWx1c2xzZnhtMjI5cGZhMmprM2NkY2hlMGp1OWoSP2p1bm8xeG1wZW56MHlreGZ5OHJ4cjN5YzNkNGR0cXE0ZHBhczR6ejN4bDZzaDg3M3VzM3Zhamxwc2h6cDY5ZBpeeyJ0cmFuc2ZlciI6eyJhbW91bnQiOiI1ODQwMjE2OTI1IiwicmVjaXBpZW50IjoianVubzE0d2twcG1mamZ3Y3J2czBzeTR3YzVwdXozdzQyYXBudWZ4dnh3bCJ9fRJpClIKRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiEDDxMUOri7iVe/ORUJnGKpYur8dYqeYHEGSmA991fKxkkSBAoCCAEY4qEBEhMKDQoFdWp1bm8SBDIwMDAQgOowGkBKDV4HJS+gfHHvr3d2ZpMmXPNslILmur8ZsfTX7XL5VEH+Kt6hWUyiQGiPpgKfoLWnPyx+rqlLAt9t5XUasPs0", - "CoECCv4BCiQvY29zbXdhc20ud2FzbS52MS5Nc2dFeGVjdXRlQ29udHJhY3QS1QEKK2p1bm8xeXo1NG5jeGo5Y3NwN3VuM3hsZWQwM3E2dGhycmh5OWN1enh6bjcSP2p1bm8xZThuNmNoN21za3M0ODdlY3pueWVhZ216ZDVtbDJwcTl0Z2VkcXQydTYzdnJhMHEwcjltcXJqeTZ5cxpSeyJzd2FwIjp7ImlucHV0X3Rva2VuIjoiVG9rZW4xIiwiaW5wdXRfYW1vdW50IjoiMjY5NTkxMTMiLCJtaW5fb3V0cHV0IjoiMTYzMDkzMCJ9fSoRCgV1anVubxIIMjY5NTkxMTMSaQpSCkYKHy9jb3Ntb3MuY3J5cHRvLnNlY3AyNTZrMS5QdWJLZXkSIwohA16eCFm856LFH9b9Jlz3lpad8mRYOyqh++A++xKCl1NxEgQKAggBGIqiARITCg0KBXVqdW5vEgQxMDAwEJChDxpA+iJDRNIuOvegBpartp4kZTBaflEG+0jwATjklO8a6vwtzIl7lpHozrlgIkfdceKFDauYsU9JseJiSr7lpA3sBw==" - ] - }, - "evidence": { - "evidence": [] - }, - "last_commit": { - "height": "3266771", - "round": 0, - "block_id": { - "hash": "6403C5369ACD243F7AB01A7B577D41FC86C4E17131EB8B1ED58B1062A107A105", - "parts": { - "total": 1, - "hash": "FF9BCC40D3B805E30364C1576DD5A0C84ED4507CDA663BD8A50385B64601CC18" - } - }, - "signatures": [ - { - "block_id_flag": 2, - "validator_address": "80F24BFDA3E6A8C1BAC0517E7665AC9145D609F7", - "timestamp": "2022-05-27T07:37:37.511037302Z", - "signature": "oJL6bWXMlsteps0ZayRGQO35kEq3eDJAJVELO+bAcySBI9RKCKW6gTHqsITn5dSSM6XkUAfufUVUWtublZAbDQ==" - }, - { - "block_id_flag": 2, - "validator_address": "1470B9237056641663CB4DFDEC86B064578B29BF", - "timestamp": "2022-05-27T07:37:37.569783772Z", - "signature": "Hm9O8pZschz7ifeuUabiErB002zrsTxUSq0jp0hizzhndheRkt5vJ4gp1reNkBLQhz+8/AfdGseTo3OC3qL1CA==" - }, - { - "block_id_flag": 2, - "validator_address": "D971748C41BD4B777502DCABE903A71A3669A77A", - "timestamp": "2022-05-27T07:37:37.576946579Z", - "signature": "0EUHWRwwUkwaef2pVSPuu7wlAVikfYMtv515tqNlhvxJlud/Qo3vUwkVWAQlGAfuImdc/mrGW8uDQlKziOU4AA==" - }, - { - "block_id_flag": 2, - "validator_address": "FDA77E3592437D1B06EEF7F858363587A38E1D12", - "timestamp": "2022-05-27T07:37:37.488642711Z", - "signature": "ZL6gFgKEO2eeG4YGaMuD/uWhCSxHiI7EgDQDs7uXNd3rZKV7LaJInPM6Tv6ZHLHk9I0mNFVB08pZPrnv0ZJgCA==" - }, - { - "block_id_flag": 2, - "validator_address": "9BE207CC004A3336DC527480141573DCE984FA59", - "timestamp": "2022-05-27T07:37:37.485260725Z", - "signature": "hjxABO9OiftdkJHs5ZfBaUgKvt+LlH47Rvt0kxRIMHJSOSIpwQaiK/YKY6gNF78AQ0fE+NECRd6hR2tcIWpSAQ==" - }, - { - "block_id_flag": 2, - "validator_address": "F9D7C618E5E46C3B942EC35BCC8145BA3DB8423F", - "timestamp": "2022-05-27T07:37:37.506855859Z", - "signature": "N6bGuZlsSuWanlPm7mn/Hg0cvnsfMljuyx8u1/fXdfLJDVfxAP8E0B7WryBRPbCZZK6iJqBhqj87F1XbEMXlDw==" - }, - { - "block_id_flag": 2, - "validator_address": "1B431E63CC50C7BA283AC9E2F0A13FDD1FC86F74", - "timestamp": "2022-05-27T07:37:37.536792362Z", - "signature": "2WVkRcZUkmWYw1voV8qWWyzZoJ6wD+KFq6si/kMHZjxVqPo6lhLInk3ANze5oU4n4HdCOba+DWcg4k4I9FbKAQ==" - }, - { - "block_id_flag": 2, - "validator_address": "A50CF609192A6CF1C6835D56274D18B30459425E", - "timestamp": "2022-05-27T07:37:37.52533792Z", - "signature": "Rl0nRhuYDMu6iC6un7lXWRWu0XG7D9tNMXZmgxRLyuAO42lOwcbUgG5pcgS4kwKzTVik2tgbiN34CY+d+xLhCA==" - }, - { - "block_id_flag": 2, - "validator_address": "82B52E238C9A4506E00CEDE1D6A167A2EF1EE4F5", - "timestamp": "2022-05-27T07:37:37.543338397Z", - "signature": "419Y2zHMjt7AsNouzDEiAKVvxSrDIvj+8FOsmvkwBtv7/TOkLnHgiXe+zwu6ki7QjrLLI4CrIw3ZMZMFuOBoAQ==" - }, - { - "block_id_flag": 2, - "validator_address": "942EE4CEC79B9B74F95681A1C7FEC8A6C9C0389C", - "timestamp": "2022-05-27T07:37:37.621879349Z", - "signature": "IuSc/qFBg5qztJXnfSmENfYOnPH/81b/BmsKU80c7y5WMMFFxUTzY+dfoXX+wxNOXyxViHqNzCkMoIC8h79TCg==" - }, - { - "block_id_flag": 2, - "validator_address": "970C896E7C2CE31811E2BC784167108AFC1F44B0", - "timestamp": "2022-05-27T07:37:37.540494955Z", - "signature": "70+AKU2avG9KQSnYvlsehyp/zcqHLdnUdHgCHZN098DDqANXDm8WMEP/Rkx6eiBtMJ92a2ggsC1sCrohLmYICA==" - }, - { - "block_id_flag": 2, - "validator_address": "6D2B3AC0DEC4412CA87714E1F1B1BEE882E62F5A", - "timestamp": "2022-05-27T07:37:37.557864376Z", - "signature": "pt3wLu2d2lQAUL5UE7xngfn+ZPDzBCT28O39Yr4JzIja4dMVzSUp8YTygNnhszJOUQ2AZin1zX8bytUGzhFhDg==" - }, - { - "block_id_flag": 2, - "validator_address": "FCF0C1EAE20E3C808B4C3E5112AA49AE01C60F8C", - "timestamp": "2022-05-27T07:37:37.577691486Z", - "signature": "ZOS9Gi+4yoGg5BCR/DLt0u2WW6ltqHub0EZmIc0BPpgT5UWf7LzNqvzRN5JAGPt+gQSEVv1df5Nqvz51TRnHBQ==" - }, - { - "block_id_flag": 2, - "validator_address": "26DD4D34B61136958ED2E7E0BE710291417F77E9", - "timestamp": "2022-05-27T07:37:37.572890859Z", - "signature": "6xBYLOouESglH7LiOUWpIxS9QRr2hvcjMu6ghfpIjjPywRAUAqzWZ+1GLvY6D74HofoBymQ+CWTpYptsXIjWCg==" - }, - { - "block_id_flag": 2, - "validator_address": "6EC804DBB72380D0AA5AC6A82650A1FA75FBABC5", - "timestamp": "2022-05-27T07:37:37.62432082Z", - "signature": "N36SLwVIzsVVkoGJT2SmobciJCAQG+48YLFdIJogjY2ycqP0mzltgcHbLwFbX+udGr+bQY3A8ts+9gGJPEoKDQ==" - }, - { - "block_id_flag": 2, - "validator_address": "65974BBB920B9393C197F195FB7B214739DBEC70", - "timestamp": "2022-05-27T07:37:37.469951823Z", - "signature": "u1lLpRDnFlqIfWyhjJKk4sF2HTLM+KA1ujBty993d94Zv5bfewSazMQFAX3jCqj9s7EhyGKGxV8oSZHCFqgpBQ==" - }, - { - "block_id_flag": 2, - "validator_address": "488AB967720358A2EFAEE5922617148978AF546C", - "timestamp": "2022-05-27T07:37:37.505516032Z", - "signature": "5tWEJsxjSYrGn5KaIi5NT+Ql/fQsIU50eC3MvCnjdzyotYeE8HFX0/FdHP0ob9O4mPGCzKL3g4SZfEcwepveAA==" - }, - { - "block_id_flag": 2, - "validator_address": "6678356FBEC44F52259BC8711B35400F440FC8EB", - "timestamp": "2022-05-27T07:37:37.469055297Z", - "signature": "dCiwUioXIGBbZjvAl54YDyyoUnjCzZAtMrRwg4K+9SAfYWSXcgrjmePR7VgH2oAguxvMVg+TFH3BwuqLSzJXDg==" - }, - { - "block_id_flag": 2, - "validator_address": "687E9D3B8DBC07E22DBA8A8FABBD1E7C51EB48C6", - "timestamp": "2022-05-27T07:37:37.497949369Z", - "signature": "MwS3nMJibGxrR0KqNv2Hs5kq0rmMYqD+AQrlsYrNHorA7gTRWqkSP4bBZZAxJq0fxK4Gy4OUOLPi4pv0pHmNDw==" - }, - { - "block_id_flag": 2, - "validator_address": "CB8E49AB7CC1F4F17E79B2C14D31A9C0EE8ABBA6", - "timestamp": "2022-05-27T07:37:37.61740533Z", - "signature": "BLzP+qE14tQEljse6SQKbbH0tQZfhcOlBbqReztQwHnz0MeHjfnyjVvMDMnUHGVeTY3JJHq2NYbhpVeBQMLRAw==" - }, - { - "block_id_flag": 2, - "validator_address": "8EE87E2FBCC518774574652AA8F82BFA3FCDFF9D", - "timestamp": "2022-05-27T07:37:37.474632791Z", - "signature": "lJB2yyVVhe+TlGSdupSCZszn+LtHg3WXCxdny6YJpQTTiPuudbyMMmtXMchNrUJmAEA/ApyMFCHP1Q1Xh4ghCQ==" - }, - { - "block_id_flag": 2, - "validator_address": "64B93D226FD19BFFE48A802ED742D1DC427693EF", - "timestamp": "2022-05-27T07:37:37.502050309Z", - "signature": "w4cnSz8zUQm+f523uIK0L5ozhKdjCuhfWHvbwGI+ohCYoeEiNIwNE1Cs9XmbwQAC/sM2yoVoKQfCjGL/mqLnAQ==" - }, - { - "block_id_flag": 2, - "validator_address": "33E7D788A563CF87FA86AA63817A198A43364EDE", - "timestamp": "2022-05-27T07:37:37.558923058Z", - "signature": "yhWcGbvZPCpAyxtHSVqFZ4p5ni9nmpY6sVFaA12hqjmOrRHyR2/Czw5b/UhQClhXOWfqjIMezYZKxmiwQ2FlAw==" - }, - { - "block_id_flag": 2, - "validator_address": "04A6A9DF0BE221876FAFDBF8DAAE94732484F14A", - "timestamp": "2022-05-27T07:37:37.479072497Z", - "signature": "18XDBby4hKwLi1k1soKJdQdfjesp7uC8Hndzu/b0WNmpx37O5TSjCBtdtCeEc8I7Rov7xKCov2r8YXk7CzjDAQ==" - }, - { - "block_id_flag": 2, - "validator_address": "213643E026A49E93FAB4E53D54C18A77F9B651B1", - "timestamp": "2022-05-27T07:37:37.565691745Z", - "signature": "sAbe4DqDOMOA5upN+kLLbjxgzFS09m0Fi6MwQ2KcfJQce6iEf+wqooDHJQ2mTb1P5PsHaGGJBDu+4VxmUskYAQ==" - }, - { - "block_id_flag": 2, - "validator_address": "A36CA0EC8C74C3F6774FE1DBCB66D77085A8B44D", - "timestamp": "2022-05-27T07:37:37.71257355Z", - "signature": "TooAL9d9Mrq9aDOuI0WGWKqvbAYiFt3r5hGhWRQLpC7bHX5RCWh1jCLEhj2/+BGb+7gs2JLAzBIi1Y8Eg8TdCA==" - }, - { - "block_id_flag": 2, - "validator_address": "0F1ED70645D475745565C702588BD1EEBA62C28B", - "timestamp": "2022-05-27T07:37:37.510265288Z", - "signature": "msO1P4xJQDNFcdEuzs3lxQURJzM58H/LZ7QV5klQpkOXPvmihTkHVhay8qDiSKqT6tVESC5L/T00uQlgWJhpBg==" - }, - { - "block_id_flag": 2, - "validator_address": "8118709AEA2CF6775E97021180F4F17FFF545523", - "timestamp": "2022-05-27T07:37:37.514006338Z", - "signature": "eqNkoGnhMqDMFg3OOTYRCz/8rc6F/A91KLl9l+fKt0rO0fPbgzvekSCpL/zmU/VboJeivf04VtMW+yZ9s4qRCw==" - }, - { - "block_id_flag": 2, - "validator_address": "7992AB6A4A94EB3EE9D5D3E6E4129D2F0AF5D2D3", - "timestamp": "2022-05-27T07:37:37.555936017Z", - "signature": "TKBQCFqm0Ac11fRkjldTqROygMy7Uitfw4f7jfQq+CYmwDHAiKxnXAakv5lSXTlF6ckx2BVI5Sq/G4Gb3WoLBw==" - }, - { - "block_id_flag": 2, - "validator_address": "31E927F677282369B7E57D39FF9C47E3845BFDEA", - "timestamp": "2022-05-27T07:37:37.493485796Z", - "signature": "MTqZMa78zZ2kKnouLwbWQ1PDaQYsWE4zFzFo8+8COMIXiYplwcIkMfgCfljSC1wRVVahXytwZB720tBgWAT+Bg==" - }, - { - "block_id_flag": 2, - "validator_address": "3876144FE42DD069E414F648A9FA2C933D4939DF", - "timestamp": "2022-05-27T07:37:37.552204213Z", - "signature": "2OrscTDd/3+6fT1TBtw8zq0t6Z9Ol0K+g17fnBbDUKtqaIvI5fjeM529bNPa2n0ScAt6qPVYbHqgjnIjxot7AA==" - }, - { - "block_id_flag": 2, - "validator_address": "05F1DCE023B7415274B8400D7D8B95AE95E625F3", - "timestamp": "2022-05-27T07:37:32.665653456Z", - "signature": "TZwkpe+bw4NkbzZFIZFGOjYgqyAYv0B6jtx5Ak18iVsz4l7wo07zgCZz6+fM76uv2EpmFBGYcoR31csktIQpCA==" - }, - { - "block_id_flag": 2, - "validator_address": "B57D60F0B3E0F9548D1C60385D46584356DD61DC", - "timestamp": "2022-05-27T07:37:37.511821012Z", - "signature": "ERg3QaO4W4Aw+1Xm5sKV03XuW9fL9Jx6G3ygNA10UKv2GO9OVPot3b0Fk24qeF67mR3uq14sRZtEMUiYANAUDQ==" - }, - { - "block_id_flag": 2, - "validator_address": "EF5DC39DD40EFF73A2ACD4318812CAFF2EAAA2A9", - "timestamp": "2022-05-27T07:37:37.555277023Z", - "signature": "xQWFqJc7NH9nuME4ZgcMBYUxapKFsGCbeHHwC9D4F4cFXVRKFO6XPXj7gJKd8T1/4Qc6KP0+iRF6KOvpQ7MwCg==" - }, - { - "block_id_flag": 2, - "validator_address": "A958667703E4097A2A949F46321CAFFC794F52DD", - "timestamp": "2022-05-27T07:37:37.48821794Z", - "signature": "1nBsC+5k9FR8kmjbm7uJQfff6+zeBIODjYGEz76liV8zvaff3zSNmsXVDsy6GkfOEA4R06WrxTvTgAjNG0HqDA==" - }, - { - "block_id_flag": 2, - "validator_address": "6BAE36E65B4D487DAB771AE0BD6229795189C6D7", - "timestamp": "2022-05-27T07:37:37.507093792Z", - "signature": "cijbqflJuuQRIPbuEhb1XuKoRrPk5HQLMVnrks6DCkZPIZBRK99CSRt97hP5RKqBuRCus45dPLaC9T4XvFmcAg==" - }, - { - "block_id_flag": 2, - "validator_address": "1A3535BCDDE63C6620F13E5E558418C87C2A0E05", - "timestamp": "2022-05-27T07:37:37.591471269Z", - "signature": "hQ8hlZAs+ZrQnSUkO3mhESkFsQziduoZbj+ot7qGC/53mbjpKXHsfvTnLI58g+YMfDxO3Jwrx9LR+v3Tdkx/DA==" - }, - { - "block_id_flag": 2, - "validator_address": "4E59DD9BDC58EAEFC5057511EF116663A75221C7", - "timestamp": "2022-05-27T07:37:37.652492114Z", - "signature": "Vc0eHv+P7dbX7WS44Qs8A8SobPmxUe4cc2JI05woQJv8GfpCOrLiNd/U4xdOEIJd86yR4h5HVud5qlGUdoFuDg==" - }, - { - "block_id_flag": 2, - "validator_address": "FCB482F4E0111DF6C85DB7099B473608ED67248F", - "timestamp": "2022-05-27T07:37:37.474322381Z", - "signature": "awfTCHmCNSL/GLtPHcqf4P9tj3fDoHy2MqY3CIAiTaZgwj48i64B0QwE+sKs5R33/xXj5uKLEoEi7LVmHJGiBg==" - }, - { - "block_id_flag": 2, - "validator_address": "376258981B5C8270319BE5CD655C628903DC41C1", - "timestamp": "2022-05-27T07:37:37.820254888Z", - "signature": "/JS55OAj1w8/+BxLMQZ9VLtsLtzzHX2sSJlsbjUKbXNoXPZF1X7IUz4RxkdqrYDRlWgq7gapCZ/x5WXSIO82Dg==" - }, - { - "block_id_flag": 2, - "validator_address": "71D07A7BA468ABC50B234F93200F4D91B4AA784A", - "timestamp": "2022-05-27T07:37:37.613532334Z", - "signature": "j8U0kt/yTaX/vWSt/N8olgvxPIaE6VEo2qcNR9pGuDDgr9RlbWF3cAbDsoVHI30aLaJa67F/YRevHxzcyLCMAA==" - }, - { - "block_id_flag": 2, - "validator_address": "49CC3E18B688BE70AD1FB8D9AD7D18CA8F9628ED", - "timestamp": "2022-05-27T07:37:37.517961423Z", - "signature": "1tWvg7THJvEoAAqjbXxA1v+Xu77q1Pyyr8iBoVrF4IuSsdeITZWU7oERMpkvdPoCL/akWhPpQ8xmLJ6VwjqzDw==" - }, - { - "block_id_flag": 2, - "validator_address": "B67DDDDF3392C5980B4E0868CC1770BE9118FE65", - "timestamp": "2022-05-27T07:37:37.485814301Z", - "signature": "zi4FjYo68Q5j0NsSy/n8yBcdsAGMgE3ybEbNtIobLriE75glRby+HrB+xAocNDxwmYgQxBhZ/AwtSokWHFp/DA==" - }, - { - "block_id_flag": 2, - "validator_address": "27CA3B44886E4E2B33784D49E6EB60072B7788B1", - "timestamp": "2022-05-27T07:37:37.503900041Z", - "signature": "VOnyyRqwbdqwH4P3oyt7kCIcOLNDdN6Mhq+NmJoY7fc7sdfCWPuNKEwnGbpZmTrAA0lXcYex1dolPzlGzbBQDg==" - }, - { - "block_id_flag": 2, - "validator_address": "D21150DC3691E006B169748003944172CB4B0A74", - "timestamp": "2022-05-27T07:37:37.54972731Z", - "signature": "085QDrufitdQiWIBKuV7Oowtys9qmlpqhtIq1nObqdxbWE+SI9IYxdTkj1DzS0KY0tSBSGctni1l+fYnppnbBg==" - }, - { - "block_id_flag": 2, - "validator_address": "CEE07615BB3D2467E0982E9F6EEBCB4197AF041E", - "timestamp": "2022-05-27T07:37:37.545273811Z", - "signature": "O1/v3sCt+CLyIczeRkDBeTBZRXOOj6rRvQj8r/be3ez3jsZtauHNTRLzFKD3iA1+N5MI2VqzjAX43T7+OlExCg==" - }, - { - "block_id_flag": 2, - "validator_address": "889BE248D8CA73655A61BA48CF5EBBCC036DC183", - "timestamp": "2022-05-27T07:37:37.504048514Z", - "signature": "ddee3EQlUAcKbxWEpopBUhOqarUkaE2rwAQNQ6pvSILmLmKb9gZ+9vWMiIyJQJK7l7M5DJTQBB75UvIVL/dKBw==" - }, - { - "block_id_flag": 2, - "validator_address": "9945C4BCA1EFAD0E461EB84D79CC283130AD569E", - "timestamp": "2022-05-27T07:37:37.461611461Z", - "signature": "V+H6PLsUlODNfW7HgkviF3RZZVlIfWWNasijJD3GAM2v9zBxtaZ84krh+4XnjjBeZZRPQTjLcmFsMUZbwR1gCw==" - }, - { - "block_id_flag": 2, - "validator_address": "7A81D65970042457FA7E4A3DA96C4B73D52DBF8D", - "timestamp": "2022-05-27T07:37:37.56992617Z", - "signature": "Xqbuz3iRNUBuI84qzVz+9IWbUwC1JhCiwzWQFRfouGnGruMuWmpYcX5znI64dvXFembqMtORSkTmzqn6NliVBg==" - }, - { - "block_id_flag": 2, - "validator_address": "10DED706EFAE3E176E39559EB9927AC30DB1F0E8", - "timestamp": "2022-05-27T07:37:37.558555739Z", - "signature": "ZeVeAsb8AhxArrehpr8WFffUL3NUSbCnOL7sSV0NrYC9cJjB3Wp2AaMkyUyDlFSp7jhYyREnbQ/h9Seu0DeECw==" - }, - { - "block_id_flag": 2, - "validator_address": "D8D80BD5D6D758C3014374AA8EEC545F46686151", - "timestamp": "2022-05-27T07:37:37.503647636Z", - "signature": "LXoK2j3uNp2U8RU5R3DXitUD86k7yWGgDMlQ/SlWlVitL/8eK+TPj9X654BQog87fjK3b8Prrcm/NT9nnzxYAQ==" - }, - { - "block_id_flag": 2, - "validator_address": "A758F131985687FE5F72DEC968B96C21C20DC93D", - "timestamp": "2022-05-27T07:37:37.460765743Z", - "signature": "WJ9hf6oVZyt8qOz5bm+5zD0idF3OE/p2PI/1lG/z6ZhCa1YVaX3iGlKbpRk2SssB0Fy94jvWwpAG2Uk3tD9CCQ==" - }, - { - "block_id_flag": 2, - "validator_address": "E9874B0B0E95D84925928565222604549133B254", - "timestamp": "2022-05-27T07:37:37.507048086Z", - "signature": "/HtpPek8ysqejYgaQQE2yhRoyqAA4kvZFUP0z2UM6Ous+Ak3h6o0sccL+F+gzL8jWLVF1yBK0iNOTFkIhjmzCQ==" - }, - { - "block_id_flag": 2, - "validator_address": "011CA32A120D5F8007BE9D2AA60C1C7AE8F02634", - "timestamp": "2022-05-27T07:37:37.495766891Z", - "signature": "tVr5K5jeqzCuPIV3Eg606XK1wefZnIBJSbViUNNSQFFZPKF/a36vrSsSVSAz/F/fOErBlI91vkCS/LRxRaQMBQ==" - }, - { - "block_id_flag": 2, - "validator_address": "154B35F02A0881E71F45CDDC4AA46FD310E20812", - "timestamp": "2022-05-27T07:37:37.523558348Z", - "signature": "XQIxCZnyoM/uN9mYNhAZuLrfQbntmnWREKGgVrGuJOOpptNdoLOw45pd0zfueZ0b29+BeCyEVv9MJCrbrXiABw==" - }, - { - "block_id_flag": 2, - "validator_address": "1A0FB0B119DD4A7606EAA5ACE96C59A8EDA70734", - "timestamp": "2022-05-27T07:37:37.611094149Z", - "signature": "k1TG7EVBM9KWK1t+mCN6s8ejzCgSJk10K/dUrDAduOS/A1QzWKWEwQtzwx2/aJfLUmxlN90+LOwFU56F0EPgAQ==" - }, - { - "block_id_flag": 2, - "validator_address": "BC5FDEE9EDB99B23AA43459488422CE7B0D17FC5", - "timestamp": "2022-05-27T07:37:37.559056576Z", - "signature": "ybLy9hkcYXjnp/uV+jSfWAfsrZoZ+gnJEvjp0PjXpPtHltAG/njw8g1ELym8r1bp/DqYyT6wnfWWjI4uqR6WAw==" - }, - { - "block_id_flag": 2, - "validator_address": "149825C294B6936AD8833F5F2055AFD64B6E260F", - "timestamp": "2022-05-27T07:37:37.633946566Z", - "signature": "goGFrYH+/CggBF9Kb9lywOskZ9DtMz2D3vovOQY5iJvyXK3h+hrAyxxzl7A3Aiwcy6M/fC818jT8j864IlsvCw==" - }, - { - "block_id_flag": 2, - "validator_address": "2A8023A1977E7C521107502B803AEC57FFAA6094", - "timestamp": "2022-05-27T07:37:37.517153084Z", - "signature": "YyuFA8EYxKW6NteER2Bz8+ssbGOxuKfDign+dU3CoI2ZFrtkfF3qOFJ4cKHHpkpd1AJ5huWNKoATH0BYRA0OAQ==" - }, - { - "block_id_flag": 2, - "validator_address": "D3885E6EEAA87E1D4537C2D582E628A8E150F521", - "timestamp": "2022-05-27T07:37:37.53314768Z", - "signature": "PTrBEsmoucoEo/asOoQQZ77eDiPPHonglZMrR+TG0O2vuytlSqBW89wR19cN0npberPreZyAHornNn0owF8zDA==" - }, - { - "block_id_flag": 2, - "validator_address": "ED5A383F89D74B59E040E1D33E78C9EF5323FD53", - "timestamp": "2022-05-27T07:37:37.553442527Z", - "signature": "SL88ZhmLrLNpS04JxNsanP+xqmnfs7bgBeszU5Ai0dNy6J0pl85mm8u3idEllS/6OmPL/Dg+xsbzJCL9ZHd5AA==" - }, - { - "block_id_flag": 2, - "validator_address": "8C8AAF3D135AA21DB51EA0A82D7B2FEF79E56281", - "timestamp": "2022-05-27T07:37:37.538970611Z", - "signature": "ri3F/7CrlyjYMk+QtEYOZ0sVXPdwEoYNJIUXBaivfOA8E7PurDOS16Q9iq0xQ0T5cDt4zbISXnY8y57YcJNFDw==" - }, - { - "block_id_flag": 2, - "validator_address": "FEE0233B3771EAEB26617E367138A0A6EFAA79B1", - "timestamp": "2022-05-27T07:37:37.493296728Z", - "signature": "J0e9Zmrer0mbFiuMoBtoE65fJQWJJhRa3/mgA0DT8P7C7gova1rwceDanhQQpXPQJlVsOhXFgCfDbqTaufueDw==" - }, - { - "block_id_flag": 2, - "validator_address": "C0CA289D913689AC0A9450375E4208F473FD5A2D", - "timestamp": "2022-05-27T07:37:37.63698882Z", - "signature": "EtwCW69d8Nx+MyBROiYiQBhCB4OmbSUDqURFEYEiSMzmoA+R3dZdmmOblIRtrVT8IGjZddfRhuJPAH7byztOAA==" - }, - { - "block_id_flag": 2, - "validator_address": "39C506F01CD03BE7E9470D439356744737669761", - "timestamp": "2022-05-27T07:37:37.503557253Z", - "signature": "JXyWD7iZULkNrUHL+2TJ/l/xE7a6evuoU64YyumibkmuClisjkcwvxCll/CYDlRosJr7i7KJH+gRCuhuTAyyDg==" - }, - { - "block_id_flag": 2, - "validator_address": "2C06679174476CFE44D3699A05505360FF0DC6CD", - "timestamp": "2022-05-27T07:37:37.562640142Z", - "signature": "1zL7LqrMqyzRudEP37wZSElRV2kZRoid9Ryrir2ERmstUOoRb9d8qRXv9/yE72Kw5+YSnxd+L1DvaCXMqpQ5AA==" - }, - { - "block_id_flag": 2, - "validator_address": "4ADDB982E2AB4C80ED5523416979FB8DE6F8212F", - "timestamp": "2022-05-27T07:37:37.545761505Z", - "signature": "IYcLKy+tlW+K0wEWsYEGZtTib9025SbXJuOFeFeQGHtNXY3okbN7zGwTeA0FIk5p4QQE/cK3viutYG6vxOMfBA==" - }, - { - "block_id_flag": 2, - "validator_address": "3E1DEB86DB0748495A5C7D0E3D89AEDB68BDBD32", - "timestamp": "2022-05-27T07:37:37.827215394Z", - "signature": "pVUGoWvzXPmxgiUMaUv6IKBbEmHBTUhlf3F2D4+BiFaB/MWpitwxISrwQIvJJcyKh6zS+dRsN06bHGNCS4DqBg==" - }, - { - "block_id_flag": 2, - "validator_address": "7E36265106A258FEA7940B0F5E7103C83919D7EB", - "timestamp": "2022-05-27T07:37:37.615605459Z", - "signature": "DPDnl6XuWUlECO4ETYcrhenvFxIv3CF+HXZ6TZF705/rXAuvDyXQ+MfCYI+pq6yloIPpcLuwUoIZ7p8vofn8Cw==" - }, - { - "block_id_flag": 2, - "validator_address": "706AED795780D65B06127B2CB7BF08961116C9FF", - "timestamp": "2022-05-27T07:37:37.516262094Z", - "signature": "vHHfdK+BPCzbM7KeRaUSo/HcC8yOIbQqomxtufnZM5YYlx9uFVRcR5mWdzYeH/YDQT76J7qWSFXHwdvaSq1oDA==" - }, - { - "block_id_flag": 2, - "validator_address": "5D9A2D9666D5E9360A384858584398CB6ACEBCBE", - "timestamp": "2022-05-27T07:37:37.550161023Z", - "signature": "QgoX4eUknEA3yjoNWuvHlFK/NO3GszJfkbpScs4NOxxJuJXHBQy4Qnw9kHZWhcoQfmtK6VEQvJTCDCfOfaq7AA==" - }, - { - "block_id_flag": 2, - "validator_address": "3B7925E257959679621E750F69FE97277B8DD9FC", - "timestamp": "2022-05-27T07:37:37.545360344Z", - "signature": "byFZLljQk1E87QWR3Y5TsOsneW8Y/JiHH8+HFHUe5g8bKl+i2VnLAOlzBweLf2ydaaEmqXPaIZuytf4qF8l9DQ==" - }, - { - "block_id_flag": 2, - "validator_address": "059C81DA7BC445A170F356779894257D2A587A6D", - "timestamp": "2022-05-27T07:37:37.681592139Z", - "signature": "9WvR3CH9rExkPEdmBSHKNeNmhESDuFd3VMeGsJ8OXW0C7m92ZAZZfxMwu0IgrVNU33q5ilwTBL+BGU7XMrOZAA==" - }, - { - "block_id_flag": 2, - "validator_address": "BF480EF88DB244A6DEFC6EF6C739720124CB8AFE", - "timestamp": "2022-05-27T07:37:37.553762485Z", - "signature": "tZWyN+YyW63S8VuVYSt9J0/kqJlGExL+9kzxx+7E53OR8u/+1XHVpHbo2Y1iF+ySh9hqyDhyNmzQR9zKITZyCg==" - }, - { - "block_id_flag": 2, - "validator_address": "0C64C97FA93202F4655BFE4B971EC6B75E0D90F9", - "timestamp": "2022-05-27T07:37:37.54664688Z", - "signature": "ltNz98tWBXY/rbWs9jL4bwW+EDcB1F+Oeh2atUgi2tMic3EJV10HVCzTo6t8b68yLh8OxvWb9YU7TXb9b8KdBQ==" - }, - { - "block_id_flag": 2, - "validator_address": "BA9653E03DA56F88BC1C79B091227AE9DE9D30A7", - "timestamp": "2022-05-27T07:37:37.460690667Z", - "signature": "woZFscCWdNFUC9cmXBMqVvpC7jp/uC6o9BRVL2qPn+jXMPiXGbNlX2MI6gcYEom1Srj7scUNuhXXNb3cmgP5DA==" - }, - { - "block_id_flag": 2, - "validator_address": "9764A129141805A79703E9AEEFC1D0ABCDB35F86", - "timestamp": "2022-05-27T07:37:37.560919187Z", - "signature": "EQGC+0WhzwuXR94F3XpLTf6a8Yl/TcaEHGS0dw6qwv34B0Cjn587CHR47P0GkNCN2pQ43DLWtOlP+ORWS6/GBw==" - }, - { - "block_id_flag": 2, - "validator_address": "B2F50E82D354517E17E37178A0D4A8A9644C4D4D", - "timestamp": "2022-05-27T07:37:37.562313072Z", - "signature": "jN6yfXwI6e82Ln5gBp9g5rNXnd0RBcY98Hti+4ZsfhkrHdQ3UCl3VgKjYlhA1QzMpPpsgqLT2o3H8vrRehLGAA==" - }, - { - "block_id_flag": 2, - "validator_address": "729C998ADA302CBA74B0F8887A9E23B49E0EF5B1", - "timestamp": "2022-05-27T07:37:37.557411408Z", - "signature": "ZCQH5cGb/sA88sZj26A4N898bVPJAj8/5lmrXhso5jEZWdEE5t/eBuwh90mqvEkaAIliSSz+wTRlfZas3T0uBw==" - }, - { - "block_id_flag": 2, - "validator_address": "3D680F8EF25FCF01FCD24957C665E8F23D07EA66", - "timestamp": "2022-05-27T07:37:37.583482207Z", - "signature": "x7SRmG6S70cUsgGPIVbgXUyDRpCi+ad6x5QJmCG14rXZ0hwn5zlZCwV/FVCcDGybpM8upc9hl3etTc927OXHAA==" - }, - { - "block_id_flag": 2, - "validator_address": "640B7E370FE54961870389E2BE27F616E72CDB16", - "timestamp": "2022-05-27T07:37:37.543766155Z", - "signature": "lXsgLHfU721GA2JZFHtWWLtmDgpjzuoo2c/Eci/U/kbcvuxqLIC7/jXIyPiYclq1lTiqBlFJQjAmo34Ss3WbAg==" - }, - { - "block_id_flag": 2, - "validator_address": "2C4671AC70314659E307C510876484D2920F2358", - "timestamp": "2022-05-27T07:37:37.583971081Z", - "signature": "LMM6plktdN/ua3Sl7unpzfXR/eH3i/NSMrpYCwrwi3tu3loBBLL+KIwLdrGqzQjIRWVBQpZUZXeRApKCdbyNAg==" - }, - { - "block_id_flag": 2, - "validator_address": "83F286870F6AD40171663EAB308ADA7770550EBC", - "timestamp": "2022-05-27T07:37:37.523962961Z", - "signature": "0BFyEFZczlbnQk/kL6wQB83hGHJ9ZcRgdeASJRUGKnKsS6SjXOVZRnPFdQhbLsBRQ3ICXgOiOmT3LOe0XlkVCw==" - }, - { - "block_id_flag": 2, - "validator_address": "3393EB61A267BBAFBE93E1494B498D24BDC7B9F7", - "timestamp": "2022-05-27T07:37:37.535026813Z", - "signature": "BfNy7nV5y5Jzwhb3jgBXnmhUokhO6rNaOfhVFJEeRDJ2Xk2k021cp5dZkmhFkCWlvBxbH4IrT13giCeIwPhjAQ==" - }, - { - "block_id_flag": 2, - "validator_address": "D24AA323EF77312855D4266F6D40723514733C89", - "timestamp": "2022-05-27T07:37:37.556064886Z", - "signature": "I6PSS4lrSwnWOFYJF+uLAFTjUcb11Db4AJ4q1iL76m2oOk4ysyRzB8iVRhxwFe2iCiR7YeswHr89k2cT0QSLAA==" - }, - { - "block_id_flag": 2, - "validator_address": "7ABD48C0559A2F1C0157AFE17ADE7D6178A1A26F", - "timestamp": "2022-05-27T07:37:37.562406734Z", - "signature": "y2SFiwtARCIz1pZcy7BVlLrNYYwzmNg9Yup30LBSvQ8m4lXOIRJvuIc+YI2+bUM0nbbiAwFEn/nUcpynQchRAQ==" - }, - { - "block_id_flag": 2, - "validator_address": "87EB79967FEE5FC636AF59391AB5B6DA6E5FF253", - "timestamp": "2022-05-27T07:37:37.498418301Z", - "signature": "FynjqwQN0dlAiJarS7ipLoYNzmgNEQj9Q+uoK7q+r8adbIsX63aOhZT4WxwmtZq3xx5dy2JI3bm5GC7QijYIDA==" - }, - { - "block_id_flag": 2, - "validator_address": "0EA2C640858FE3DED7DF3C1FCAD15CF1A4DD8D22", - "timestamp": "2022-05-27T07:37:37.601482545Z", - "signature": "ziKlZu5aUBoJ1OmBd3NZa+VwqykcTa6y3tTfo0mDE7jB2MZzPj190O9EViFAcEGrzo8+3fryswc0xx5xIYwaDQ==" - }, - { - "block_id_flag": 2, - "validator_address": "01AA3C530811032ED2395ED3C8B0122DEABA3DBD", - "timestamp": "2022-05-27T07:37:37.555352107Z", - "signature": "lg25sSf6ZeF0k3v3l5OVAUyEfthDnPG3SoIYuDXWrcATEIxrt0wapMBeTAv6QCsi/dbYqWfUfOsrVT+6JIr6Aw==" - }, - { - "block_id_flag": 2, - "validator_address": "891B7D6D28C39786EA4FF974231D3856EB3E27F6", - "timestamp": "2022-05-27T07:37:37.523263605Z", - "signature": "QG7ojZHRspjdYZ5e5onwKNQxYofkKddUoajAgcqe7TYN4yrOCDHh6MHuH1STo9ZxVbn6kGdXRDovzRYZ/buQAg==" - }, - { - "block_id_flag": 2, - "validator_address": "042CA91A597C492082FEFCE5D022035F106C71EB", - "timestamp": "2022-05-27T07:37:37.548827277Z", - "signature": "+X83L1Wh0GebwfFvpxffxg8z516DWyqEdusiX2NQOy5VUMcJ2+m+ItZlZ/sBU2MJHXX4mzDxTgSkb8/8ONcBBA==" - }, - { - "block_id_flag": 2, - "validator_address": "CA329DA9589ACDC1C32DAB6541F49577F306118E", - "timestamp": "2022-05-27T07:37:37.568278581Z", - "signature": "8ZeoKVbFrBz24bRRudik+xAv/rgx3QSfFi0Th7j3NqJIAnCKSiZAL3NPXXS5H2285vyuUNzOjSrRRT8TB35ACw==" - }, - { - "block_id_flag": 2, - "validator_address": "1E07465E9E4EDF4C225B1C617E95C82E9163848A", - "timestamp": "2022-05-27T07:37:37.563653262Z", - "signature": "cENdfAgih77r6EHxk2wqNDx22E3/hDVWBLWGFiIpqpJ8ikYYZsIwpsN4VLOsesWA5vizeF1LcpI8ILOK+76bBQ==" - }, - { - "block_id_flag": 2, - "validator_address": "CE7B52696BC06193E36BFB10E6CC0A3561D837D4", - "timestamp": "2022-05-27T07:37:37.522617917Z", - "signature": "uO45hqAkzteFG+lDXML2WdTks56Rb6xsU8HgLLowpJsoD83s5+Ri/ClQC5QADxd11wEPI/LB5ccvgbpbczAbAg==" - }, - { - "block_id_flag": 2, - "validator_address": "42706A040AB648A3D298025AEAB6B82F80A152D8", - "timestamp": "2022-05-27T07:37:37.542528109Z", - "signature": "e6Xg++l5YaM+D268pXzCxjOkXq6Hwm/fVZ9UyGy6QnhECOvOKEuEb7RsVl5i5VJLHEpa9KribUeTyFfoU5tGCw==" - }, - { - "block_id_flag": 2, - "validator_address": "45127DE87972C6E2648BEBABD31304542C8DF0D0", - "timestamp": "2022-05-27T07:37:37.509792692Z", - "signature": "no0mBZsZUCuFDn9qSJpYuFM+M2RxI1zwrT0iiG7fOl2xPEnpKmcI+3AJj1ec2aI/pIW2Pdci+tWQ1BuEIaFeAA==" - }, - { - "block_id_flag": 2, - "validator_address": "B7466FE6CB3118D8FD4E5F57717024E435CC0B1A", - "timestamp": "2022-05-27T07:37:37.487392281Z", - "signature": "8dkGubKDAN8Sjb3m9M6L1mAokeXMxlo7QdlsH0dHEKOLMRkmvkmqTXXw3omXVjH0hoz5gnLqQEj2IW3l+2zgCw==" - }, - { - "block_id_flag": 2, - "validator_address": "BD499BD54FDABBA28EEC8B31E657F3284351DEF0", - "timestamp": "2022-05-27T07:37:37.567760805Z", - "signature": "gzdSAm/VWWkt0vfnP53Q6HbYqCRn4yTW0mSfXAl7k7iq42+m5EGkvnx5iky3SmftNKyugqwFBXfEcbdHbq9QAA==" - }, - { - "block_id_flag": 2, - "validator_address": "482B8D3344C8F5B9FB65E697A273E6EB0D162C23", - "timestamp": "2022-05-27T07:37:37.559894591Z", - "signature": "FVmTCmLgVVnKxBvCXJ9KVD0qwlu1c2Gz1a6KfEqE64fOVeaShqHLwkZseEjCE/89BQzK4dE21bZuymRxo/vbDg==" - }, - { - "block_id_flag": 2, - "validator_address": "E9D4585FE1FEC3B317A9C69F233A19A0281F3C43", - "timestamp": "2022-05-27T07:37:37.587402559Z", - "signature": "tGNUTqxJN5rPZDD8aWjvJ21r1QBT49eSU8793wedPg/3+T3fLSOCvIs32QCttxpDPHPj/VVu2aC2u92BMplcAw==" - }, - { - "block_id_flag": 2, - "validator_address": "21F2E30ECC6F02B6BDCDF7B50F6CA8C28D527AE8", - "timestamp": "2022-05-27T07:37:37.552800371Z", - "signature": "047RXX0LxB0rPOJtgImndo62JfioNnHogQHH+fEkjLTTH6KxsP8I4pU+JJ204O4nLxArYpB+sW4odpZcAJo4Dw==" - }, - { - "block_id_flag": 2, - "validator_address": "AC4122002F3EF3D6FFBF4B84234E7F0B417B3132", - "timestamp": "2022-05-27T07:37:37.583357035Z", - "signature": "5RQLQ4aW2uAuRIuCnZzrvvD9lhDH9hghTkrqHmq8Wa/Drtn45tPjAoTuawKo5dC1SV69cjKZbtA/BNbdhtDyDA==" - }, - { - "block_id_flag": 2, - "validator_address": "2D71CB60236372A63DBB1444D6F1BD83A22D6D87", - "timestamp": "2022-05-27T07:37:37.497566658Z", - "signature": "WznKlvFs3WWFMpzxSjHY/KlAYJ0ycHiGP2HluV+y09yT2h/Hk7KdZmgAlXYTGazy/P+WMu5LLii1HO6GEELpBQ==" - }, - { - "block_id_flag": 2, - "validator_address": "554CC1217B3BA242C5F3BD11DC377C2800147EA5", - "timestamp": "2022-05-27T07:37:37.462058506Z", - "signature": "XYrZc4AItIAo1mU82MfWKLM/cffYgpNLieBWEA2Z/7Zt0VPStBF8cvOIu2gKtv6ZOn5BiH+/K4pVUXkwRLTvAg==" - }, - { - "block_id_flag": 2, - "validator_address": "71BDF6B1FBF997AD1875B74F4796CD3D6A5F6D69", - "timestamp": "2022-05-27T07:37:37.55488336Z", - "signature": "SV23Yj3d6oDwYKCaMnX0mVCT2DsFtbd4AfAKC/QEdXNLT8XjoWBFRIN35F3aHt2hjMj8q4c0cgARoZ1aZIwmDg==" - }, - { - "block_id_flag": 2, - "validator_address": "36308901CC216719B512D4EF13E1A7C6588EEE4B", - "timestamp": "2022-05-27T07:37:37.556500192Z", - "signature": "7asJMMgsmN8ti5Prs90j7JdVscV6AuqddIzn8vXvymLPOu7QwfL4Xj56MGKRl3EsVhyv6JVyxYd1wM0qwZzxAA==" - }, - { - "block_id_flag": 2, - "validator_address": "D87730AAF169362894C9EA7AA423B96D1EA957D9", - "timestamp": "2022-05-27T07:37:37.58204733Z", - "signature": "XP7B8pfNBjAbdCM9GMzbPT4WSBqAmkoUJ8+xhaxOtUYdqzEGlfKPyTPWz6jlM/9wRlH92f7tKphHchL8M/2NAA==" - }, - { - "block_id_flag": 2, - "validator_address": "F4C65C2B8D8BD96037652F375E789E2EEA4305DB", - "timestamp": "2022-05-27T07:37:37.501778362Z", - "signature": "+GIBcD8gu+tKiwtVpTvn6wSbZoknb8P2EcfsL1WcWNzz+c5++4RLq8abw2MO3rY9puBXH3dtfu0lEcjCWHUwAQ==" - }, - { - "block_id_flag": 2, - "validator_address": "A5A57699ED5519B2B1521EBBD4B5E4E49397A898", - "timestamp": "2022-05-27T07:37:37.482967594Z", - "signature": "CWXb1eWNqvmLmvkWlES48dNDzar1v4yra7s6jU/HrvK93cXlGEA95MDv3HnBR1WKRybhyAe1lfvIo6Y8PsGWAA==" - }, - { - "block_id_flag": 2, - "validator_address": "144A5AE055C986FFE593DD90FFCB93C96A957C5D", - "timestamp": "2022-05-27T07:37:37.709721758Z", - "signature": "2iSj1c3WTZLJ3EhTxgoL6JxZclBdtj+2ajI/E4Z/Lu4SbVCA1ZbLSMJDYP3rgL8E/ZT47hnXrNFRZDppOmmSCA==" - }, - { - "block_id_flag": 2, - "validator_address": "530D85C6F9691EE68D834AE9EF95887537906183", - "timestamp": "2022-05-27T07:37:37.592106053Z", - "signature": "ZbA7o4FKVc39GwcFlyCw5A8ZOygT20E+mouNBGYy9qB2a7C6tJg7+dMQ9cJ8VvUxZdSAPdv8uiES/QVzp5b1Cw==" - }, - { - "block_id_flag": 2, - "validator_address": "9F0045CDD323BD2384203115D44D6D16C915E5FC", - "timestamp": "2022-05-27T07:37:37.491014936Z", - "signature": "SobAKcHBn+NJIjP/PpfRVC4twQsL6oEj0uUVO/DDbg+YqCAraUHsnmNQRyvmuHG8FZ3PliEIA2pmgWxzfejLCQ==" - }, - { - "block_id_flag": 2, - "validator_address": "1E2AD3EFCB84B3484D33F9F171DDC389C5FABC69", - "timestamp": "2022-05-27T07:37:37.544638139Z", - "signature": "7pv2t0rYMROnQlwF2eSB7HbiwFzGuS8TfYZl5lVbZ8zr4b+1kDgcZfY7u5rede/g/1+rS1IM3FceEOm29sFkDw==" - }, - { - "block_id_flag": 2, - "validator_address": "7926DCCFF4CD77DD8F842BB79FB96679C1635AF4", - "timestamp": "2022-05-27T07:37:37.55575801Z", - "signature": "w7cZvAue63hm2kpxYyaeMnum9I2dBCbVOEa61d81b0M0GP9VqbvtRufjMe01kOIfMWL/DbBGkNBpVxaVG2LpDQ==" - }, - { - "block_id_flag": 2, - "validator_address": "A6C8D279FCC4A4525B72137531CC5EBC31D7A175", - "timestamp": "2022-05-27T07:37:37.532416451Z", - "signature": "ryv4lIYskLlVJTMzyuZp8uTrIuL0CpVot9OU60H8CJTuKQdzizjD6fkgfckbpG+xNBD6gyQ3llE3pRPvr8flDw==" - }, - { - "block_id_flag": 2, - "validator_address": "083C4506AA1315D8DDF8A0CD59E67714A101C05B", - "timestamp": "2022-05-27T07:37:37.50750066Z", - "signature": "019d+oV5yAyOes0AhnhslvVPVLYZFQVLtJTUVUYnHllgg8jTpBodwPU3IJXIbgdD9dB+ECF5HzbpHfhOJZsnCA==" - }, - { - "block_id_flag": 2, - "validator_address": "15BBFCA9F07F8AD7D40D657157C3E7F824C02C25", - "timestamp": "2022-05-27T07:37:37.476308218Z", - "signature": "LST62NFIOVUlh6jDts2ohxCnWzB/9Fe/GrY0BuRCilPvdiHPYAILEjXY8j8kHajD3AbvXVRL4f5OSfDfMMSVDQ==" - }, - { - "block_id_flag": 2, - "validator_address": "EAB33CDAD8D5B57DB5BCD0F176CB9D170A6DA200", - "timestamp": "2022-05-27T07:37:37.475112018Z", - "signature": "6xL+l1+Fow1GYStA+ENqBCv+CG4cO4rj53YJ+s1KDaWT6cWX++Oim8WvOkHVLrLBuslpa2ZM+C7VBSxVWVswCw==" - }, - { - "block_id_flag": 2, - "validator_address": "E23E2D4F46F7A3A079633F81BA5CD77D42A74E48", - "timestamp": "2022-05-27T07:37:37.54422528Z", - "signature": "a6Qwm0+gPflqkkCF99n1bFBhhz0BM9lw+fKY2RBeljWoo4yjK/jsJcReBuENcHSMYLZuw1uAIMyVgp+sG85vAw==" - }, - { - "block_id_flag": 2, - "validator_address": "175DF90C23CDAB4965DBE0433AF7E850FAF9E4DC", - "timestamp": "2022-05-27T07:37:37.493294115Z", - "signature": "rKk1y1Mz0j3F9sKFWr2/1dVWD+nHDssDjSZhcpYzGgDP191CQSitc9LM7cRCepgEhIcHR8SR+Yj5nmgUsdjrBg==" - }, - { - "block_id_flag": 2, - "validator_address": "45F6C4DF42C56876B4FD7B26CD79981EDE6472E6", - "timestamp": "2022-05-27T07:37:37.54127019Z", - "signature": "XrQqNx4PEj55a+l7SuDtDDf73Q705ex1Q4lTTm9IJ2Ozj0rUNCRbqerG8lU40TB7MbHArZtjFLDFPYOyecr1Cw==" - }, - { - "block_id_flag": 2, - "validator_address": "6B56C304343B1171BB9849DCA325376F1C2DF7FC", - "timestamp": "2022-05-27T07:37:37.649398642Z", - "signature": "QiRh1+DoZBUnhon4fVJXMPoTFmtZ9juDZXTpaySN4I2STQiVoLV/IpGOyadCBOP5GkPit1l4gbXpu8symY6ACg==" - }, - { - "block_id_flag": 2, - "validator_address": "D2C08B4DB6CC564701FA562DA96E54F04BE5857C", - "timestamp": "2022-05-27T07:37:37.571623763Z", - "signature": "LKoR29CrxGZt0zW5up08bkzk7YB8nvoU3bbk/wh+GL04AhNrV2/5jHDkyXC6h6+g/Yuj04vO+PfRSSQTXFAQDg==" - }, - { - "block_id_flag": 2, - "validator_address": "A19F8CA134065BDBC764D53A5A024F091F8D58F0", - "timestamp": "2022-05-27T07:37:37.518390122Z", - "signature": "xYstcwpOv2fbA6gug/rU51AiC8XdeK3wV9VtgWM/dLJkBRH8DLl+5PoNEsYu3CRiBr+NYjXRSYUImbYMEtXaDw==" - }, - { - "block_id_flag": 2, - "validator_address": "3C882F62D072CA22CF996B3EFC9E889D14DA56EC", - "timestamp": "2022-05-27T07:37:37.544084492Z", - "signature": "uyZXc6izKszc9DNDPLdO9QlaeqYrvw0Yue0ieDGge7VGeV8uqEw5AbpvjZ/TrRMzvVhJH5qLbahITvMtA7XUAA==" - }, - { - "block_id_flag": 2, - "validator_address": "82594A20244F29C881CDE573F82D7A334BB54770", - "timestamp": "2022-05-27T07:37:37.589860854Z", - "signature": "KU/khM7vkGyl3MuqbnVratPvrRV/VQkTUZ7QL4iBB2nRoxX5vP/agqfmVwDUhi3CbcSVEVzbIsi3seXmuWtSDw==" - }, - { - "block_id_flag": 2, - "validator_address": "0855A780C7EABDAB44FC31341278D7B41ED9CE96", - "timestamp": "2022-05-27T07:37:37.603757827Z", - "signature": "9dpqTs0ntNWHrptjqdKHhOwlEJKfyfIVXULbSHbbhoxSqNT6LaC+ZSTjAuJVfrGcIj/UjweNp8zgNDg/EgnqDQ==" - }, - { - "block_id_flag": 2, - "validator_address": "E85369365EFAF2003506117F8BEC27AD5B03D4A6", - "timestamp": "2022-05-27T07:37:37.561170886Z", - "signature": "407nffTg2A0ZqpwA/IesmsuxQJ7WphR4h0CXCGQ+koywesz+5e8ObdcQ+ZU0TCpg/PBCcV8aqX+BqQJae6q2BQ==" - }, - { - "block_id_flag": 2, - "validator_address": "D88899651B0E78D95A01B696D616584AB2A17836", - "timestamp": "2022-05-27T07:37:37.495969127Z", - "signature": "guCKdYjHKZ+UthtIaMB71isPUdRzRQh/KH+1wtL69EFSZi+uRwaz5Wliy98tJ9/hiycEPBzOJq4oSnuThXliCA==" - }, - { - "block_id_flag": 2, - "validator_address": "5769ACC80F37286F65AB75D03F659506DAC4EB8E", - "timestamp": "2022-05-27T07:37:37.713899664Z", - "signature": "zWXQ73h5yMRBh//PVcUVqv2uCU1ssVMRoYLmi0n1PhOUOZ6qApuxek2lPiRKncpRdxnRsqdYMOz2aOCjjVCDCg==" - }, - { - "block_id_flag": 2, - "validator_address": "8F5A8A0899E031318C7BE2651223F9898E84677C", - "timestamp": "2022-05-27T07:37:37.57372014Z", - "signature": "eca9IvyYIzFWcQnVz5lfAtJSbmTXoMdX0UXV8fi13fOOzBjf2Q6S4FgxMvURTAUohMeIjIJSzrVWMEQmEwJ/Ag==" - }, - { - "block_id_flag": 2, - "validator_address": "33A5CC28558845925923E8B5492E5064DB8A8D90", - "timestamp": "2022-05-27T07:37:37.5039887Z", - "signature": "Pb2pebmIAYUNnT0Dct4unwe4OfHorl7piraLNkFva2b4POYPObXzkWcMmEISZR4Gi8Jaj80O/MRufwbgwaKiAQ==" - }, - { - "block_id_flag": 2, - "validator_address": "CF0FAE85885EFE00C2990761578E8FF8D5454369", - "timestamp": "2022-05-27T07:37:37.51839177Z", - "signature": "ttKK/ZU6dRf3nZ+8I12RxHT4qRoiwD6J9XVGGRIt10p3TGgD8AZXGWBOnSjHrcQeyLSs7RNoIEfo3SQYXzq4AA==" - }, - { - "block_id_flag": 2, - "validator_address": "09C809054D9CCEDB5594CBFC96CFFA053D7DD02E", - "timestamp": "2022-05-27T07:37:37.487113587Z", - "signature": "C8RyrqY8OysoJTM3Gj6PxcdyByyqs226ehbzI6WruVw5I+FTkwZ27+mCNSRmoaCh44yukUkA/VHlWi8W+VuDCg==" - }, - { - "block_id_flag": 2, - "validator_address": "6510479A7C51F07FD37625F6D1CD94484EF26AB3", - "timestamp": "2022-05-27T07:37:37.496317022Z", - "signature": "MzW6zRRrvsJSomwZGl6s5TO1Um1+yS/TFUAWhVXJeeXErv7Dsh019F+PNvIjKm1zr0SiTtJbMwUpV8+IuWixCg==" - } - ] - } - } -} diff --git a/packages/node/test/kyve_block/block_4326863.json b/packages/node/test/kyve_block/block_4326863.json new file mode 100644 index 000000000..042eae6bb --- /dev/null +++ b/packages/node/test/kyve_block/block_4326863.json @@ -0,0 +1,4902 @@ +[ + { + "key": "4326863", + "value": { + "block": { + "block_id": { + "hash": "B729E427BB694AD5E5CA09E26D3D3B4690DEA0EE7A1F2DC0DE0E07081832DEFF", + "parts": { + "total": 1, + "hash": "404AB929FD200A51028D2A85C28B336AFD9962101285208600824A5E59DEAA49" + } + }, + "block": { + "header": { + "version": { + "block": "11" + }, + "chain_id": "archway-1", + "height": "4326863", + "time": "2024-04-26T10:04:00.954431343Z", + "last_block_id": { + "hash": "B5517CD93ECF6C568C00204CF0BB6D6E87292806911FDC5DD5CF8B318EB5DE6F", + "parts": { + "total": 1, + "hash": "F34408000CA1F5D31D5B9DB6C4A99375AB971DA8E0691076D3C5188DE8DC9C28" + } + }, + "last_commit_hash": "4181AE959099CD36D4D2FE3A77348424538F8294A17B665CBC067E547406FE98", + "data_hash": "0668AC94110099A1EFF223AD7947183CDDD599850104E4F934566FCA87B409CE", + "validators_hash": "05B5B6A3AD65C244270279D72910F366C360C909FD4063F839A2E5C59EE14C18", + "next_validators_hash": "05B5B6A3AD65C244270279D72910F366C360C909FD4063F839A2E5C59EE14C18", + "consensus_hash": "22E3FA2D1695AE7DB62E55677BF0C914B1EC88D64CD8D280CF2E29B2E06D0965", + "app_hash": "35A9080C1FDE71BE45A6B691DE246E9BA4C6922CCC09EED116439D251E500DCA", + "last_results_hash": "201EBDFD6EEC05B6133129D38733227A7BC29C772B757E5E841BB77EFD61D50C", + "evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855", + "proposer_address": "56AE16561016ECD1B64540DCE711C588F06E2DBA" + }, + "data": { + "txs": [ + "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N3F3ajJodXp6NnFqOXE0eXM3aDc0bDl5GkAHnhEyknT46ASVO+NM5JUpOF0mRkC6yC90ssXySYNvumV7JDu4mGsQXJVbpJNVo3+GUw76Nn8QAGALMoj86XBT", + "CrYGCrMGCiQvY29zbXdhc20ud2FzbS52MS5Nc2dFeGVjdXRlQ29udHJhY3QSigYKLmFyY2h3YXkxNGp4ZXR0bnJ5d20wODhqYTVnMzZuc3I2NnkwOHRzMG11MHk0OGESQmFyY2h3YXkxemxjMDBnanc0ZWNhbjN0a2s1ZzBsZmQ3OGd5ZmxkaDRodmt2Mmc4ejVxbndsa3o5dnFtc2RmdnM3cRqTBXsidXBkYXRlX2RpcmVjdF9yYXRpb3MiOnsicmF0aW9zIjpbeyJhZGRyIjoiYXJjaHdheTFhbHVrYXJmdmt4NW0ydXphemx5ZTd5dTB2bXlyZTc2cnZtNjN6bnl0amw5OTZ0aHdqdHpzdDVtangwIiwicmF0aW8iOiI2NDQzMjU2NzQzMyIsInRyaWdnZXJNYXhWYXJpYXRpb24iOmZhbHNlfSx7ImFkZHIiOiJhcmNod2F5MXo5dHJkcnZhNDdnNHd2dWRwbndoZnJzejJkcG5zcDZ6emRlYXhheDNteGN5ZnlsbXI1OHF0MncyeDkiLCJyYXRpbyI6IjE2OTkwNiIsInRyaWdnZXJNYXhWYXJpYXRpb24iOmZhbHNlfSx7ImFkZHIiOiJhcmNod2F5MXo0MjRqNGpoamY5MmRzZzU2cXQ5d3MycTV6bmh4cGFrZmRremVzZmUyeHg3cXluMjZ2OHF5MzdjMmciLCJyYXRpbyI6IjkyNTc3MCIsInRyaWdnZXJNYXhWYXJpYXRpb24iOmZhbHNlfSx7ImFkZHIiOiJhcmNod2F5MWwybW1yMHZwbmRndjh2c3R3bmo3cWhuMHB4NGZuODBlMHZ4ZG51ZW51ZGZ3YTU3bjUyZnFmazlmZTMiLCJyYXRpbyI6IjEwMTk2MDUiLCJ0cmlnZ2VyTWF4VmFyaWF0aW9uIjpmYWxzZX0seyJhZGRyIjoiYXJjaHdheTFjc3R5NmtsdGo1bnk3dncydm5uMzN0NWhsejcwNGxuOGE0eGZ5ZjI4ZHQ0anNzNDVsNHlxbTNneDlhIiwicmF0aW8iOiI4MjQxNzU4IiwidHJpZ2dlck1heFZhcmlhdGlvbiI6ZmFsc2V9XX19EqYBClIKRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiEC6YWLCHnxmaVJ//9A8Jo7ina7eIRl1BfdS9lxauMkvuMSBAoCCAEY4+gEElAKGgoFYWFyY2gSETYzMDAwMDAwMDAwMDAwMDAwENC7GyIuYXJjaHdheTFncHlxemMwYWVyYzg1Y3BrMmNtOGVjNnprYzk1eDV5cXJha3NrdhpASbc3d6pYIjT6jegsMGhDcWaRfQC1+IodCi2erEDIa9Zb/auoex17aWfIy1DwaS/PrsUTsNssJufbuNLrqmhEyA==", + "Co4ECskBCiQvY29zbXdhc20ud2FzbS52MS5Nc2dFeGVjdXRlQ29udHJhY3QSoAEKLmFyY2h3YXkxdm41eGx4eXA2ZTUwaGhteHB5ODdoNDJ5cjhnYTNucDVqNTBlNWsSQmFyY2h3YXkxNTNsOXBjN2FjdjdxdzQzbHl4M2YwZDN0dDAyZ3U4MHpkbGxscjRsdnd0ajlncGs3bnUwcTdxZGFnZxoqeyJ1bnN0YWtlIjp7ImFtb3VudCI6IjEwMDAwMDAwMDAwMDAwMDAwIn19CrACCiQvY29zbXdhc20ud2FzbS52MS5Nc2dFeGVjdXRlQ29udHJhY3QShwIKLmFyY2h3YXkxdm41eGx4eXA2ZTUwaGhteHB5ODdoNDJ5cjhnYTNucDVqNTBlNWsSQmFyY2h3YXkxcGF6dG1wZmY4OHNqamNyd3dlajhxbHlmejdkbGxldHE2NDB3dXhnZzRscnB2aHZxdWNxczkyd3duahqQAXsic2VuZCI6eyJhbW91bnQiOiIxMDAwMDAwMDAwMDAwMDAwMCIsImNvbnRyYWN0IjoiYXJjaHdheTE1M2w5cGM3YWN2N3F3NDNseXgzZjBkM3R0MDJndTgwemRsbGxyNGx2d3RqOWdwazdudTBxN3FkYWdnIiwibXNnIjoiZXlKemRHRnJaU0k2ZTMxOSJ9fRINVXBkYXRlIFJld2FyZBJ1ClAKRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiEDFoTqz3G/fpPilox111GgWydbThr7HWiIQbxEsnQwt7ASBAoCCH8YCBIhChsKBWFhcmNoEhIxMjQ2NTAxMjAwMDAwMDAwMDAQwugmGkBXdLfx9Zq+XeMmg2avX7qze2L0dlhmHEoadFS+cfZlmD15c+skMNlMmxhs9cwTFFtdXUhhVoIRd0fBFxd3npad", + "Cp0CCoACCikvaWJjLmFwcGxpY2F0aW9ucy50cmFuc2Zlci52MS5Nc2dUcmFuc2ZlchLSAQoIdHJhbnNmZXISCmNoYW5uZWwtMjAaUQpEaWJjLzhDQjU2QzgxM0E1QzIzODcxNDBCQkVBQUJDQ0U3OTdBRkEwOTYwQzhEMDdCMTcxRjcxQTUxODg3MjZDRkVEMkMSCTQ5Nzg0MDAwMCIuYXJjaHdheTF0OG5wNnhyOHFyMjR5anlwM2xrZzlqNHd5ZWF6Z2Y2Zm1ubjl4MyotYWdvcmljMWNjcjJtNDA3cnZoN24wd2hjcmhxMHR3YXd4a3J5MmN5OXlxazBmOMCdvofdkfPkFxIYNzQtYXJjaHdheUJvdC0yMDI0LTA0LTI2EncKUgpGCh8vY29zbW9zLmNyeXB0by5zZWNwMjU2azEuUHViS2V5EiMKIQJj1p/A6OVBI087EWcRgSt+xzdgLmR/f8UHHBPMloqn4BIECgIIARiGhwQSIQobCgVhYXJjaBISMTQwMDAwMDAwMDAwMDAwMDAwEODFCBpADpmkxVmQaQXFDASxZnozMcqf99XKcSn8NkJjMCEYtDld3W2XIHfhPRWx1tBtE43wsncCwO5fY/Jhq0rlyB99iA==" + ] + }, + "evidence": { + "evidence": [] + }, + "last_commit": { + "height": "4326862", + "round": 0, + "block_id": { + "hash": "B5517CD93ECF6C568C00204CF0BB6D6E87292806911FDC5DD5CF8B318EB5DE6F", + "parts": { + "total": 1, + "hash": "F34408000CA1F5D31D5B9DB6C4A99375AB971DA8E0691076D3C5188DE8DC9C28" + } + }, + "signatures": [ + { + "block_id_flag": 2, + "validator_address": "454BA446172211B1CB7A08E14161FB3BA1493F73", + "timestamp": "2024-04-26T10:04:00.913603708Z", + "signature": "w10rBPhVKtW5paIFCCQYAfqBGErds6bW2SVgpIufOJvd+DaXLH909yw86vZsY8EpNrW9vq9dEHxkT71+JawJAQ==" + }, + { + "block_id_flag": 2, + "validator_address": "5E026F83F8DDC51308008A80518530E9C03C7771", + "timestamp": "2024-04-26T10:04:01.044089215Z", + "signature": "eWyM18DsNXtsPUA7njF8AtNGR9PRRCtWlLRwv77+tGkegcD+hikLNdLn/lkWmQSKPdMGB2Xb/998izmPJ/v8Bw==" + }, + { + "block_id_flag": 2, + "validator_address": "C64F7CF03BBB07B80E1B557A185032114C1F0201", + "timestamp": "2024-04-26T10:04:00.941638306Z", + "signature": "WAoeu5BKqzgqnjFwrz4j3+Xp8b1Y4Irqyb055ku3Gp1C/Sy7z7fnT9f17vIGgbCU3JoVu7LGmnI8lOFfVvgyAw==" + }, + { + "block_id_flag": 2, + "validator_address": "9396A4ECDC186B5F92600579AEC5E04D1059642D", + "timestamp": "2024-04-26T10:04:00.999364252Z", + "signature": "cOlxmrOKEynOCii7gYa5AEl14+IPuEFjamjWrogA5zRdmt1esUkNXBnkaSjnV80Fz+O0FY6PWmhu4Nsiq6C1Dw==" + }, + { + "block_id_flag": 2, + "validator_address": "192D17EFD1F6012E52A8833717D8621178168264", + "timestamp": "2024-04-26T10:04:00.928039558Z", + "signature": "bKXDa7F2ecJwZ7T4/5COSo2nBKnsjUBJzoyi5D6WpPjgRlZYwyAhMqylSNIwvVF4aYpZ90UkF+N0yDmozebCAg==" + }, + { + "block_id_flag": 2, + "validator_address": "56AE16561016ECD1B64540DCE711C588F06E2DBA", + "timestamp": "2024-04-26T10:04:00.922100324Z", + "signature": "9qfChH0ARYuskzwoWyH39zOoj6kQKIa6SnbgX1Tt4z5uRq50LfrXJeY6hG71A+2Ivejb+9I98RqHqbe2seMnCQ==" + }, + { + "block_id_flag": 2, + "validator_address": "3ABC887FAAB038EBB82506305FD928270AD2867C", + "timestamp": "2024-04-26T10:04:01.088343164Z", + "signature": "IuFFBkH6cmQiHjTwzda2yS1tbhSh62pb8fwiVMZ/yKON5iO0xtuf4D1aLNzRXkmHTpcUI0EU3aYYDQIdQL+uCg==" + }, + { + "block_id_flag": 2, + "validator_address": "7CF3A6E06DA02BF700E33372951EA2E95AF6A7C6", + "timestamp": "2024-04-26T10:04:00.954431343Z", + "signature": "CV1oHmG/QFF6Z2KsB/47/COGs6c+JyyCHzkH05SWCm54ieVlNecg9p+QT/RTIi2puIAa3J0BQU/ScskIuX5PDw==" + }, + { + "block_id_flag": 2, + "validator_address": "E89799B6440988A1AAEE14ADA7050FCFBCBE31B5", + "timestamp": "2024-04-26T10:04:00.990899045Z", + "signature": "B4UvTc3oPz0KCIv1QzAYypY72y155O4tg+mkqkKMt7cf8YqK3aYkIHrwu9HzxAsWfWu//pkAaw6fCwk72AklBA==" + }, + { + "block_id_flag": 2, + "validator_address": "E840B5676A5DA43F7ECA8385B461FA6BF0BE2CCB", + "timestamp": "2024-04-26T10:04:01.011836697Z", + "signature": "kyhMD36cZ7aTT/7Lrugn+Nfa/wtgkq+r5hQVlw5nCSFnFPruwzs3dC7kcUPPFvM4dgShlYJAzgQrdNCz80CKBQ==" + }, + { + "block_id_flag": 2, + "validator_address": "90FAA31CA9BE4E4BB8E4C9732EB69575F4C5B626", + "timestamp": "2024-04-26T10:04:00.93586698Z", + "signature": "PBuimBU1d+puX7nn4pxfuTzhKGBESgdSFipr0puGwMU8bTQcgCaiUnWi2RTQUzOhSrkFFiokIWjjblJrsaebDg==" + }, + { + "block_id_flag": 2, + "validator_address": "CB8D061C7D78BAE099C50D6857B97AD4A9218776", + "timestamp": "2024-04-26T10:04:00.941546835Z", + "signature": "1b0H261RPgTeqrWn9MlkI6UagDbYRf6YOjzvcC8nC+vDUDq2E8dZOLUPLDM9Ncf0FgJ9iCig71QpbKJ8710wBw==" + }, + { + "block_id_flag": 2, + "validator_address": "4630574528AEF5F2CE3BEA1BE9E092927E311F0E", + "timestamp": "2024-04-26T10:04:00.896772993Z", + "signature": "AxsIx+ntgm4h9MwTxdVHH8GDBRP7oszUVQnbPdssFgZl3/7WH905Ob54TvvsKkjwCShf/HNDkRFSUaeeYkjtBQ==" + }, + { + "block_id_flag": 2, + "validator_address": "B2FF86CCBBA2DB501E828E0E9D15EC14D50E0214", + "timestamp": "2024-04-26T10:04:00.904433802Z", + "signature": "rCnRIxqroTrbr+vZ6mi/2zp2tlGheTH3MUzktBolxKMx9UD+XixezzzWMU/HhK5dPDzjlpU3SLrH/K2lsK+oCg==" + }, + { + "block_id_flag": 2, + "validator_address": "CFBD265B3AB49045D2AEE7D001199ABD30BD1E5C", + "timestamp": "2024-04-26T10:04:01.012598511Z", + "signature": "wNuNxQP4h05R8XvTIw2Lj/imn4+smkU3fZrju5mYIhvFPJaIsEvSrnH9JBfZJy0iJWtvkTgTrRyJ0dLK482FCw==" + }, + { + "block_id_flag": 2, + "validator_address": "2348415EAAEAE89FE5A9412F2F45CA9AA5E73BBA", + "timestamp": "2024-04-26T10:04:00.987450291Z", + "signature": "CloINMlS6FEhLQ4xC6lWd6UhfXgrsFKeF9ahd6/O0wNF61m4KTH2RXhf3EheFhD/bdDvs9ggwnfUoRi8dNB6DQ==" + }, + { + "block_id_flag": 2, + "validator_address": "E4983569DBE9E32DC1C9C69CBE4DCF1CB82899AA", + "timestamp": "2024-04-26T10:04:00.994730635Z", + "signature": "NspkRTG8v/16zgocMkeyIXCme4qsGTvjqtRePtl6OYIIxpgf+k26vkWzoeiVG4V5EapMAe2Dvt0sdfRafg6QBg==" + }, + { + "block_id_flag": 2, + "validator_address": "9417D3AA3F23E9D96CDCBA2045A07B401C1E11DC", + "timestamp": "2024-04-26T10:04:00.914497965Z", + "signature": "kpPd4bB8p/edsfFGsGd4AyfYTtcYyl0sZlZudwwmBi1/rJT8M+yIL1MZ4dzdKxd6stsNMTfAltMCKW8p38C7CQ==" + }, + { + "block_id_flag": 2, + "validator_address": "F183805F63AD6C429B7157D90D7199F2075280AA", + "timestamp": "2024-04-26T10:04:01.013508783Z", + "signature": "JOJ1EPxvJ1gg3a2jzWCz6GaUhNTvdwBGJrZZDEh+PvbNDjFTTacpYZdsiG7gwO7gOW8/j1EiVvEwt7jjY9qtBA==" + }, + { + "block_id_flag": 2, + "validator_address": "5F647EE2AA22982E897765117160DA27BD8DD1AE", + "timestamp": "2024-04-26T10:04:00.923550559Z", + "signature": "tFxPEppwKDtOzgWflBXlExT8uRHvwNxaPmNv5Uzh6ERZO5jDQs0/7c0BOCKNdEPgr4FE6xFkEVlydAWeCOsYDg==" + }, + { + "block_id_flag": 2, + "validator_address": "C6216B74B71AD3DD522E00D28BF1E7D7B9145869", + "timestamp": "2024-04-26T10:04:00.964602274Z", + "signature": "kz519Lexud8+ftzYGuDSGE+jzgXGfkJQWQAG+UZculVVDRrslEC0Yjl8LKgYwbG31tHyyMar4FjpHIaAABD7DA==" + }, + { + "block_id_flag": 2, + "validator_address": "31323915F9B0CBC60B4F371E454B5FB19B0AD26D", + "timestamp": "2024-04-26T10:04:00.981107953Z", + "signature": "lYc1784Rb4SnNgVXDLkUIjun9CeF0468L7GxUuw3A7v4IIv6EHqvz7ehaRBUVDQirpJpZeVwwgepz74cj8A2CQ==" + }, + { + "block_id_flag": 2, + "validator_address": "1D143C66358013DFA42A05A3BD9D00397AFDD6D4", + "timestamp": "2024-04-26T10:04:00.978188855Z", + "signature": "sWw4JSawoyUEnSATf0TihVNlvO8fJKzqKxP+nEbGqDTCGglfkO4zzCxYkeIxzSNiNC5bO2e2ZBaUJiRYgDOnAw==" + }, + { + "block_id_flag": 2, + "validator_address": "90F0753D72B15384CD536B1FAE023BD7FF7D250E", + "timestamp": "2024-04-26T10:04:00.914707884Z", + "signature": "zfO/at4ULlKl3dRzTki7H/Jio+D4JwedCSTLgbMsBRlsNit4/voyUwMfRnxVHABXe/YmbtY3zf0i05ODDgzmAQ==" + }, + { + "block_id_flag": 2, + "validator_address": "38303246077ABA69E2782CB2C71C89DE9E2B7BCC", + "timestamp": "2024-04-26T10:04:00.993706125Z", + "signature": "O6xL+/9b5vL7Cx42KCEOXztyjbAoKYQMhDAnQSkxnOj8HRL0FwnEtk3pi0SNt7JiyFE3mprz1JJbxJotBlB6AA==" + }, + { + "block_id_flag": 2, + "validator_address": "8F41A1631BC7D5ED4915B673297D2F60A22C6E34", + "timestamp": "2024-04-26T10:04:00.91698356Z", + "signature": "OHrmrLsvyAjOfd1+hZd7Nl5sXcv5TJ/Wd9xSssvSqRvmsMIxf+Sgf3HQX67eJwRwOTH4+cseZ36DMAKJk76wAQ==" + }, + { + "block_id_flag": 2, + "validator_address": "8B714B0E76353D945D98D4974C8BD0B0748EC196", + "timestamp": "2024-04-26T10:04:00.935853331Z", + "signature": "9w2bgHC6Yg5kOSQ60QAJaxTw1sssf0ppGW9ML/MDR5ILYPqzmL/ETx/0KhKqzGHXViW1xC8MfcJ+Qo5Q2bd5Cw==" + }, + { + "block_id_flag": 2, + "validator_address": "94B06CE54895A6138DB5D3E406E5914ED41445D9", + "timestamp": "2024-04-26T10:04:00.962779109Z", + "signature": "hk0pmeOhe0oRDNEI7f6RbL0DB9O+Leya6y3CZQtiALb4g90cMDmPvgic0wTCDwstq2gebWT+xYq00NQnEFyGDA==" + }, + { + "block_id_flag": 2, + "validator_address": "ADADEE9B97C69600FEA8911323F3F5CB28906EE5", + "timestamp": "2024-04-26T10:04:01.043290814Z", + "signature": "07n5NXnWpHoxQkBW1/e8k5zsQcoSNCe9yzXndYSZUcgb+Q+8psB9jc3iK6cuOrTPXJpufBW+PwbYQ9mzTcuyDQ==" + }, + { + "block_id_flag": 2, + "validator_address": "FD1E562DD7FA1296ACA834EF29AA0685A8AD8F33", + "timestamp": "2024-04-26T10:04:00.929138154Z", + "signature": "4SQKY9tcsWwhOCerZWGUKG7e+vDRo2Q7qHkPgNESlb0tjYPeRZWplV2bhXPLWs2BCed+VpvMKenP87cmXZ5hBQ==" + }, + { + "block_id_flag": 2, + "validator_address": "A0212325DA0D8E777AA60AC5DA61DE409072726A", + "timestamp": "2024-04-26T10:04:00.941745838Z", + "signature": "n2vFH1iekNbMTRWrXn50jrSJHApDKqS7MC4q5qsceFroJrFsii/KUsYugiOo1RsyvaTstjM1y2RdokFbtwbTBg==" + }, + { + "block_id_flag": 2, + "validator_address": "CF65D933DAAD0646727C76795AAB0DE423B8C0E5", + "timestamp": "2024-04-26T10:04:00.932145904Z", + "signature": "REmNHc7KdPZDm8WeFHQnnnGV2RO+7EaZdvYB8Ye/op/ZsZ8aKqBPaxowLTBS0JAuOIGyGYCEhxZd9C3qAE/HCw==" + }, + { + "block_id_flag": 2, + "validator_address": "80FF2FDD961F707F3C005A7FD41D55A74F076AA0", + "timestamp": "2024-04-26T10:04:00.923333741Z", + "signature": "r73YeOsqFmfHp139X/WlUZwUP5Verv6moA/7pFWzsyxvmBfEd7sytk8qNW8UrGjB9OJTOJ0mgKU4glkODNuqBQ==" + }, + { + "block_id_flag": 2, + "validator_address": "FF592BF088B8ADABFA6080AA820F7903F0F02046", + "timestamp": "2024-04-26T10:04:00.96546151Z", + "signature": "8ZzOzkghVXSRUFgBjxYVqe6RLb0jrE5psPKRLGjimZcJB0SYVYkc9y97e8wnHjj66Q/0r0xstkRK31uuAvPKAA==" + }, + { + "block_id_flag": 2, + "validator_address": "C5047A5B0C008A531993140151F3E54C1308A86F", + "timestamp": "2024-04-26T10:04:00.927806845Z", + "signature": "VG0CocWnpRzD6KyjM5n2uk6NdUY1BqiLyZ79JwsgtgWLebKoIXXcKYBDuQXE938RnAEuROPqpcF4T0k7xYhiBw==" + }, + { + "block_id_flag": 2, + "validator_address": "43EAC69067530360F849375487ADA1F26FC026FE", + "timestamp": "2024-04-26T10:04:00.943727613Z", + "signature": "UtCnnQQAAK0/Z1OnVkhmgetiDc7gsgSLHx6ST2kQMAbyXMhfynpoJ7b9rMvpitox53AOhEwc2+8CB5AV6/I6Dw==" + }, + { + "block_id_flag": 2, + "validator_address": "5894E2D8B68C01CBC835985BADBF0AE378A5A6B6", + "timestamp": "2024-04-26T10:04:00.981015154Z", + "signature": "b+Zw2dywJ3eCUJbFySNnrkFbi+hNEzdubKxZ8BKkfSUQbsN16DSW75EjZwsfs/qzeThrljsEpj4PW6uOxnHLBQ==" + }, + { + "block_id_flag": 2, + "validator_address": "94A81ED9CF1EFE9672501231F0255F0C54A4F411", + "timestamp": "2024-04-26T10:04:01.103703381Z", + "signature": "Rsi1Hy5cdrw6pDKE1R7zvzMP5+rSmrgyIPjbar+fQarlIa3iZthnH43cA4RsyloJOI9YU4nCfS8kmB17S680Cg==" + }, + { + "block_id_flag": 2, + "validator_address": "69C38FB90624F19356482DAA89E64D9957A37C00", + "timestamp": "2024-04-26T10:04:00.915164032Z", + "signature": "ilZ2+sCgmVxoooGEVGYPR2NK2tuCGjVAT8ekL+SL7tZz+45CjCIMQ5Q0mNdlTfZXgCtjumZQhFHiXlIwKAOJAQ==" + }, + { + "block_id_flag": 2, + "validator_address": "D78997B5A01D2D4E80C5189D930A14055002B478", + "timestamp": "2024-04-26T10:04:00.922386823Z", + "signature": "53AoColG7N5KOBEhamWTtRZxlAw5159b7yxIytokO0X0oUxZ2jUwg72vBQz4Oc1ikRz7MX+QgUIj3Q5i9vUIAw==" + }, + { + "block_id_flag": 2, + "validator_address": "1AF66CF8C90E5D334FB095B4983210FDC2E2815F", + "timestamp": "2024-04-26T10:04:01.009681532Z", + "signature": "rWmZwKarW11fMZu3kVWsPyaR02tNCr2xZhPHnDlB9iIJYsC1XC1V8uJyJ5Illr7PWwfUiQSeTsrJiYiS7GFsBg==" + }, + { + "block_id_flag": 2, + "validator_address": "2D63B9079FCAF8CEE74B072665A04599064BCB09", + "timestamp": "2024-04-26T10:04:00.909836541Z", + "signature": "YQRS9L61CyChYVGzCoYtdeYk8EW8paO9TOuF4n58vg+U1JiFwA+cTgQgBguFnuBUy3FcDqNgw6Uegw81CyH6Cw==" + }, + { + "block_id_flag": 2, + "validator_address": "159424CD4756CBEF88083C1A11B6033423537A3A", + "timestamp": "2024-04-26T10:04:01.14491675Z", + "signature": "I0JtE48qtoMmlB5vKDk23+A6haytlNUbNEK14QZiFT2ygNR3wBlpxCo3pov2gCE8kWVGqNdYaGub3BedwjfZAQ==" + }, + { + "block_id_flag": 2, + "validator_address": "C406A6BFB29F36979ADA959B917DD4A2A780E519", + "timestamp": "2024-04-26T10:04:00.990328705Z", + "signature": "le3eD6IZYEq0XuhH+SM/a2mEcMrJAk3h8xS1oG9obtnqbXUG3aAltwloq9TAybPaGL1bH2ib2L1a3zeWgfj7Aw==" + }, + { + "block_id_flag": 2, + "validator_address": "92C0FD982DEC037B295494DC7ACF25FBB8E3EE5C", + "timestamp": "2024-04-26T10:04:35.192046013Z", + "signature": "lzLnElmHq9qRH+12eJjoamR1k+EDzL+fUG/A9XSdpRvzCTlkDA1cngta1W9bc9d0AMTlj+RxVR28LqbeFNh5CQ==" + }, + { + "block_id_flag": 2, + "validator_address": "5883CB9214B4FE1A0CE68774D714425DC6024D52", + "timestamp": "2024-04-26T10:04:00.956305413Z", + "signature": "8I9v/tacLKIUbkFI14kpDNE5kpEEq0u+E45oP/aW/fwS2IfSLFbRUGKmLhTVbHDQRDIOp3yFYZ95e+Yu84ByDw==" + }, + { + "block_id_flag": 2, + "validator_address": "6C6412282FB32525FD92617157F154579434F9FC", + "timestamp": "2024-04-26T10:04:00.966533734Z", + "signature": "d0AeYo/wIcuK23EBhKnvTX0nZwSR9n4R+7nGucKmbMWQOkdULMIIHAqR9fShSkAKdwhp6H8Cpg5aNonSjwMlAw==" + }, + { + "block_id_flag": 2, + "validator_address": "EEB553125D331715F799680FE763B33D4D8EC063", + "timestamp": "2024-04-26T10:04:00.910177954Z", + "signature": "Rr+QsR/0Dekjt5bs3RkjF2fogRNQiE6DVM5cYeNsWNKl/RhNrpRFkAs36toB4fzvODZWM7UjFMawIbh+Ez88Aw==" + }, + { + "block_id_flag": 2, + "validator_address": "DB2D66F06C70A06818910685E8A51C73E6EF3324", + "timestamp": "2024-04-26T10:04:00.915375321Z", + "signature": "dIuLN0L3qMFXj/pMjJcmz/LpJKnQ2QdEguoiG+e6F5wmSH5WJTuLnj8iGiNp6k8dEXKi5JhIZ3mZiWmmNjkKAg==" + }, + { + "block_id_flag": 2, + "validator_address": "07F4F6BEAC490B1508E93E38D9E5B3DC50716200", + "timestamp": "2024-04-26T10:04:00.929773802Z", + "signature": "vXV3XTSWuW5rtmDZfwgJLlbGzKZX6+OdMpYMmGqFqfinBKwLYuend3773Ghb2ttb3zAp0A8XC/Ayt4gbt/hMBQ==" + }, + { + "block_id_flag": 2, + "validator_address": "32F529A962B3F9D7896BD858D9970E3C1392570E", + "timestamp": "2024-04-26T10:04:01.169994618Z", + "signature": "FEoAgVWkQIz2Wcsi3mI31Vq6evSgmd5/vg5LTH4sWcG7Vc6SEzDo0nVWJT2nIqJZ3z5u6qbwB4enV3nEyB5QBA==" + }, + { + "block_id_flag": 2, + "validator_address": "223BD658ADC0BE9E1A318EAEE26A927E9B782DFB", + "timestamp": "2024-04-26T10:04:00.962986725Z", + "signature": "YYB10YQ5FrtGrdQw56Mn7Ezcsp6w/Xlv6MPiDSzSfOXcQmej0XBGjvycpHAYHBChjJOjDES69kD/hKjDD3GMBw==" + }, + { + "block_id_flag": 2, + "validator_address": "B155936FBF30A4A21C2FD9B2A3CC1C2CACA9DDE7", + "timestamp": "2024-04-26T10:04:00.936798583Z", + "signature": "DUw8pS/NluFJ9BCizNe6tOWapuFgSpcjUMe/AXVBBc62uSfN0e3QPUMl/JyCoWJSzkMpqik2XtChlOxy+RXxDg==" + }, + { + "block_id_flag": 2, + "validator_address": "D0810844A5202004AE1249CE17610A4AA5A1684E", + "timestamp": "2024-04-26T10:04:01.006509656Z", + "signature": "sJ+CaXHMy4TvEC/FP96ruEwRumtUpMUix75oMPdW+Yafm/cYg8SLMSS0cAhnEsDZavTj4imxEymoO7nkj3gCAw==" + }, + { + "block_id_flag": 2, + "validator_address": "0C170D04155D212B97B3D33AD24D0076053E70C2", + "timestamp": "2024-04-26T10:04:01.002639723Z", + "signature": "ByY9zB6bgJ4whsYxYtuD6Ly6UjdSjqImiscPLCz2MPts8ayP59Hfcc3FzLj7q1D5/d0wdUM9mmHYgC6ai6BjBw==" + }, + { + "block_id_flag": 2, + "validator_address": "2859D4F84CABF0136BEAF3EFA339F5BF6F6CD39C", + "timestamp": "2024-04-26T10:04:00.959915232Z", + "signature": "5gDzBD75G1G/vKkTMmKVfjZvs6Ib+hgwTyu1pnVOUbNFCprqrxigdRlKuQoiB6VXypw0mEtsCiOTMo+B035aBg==" + }, + { + "block_id_flag": 2, + "validator_address": "195623E1DDC7F85D8E5015D79B9D0DA47A7F59C2", + "timestamp": "2024-04-26T10:04:00.929835606Z", + "signature": "f/EhOAX7HDi9kSnnYPqnKnQyjsLGolPzDQoVrHMDBVGjpoTrMokbr2pcBTMO8kIjoh26gu+a8R/5ygKAb5UxCQ==" + }, + { + "block_id_flag": 2, + "validator_address": "8066E3C72BE72F9CD84439FFB59D79B2C316C01D", + "timestamp": "2024-04-26T10:04:01.006960346Z", + "signature": "a3qn5HeSsPPFn2Vj2lxoM9bg1ycjdYUFnsVLLsBIqCJGu/TpccXP4ev53R/aEV9eZ/fshw1WXuodQ25/Xw23CQ==" + }, + { + "block_id_flag": 2, + "validator_address": "7B0411064960AD679FC4A64A7066B401DF3C7F52", + "timestamp": "2024-04-26T10:04:01.00029083Z", + "signature": "u+vBrE/B0ccq/rT0lgiwMjiGAj6tCNr5qRTPf5aG+2vvJl6qhGm5WPsf2c2RlIuDNoD6tL+5drh/i+eW5hEpDg==" + }, + { + "block_id_flag": 2, + "validator_address": "7991CF87E4FF6C6D46376939E6E7214FA7473AE0", + "timestamp": "2024-04-26T10:04:00.928510912Z", + "signature": "SvCQZfN43YDRLAm1JAPozZvtHxqH7XXcOhQiXNXHL88UzCm/iDIIuKwaMTevIIJ0zrLmTge1sz8zZtNsZkZnAw==" + }, + { + "block_id_flag": 2, + "validator_address": "8CB1BE337D1427136EB8EDDD9232735E2405C50C", + "timestamp": "2024-04-26T10:04:00.962967879Z", + "signature": "JQfUPvYaMPrlulZTdOhNrGI2ssnwCyatsZoITIAraRde8Xy7s7epcB09wo55Kiiul1s2UFa7HWb+nCwDfaaKCg==" + }, + { + "block_id_flag": 2, + "validator_address": "83CC77F0F60F418B9DE2A24642645777D2FBCC02", + "timestamp": "2024-04-26T10:04:01.002090386Z", + "signature": "S5MsCg2KbV3tkZne/22iixKyEIKzTbMQ8tHhX7f/t4K9ActgUcdX+vBguK8r8ebr0gZLmYS7qWy0wqL5x096DQ==" + }, + { + "block_id_flag": 2, + "validator_address": "DBDE432B755C38F3136A75D2D3F530B5A74FBDF2", + "timestamp": "2024-04-26T10:04:00.93402786Z", + "signature": "F3UyudW9NgjQuG1RT2cy1gbKG4XcYzQUQoW7sr5ZROPaOWNsTPVtukFQiFepXSTCFn2LjGcxQ4nJuxWSl/e2BQ==" + }, + { + "block_id_flag": 2, + "validator_address": "D83516A8B94EA1DB899B7C80C76C05D0BE204004", + "timestamp": "2024-04-26T10:04:00.937974051Z", + "signature": "8L6eR9zHo9wOGP40eEhwEFSXS1pEjfa5RBNVKU3U8JR8BCNn85kU2/Luv4DK3l4MXOr2tqp0omdNqIPuA/tMCQ==" + }, + { + "block_id_flag": 2, + "validator_address": "8F9C9F4EC28C7E06F3D348394270FCA69DBA116B", + "timestamp": "2024-04-26T10:04:01.010547638Z", + "signature": "r4aChcLxSWqaCI4UDHgqL6bbh0I89pQtqxPLeukjL7B20JEmkRa3Up8RThZomxYIXJoCh4gEwYUrdj4xxP38AQ==" + }, + { + "block_id_flag": 2, + "validator_address": "F9F61FD65FB010A8C9365032D83CCAB9FEF69BFA", + "timestamp": "2024-04-26T10:04:00.94550454Z", + "signature": "QJMpuJXhUmU+KVOPR8CbVsC0xZ+fkRv4SUVwcn5KW66SRjSEK9vSu6ymyXbzzAcGnnlfwYevkaRCslwtUOwnDQ==" + }, + { + "block_id_flag": 2, + "validator_address": "02425C209B7A5BFDA29FEEC5876E12AEC64D4C81", + "timestamp": "2024-04-26T10:04:00.958602132Z", + "signature": "Da5IT2DMuzmzBpTwwfKDtMrID+TVrmzu1MYYus9c29upsffW8keHLetLpNGrU9vv/B+fLhXaBT/iWrSa8GO9AQ==" + }, + { + "block_id_flag": 2, + "validator_address": "37CBD9EAD6B6632851646323C2D9127E79B1C37C", + "timestamp": "2024-04-26T10:04:00.946524061Z", + "signature": "VY/q5c5U5D7/KhwUPHDpt9ZBbRALxzCrwsPputOBRO3r9pFTFdwwTkRaM/sF9W4ZL52z5F1UnHp2Rg9S3VT0Ag==" + }, + { + "block_id_flag": 2, + "validator_address": "1DA762F8A91B63B90817D5D3A20D0A3E8CB240C9", + "timestamp": "2024-04-26T10:04:00.934908911Z", + "signature": "L+VYhKS2m3Q2LP0KWnP+evyryu/6JDb57C1Je6Lug5TmOg7Ucr36N8hPl2GbdX50/H1NUu38jTAzR5Kgk2PCCg==" + }, + { + "block_id_flag": 2, + "validator_address": "012ED7FDCAFD53E87DBC4F98DCC93B73E30FFA2D", + "timestamp": "2024-04-26T10:04:00.955269129Z", + "signature": "0WIdmnyrEApyHUhPhstnMD7MyuoIj7PVpmzOc304PdI0lz9K0Vo7DDJ3izN2s+XV9zzEvT0yLWGWB0n20PRICg==" + }, + { + "block_id_flag": 2, + "validator_address": "E27C9D446FA6A9CFCE43802136CF958E7F939226", + "timestamp": "2024-04-26T10:04:00.987552691Z", + "signature": "StLvIyR2ii+q1t3dSjLDUla9RiMjkxR9kPPnvQa87MSyTSbIZ+QSMreSZgFUExGb/nFKUK8nrPugfBZHRH4YBw==" + }, + { + "block_id_flag": 2, + "validator_address": "0B854339BDCC14B85FB8711E41C2942377476F70", + "timestamp": "2024-04-26T10:04:00.920062407Z", + "signature": "+i62YTIYLZ3YZgkPA/IX0MvqP7rlRQMXZ3KzPzKpCJsoyRDzQGlACyjZdL7c4AoKKUASfuKBC4dglcjx+i1/AQ==" + }, + { + "block_id_flag": 2, + "validator_address": "9C3BFE7B68E53DFF9D3CF7B70E3B8115AFD42411", + "timestamp": "2024-04-26T10:04:01.130940819Z", + "signature": "OwyQkx0Y9KkjQCUNVp4sNpLh83PfWKJYvQ/iC3YIlwQYSSOmIbqcBjI8/7hoeDWs4IsAgamVGWD5Q+h19vepBw==" + }, + { + "block_id_flag": 2, + "validator_address": "ECEE73D95A77E41A4AC3148D75BE7AEB02CC147D", + "timestamp": "2024-04-26T10:04:01.00895827Z", + "signature": "0HRExMDh7w96SB1di3ey2CJ/M09vwRib1tWF69X4PbseE3Y7N4+L2PX6bpnVHnKVBYvpwnL8A9xKbO0iCnhbCA==" + }, + { + "block_id_flag": 2, + "validator_address": "E3DE542C5573C78253BF5DA6F20E2119C0F1BA48", + "timestamp": "2024-04-26T10:04:00.944774159Z", + "signature": "F1loC4gG6cDG+q9ipb4pwyqLFIbguLTLVZBrKWPeOg8UzQjrR+Vle6LaiOjpkfZMK9pA1qHGYSPnpDl9lKtiCQ==" + }, + { + "block_id_flag": 2, + "validator_address": "1A0DD1BA9B3EF21F6414210D0AA35EE0F9A12BE0", + "timestamp": "2024-04-26T10:04:00.962984232Z", + "signature": "pdArNEGhA+zfJnVyHStmoQBzKYDDu0khTz/tGt7VNgcxctDxTfZAvY1z+sP9Y//yZG3g3Z1C6GK/k6j6DalzDA==" + }, + { + "block_id_flag": 2, + "validator_address": "10AC1B41D924B67539EA8D755FB0158D57B0F555", + "timestamp": "2024-04-26T10:04:01.02376877Z", + "signature": "cOrYQL6byKizyYRsA+JfMtu7g2WwbFpUM3asC8oTSSt3WDe1qRtQBlnnamRWiS1FefFVMX5azVdqvoljOPHqDg==" + }, + { + "block_id_flag": 2, + "validator_address": "3E01DF5EF729ABFB3CB4E8CBAE5062D685009FB7", + "timestamp": "2024-04-26T10:04:00.975495951Z", + "signature": "MID9+MrXo8dyMqQ+nen7I78b06jX2CW1WmPf9eRBF8bhsjpdl8stftsfQVaCYtBIfG+uIZ+iF10Bnmp+ALrTBA==" + }, + { + "block_id_flag": 2, + "validator_address": "F5EFDE8E7BF30A548B847ACD250407CF0CC0539E", + "timestamp": "2024-04-26T10:04:00.931791944Z", + "signature": "dlc0DOtf+w8lmI5KdCTss6c26NjoZQTrqBqvRzB+oVfGWq9MZhrg2GJIIgHW53jZkSjmBeEL9XjPeFwlEGp9Aw==" + }, + { + "block_id_flag": 2, + "validator_address": "4C10504F2614BE17668FB7EE4CCDC9BDBDC5E94D", + "timestamp": "2024-04-26T10:04:00.909121611Z", + "signature": "1cAH+tE9U3gnL/t/Dxdreyrgv54YMd2l5V5Pd7nYIW+rpP7CHjr1ZJD3AWJZIgCuRVNmYNPX1N2qIfJx6o8KDQ==" + }, + { + "block_id_flag": 2, + "validator_address": "E42A113076FE41D20780BC6F2FA1C700B2756193", + "timestamp": "2024-04-26T10:04:01.045395998Z", + "signature": "kY3u6KhwnPVWlxmZX9GwXb15M9HysDhH0/vblHrlRUlZIG1/27vMhZwV409JOIq0vrRZm6rjksturlj2f26iBA==" + }, + { + "block_id_flag": 2, + "validator_address": "A468764E5AC834870F79453F1CA26060DEBFA629", + "timestamp": "2024-04-26T10:04:00.949599606Z", + "signature": "NpOj2gNOjHEdiLDpkIPNG2pM3fp2oVN8Hk7ufd+vV8MZOCWXoHxb+w3ZpU0DVNt1n28Ow65Hb+5qJ7bGXE/vBg==" + }, + { + "block_id_flag": 2, + "validator_address": "132A20818488C9362C9E37E529B879CBCD6FBDF3", + "timestamp": "2024-04-26T10:04:00.928538414Z", + "signature": "VbG+NJWojagNUXVoV9d4DLVu6tDkKaDJriHvuzqYxrDsylLmKqiIJKOPszytCfmJhnmf5aWTfLZLIVL1r5OXDw==" + }, + { + "block_id_flag": 2, + "validator_address": "152DBAD504AF9B1C103D3D4BBBB472C45758F301", + "timestamp": "2024-04-26T10:04:00.996613464Z", + "signature": "xl1/aJtEZfaXOyJ9xy7LxzEvUdnscT4j+SA6G3FaViuwzcv7YLOIlWrffXyOr1G/GeZ4xN8wwCHsNntN3/FICA==" + }, + { + "block_id_flag": 2, + "validator_address": "2191940572E2B2E4F477DA155AE95FA3697AF3D3", + "timestamp": "2024-04-26T10:04:00.938635513Z", + "signature": "F8emLuO8J18N/YtKJ+8O/G6gROAXOBROk4XagQ0+fl8KWQHrHtJU1SnxQx5g73Gg4L+ljDRnohxVrQSJWWaBBw==" + }, + { + "block_id_flag": 2, + "validator_address": "AF28D38FEA9D6F1A8559AE134EDA0F1FE1509768", + "timestamp": "2024-04-26T10:04:00.956757179Z", + "signature": "qQpd/UxxpTrAWPMMFXYeZyEWN9k1fCYImhI3gefTZvV6SeAMdtxpbSEaRsndxDIlCGiSWN6rYqeh+1kC1O5ZAg==" + }, + { + "block_id_flag": 2, + "validator_address": "8D0008FE0C7A6EE7BDD1D59CAFFF96AE369C303F", + "timestamp": "2024-04-26T10:04:01.03429594Z", + "signature": "hYu9PZbIdsxh8Oa5AHiagC9GvG/X3in7Fo7+SGzBgCwYkDb/vEo2gLBKy+7Ht/QMw5QvExdiYgrLcmGVRLU4Ag==" + }, + { + "block_id_flag": 2, + "validator_address": "88102131B351CE7719EED9CADB15330217A9D038", + "timestamp": "2024-04-26T10:04:00.956670634Z", + "signature": "mjZQsF4+808V4ygfcISGy+tGui4wabhZSzITi5qPIJnOY91UfpLKxUlqz6VdQeOvLj90YaohaaGpPyDu5D4YCw==" + }, + { + "block_id_flag": 2, + "validator_address": "39BB490F1B1554AF3FB524CC89D1533EC5A02E2D", + "timestamp": "2024-04-26T10:04:00.930753233Z", + "signature": "BwiURHjTU8vj7c01KipvZ69/IdGkNMziGB9abpWTrp4uLxfF4E0xgtkfKyrj14hPZ7wrnNemxtPbTKDg8dbFCA==" + }, + { + "block_id_flag": 2, + "validator_address": "E7F7CE3DC63D23B2AC7A233A432F8C7ED74B23B7", + "timestamp": "2024-04-26T10:04:00.901633063Z", + "signature": "U7v9mgxeWsDlnMg0yhTHMd5ErxGbNBNLIJyggayARVyN1OAFSntfw1yFDYbMdslZiPlg24iL/lehzETjU48FCw==" + }, + { + "block_id_flag": 2, + "validator_address": "750CA8CEE4ABA1CA93D1E0A524F26DA8A64EF7F7", + "timestamp": "2024-04-26T10:04:00.928224511Z", + "signature": "OPrs4e4FhdGJm6h4GnB0GGv4njG/EqByupUifii1N2WaxLu4dhE3Bb3+yQkJ1hD6A6WEcd7VfUATDoq6rkdqBQ==" + }, + { + "block_id_flag": 2, + "validator_address": "DBAC8BF532C03354ED8BCA5FB7992EA14C1B62C1", + "timestamp": "2024-04-26T10:04:00.983152302Z", + "signature": "OuAv3OgdDwTACCwrjgOSoYHFZUFAs0LskoHmwC6KbQ3QVAVDYQhOSmXgd1JErK5SmH/Nlh3LgSzUzS7pGYxRBw==" + }, + { + "block_id_flag": 2, + "validator_address": "23D911027C3A30470D63EBC2EDA4D71C91412543", + "timestamp": "2024-04-26T10:04:01.065060136Z", + "signature": "TXpTvhtxgyNtRioRbxZ/YqZ7Axd92QFsUEGD0A5/+dCtZmbV/wOipuoFWOfeoz2AKP87BLK5FG8iV8V1Yh/CAQ==" + }, + { + "block_id_flag": 2, + "validator_address": "4B71B41D7DC82C7F44FADB7D527011678B14693D", + "timestamp": "2024-04-26T10:04:19.983903775Z", + "signature": "SiZiIQoi8XRjzDS3X3hKryaJxjbFYFKmuO63DWwyDMtdr7jFQ4/zgct+F96Yx8ulto7/LLQWg/7ZAk2EloG2Dg==" + }, + { + "block_id_flag": 2, + "validator_address": "3A0C2AED56A4E76E52616CD336FBC311B3799322", + "timestamp": "2024-04-26T10:04:00.979187289Z", + "signature": "y37Im9El3V8H2XMTGMSSscbjVP05WLaTy3f6c/yWF/ex4MRmQ6aawzL7MgUiWUBa0Gvpr9MYo4j7vCURi9TCDQ==" + }, + { + "block_id_flag": 2, + "validator_address": "C071D8A87D78969620BC2D1AB55DCE5B683851ED", + "timestamp": "2024-04-26T10:04:01.013430573Z", + "signature": "FVG1yDs3yULzCxFcIfx5Qa/i+lz1uXlCeth910Voh08lasylY+EG0EOI2H1+o4B2uHunZk5W6BQQXTWGbOOGDQ==" + }, + { + "block_id_flag": 2, + "validator_address": "C875B64A69611343F68BD7F1B81C16F971876720", + "timestamp": "2024-04-26T10:04:00.924585366Z", + "signature": "2iZS/maCBiQ79nRc100I95P5EaY3kw+TMgzB0eXN7eanKzjSteiDryfTmYfc1BP25u8hGr/Nnz0yGzXaXq5jBA==" + }, + { + "block_id_flag": 2, + "validator_address": "180049B647B4CE71C46D70E1AAAB869B2114D0A5", + "timestamp": "2024-04-26T10:04:01.081809318Z", + "signature": "Lvesy8nsAoWgMaxigpno/j3UBxl99Ps2JspjnS3zJRuWIQ1saBAwvWJKg4foxZmPalJ9s+g15vsgwVUNnWLdBw==" + }, + { + "block_id_flag": 2, + "validator_address": "B6411041F5AA0C6E38612CC8E75BB70E74D0704E", + "timestamp": "2024-04-26T10:04:00.990271544Z", + "signature": "t8JGFD4AJD2ds0jBW5tUvXv1Zyfc5SjDJ9kDRQi30+04Y+ZOMMkRPF5aZPZ1Uru+3KzYKIyAoYJrFCIS4aAWAA==" + }, + { + "block_id_flag": 2, + "validator_address": "EDBDBBD2090018CE7B0CBEECB12B556269449EFC", + "timestamp": "2024-04-26T10:04:00.972281212Z", + "signature": "P9a6Nv974ZAAMqojXTi7IvGDNoiS/0x9bXd69RXOxw989IInbAcOqrXczcamEiZh1nMD2ImWSGTrTsfdFhzmCw==" + } + ] + } + } + }, + "block_results": { + "height": "4326863", + "txs_results": [ + { + "code": 0, + "data": "Ei0KKy9pYmMuY29yZS5jbGllbnQudjEuTXNnVXBkYXRlQ2xpZW50UmVzcG9uc2USMAoqL2liYy5jb3JlLmNoYW5uZWwudjEuTXNnUmVjdlBhY2tldFJlc3BvbnNlEgIIAg==", + "info": "", + "gas_wanted": "757265", + "gas_used": "543723", + "events": [ + { + "type": "use_feegrant", + "attributes": [ + { + "key": "grantee", + "value": "archway1y8k9a33967dm9n7a8u2d2l6q9m7teecvnxy0t0" + }, + { + "key": "granter", + "value": "archway1ktka5q3cnsy3ar7qwj2huzz6qj9q4ys7h74l9y" + } + ] + }, + { + "type": "update_feegrant", + "attributes": [ + { + "key": "grantee", + "value": "archway1y8k9a33967dm9n7a8u2d2l6q9m7teecvnxy0t0" + }, + { + "key": "granter", + "value": "archway1ktka5q3cnsy3ar7qwj2huzz6qj9q4ys7h74l9y" + } + ] + }, + { + "type": "coin_spent", + "attributes": [ + { + "key": "amount", + "value": "113589750000000000aarch" + }, + { + "key": "spender", + "value": "archway1ktka5q3cnsy3ar7qwj2huzz6qj9q4ys7h74l9y" + } + ] + }, + { + "type": "coin_received", + "attributes": [ + { + "key": "amount", + "value": "113589750000000000aarch" + }, + { + "key": "receiver", + "value": "archway17xpfvakm2amg962yls6f84z3kell8c5l9jlyp2" + } + ] + }, + { + "type": "transfer", + "attributes": [ + { + "key": "amount", + "value": "113589750000000000aarch" + }, + { + "key": "recipient", + "value": "archway17xpfvakm2amg962yls6f84z3kell8c5l9jlyp2" + }, + { + "key": "sender", + "value": "archway1ktka5q3cnsy3ar7qwj2huzz6qj9q4ys7h74l9y" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "sender", + "value": "archway1ktka5q3cnsy3ar7qwj2huzz6qj9q4ys7h74l9y" + } + ] + }, + { + "type": "tx", + "attributes": [ + { + "key": "fee", + "value": "113589750000000000aarch" + } + ] + }, + { + "type": "tx", + "attributes": [ + { + "key": "acc_seq", + "value": "archway1y8k9a33967dm9n7a8u2d2l6q9m7teecvnxy0t0/94677" + } + ] + }, + { + "type": "tx", + "attributes": [ + { + "key": "signature", + "value": "B54RMpJ0+OgElTvjTOSVKThdJkZAusgvdLLF8kmDb7pleyQ7uJhrEFyVW6STVaN/hlMO+jZ/EABgCzKI/OlwUw==" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "action", + "value": "/ibc.core.client.v1.MsgUpdateClient" + }, + { + "key": "sender", + "value": "archway1y8k9a33967dm9n7a8u2d2l6q9m7teecvnxy0t0" + } + ] + }, + { + "type": "update_client", + "attributes": [ + { + "key": "client_id", + "value": "07-tendermint-2" + }, + { + "key": "client_type", + "value": "07-tendermint" + }, + { + "key": "consensus_height", + "value": "1-15231689" + }, + { + "key": "consensus_heights", + "value": "1-15231689" + }, + { + "key": "header", + "value": "0a262f6962632e6c69676874636c69656e74732e74656e6465726d696e742e76312e4865616465721287fd010af4640a92030a02080b12096f736d6f7369732d3118c9d5a107220c088ef8adb10610e9f1f983022a480a20fa84823025b069f879138b00389e1c484ab7f0fb9ae6da4e45ea59fc89ea779d122408011220b21fe4d365cfd7b5bc5e880011757dd1a9a1a2706be63b1ce8b503b93caae1b4322061fe323ce9bfa460a8c93a8525d876268897f47f20764f751ad2599a2320b4c23a2091d5c4b4c02274384b25ad410d0386884d2391e5cba6fe21de5beccb8a4ca1a74220316a6e225c96a5db5921fee3182802d04731588d62f1bb4640f14b0f16760f5e4a20316a6e225c96a5db5921fee3182802d04731588d62f1bb4640f14b0f16760f5e52207186b4dd67b243e05e4ffdf3c07923ab7e244fcffa09739f6f4f7d965dc47ea95a2021c4cbeb94c8ba1d9984c516a8ca3d4afdff597b60db722678d3a27f012b265562208c54c5896d160d092c92908e8f7cd1263562034b80012a7b525d22156eab64606a20e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855721404446da0bcc4310003f97b1bed07ab2abec6fea712dc6108c9d5a1071a480a204f71051510f962baadb1d679ff0a978c9a9fd818d6715d6d7b9acedac3be1ebe122408021220509edf671f8e1ea4f6559a4a35d88f30a1738f5a95427ae0614cbcfdcf24fe75220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff01226808021214e08fba0fe999707d1496baab743eab27784dc1c51a0c0891f8adb10610e4e6d18303224035327ea064893598a4d0617e7cd1117d2121b0eca46ed12c8bea8d36568aa79e43919a25772e8dcbe342c9705aeabb97a73f44a3c5ac4e492cd62b7999231305226808021214765550228cf309bdd33f3f5e768350ba3d69c3b11a0c0891f8adb1061098e9e59403224096de3daab773476eb62752fb2e4d63dd73c4ede61446c77ae31e45e7b276124331fa9ead226edfabc27120faec9803d1745ad88fe7c959e3f9f38e937527ca0022680802121440cc723314b6ebb93b49fbd9d330eec8b4641cab1a0c0891f8adb106108a9d98b50322400b88e1b0d33531c52b379f9279d8251fb15171cc141bf214e78a8a55f9b1149a66bd2bd12ff24e30992decaae8a3a1998f53742e648898853e3aba30d2080c082268080212149d0281786872d3bbe53c58fbeca118d86fa821771a0c0891f8adb10610d2d5f9b00322408f1424a4dbed8374c110c22f13518830ef637524687b65fa4d1b231e2e6f4e35d52d2e274a69b096cae52bb879257bca9d78b0765710027c67510539d250530d226808021214d82343fcd5a74969c0b48457d70e8d55d8f6b8011a0c0891f8adb10610b387b8ac0322406d3cf979884ed4e8f4ca4bb464b1143260149426ac66aeb09780c095f887e09f56458bd698be01b94ddfc32ab0cbd84a9159ec5fdb7cfbdb7e53f6a8d968230e220f08011a0b088092b8c398feffffff01226808021214a16e480524d636b2da2ad18483327c2e10a5e8a01a0c0891f8adb10610e1aecdb80322406fd85ab929d8deb0a40b6ea72ee802218a7d2d07eadb7017327dfef8a795a8c99eec3304fab4c4dadfab48dacf81043aa93467dbd6e851a15a715547f49f860c22680802121472b1489efb57a680577a838a5baaebe162a7c8021a0c0891f8adb10610bf84fcf3022240e857e8e985d3758d1523731690e83a2f90a61c28e5250f991d3db31bef265e2abbd0ecae750af9c30e0c5b0a1c42c5befdf7a738a5025ac310d3db23d998230022680802121451d7d05a659208a6576190aebbe8f076038515151a0c0891f8adb10610b7fefaf8022240998172ead4c8892842eff1a032e916200557c7adb1701568953c00204123b738191ea45f61f2154ec0e4cac32df9995a4ab84135439bac515c560869d491490b2268080212141b002b6ebeb8653c721301b1b56472b1b4de72471a0c0891f8adb10610e7b4c9a6032240eeb67cd9fc8512c440e25922868dd20c131f064cc79e82e2b4b0c85515aafe009e85279eeeea9a16af406f473cc3318254ae882a37431e4964577272c82e8604220f08011a0b088092b8c398feffffff0122680802121471df8d9879c20563a4e2abeda95cd1fc57dbf6aa1a0c0891f8adb10610b9cfe69c03224018b001e64b9810adf981891c57e7ab018b10142895b919aca989025bdf802ce58f947934d9d3b7bd1a1dd7ffc419cb9d112a052ae97da42ba29ec70d8efd2900226808021214131fc79e7a012d9e7eef21de3ba5d5033fcdbc1f1a0c0891f8adb10610f1d1b599032240fb4960a60de2daf510fc2777f3ad73d5b00f7571bf266fc8dfa150391fc1e092218c325a9d2511acd6fefba6d5e355efcf30c6c667f4c8c3864a79cd8de63a0822680802121439327692c258a57970ef53f0aa4d3c00f95988b81a0c0891f8adb10610edb1f3b9032240508e1963519f789b56ecb9c7794ebec98e853eda94f3efb45245c2e2d948d5ec87a9330bcf8a3ab64dbcf94dac99a353d455dc79c8f2617804f6c3ab663112072268080212147341e970b9b3eff82b2060d3469fc50d7af041461a0c0891f8adb10610e8fed49e032240f73753edd63b4e3aab14be8813eca7a36b2bd04dbb2b9978d6eebfe73227bfc95f27c19d650a79dbc9df0c21f40e112251af684e5259e9c9c689f9f8b616790e22680802121403c016ab7ec32d9f8d77afdb191fbf53ea08d9171a0c0891f8adb10610cf84b597032240164f7f95c25f2700ba3d74cea4008e887455ffe1bcea5b29a075e99d2aa9720e190030375fce7f8447fddef25d5e4f7b8bf0a11c37ada0056baeae2cc82fa6022268080212142022fe8cc49e48630c76160e11a880459219d2441a0c0891f8adb10610eaa9bf8b03224064d4d530e8eeb6b43f00c903d4a8c131219ebe6e616dc8fd013fd58620de72b5685db749bbcbd41ac52a831e82345ee58a76d03c755dc601d578a011e2210c092268080212149e7cae009efff4d163f3fb8781a07b25c2b10b321a0c0891f8adb1061095fbd3fb02224012901525b8130fef68bc5b085af891d1acb496034eb083965d350b4f15b7972c229e88fe1a47831f237dd4e39f357d04e07f903da26d0eee921fd9cac0ee020422680802121499063b919404b6950a79a6a31e370378fe07020d1a0c0891f8adb10610a3f6f681032240c835bc34f6455c18c40f8badd414fcb63b7572f382cd976ed693a2bef0373ac8874a8f187918e0a911a39990f16ad65ea3535f4af78e8a55586b84c9ad141d05220f08011a0b088092b8c398feffffff01226808021214768a82700e3046e6daf849664579e649597cc1b41a0c0891f8adb106109cf887fd0222401c50667f268cd85515b1bea91158e0c1ce935882c0679e60b236cfd91713ea95b23c91526455d4b66d6db8387cd9bc955b568d9a1de32413bef8cf3d3337220f220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff01226808021214a06b5b682b425ad206a35caf246fd70dd098e5061a0c0891f8adb10610c1b4c48b0322402b85295ab044f714c57b95f3f6b40b78b98b591fe50874d15913d9ea2e2841ff7004e24ad4d9dd27b0ff3deecb5d9cfbb42eafa332372e1b63d82e83d835200722680802121497afe45395b74e784c88d45e5cca2995019fae081a0c0891f8adb10610bcc0a2ff02224050eafade9940b7dab9caf344e5e96268395d7f69678c8f29109177af1c20247b28be3d3865d8bf62c9b7a171fc978de7ce16dfc61398289914160745122d3c062268080212146239a498c22df3ec3fb0ca2f96d15535f6f3387a1a0c0891f8adb10610d9e5d08b032240faa02bbda92a9c452cb62d5ed8fb052f0e1db81074860330754badc0251c615c2b1d35e4bbf7e655c9bf3aabc421bcd8a0740b309465b95411d3d87c5b7c5a012268080212145f999a4be254869925a7f2fea04d7b3b836cff0b1a0c0891f8adb106109281b8ac032240bac5a4988555cf7a2e660f3a696d73e1683dcff0d852eae524e09177be7b6019584558ce05ebf04dd5c47636c9bf64026f0e4d93963726a4179ea907fe3cc102226808021214f3f55da24bb47da60b0fb71ec1a9c9274bceedb21a0c0891f8adb1061096d5e8fb022240b55ae21ad9ce84696339ecee3188b1d352eba8780c4b41132e9f08e9d145cee51cb5b28241b4295218487a17ab52f20276583410aefcde421a3a9d674ecbe30a2268080212149cbec8cbd4ed3aad4bb2b0346efc86a6c41f91601a0c0891f8adb10610ffa5af8c032240d24d90d8aa31b6e3473f8e7b6b84278b4aecc82ca3a1b168610235b064dfbf4213a6f5dd93d2eb7e98ebb505e3d032da5fd37d6a968b7657ed8eab54f016270c226808021214af195943e44fe1d6250076b8bc1910eabc85f1f21a0c0891f8adb10610a0c6b4f5022240c8ec28e525957d21f312767bb350f03ded8b0d759a423bbcc82ed91a6da615451be9995db0169970643a6b85dce2999b56f3cb02f2e935b7468abfabf9ed9706226808021214dbcd765db2640631946c1393ba255876c76da38e1a0c0891f8adb10610b2839e90032240f25a0add9cbfa661b6b1a17cb718458749b0ff8597db807dacca398fd1d87c9562d363c4e848a9200fab70e4693b2d08239ceee283f013e9992782ae152542012268080212146912e0ba38cd00c9f2fc9e71e971eced507b42fd1a0c0891f8adb10610cad1b89403224070ea13f1efdebdd8f7acced0d94207488547157c8cd798edf8ca02237f4141caedbf3b55a327f9fe43660d8eaf785e3aa836458bc9d0db257ecf79be8f2daa00220f08011a0b088092b8c398feffffff0122680802121440c48839cd487d8a13d65955b7fc6c4f560d8f721a0c0891f8adb1061098f9d7bd0322402a10f9417c421db6221e6df25e0010c886aad9fe0c8c5169897224332bf3ba83b04a3a384ae15a8d79cecf90fc582f4b035b12a0ae863378478cc754db5425062268080212148e0545b1222e7b5c85ce69edc78f280cb2b79d181a0c0891f8adb1061088caa99d032240b0c88ba835e45d58fa57eb1261df0b3311150cbb6558a0dcc79d9741483b0c195a7172ce05fa79cf540d80034ade62ff611e9456501ebb5e8fe28ad653ffc405220f08011a0b088092b8c398feffffff01226808021214b0b35fed40daa5ff9d4bc685c75925187f6221191a0c0891f8adb10610d8f0dda30322401c1ea5a8d41b5e9e6229060f39be76b42c75eaea378b4ce75eca859992622e83405d185d777ce5d924809458fce857bde3c9739c33450be9cbfb1132022f2300226808021214138fd9ab7abe0baed14ca7d41d885b78052a4aa11a0c0891f8adb10610d3e09a97032240569d806618ca27191dc778400919ef531147d690f007e7c34dc1899e3d14afb65f4ef07058e94f12bf18e30e473631186954d3fa2348ea2d32210d7639288b01226808021214273f72ee55987afa771b27d370fa131f608b83ac1a0c0891f8adb106108ed2ab89032240265bafa5aa803d430cfdc89c235c25d9f344867273c8b9576d68c3a0ac8c0e27a5727dda4adab0cbf8520762b24556d23b13ba9886032aceec7477ea3746250f22680802121495b002de67707313d123d06492f1a7a58478e5461a0c0891f8adb10610cddefa91032240af3d55e92358e505af6459a8a167a8b78d9096af24e6e7e3ab866541c2769a3430a6ee731cbe83ee856d9b0bc2d88dac364ad9aef88d2704a9867d53a29b1501226808021214f9a968a405fb0429410ae5165e5f2193271e678a1a0c0891f8adb10610a6ded5a9032240788012f336f358d1354a01f3e0ab41bb064b53368c85ac04ec7b55dccc91cbd1fb2c59ac646f90b084534556baa1cf9ffd4c6db04ff354a32ead32a556474302220f08011a0b088092b8c398feffffff012268080212147ef244868c304aa5b34889372e2df874afd635cd1a0c0891f8adb1061093b2f2a103224043ab7fc8ed921d4cd9c29916494521de167810650c38c71b7e8d894da96e6a9764e0e8e0f8bfb9fc6e6003f0dde39d251fc7e38e055e4026d0305a4d1a9e030c226808021214e191e654d06b9f721568bb945b2eb51ddc1c8fdc1a0c0891f8adb10610c5ac9af9022240a5bf82bb80a2bf0bbae6bfe7f22e325eb101df6996828e9781dfd61c5f18874c8eda0494e26baa14b89f26a58b57868353c034c9d7e91479d480bc1f1dca4f0e2268080212147e0ed7689b65c345d1c817c5b0332fd132de58751a0c0891f8adb10610ffc5989a032240ee344a36aee1b2496738f682993ada9ab61f20c6e84a9309b08f48e981f888fe23b5331f7ab5ca4e08c8faa62d0c6fd3c7e727e5435172dbcf6bf7ce3f8d5d042268080212149f8ec2ef581ce25630c819f19b5484039e748d1a1a0c0891f8adb10610a3dc909203224031c45fc5bf389914643547967db7d47601ba8c4601fefcd0898ca1ce3d4fa9c8457c3ac03c2562510f5c6757d83b5839a31df4df796a586678d3e3f4e480a00e226808021214ca0f2a7121f86d3b6d91349730155b9a5a31c5541a0c08a5f8adb10610effae6e40122406ac382e3d67a5a377c748995ea236f67b7741ee2d7df3fa0ac2a4254bf5fca660111f06d4cda4a63653f57f100cba8574d3e67dd19867ad8a2c9313b926abb09220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff0122680802121406f45c36fcb957e55d923a6d4e905c2d715115ad1a0c0891f8adb10610c6d6a1a90322406df4ddd2ea44ac04c84434f059b1a85ae29f1a60edc32646cf19ffa9a78fb32f36c894de6af8f05098678784ea774425d0b72f76deb439b363cd836154688b0e226808021214e12cef3871b9595ef15401eed2466e9310e4816b1a0c0891f8adb10610b596ff9803224088e627f8666d3e61a493c234d7a8cc9cc13ca845eb0bf90054e37ee993dcddeb7d4121af655cfac3f0578bf6c6e3e4965f928591869b370356ba4c16494187062268080212147d53d76f2db86be30a9b26cadea69078531ab9bb1a0c0891f8adb10610e2d39685032240d7ba6eab2465cb57cba22c1abbe78af76dc53e6f305bc25d46e4844bf754de1a962deb771db177fc4e618136182e5a86f4223399416aebd1e4c8bc51af0a2f03220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff01226808021214d8a6c54c54a236d4843ba566520ba03f60f09e351a0c0891f8adb10610cccb9895032240369d05ce6ad8fd7f69d1d236d27f58cb8e176c8758dfb4ff5e5d5def48f524a0d700f1964865002931b47a2efc2a4220bb473c18c316586c163ced2ba5f1de0d22680802121417386b308ef9670cdd412fb2f3c09c5b875fb8b81a0c0891f8adb10610b7fafa9303224090d9d8d31c9fac1ef366e18f729100f61606b3ef1caa926c3e440a8a1bc0caf4e0b80f2bfa32a7689f38ba71ebc161944be983ab9fa84a2f30a860e7e0035209226808021214e03b985e6c8905e184d88c995cc632aa278981eb1a0c0891f8adb10610c9c8819a0322405c222d7678b7725cb3eb9b3489d3f2c55f2ca9c956371065950150e626eb53fd309e632fcaf1125b53f7a63df215ae7255df67418cde5c1fad14c99f8500b106226808021214c9e615289d1d92e50292c3b0bd8358d9b2e402901a0c0891f8adb106108cd2e8f802224019eff3f8b212f2c2c94d1ae88c880852cc1788ef466e8ef72faf552d760c6ae6b0bf6ff9c819fe48983116a00cac06eca158237ea6f27855d537a972c8b36e09226808021214f6c3f7872b046da7198905e6cb58c1b775b48bea1a0c0891f8adb10610bf83fd96032240617afa857800cdb3a5790713024a5b0e43c7acc56abf6628995cabf800df383a18e7ee31911846bbde14d84e2e3ee2e12f96dd9721126f21d26bb2024b6adc09220f08011a0b088092b8c398feffffff0122680802121446dea137cfb10bc419b2577aa9a58718680e18ba1a0c0891f8adb10610df8ef0c40322402a9a17970656f7466f50cec46a6596b1a4b2149897d5225c7f1cca7d35f678992ad56c2bb71c6f72f7436aac15c6737eadd736a199b5153f3c44a8abdc962b0c220f08011a0b088092b8c398feffffff01226808021214692174b3ffbba80394a94dc92665dc0144fba8371a0c0891f8adb10610cef4c5f1022240263cc4067123e2b67a0a5c1c9278bfcb6dc8b3871663e0c8830e64e92b3a6bdea1f23a6410b498c0bb96d38a5364041c7581125e97b0aeb49abb254558e0090a220f08011a0b088092b8c398feffffff0122680802121463481f6dcaaf733d2fc953a335c2200ee190862c1a0c0891f8adb10610e9f9ef9b03224089cd37fdbfdb689c288fa34346db9f291e344734f725068947d49c8cefbd6d45ac9ea28c9522443075e61ba756856c978d3efb4be3f88ff781f0e70c6430b808220f08011a0b088092b8c398feffffff01226808021214712bc891aeb721da72732bc30d531e0c1eaedae01a0c0891f8adb10610ced1859903224081124027c8fab9d3d100a26a67d5811a50df990ab89c32b9f1936326ceba0e674a9f26de3df44650b65e818c6612ddda601c37365f03f10bb0075ead7489ef0d220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff01226808021214943547cacb29c55797e121acb4e586c49d9d39fd1a0c0891f8adb10610878a9e8103224027a39fa84fc80d85f2bfa908ef87dd12e3735371bb72bde0f4975a689630333ee6e0a3e5c10479413563c24739f201f35ea2ab5a05c7717eafe295351d5291082268080212145fecec9408a2710833f2f7d848339462c29c14441a0c0891f8adb10610f3ca9c95032240aeb5d2fadaefc8cef419f17c3dadf6dacdcf8a54248f91a8aedb228ea6b30d9a05998a8ab94c0fe351bf2308b7e190aeefb762902de9e7b357ff3325fb96dd0a226808021214d5b93190771a50604a5f7849aaf067c4a9daaf9c1a0c0891f8adb10610adf5fbbf0322408c83556b1f23529c9a02795314e77c24b2785df2e3e2f8d76e36179cf0f19685c675b1cb685000b1d6730330a325a618d4924a00054fa7f0728349e6068d8c07226808021214844290531ee59b40feefde5259857368bf7119ec1a0c0891f8adb10610b8d3cef4022240908a3cbc7be316c1e817ee80f120b3ddbb73e7ade5bf25240e85c8c1219c6d23ab396784885a16516b1e39a65e4671756fa5e6ebe6046663f7deefe1b97850022268080212144e154c9288e31436ba814dd92d17c4ed6cefd3f11a0c0891f8adb10610df9abda203224090bd48d03377fca3b12e367a4ef84040ea7eeec4d3d37d67d9132b21b021726a75141ff99417967355c93d593a8bdaa72b1c471ebd9b8fc940a6566d5e622e082268080212140a70912d18e13d78cb32e6322a4e57f861e6c3c81a0c0891f8adb10610fd9aa9f20222400f08a14d220c43f1221ce4b1a56257a69fe984bc6b5b61e31b306cbd0ccbead23720a9973d532f774f21f57d910d6abb828de0e08355ed1be8c5ab22dec2620e220f08011a0b088092b8c398feffffff01226808021214b5c33a409a589c094e89f77d24139f25c6a6dee91a0c0891f8adb106108b86a09e032240932dca4fa80b4e41d58b115f9c4bff67f851ea47b94a648782849a0b06cc346ce41f1197f77f4984787d0b7a75bfb947108d62bc83c23f6e2093b42d5949360f22680802121469d0605229c665974ebb736fc77e16245c3f79aa1a0c0891f8adb10610d9ccdefe0222400847955b24a0700aefe48afa2c062213b141039646212f98f95a944f903971930eae4c65ee437634c9f13410a69341eb2da12a3cc19f78a1949ef489da4974032268080212147fc1da40b2568ddbd53cff3b76c49ce89ae286801a0c0891f8adb10610eda9dc8703224058c03bd034647383e156ad9f5bb302104474806937de9cdebdd73a2086ec0b116b5d2ff535040dbcf6a7569a17ec0af7862a89caaba33262e051855a02a4b707220f08011a0b088092b8c398feffffff012268080212143e88e7c54f64642a98b2e1ddd5bdba48794f06c71a0c0891f8adb10610d3d6c1910322400eb497f103951ee5b4290f6f279cd3e887bee7088840f81d792f32e2fa9536c9d2daf1e55178906a1215303f8c00b3e9a98f3bf4c2d2abdd8795613fd651de09220f08011a0b088092b8c398feffffff01226808021214e5cba199e045e7036711d814e57e2b66c3cc03911a0c0891f8adb1061092d6df9f032240e90820842e245a8a5e89f06ca05f055952d9edf0dc25e827e537491125adb719a5aa7ac9d56b72e7083e4ae61451f0feea98947acb53f9e1d6769e1a9396b602226808021214894c56d6cfc3a8e09eb6d1a2e33467c4cf77c0f51a0c0891f8adb10610d7ace9a40322401caf0c34a54b9439b0fa19f6d7037a0d9d563947e945c25103bad6c6b21d4380ac0770d9c44669e2e39d9f8df9f94237fbc7fdf526deffb969c07c24d4021208226808021214c8969171f9b5a3354c712a20f007cde0648c990f1a0c0891f8adb10610c8a2c3f7022240289d36ff40a058f788a6a315e350765089117de8b48153f39048a12827ca8cc2243f3b6010b04cf449ebda57af228a2c71e0edd9d30dafa737cd178bc03ef705220f08011a0b088092b8c398feffffff01226808021214d4c41c1e17e9321d067ba4e3e476e766b2c2c2bd1a0c0891f8adb10610f1b2c5ff0222400d79c8aab526fa90859929b1b38b7516c428e4e7eccc4235aab0798124876114153e7609ccef2fb17346b213fa6ee4e4f31cac0a4f4062938ef64cb6e2a0c60d22680802121426f7777bd52918ae71801022b0e2deed97ddd5041a0c0891f8adb10610c8808d9c03224005dc4b69224fa7bf9f17c70f83c943807b067824b5cd76330f20961936bcad3d4d05c3f44333dd67ffa37f421fe7279ec4221c7faba11ac64f89d287fa99e701220f08011a0b088092b8c398feffffff0122680802121415fec10416e359cc1ddb424c69166b2671f251481a0c0891f8adb10610cce5a6a10322404b94cc63ad988877ac555fd0c1b54ffbfffd41f9437b412112011ae78dc4ffb85baae00bf09717e84c657efd7af1b6192194bb1ffbdb19a3f5c991c4bc6ae00b226808021214000a5959634b4296e4de536481de00a8a0eb9a581a0c0891f8adb10610d7b3a4980322406730de9564744d7b5438a723dadf9ec1efcaaced27a4ae3fb862ff184efe7fab8590aab76400c8a8b17ff580d1beae7599b588da5546a88275979b232296fa02220f08011a0b088092b8c398feffffff0122680802121460a433d28b08788c72e2133554bd5cc68769dcec1a0c0891f8adb10610c1f5d6b20322407024a827bc739462d72900e0b1fa7a63b73ae8afa3bed9f4e650cd3cff0c5cad338238c8a5879357f40b25b98b489fcda034f617c04759f25320293c562a9c0f22680802121406aa34bd6d1dd34119e3dc173efad94f430ab74e1a0c0891f8adb10610ceefe689032240007571e60a9a3c8c8ab1953b08230f9daf262abdee97914374317108eb3dcc492c7e6e3a19e1c2c7a8aa4a64eac0d084585874f24bdd974c7e80f974a2d69f07226808021214c9b753ed297e5f9894d4a43149cfc9f7b207b6b21a0c0891f8adb10610aabaca81032240f2a90890bf1432c1b4d343766e2dd9b34691d1ba06b07b63c969216b6f9a50e62684915f4dd790e113653387f9b68cb05528059e01d4b3b301f3560dfff5df0e2268080212143ff6c988799c1adf3aca0da56143c8163890859a1a0c0891f8adb10610ff98d4ab032240c7df020d87d2ceb62a8c106bb28a2455e88b513fe6fa6ed00add6fc68ed20c6889a230e2e90619c39fcb46e7e9bb0f0f449d13aab91d6d7cca5f298aacc6ae0b22680802121499938495407c09b343562aaec3ab551a5c2462321a0c0891f8adb10610819b8487032240df176419ffc31c5be1a972917d04cd35d6dd95ec237160b14c5813a38a0cbd431e0affbf4b871443ad18a66ed7e12675ae33c32b31efffafd1d9b0e157630f0f226808021214901fd122cc512ef13de8e1a3d7953bfddc0786d61a0c0891f8adb10610bcc3a6f7022240b6f807acad0d6bb402b261dfbdf3fd20a7262ac12252ad54b3f1b48fd3d8e94f76daa93039542cf43be463a266217947564aa5a3b7af9a0be92acb447efa480b226808021214f6783d8fb30e283081c16398293f482dca0e912d1a0c0891f8adb10610d9ca9599032240b44e28f14992928f8ec02e570fa3d6eeb0c063db315dd1c7e2dbbf7c5a826644bd15ea3f18c281015865f038033602ecb7bd91942cde6a0f856896b293b1f501226808021214a9c4e0e2af00183da11434ed413219905e9a868d1a0c0891f8adb1061092adfdff022240e00406d588efa60f644ef2d478f6966cdf7c8b62774c8b0d093aed5220da3ef4ed96496ddfeae7e302dacc35f72e2c8a5b01efe7c2fc240926df6f8e6a81b40522680802121419ec0a155a5be755e76d0059ef730ebca122b4f11a0c0891f8adb10610afacbdb2032240e39dc930607c7902afa961f4f06af45c416e2f823644bbfeb89eb256b8cc4c9a1f690d30c35e52f4cbab58654f5b0df6efde712e605845cf1dba8811db3b1202220f08011a0b088092b8c398feffffff01226808021214e06dadeb413829558f7c95339ffb61499c5a1bb91a0c0891f8adb1061080abb1f602224016accb54f00923474a024c4445fe1a34b11c97c15bf48c8e169fbd02453a6c2607a5ab4f96917748ca654ebcc9eb2f0fc494f464b0ca70daebc1127c1d9510022268080212142d159b72d40c1c1daddf24d2511200001b74ed841a0c0891f8adb10610fce0ccb9032240857c93456b8e7ae097d1dd2e8b522fe7dfd500ec6376404612ae1f4f49629ece71ad7ee155c6b90ceae26cdce4c5ba4e77d810663281cb7bb58bf55568d68008220f08011a0b088092b8c398feffffff0122680802121496da375d8a293f8f6580da36ea2376cd89ab20c41a0c0891f8adb10610d9b7f78c0322408a39a4c904e39d916f68af2aa9eb909cd688b8174e49774fa05552bc4e7143d117ce490463ddd7bd716f24acf4429130a2ae2d8f6e3e010ea2fbe8349ae1740a226808021214ce485517649e4f8c71469ef7dafcf9a558bf167f1a0c0891f8adb106108884abab0322400cabfb1fad5ddfe3f9e2e70072305854af2a2f1dd008d233b0ba4fb98aa9d229c41f2657d36871aaff32cd133160a45fae891df2b07b24cc85808d19fe886b0622680802121468275c37cff86bb53d29d6237ad370e8fd5097fc1a0c0891f8adb10610e9ba9c9b032240d137d1170083edf35f03f4e8bffd6d623e5b824286126f5b601fa4314d462804f69af3cb459694217a34c6445a4de4aa099714a05969d976025044572643b206220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff012268080212146e705424231dceec337eb451bc4c1d2c5fba48c91a0c0891f8adb10610fac9decd0322403b0b6bd8df17b57047639b0476ae3a5f6b1756292bd01312288866ee21aacbd3db637b4e70de1df21b838d8c582385536e6f363466c680d8a79384c23070c701220f08011a0b088092b8c398feffffff012268080212147c5aa87e5203c66ea35c64262f576edd29bad9801a0c0891f8adb10610e9bcdaa203224038bb0b5eb43117343cdbad85f636c367e053283427e6b72be36d0ad576d0ca7333d1234c11438f752d5822ce52174b1181ffd9e8e595046a9f42bc73cd443008226808021214451acecaa7dc4cce6e0b7cde02f455df973535e51a0c0891f8adb10610b6e4d4a00322403001ecd8967733ceb833f6da9c439818ba4bb4549e3e599a8734e7329bb77b16f16590d9db7440dfa847f86904b9229f8896ce895b26218c0fe00386c6a3ce0c220f08011a0b088092b8c398feffffff01226808021214583ae736e67df9d72fe87b9aa7d3210d3b4b0e5a1a0c0891f8adb1061091fdeafe0222407d864739f548cad9c514d41f9be988481b58aff9caf218ce74e7b32ba49e5da01c258f1828a990ed7daaef7a12ad1d2ed9ace2feedae3ba20c874f95a6e07c0f226808021214c5ed122e511ff9d7dea986fd7423c61aeb139d341a0c0891f8adb1061084b7f193032240cbbc875f3904e35924b8cfa947db505c8eb0b39dfa85849e40ba28cbc7890b437fa912ddf607d60db846027cead238561937426f6821747260d7dcbc45dc6b072268080212143519556ae84c5dcbcf6fdaf05fb644e40ff93c371a0c0891f8adb10610e0ebbea9032240136b25183906df2d45ef463cd5c1157833847623c9d6393351fec112faf0c89b68f0e2b5e70fa1385f2fd384f6b46b01ee9491872eb0accd8a12f07a82e30c042268080212141fada14dee843b733ecd5de2e74552ad234a54511a0c0891f8adb106109aa1c282032240f93d89cc8ba7ad2dbec4cb56e966632883bcb6ceeac1414cf9cfe762d676ea8a9e6b9ba2fe9fc0c981c5bd59857b323df3cb7b58b97cf40794d46df5279e2c02220f08011a0b088092b8c398feffffff012268080212142d387d95e13f681d33122e4475f9b7dfc2a68f641a0c0891f8adb10610cd8eb79e032240c2caeaa1ef37a1fc7f5e1c27aea2e168fd8b37df0408f4784b40978d637a7b318f21bde939f107df47257bd6200bf8559992b9e454e3a387c04d2ba19f4bc30a2268080212143ff719f1664bee93d482b480677c03a47ec0b6431a0c0891f8adb1061091e4df8a032240a182be9b395c0f8d04bfbd8258fdab670516671667cfb4671f132370dec7fb25fd0dfd764ee19751255d5440d10904519fa5c7f1160750b91a09fc3075bd3c05226808021214c02acba7653ac3782750b53d03a672e191f003611a0c0891f8adb1061089aaba9903224027139e3cde1fe0b20d18a1d7ad6bf40e130b4249f747c4e5e87d61bf09ab7704b7fceb7f8b3b7d353c0cf8c4bee5375c7266ac7aa426547b9bff79accaf0c90822680802121437714c4da407c9d13cda424aae78c3b28515a15c1a0c0891f8adb106109cb6d49203224006e1ec69ebf9d199c94c662b4c8bff3130d99f5d5684bb9f85364244f0a251b5cacf23b035785d8f90e5e875a9687f06babdfd684aa54c6741b050dee65a9d072268080212140614088c41e6a85fb5bf344552a5120e5a0139fc1a0c0891f8adb106108abdf084032240f4a94213b119bd23500053c63950aa37be2813331fa370610a29401c3dee509539a7d1608cb941b5ab2c63515446173a3849784aab52faac59044c792ba09f06220f08011a0b088092b8c398feffffff012268080212144146fd7a1ab8b861b7018978bcd13d2d1fa63ebe1a0c0891f8adb10610998eb89d032240379e6bf3735417ae3426c33bdc34f5844ede6b2af7809c87f888b98d5578b64607d99245f50c673fbde331e97bd74b2c2dbb2c9b7a23dbd16c86f922289cc7092268080212148014ba212ed388597510d064258f5e30aa30d5911a0c0891f8adb1061096958483032240ea651d5bf13f73b49c5cc1c379816365130774a62a88665ac03da82b6a78217e7d586c4e9e9e6f472d84b79a2b678bc94bba3acdbec7b6b58bd0a6841d7b8a0b226808021214373f86cb3755a1de78cc69d3e5f7ad5d7615b85d1a0c0891f8adb10610d59fb4b4032240bae9f3005dcef16c68d9e1a6e7d67deacd59bf1de564e224889f38dfd5f069cfe87e3da89ad93fdac22530e0717870b0c607f7c8c65f92e663374ced0887ad0322680802121422ba59ac2918afa4c1b56d3e6f86083e470cd8cb1a0c0891f8adb10610ee86b8ae032240feeca01e8afd7a6ea4d539472c4dcba314249d73b606a3469466f55c04e7d6386b99d2b2f760d111c92b234d9a114bf4266dadcf5cf6da3ae823e820b8fbd2032268080212147364be6cc7b6e404bd1c2050ccb6a7472786e3b61a0c0891f8adb10610bafb8c9c03224096a85a050ac1ef4ecd99b26ad1689cf7ccc11e7757d3b303b19e35d8ed4daf04f5ca2003eb4e32793bbd4a4b2176baba493a02eec486289455b7ce3c5c491f07226808021214972a684f364cce31469b37a9d439985115eb5a401a0c0891f8adb106109d9a858403224003e42967b586cf7aea44ad05eb82f7f55518f951d5bc2fac880f6e059bebb8c807967d02930e48571ddb0276fefe410e793353a99138f1e0445cf8e9e484f202220f08011a0b088092b8c398feffffff012268080212142f89d7d3d1e1478f88ef3ad8aad76a88189f61241a0c0891f8adb10610d2cde8a0032240493e1869c67f0a6cdbb0336929088b7987921039c810fbdbe68e7f3394520c9f77b5cf2ca8f03e735842c52622326d4696d6a9c259ef8e3b24835378a99f8503220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff012268080212142dd6d22969ee7c2ca1f8b428d13a8995c043044c1a0c0891f8adb10610b4f0e9c70322405e4fa9955d7bdfb1d01aa08303a214c96f773694d0cdc0887e4cf4f5c454c577581360ecf9320818eee835aa2805341c818594fcb9b8bcdb7435ce17b10c07082268080212149496535a8f2945bdb60572015d2d6f721ab6fed91a0c0891f8adb10610d2c2a987032240aa7ffc88a7319bfaab41ef4586ba2d7d800218efb562acf637cf90b78ccd28cf66c19d698a8ff624db49533b6d58cf1d39a61fb23781209b88f731c96f14840b220f08011a0b088092b8c398feffffff01226808021214b15069e41b1a60ff03ae8d8f741f78c7b1144fbe1a0c0891f8adb10610cce4f5fe022240ad41689cc023378457e12e47bde57832ccf72eb6eb00b594151005b5cd6a42f48c4d98c450b8154d7a5437d7551e66d229a5347e225e3174f09c7eb5df436206226808021214d0c2071d6f2fef021dbd3f5f1f72f1bf30a467b91a0c0891f8adb10610b7d19ef2022240b309c58d2afd98da14a927f45e4440fcbd85b80e771ec713216dfdf118a7cbd15c6e63b0d4c397811f82c2c5bb827afd36e3bfaf9a39d79ca6148dee281496012268080212145d564f844d411694b131b1c4a4fd3b389494f48f1a0c0891f8adb10610a0abb9a803224064cbc081c0cfa9b31019d6114732a8f4e6a46549621595396a19316e05717f752ab011d53f4f29e57661bd19f0009735808395d87fb73d41a487b3034389d905226808021214191e896a11c0a77a96a99abee986a2a40355c0441a0c0891f8adb10610c894cffb022240418448c382555a70b8112a54af3a8521b8547ffc1aead1f31b1bb6d40d6e86689e9b38d24e59f704d415c5436f7685068e2df370cb9e5b90c5866c3a5446ce0922680802121447c89621f47ba7ff2362c1b2f97a4f6311b646f91a0c0891f8adb10610bbe5c3d50322408f89f4199935f12b4307768a8a8e1bea50048d5079f76a5a6275300613d31923f8c10eb7a5e2fd374762b3c56fdcfbbe3b5172019affeb12e0817ce9743dfb06226808021214f0c8b6addaf7cc4ece57086607a9a0c7ea6275e01a0c0891f8adb10610a3e689a8032240dfdb55a803ac7cea544fefe21321cb5429144f9bb3bc11a1082db28efccb55fad97064d55b7a34016865d422b0988544de06450fd29737693e38d70f23ffa70a22680802121420658bf40ed48ed01a2d087c7ff7874f21a563331a0c0891f8adb10610b3adad8e03224045bf5c2e0a317b1852b740a57d726220bafdecca953466cbb78b6ea58b35475d6f41c88dbabbe7df126c4216225a1a3775e4f2967f994daa7edd107686ccc70d2268080212142335465b27b9548313aaf465217787fd8e6113d31a0c0891f8adb106108cdde6f20222400139b937efc50cd563dbd8011211e1b13fa47abe176f483b3a0effb4fc7577107f254d84f21423a5bb2d0bab7846230db9a6652b512425102924b51dc7e5f50212804c0a3f0a14cb5a63b91e8f4ee8db935942cbe25724636479e012220a20e8dcf4f58187cf05b18dccc6d0884ae08bf4a98d88717d0fff92a2b6f4574d4718a6bf9b0a0a3f0a141f7249f418b90714bf52797336b771b5ad46753312220a20b1fd3b167a4803d77810f675179821d28a5c6c9881eaee96cc61d9eeaaba1563189ebd920a0a3f0a14e08fba0fe999707d1496baab743eab27784dc1c512220a20de0e4a0ba7c9d98611a0de7cde629db2d2e2e5e830b760a4c91d32896211950c1888808e080a3f0a14765550228cf309bdd33f3f5e768350ba3d69c3b112220a2056dc9cdd103251ff6f5a1439465b1075a40d14bb76d99158c6f48753a77420a718a5c8e2060a3f0a1440cc723314b6ebb93b49fbd9d330eec8b4641cab12220a200609deffc6b7a9425f2cbe1666f54a14763a165b95125a73986ed70aa046690018b8e0bc060a3f0a149d0281786872d3bbe53c58fbeca118d86fa8217712220a2075f4c477afa4ad6633aac05ca6a771c92abe8b087b4867309c13bc5da5b6a8a618ccf3e3050a3f0a14d82343fcd5a74969c0b48457d70e8d55d8f6b80112220a207fc4e3176964df4b4c1ac8c52bf17b2e0be3cf6e1dde187112eba14729c43d5b18eacde8030a3f0a1466b69666ebf776e7ebcbe197aba466a712e2707612220a20c01db94ad2f16f3983d2e4e21621fac724997741f5de4c9a9cd52fbe55296b7e18acc7a5030a3f0a14a16e480524d636b2da2ad18483327c2e10a5e8a012220a2061dd91607c82d08dc6df864c95de6bb3de1ee12e4bd539d66810da0c8861a52818b2ce9b030a3f0a1472b1489efb57a680577a838a5baaebe162a7c80212220a2070d454aceb78239ac972c0158543a206f38b611485c7876ca36d9b714121b6721882de80030a3f0a1451d7d05a659208a6576190aebbe8f0760385151512220a2062eb1eccaf40fe2bd5798425f403b4d31eda4b89c593111b8a7c191e1b2054f818d5a6e2020a3f0a141b002b6ebeb8653c721301b1b56472b1b4de724712220a2081a971e0937b15b8c5dac7312a3d2eee1d69c0d43f3723eef7aae121eae60bab18e3b6d4020a3f0a14d24b7a32413338c2aa26fc0016d91fbe73bb5eae12220a20a7bbec0268402a52a3ecc398131e47b74374c06b9ad0e9f7e56cd6eeadde161e188596cc020a3f0a1471df8d9879c20563a4e2abeda95cd1fc57dbf6aa12220a200c2261f753aa87d3fbea0602ef5a454b37747319efa910f267afcf2c565f80b118e0f0b6020a3f0a14131fc79e7a012d9e7eef21de3ba5d5033fcdbc1f12220a208dde03c27dc6aea053730369b9768e9a07b580dca36bd4a6619b28e9ef31007018e1cbaf020a3f0a1439327692c258a57970ef53f0aa4d3c00f95988b812220a2055983a8520d191a7846ac4fd06e62ffda350d744682cc7931307a2b7229536bf18a8da8f020a3f0a147341e970b9b3eff82b2060d3469fc50d7af0414612220a203bfb06eb87e63bdfeb9d17e425f0990cd9bb298de279133cbc2539842772533518a99089020a3f0a1403c016ab7ec32d9f8d77afdb191fbf53ea08d91712220a2039d5694df2c2bcfc812de13a8cdc5eb20cb71e0d48880fb5eb9952bac64380bb18ddf8fa010a3f0a142022fe8cc49e48630c76160e11a880459219d24412220a209eaebea0305761228b211daf92c39e18cf62553dfe46d23258058452a70ea0ee188bd0f9010a3f0a149e7cae009efff4d163f3fb8781a07b25c2b10b3212220a209bf9fb4b564efa452d23bfb18021a7925a3989780c748f50be27f655cbc7623818f4fef6010a3f0a1499063b919404b6950a79a6a31e370378fe07020d12220a204f5c29e442f3bea54ea819ba78662241059ed13682d8b576053847695c61feb918e7f9f5010a3f0a1416a169951a878247dbe258fddc71638f6606d15612220a206fbef30a1fd5b11815bdf197b96e1d07e0e18383eb3165810b91b62bfa85822518a4f7ef010a3f0a14768a82700e3046e6daf849664579e649597cc1b412220a2036edd800b9957fb92f4576c20b1962c1c3c7983f2f99132bf50dfd95b2b8d70e18bcfcee010a3f0a1404c83aa20f7563bbcbcf6aa150ef6b0c81808daa12220a20f791cc0d6e74d3ab2c879d0d3bad6a4978fde19a915c67b54daefcab2eeee99d18a1e9dc010a3f0a147edb006522610c58283e30644a14f27bcc0d32ed12220a20cf3656640a5109a097d58233650031707479257fabff3589bff9d3ee67a4e2dd18f5b0da010a3f0a14a06b5b682b425ad206a35caf246fd70dd098e50612220a20d34546b9914079e9e7fd97fcad8a8da30c949d3ccfa37cdcbbf2caa6d1889c7518cf88d3010a3f0a1497afe45395b74e784c88d45e5cca2995019fae0812220a20647d935af93b6ddf0c2e30c72c8b6f38952ff849607c8b493b85785e75de755c18dfddce010a3f0a146239a498c22df3ec3fb0ca2f96d15535f6f3387a12220a20fe4ed7f1810e1371ed442f751aaf6b5a1dca75d93696ce60c9e5138598eae03a1886f7cc010a3f0a145f999a4be254869925a7f2fea04d7b3b836cff0b12220a2014fa59625697d678dc64d5d2f96d29026ddab8faa8390e9e7286587c4501779518b2e0c4010a3f0a14f3f55da24bb47da60b0fb71ec1a9c9274bceedb212220a208e371214d150f2afadff11ebd6e61d236fdcd6c3f0003d7bb8a83e0323964dee18ebc7c3010a3f0a149cbec8cbd4ed3aad4bb2b0346efc86a6c41f916012220a206fce05c68686e24f4829060da73a87d7a9c2037e73980ba6ae1b523c9bcc21c718cb8abb010a3f0a14af195943e44fe1d6250076b8bc1910eabc85f1f212220a208f8321eb499cf5bf3c1f8b823a998e4388d893305b5f8d71f803fe0855a6dcdb18cfddba010a3f0a14dbcd765db2640631946c1393ba255876c76da38e12220a2050ddda931e0b3714fafaf5637f4d9dce461be673e9d976f5881f55062b311de8189692b8010a3f0a146912e0ba38cd00c9f2fc9e71e971eced507b42fd12220a20a3502e5f79a9b874ece86cf806853c47d263d3ccfbfe327ac95568a9cd95149018aba4b7010a3f0a148b1d5676f4c0c871a0c7864850d451d6a8ac8e3b12220a20b6a687464d7092ea873237cdea40d2d72994e556430b55cb98534521192da37a18b5b3b6010a3f0a1440c48839cd487d8a13d65955b7fc6c4f560d8f7212220a20bba89921518cd62976f9e6a2b21b8233580e8c930994cea63cbe6dad65ac6daa18cccdb5010a3f0a148e0545b1222e7b5c85ce69edc78f280cb2b79d1812220a20bd8353656c4a85edd49fa805faa5fa715077a3f286e18c4c0b8fc88114cad33e18d0b3ac010a3f0a14c02f531d9bbba4907511ef2680421ce714a11e3b12220a2023db1f4a9b6c7e7c0438863c7d14f719ecc088eb3b1fc8a7fe607496447fac4e18b3eeab010a3f0a14b0b35fed40daa5ff9d4bc685c75925187f62211912220a20c3f71800b9f35141df3f4123fcdd0671693c2a5eaae7e0a722ac5bad7e00daf918a6bbab010a3f0a14138fd9ab7abe0baed14ca7d41d885b78052a4aa112220a209a66109b69c09eb50a2b928dcb7d45095f6504c97dfca81195ae2f06c87f257018eb80ab010a3f0a14273f72ee55987afa771b27d370fa131f608b83ac12220a2018f96b749e73fc46d76d429cdf121c427f8b394d54685e24ca4ec27ef7a9849818fcc4a8010a3f0a1495b002de67707313d123d06492f1a7a58478e54612220a203c0f91bd2a554dc016043ffe9f15e5b472da39d694cdbae93467e331a93fbac518debea0010a3f0a14f9a968a405fb0429410ae5165e5f2193271e678a12220a20c168ae411e8262ad92df5a20beb0eb603f2223757572120b27ac627be26b449f18fdbb9d010a3f0a145e809e91eab69d385784d191140e9c8cf6dd103712220a202c20ade02052ae40ef4831d6301eef7a9619e2cc28ab5034acea6644ce3e63a71887919d010a3f0a147ef244868c304aa5b34889372e2df874afd635cd12220a2002647063f76a3d20570d8fd83bf86e3e89222279ec5e6d21fb0338391c108af618cbba9c010a3f0a14e191e654d06b9f721568bb945b2eb51ddc1c8fdc12220a204888a709fe062a6baa1b5bb4d44642cbe3cd63f7fef2c4233f0ca71b66a4920f18c6a59a010a3f0a147e0ed7689b65c345d1c817c5b0332fd132de587512220a2045f10c8fe0408a0f3e6088f0225aae19603b5513b508c7e2827e8fb7011cb7a918cdb498010a3f0a149f8ec2ef581ce25630c819f19b5484039e748d1a12220a207768735ffdf0ae68edadbfa300a514bcef7955e7a3751a314c775063bffc80ba18f29996010a3f0a14ca0f2a7121f86d3b6d91349730155b9a5a31c55412220a2040b4e0084232d339f67f9d7d4fa307bda88af7ee76b104e3cec9d3c39f75e9d118f39395010a3f0a14966fd89b1db51535f2d898cf9b0f14da374efb9612220a20465758a584028f6e80799abab47eae0b4c92a7dbcc62bc08b89a30c96895693818cfc690010a3f0a1476f706ae73a8251652bc72cb801e4294e2135afb12220a20bcdc9ae9179e22c81347787b70dab4b83c085fd65c9f84b1fd9005416f684bb5189ea790010a3f0a1406f45c36fcb957e55d923a6d4e905c2d715115ad12220a202ce51a0d34b46194bbd078c1c2bf4045ead73176d7c453ec4b1438eee36602f018d88d90010a3f0a14e12cef3871b9595ef15401eed2466e9310e4816b12220a200b79d897e14b01d6e44e4aef3fc3a181dc94407e03a480f9a53dbba128fc5e5a18eba88c010a3f0a147d53d76f2db86be30a9b26cadea69078531ab9bb12220a2042e7a3b3d0df9c2b201849535f150bb25014d3a7386f3cabc43493b4367a54ef1882af8a010a3f0a1420efe186da91a00ac7f042cd6cb6a1e882c583c712220a20fc99fa517d1055654eaae120e51594c4c91447c43d751c9cee0926bfdd830494189c9487010a3f0a14cefe7d654b523dea2a9ed718a591126c7417168912220a20245043a3bb3f3655a7a08ea16f2e1acaab2d4b3b220fc4fa29a6f15530d9533d18829b86010a3f0a14d8a6c54c54a236d4843ba566520ba03f60f09e3512220a20f1846413861dac13d754af618222d829bae09cd51826c1867dcf0a77fb4e5aea1895a684010a3f0a1417386b308ef9670cdd412fb2f3c09c5b875fb8b812220a205ef60c3c37dfbc78650721fe4f698a0845dccca67416851058fb68bb4438d7e518d38180010a3e0a14e03b985e6c8905e184d88c995cc632aa278981eb12220a20240f81848de789ef6d47e9510836f79f2641eb4b5b8475e1ecc356a536ab26e2189f8e7f0a3e0a14c9e615289d1d92e50292c3b0bd8358d9b2e4029012220a20816b7aabef362d1da73161e8ee4daae4b18bb17cee6466a3650545caa933ca0618dfa37b0a3e0a14f6c3f7872b046da7198905e6cb58c1b775b48bea12220a204780e053ea721ee174ed3a32dcdee5b03342a0be58820c8e130f37d00c17056018a3e3780a3e0a1404446da0bcc4310003f97b1bed07ab2abec6fea712220a2030a3d1f6e481631b82b300484ea1aed0c503c7f3417763ca3e43b266a65309b118c4ed770a3e0a1446dea137cfb10bc419b2577aa9a58718680e18ba12220a2024c1759b31bc7e3d1ad204a5beaf6d3f56832fb6677135a5feaecba2ba32b51b18ace4750a3e0a14f194dd4a8ad83323c3e9c2a93db25f049621c7b412220a20a1ba22dfd695c326a9db618d1273bfc55dfd2afbfefe78d894acea5c31d0feee18a3ab750a3e0a14692174b3ffbba80394a94dc92665dc0144fba83712220a20fa27065157b26cd698738de23432f48af7269bdb7dfe25a2dbfd40738175adc518c396730a3e0a148445cf55cb51278e63b2131adb65a81dc2389d8e12220a20f7925a8c92547bfe5d332151387406a5bc5b68ec008447d0dd2cbc3b934be667189ff06f0a3e0a1463481f6dcaaf733d2fc953a335c2200ee190862c12220a206770347c291a291d3dbef0d3ef1d7c23621ccf1bd5a5ece4b0fa6c6322b59f6618eedf6d0a3e0a142712cf68af6982b4bd7536b94cdd0d104a0313f412220a20e0809a9daf10bc212e01c5e6fcedf92abe931444164213fa294d6f0b23a6e78818eccd6b0a3e0a14712bc891aeb721da72732bc30d531e0c1eaedae012220a20a24b638d97169fb79d8f1d786e558eed5d668610a482f05e817cd7583f6cf5a0189bc86b0a3e0a14bd4f80f0c1a67b4950772662f6ebcad58a25893312220a204313e1cd7143fe17815536a4f3499bde0d1c00de1fa3788801f1a1cd6dcab64b1899d5690a3e0a1468a393c7ed496871150c0a7cad0cac09b8e458fb12220a206d4d66dda0d0c31229a8562e6e3648852bd80a26b531049f4da697241837f27c18afb2680a3e0a14943547cacb29c55797e121acb4e586c49d9d39fd12220a20f9629f36e6e8a02a4474913dddafa428c7e7fd88c9862f4307969964d4bd769e1894c6640a3e0a145fecec9408a2710833f2f7d848339462c29c144412220a20092485a5e4e61776e2e90e061d39d467dd3b8211d3433af6de09bf047e37f40118ed80630a3e0a14d5b93190771a50604a5f7849aaf067c4a9daaf9c12220a20fa8b07c0107fa92f6b2c3c6f2994815818e88e870919f7c5af44147b4426ed59189a89610a3e0a14844290531ee59b40feefde5259857368bf7119ec12220a2038fb199ef4f2dd2f74ac0f24bf615010a9858a04e7e611dd028a74a8d660353718abee600a3e0a144e154c9288e31436ba814dd92d17c4ed6cefd3f112220a207746dd5053e9a341e19629331c95112e8217bd489412f3b6f2ae089dc8cfcbd518eee2600a3e0a140a70912d18e13d78cb32e6322a4e57f861e6c3c812220a2006a6acbd97c4de13c3b27f683fe800b42892339bebae87196c995af276a1a80518aaa95f0a3e0a14e80d1f5519a5b3c9d290d3ea314fa05564535c1a12220a206c39d4c79d4e0a531a063b729c4dd12e609bd2694f9646962d5643066ac2d547188ffa5d0a3e0a14b5c33a409a589c094e89f77d24139f25c6a6dee912220a20fab7fe2b2e8475fa64e64a9d36ebf7fa79fb9a85a66d11425702e0330312475518e7a95c0a3e0a1469d0605229c665974ebb736fc77e16245c3f79aa12220a20fae63b08b0b55a3d7afda479d2fc372dc25bc08976fc5ff3a2b6d42212aa2bf118b1805c0a3e0a147fc1da40b2568ddbd53cff3b76c49ce89ae2868012220a20e5bd157cc917235604a2da99fc0bed4fc4cec2ea27efe46080a2f867a6f66d9818f1f05a0a3e0a14da4af19a378c09b54c26c3467cb0adf88929295412220a2074e936a54cd5647abc24377234b3b21c7f64fabcbf5efc65eddfef662bd8134218ec97570a3e0a143e88e7c54f64642a98b2e1ddd5bdba48794f06c712220a207ae26e6ddc29d163635fdc4f55161c31a04f7743423fd98a28c71456d3e1a90918b08f530a3e0a142c2467180bba84f2f1d4565e66f565a34003ee4f12220a20b5decf8ce19ca9af58ae969e37cc7b83aefdf9397f8168a191124618bc241f5d18bff5510a3e0a14e5cba199e045e7036711d814e57e2b66c3cc039112220a2053d278baae62eb328a1e445e50ab0c7ad252bf208dac26aa2c80b2228a97504c18b2bf4a0a3e0a14894c56d6cfc3a8e09eb6d1a2e33467c4cf77c0f512220a208864359c180879b0a2967090c2ba9ff64ccabe80310f30327f58ff0474bc6f3f18a9bd470a3e0a14c8969171f9b5a3354c712a20f007cde0648c990f12220a20adf42dfaf009e085fe92901a0400eb1792c93e3de94c16ac2c92f87cafca8c2c18bcc2460a3e0a149cbf2effd5570b3a9a41346244757cda3e18d40112220a203f04eb31298aba5da5f317cddd1980af2c95bf6f8fbf01bd5e96717f855ce2e318dc8a460a3e0a14d4c41c1e17e9321d067ba4e3e476e766b2c2c2bd12220a204a8f6a0a1999e845ddbfd2bf57559cb8ba878633dd9d8691dd6b79f5fa022fdc18be88460a3e0a1426f7777bd52918ae71801022b0e2deed97ddd50412220a20cd8a1cc7079a9999ba18e13834c67e57368fa5e19da1222c908038407a3efe8118e7dc3e0a3e0a14f233e036248a36fc73c154ffa79261bcbdc4bb7612220a20baa8697cae1a67c31a4c2f19c43e318607205c30a7928e1e77acc4773ee30deb18a3fd3d0a3e0a1415fec10416e359cc1ddb424c69166b2671f2514812220a203a324933e9423e8e7c94d5838040ea684e8a9aa2045c68f89a7d41fdf025994718ea983c0a3e0a14000a5959634b4296e4de536481de00a8a0eb9a5812220a205d80af85d70e966ff983580748efbbfe102e090d2464f53b5cabdcd42e5ed54e18b882380a3e0a144b65255857e4393754f049dbe945c5ac87f563d812220a20d950a6e1f7252e5ca5b4a99c62e25913af94819f87b4bd6e85ac67462b6d5c1418b1d3370a3e0a1460a433d28b08788c72e2133554bd5cc68769dcec12220a201e8df872a211c43bb6f22a1ceb8fd5b8879b7ca792de6723bf3065fa6c4266f118aeb6360a3e0a1406aa34bd6d1dd34119e3dc173efad94f430ab74e12220a20b95650373a6194c59e18456f4a26cab57f4d3c277669caafa530b6c5023b4dcf18fe99360a3e0a14c9b753ed297e5f9894d4a43149cfc9f7b207b6b212220a20404a57c540daba7bf6c269da435430d33612ff31c239adf02482264889e18dac18cbc4350a3e0a143ff6c988799c1adf3aca0da56143c8163890859a12220a209776967a589fe2a4b09f1777f0f731bce07d17ca28778a01231c108dc29bfe881892a7330a3e0a1499938495407c09b343562aaec3ab551a5c24623212220a2012f31aeac3e9109433f1ba9a94630448ebc32aad986173e8f7e89bdeaabe9b3f18c598330a3e0a14901fd122cc512ef13de8e1a3d7953bfddc0786d612220a205e022ed655f7d7c2d227296ba022f3463025889a0e23e9f27bbaf7bc6f12ec5718e39d310a3e0a14f6783d8fb30e283081c16398293f482dca0e912d12220a20d9cb95a9421bcb4e7bc59f2776fa2c0a4ddfba8bf30682462ccc81ef826c64d8188caa300a3e0a14a9c4e0e2af00183da11434ed413219905e9a868d12220a20b579e685431c2326c86fd5b39b1e6d88b0f8c688c641ce62adb39c35bfd14e1a18e685300a3e0a1419ec0a155a5be755e76d0059ef730ebca122b4f112220a2079acf837378aeafb95dcb3c5700e19dd4214587c06480ea748d7ca833d311d7f18a3cd2f0a3e0a143749086b6d85bde3dacfbe4485e3df95e709b6db12220a20d7ffe9e33ffdc09bfaeaaf5705975f02b762437f26e0bd871687ecdbdac6e3f118c0942e0a3e0a14e06dadeb413829558f7c95339ffb61499c5a1bb912220a20777a8d93635ce43cdaa5144f349fff7636fa509f1c465251b58c5ee3c4255be818d9fe2d0a3e0a142d159b72d40c1c1daddf24d2511200001b74ed8412220a207163b2c1debfbad1baec5b898d3c979fca2ed5d201359b5aa9229b1fad96821b18f09f2d0a3e0a140ceb917de4df1c4b4f8edfc4ace6fd6d39f1e61e12220a20d578e01a2bf304f866055801d4e205a67ef30abc1c4d869e9b2bbc83194124d018d5b02b0a3e0a1496da375d8a293f8f6580da36ea2376cd89ab20c412220a2030197360e96eaf5f9b5464d777ab6e1de1b12dadbf859e612bc6204c92c6171318b78f2b0a3e0a14ce485517649e4f8c71469ef7dafcf9a558bf167f12220a204d686b80b7be4fe2c510b52a507cdcbe6168454cbe03e34bd59bca20675cd4d5188d812b0a3e0a1468275c37cff86bb53d29d6237ad370e8fd5097fc12220a2051abf57604223a142e097b5c41b43419dd362115018930f598e807086afaef1118d4bc280a3e0a14e23afcf0035fb01acd02fe96f680066974d7072b12220a20d601d0fa5338d6bcd586ac6fc0afe096d20c748880d8aceb2aeed126b639afb418b7d3270a3e0a14e242db2cb929d6f44a1a2fe485cc7d3f620ffaeb12220a20b393d2e4dfe27218cec720e8c11a30823a990a113743fa84c1e4c82b74a7fd7e18b9cd270a3e0a146e705424231dceec337eb451bc4c1d2c5fba48c912220a20bc3910b78ef23877f10175f5253094d9c7fc1fae0c99de514d6c46236da1041218b0fc250a3e0a1441b543e91479a95cd5ca9f109c26dfac149126fa12220a200bcf2ea5bb5ee3af29e959d4631152b55ba0695f85ce2e82dd87242b8970a6021890b3230a3e0a147c5aa87e5203c66ea35c64262f576edd29bad98012220a2063303ccb21d2bf29aa0a996b874af9d13d4346194db1c9b12b7f10e13d14e28218dfa0230a3e0a14451acecaa7dc4cce6e0b7cde02f455df973535e512220a20dbaa8e762cbd93c2e05a4205eab0ceaa0b0597bcb4fea2e0367f8d43f41856581896d8210a3e0a149127dfa61750dd1d56cb1d2a88f8831a2b3f9b0e12220a2022b43613ebabee0c6193beff81ac47c43d033f2211596d36220ba8e7b1ffdd9c18f7ff200a3e0a14583ae736e67df9d72fe87b9aa7d3210d3b4b0e5a12220a2043e39d798df8ea39bb8c32d0c57066fba79465bf0c0d29a788e47c755ab9df2618a8ef1f0a3e0a14c5ed122e511ff9d7dea986fd7423c61aeb139d3412220a20e46d6c3bbb10120804a4d4cea154c6023904ebb5b998bef0d3ebb9f65793776b18f7cd1e0a3e0a143519556ae84c5dcbcf6fdaf05fb644e40ff93c3712220a20866eba71a55f2d51c3c0ca1760de4b6abd0bc7bb79ece9eae9ca77d446a3dcea189fa71e0a3e0a141fada14dee843b733ecd5de2e74552ad234a545112220a204d83d58408b8fb9eed8d39cdc23b4aaee403651eb39d86d28d282c274520b11718a5a51d0a3e0a141571038b5aaab431ec011f6ab1094463c6ed984212220a20f03f305e4319f5dfe9f3ab0ec48cecfd4bf730c6327abd40323e949ce29d716d1880bb1c0a3e0a142d387d95e13f681d33122e4475f9b7dfc2a68f6412220a20e17d393a4c8e3f540a0a24c57d9b084131e2ee85ea894f45b4dfdb89ba670ab618e9e41b0a3e0a143ff719f1664bee93d482b480677c03a47ec0b64312220a20809be43cb887a36fb5d89246a6b87056c0010125f35cefdd496b67934cb0341e1896ae1b0a3e0a14c02acba7653ac3782750b53d03a672e191f0036112220a201c6dea720e32a82ce5046e4da98b596912ad569e5629cc67113419af419326661894891a0a3e0a1437714c4da407c9d13cda424aae78c3b28515a15c12220a20f31c0c1100c8e31a03d99df4d1ff2fa636f891b61056e779ed1816865aed06d318f4ed190a3e0a140614088c41e6a85fb5bf344552a5120e5a0139fc12220a20c30b1b43a9a4130799b766613da9e741aa7f1629b5b03be218e750a5ad20c80f18b0fe180a3e0a14cdc018822747024beafd10a45abecc7ac19cbab012220a20e520358447f8fabcb99fba8e5a3c6b37b70145fc1bf52ab03e66f0233124017918f7dd180a3e0a144146fd7a1ab8b861b7018978bcd13d2d1fa63ebe12220a20aeab33dcf6b9fc06e90ae40425497f9a1ea8cf607f99b92724ec5d553780914318acda170a3e0a148014ba212ed388597510d064258f5e30aa30d59112220a20c4fd38b1d83bc7066a3e93986a84c88ce8428108d72b969d8208502e990fe8c31884d2170a3e0a14373f86cb3755a1de78cc69d3e5f7ad5d7615b85d12220a2060ca20064ab1ad2b4e9a374ab9039f5296d483d382ed2b0e4e6aa04b5663256d18f8b9170a3e0a1422ba59ac2918afa4c1b56d3e6f86083e470cd8cb12220a206f60d53412eb2055e4435f565e66f39542a1fac42b05a498d6cf2148f90514c618fbd1160a3e0a147364be6cc7b6e404bd1c2050ccb6a7472786e3b612220a20565ca17b5443d0c23d38435b6cddb28e64d3b552604986193a248d0be93426e518e8ff150a3e0a14972a684f364cce31469b37a9d439985115eb5a4012220a2003f3653f1603cc8ddc80d66497c5526075c17bdd010afd6682a7795fcf1e618d18b9ca150a3e0a14e20004515311b205618fad504fb529a3deee2e7112220a20a26c465c7f397649867ac4391b0432d18299eaabe6fbfd9ef1fc686a194aa2b418f993150a3e0a142f89d7d3d1e1478f88ef3ad8aad76a88189f612412220a209c20fbc290606879b909332fb16ae8e16f4e0e6bf3bcbce9858a08026496e51f18fac3130a3e0a14d807a55c7d69a84fb759fb0bd96bb4da50adba2712220a203e5af5f6a5b9082eada869be15caae91da9252dc51b5257099554b0b5382b86d18b9bd130a3e0a147e11ed7dd06fae7b0bedb469721151f2f31cbb6a12220a204c769c063525f04c7d63616b94a32b8f9a196e8abfb15a5358cb5a9b0516968418d1ae130a3e0a14da96564d2379acee00dd9faa558681bb499757fd12220a2085970175f1508b3d02d443a410f92ac02e5fa7bf358ee0739ce72dbc5008b3521880a8130a3e0a142dd6d22969ee7c2ca1f8b428d13a8995c043044c12220a2070cd875336aed8bdc3db4eb72ca2396069877216bbf6ee6f990156c8aa3703fe18f292130a3e0a149496535a8f2945bdb60572015d2d6f721ab6fed912220a2078078050a9cfbc6c5bea1110e15c7354efba656bf2aa7d4e8edcc18eacc12b1418f3f7120a3e0a14634d2f5ed7c9d82f42298d8922304d1b4adb20f712220a20d83196705de4b81d0b640cea0782e0f1b5c00e86fb8d46e37b07a8fbe7ad788618bbde120a3e0a14b15069e41b1a60ff03ae8d8f741f78c7b1144fbe12220a2058ac62882707e85b1e71847be0e73ea357f5e19dbfeeafa4cc9b83dbdc512ea918c99f120a3e0a14d0c2071d6f2fef021dbd3f5f1f72f1bf30a467b912220a207d853241b6851a9f0d5d7b6ea3f132a27550db5a5a1afad4c8290b0dcd4c6eb518ebbf110a3e0a145d564f844d411694b131b1c4a4fd3b389494f48f12220a20b83c55ca97fa78478f5c2b4507cbf71912ab5f11b12d0ab1a863ba11104d8b5e189696110a3e0a14191e896a11c0a77a96a99abee986a2a40355c04412220a208c6dd838fccbc443a67c2db137cab1aad17e0352062ef9f5f40853be14a6a2bf18c0c7100a3e0a1447c89621f47ba7ff2362c1b2f97a4f6311b646f912220a20c97c7e96077a90368c8dfc33bf5ec3098f5669b205c770ba1ed2198d73eb070318849f100a3e0a14f0c8b6addaf7cc4ece57086607a9a0c7ea6275e012220a2027ca4761fea7ebcb5fefbc1542b2c91b02d4dbde69e60adfe089e6099ec5eac318cf90100a3e0a1420658bf40ed48ed01a2d087c7ff7874f21a5633312220a2071ff973e6020b5734afc1e06bb3bc4a49761c1a145a357e7ebd28f85a3d740e518819e0f0a3e0a142335465b27b9548313aaf465217787fd8e6113d312220a20ad83cce6cc2dd83266285808eefd01cedffbc9421a51617e2ead21bbaa85fdf718c4920f123e0a1404446da0bcc4310003f97b1bed07ab2abec6fea712220a2030a3d1f6e481631b82b300484ea1aed0c503c7f3417763ca3e43b266a65309b118c4ed7718ffbd9eaf011a07080110b3d5a10722814c0a3f0a14cb5a63b91e8f4ee8db935942cbe25724636479e012220a20e8dcf4f58187cf05b18dccc6d0884ae08bf4a98d88717d0fff92a2b6f4574d4718a6bf9b0a0a3f0a141f7249f418b90714bf52797336b771b5ad46753312220a20b1fd3b167a4803d77810f675179821d28a5c6c9881eaee96cc61d9eeaaba1563189ebd920a0a3f0a14e08fba0fe999707d1496baab743eab27784dc1c512220a20de0e4a0ba7c9d98611a0de7cde629db2d2e2e5e830b760a4c91d32896211950c1888808e080a3f0a14765550228cf309bdd33f3f5e768350ba3d69c3b112220a2056dc9cdd103251ff6f5a1439465b1075a40d14bb76d99158c6f48753a77420a718a5c8e2060a3f0a1440cc723314b6ebb93b49fbd9d330eec8b4641cab12220a200609deffc6b7a9425f2cbe1666f54a14763a165b95125a73986ed70aa046690018b8e0bc060a3f0a149d0281786872d3bbe53c58fbeca118d86fa8217712220a2075f4c477afa4ad6633aac05ca6a771c92abe8b087b4867309c13bc5da5b6a8a618ccf3e3050a3f0a14d82343fcd5a74969c0b48457d70e8d55d8f6b80112220a207fc4e3176964df4b4c1ac8c52bf17b2e0be3cf6e1dde187112eba14729c43d5b18eacde8030a3f0a1466b69666ebf776e7ebcbe197aba466a712e2707612220a20c01db94ad2f16f3983d2e4e21621fac724997741f5de4c9a9cd52fbe55296b7e18acc7a5030a3f0a14a16e480524d636b2da2ad18483327c2e10a5e8a012220a2061dd91607c82d08dc6df864c95de6bb3de1ee12e4bd539d66810da0c8861a52818b2ce9b030a3f0a1472b1489efb57a680577a838a5baaebe162a7c80212220a2070d454aceb78239ac972c0158543a206f38b611485c7876ca36d9b714121b6721882de80030a3f0a1451d7d05a659208a6576190aebbe8f0760385151512220a2062eb1eccaf40fe2bd5798425f403b4d31eda4b89c593111b8a7c191e1b2054f818d5a6e2020a3f0a141b002b6ebeb8653c721301b1b56472b1b4de724712220a2081a971e0937b15b8c5dac7312a3d2eee1d69c0d43f3723eef7aae121eae60bab18e3b6d4020a3f0a14d24b7a32413338c2aa26fc0016d91fbe73bb5eae12220a20a7bbec0268402a52a3ecc398131e47b74374c06b9ad0e9f7e56cd6eeadde161e188596cc020a3f0a1471df8d9879c20563a4e2abeda95cd1fc57dbf6aa12220a200c2261f753aa87d3fbea0602ef5a454b37747319efa910f267afcf2c565f80b118e0f0b6020a3f0a14131fc79e7a012d9e7eef21de3ba5d5033fcdbc1f12220a208dde03c27dc6aea053730369b9768e9a07b580dca36bd4a6619b28e9ef31007018e1cbaf020a3f0a1439327692c258a57970ef53f0aa4d3c00f95988b812220a2055983a8520d191a7846ac4fd06e62ffda350d744682cc7931307a2b7229536bf18a8da8f020a3f0a147341e970b9b3eff82b2060d3469fc50d7af0414612220a203bfb06eb87e63bdfeb9d17e425f0990cd9bb298de279133cbc2539842772533518a99089020a3f0a1403c016ab7ec32d9f8d77afdb191fbf53ea08d91712220a2039d5694df2c2bcfc812de13a8cdc5eb20cb71e0d48880fb5eb9952bac64380bb18ddf8fa010a3f0a142022fe8cc49e48630c76160e11a880459219d24412220a209eaebea0305761228b211daf92c39e18cf62553dfe46d23258058452a70ea0ee188bd0f9010a3f0a149e7cae009efff4d163f3fb8781a07b25c2b10b3212220a209bf9fb4b564efa452d23bfb18021a7925a3989780c748f50be27f655cbc7623818f4fef6010a3f0a1499063b919404b6950a79a6a31e370378fe07020d12220a204f5c29e442f3bea54ea819ba78662241059ed13682d8b576053847695c61feb918e7f9f5010a3f0a1416a169951a878247dbe258fddc71638f6606d15612220a206fbef30a1fd5b11815bdf197b96e1d07e0e18383eb3165810b91b62bfa85822518a4f7ef010a3f0a14768a82700e3046e6daf849664579e649597cc1b412220a2036edd800b9957fb92f4576c20b1962c1c3c7983f2f99132bf50dfd95b2b8d70e18f4fcee010a3f0a1404c83aa20f7563bbcbcf6aa150ef6b0c81808daa12220a20f791cc0d6e74d3ab2c879d0d3bad6a4978fde19a915c67b54daefcab2eeee99d18a1e9dc010a3f0a147edb006522610c58283e30644a14f27bcc0d32ed12220a20cf3656640a5109a097d58233650031707479257fabff3589bff9d3ee67a4e2dd18f5b0da010a3f0a14a06b5b682b425ad206a35caf246fd70dd098e50612220a20d34546b9914079e9e7fd97fcad8a8da30c949d3ccfa37cdcbbf2caa6d1889c7518cf88d3010a3f0a1497afe45395b74e784c88d45e5cca2995019fae0812220a20647d935af93b6ddf0c2e30c72c8b6f38952ff849607c8b493b85785e75de755c18dfddce010a3f0a146239a498c22df3ec3fb0ca2f96d15535f6f3387a12220a20fe4ed7f1810e1371ed442f751aaf6b5a1dca75d93696ce60c9e5138598eae03a18e2f9cc010a3f0a145f999a4be254869925a7f2fea04d7b3b836cff0b12220a2014fa59625697d678dc64d5d2f96d29026ddab8faa8390e9e7286587c4501779518b2e0c4010a3f0a14f3f55da24bb47da60b0fb71ec1a9c9274bceedb212220a208e371214d150f2afadff11ebd6e61d236fdcd6c3f0003d7bb8a83e0323964dee18ebc7c3010a3f0a149cbec8cbd4ed3aad4bb2b0346efc86a6c41f916012220a206fce05c68686e24f4829060da73a87d7a9c2037e73980ba6ae1b523c9bcc21c718cb8abb010a3f0a14af195943e44fe1d6250076b8bc1910eabc85f1f212220a208f8321eb499cf5bf3c1f8b823a998e4388d893305b5f8d71f803fe0855a6dcdb18cfddba010a3f0a14dbcd765db2640631946c1393ba255876c76da38e12220a2050ddda931e0b3714fafaf5637f4d9dce461be673e9d976f5881f55062b311de818fcbbb8010a3f0a146912e0ba38cd00c9f2fc9e71e971eced507b42fd12220a20a3502e5f79a9b874ece86cf806853c47d263d3ccfbfe327ac95568a9cd95149018aba4b7010a3f0a148b1d5676f4c0c871a0c7864850d451d6a8ac8e3b12220a20b6a687464d7092ea873237cdea40d2d72994e556430b55cb98534521192da37a18b5b3b6010a3f0a1440c48839cd487d8a13d65955b7fc6c4f560d8f7212220a20bba89921518cd62976f9e6a2b21b8233580e8c930994cea63cbe6dad65ac6daa18cccdb5010a3f0a148e0545b1222e7b5c85ce69edc78f280cb2b79d1812220a20bd8353656c4a85edd49fa805faa5fa715077a3f286e18c4c0b8fc88114cad33e18d0b3ac010a3f0a14c02f531d9bbba4907511ef2680421ce714a11e3b12220a2023db1f4a9b6c7e7c0438863c7d14f719ecc088eb3b1fc8a7fe607496447fac4e18b3eeab010a3f0a14b0b35fed40daa5ff9d4bc685c75925187f62211912220a20c3f71800b9f35141df3f4123fcdd0671693c2a5eaae7e0a722ac5bad7e00daf918a6bbab010a3f0a14138fd9ab7abe0baed14ca7d41d885b78052a4aa112220a209a66109b69c09eb50a2b928dcb7d45095f6504c97dfca81195ae2f06c87f257018eb80ab010a3f0a14273f72ee55987afa771b27d370fa131f608b83ac12220a2018f96b749e73fc46d76d429cdf121c427f8b394d54685e24ca4ec27ef7a9849818fcc4a8010a3f0a1495b002de67707313d123d06492f1a7a58478e54612220a203c0f91bd2a554dc016043ffe9f15e5b472da39d694cdbae93467e331a93fbac518debea0010a3f0a14f9a968a405fb0429410ae5165e5f2193271e678a12220a20c168ae411e8262ad92df5a20beb0eb603f2223757572120b27ac627be26b449f18fdbb9d010a3f0a145e809e91eab69d385784d191140e9c8cf6dd103712220a202c20ade02052ae40ef4831d6301eef7a9619e2cc28ab5034acea6644ce3e63a71887919d010a3f0a147ef244868c304aa5b34889372e2df874afd635cd12220a2002647063f76a3d20570d8fd83bf86e3e89222279ec5e6d21fb0338391c108af618cbba9c010a3f0a14e191e654d06b9f721568bb945b2eb51ddc1c8fdc12220a204888a709fe062a6baa1b5bb4d44642cbe3cd63f7fef2c4233f0ca71b66a4920f18c6a59a010a3f0a147e0ed7689b65c345d1c817c5b0332fd132de587512220a2045f10c8fe0408a0f3e6088f0225aae19603b5513b508c7e2827e8fb7011cb7a918cdb498010a3f0a149f8ec2ef581ce25630c819f19b5484039e748d1a12220a207768735ffdf0ae68edadbfa300a514bcef7955e7a3751a314c775063bffc80ba18f29996010a3f0a14ca0f2a7121f86d3b6d91349730155b9a5a31c55412220a2040b4e0084232d339f67f9d7d4fa307bda88af7ee76b104e3cec9d3c39f75e9d118f39395010a3f0a14966fd89b1db51535f2d898cf9b0f14da374efb9612220a20465758a584028f6e80799abab47eae0b4c92a7dbcc62bc08b89a30c96895693818cfc690010a3f0a1476f706ae73a8251652bc72cb801e4294e2135afb12220a20bcdc9ae9179e22c81347787b70dab4b83c085fd65c9f84b1fd9005416f684bb5189ea790010a3f0a1406f45c36fcb957e55d923a6d4e905c2d715115ad12220a202ce51a0d34b46194bbd078c1c2bf4045ead73176d7c453ec4b1438eee36602f018d88d90010a3f0a14e12cef3871b9595ef15401eed2466e9310e4816b12220a200b79d897e14b01d6e44e4aef3fc3a181dc94407e03a480f9a53dbba128fc5e5a18eba88c010a3f0a147d53d76f2db86be30a9b26cadea69078531ab9bb12220a2042e7a3b3d0df9c2b201849535f150bb25014d3a7386f3cabc43493b4367a54ef1882af8a010a3f0a1420efe186da91a00ac7f042cd6cb6a1e882c583c712220a20fc99fa517d1055654eaae120e51594c4c91447c43d751c9cee0926bfdd830494189c9487010a3f0a14cefe7d654b523dea2a9ed718a591126c7417168912220a20245043a3bb3f3655a7a08ea16f2e1acaab2d4b3b220fc4fa29a6f15530d9533d18829b86010a3f0a14d8a6c54c54a236d4843ba566520ba03f60f09e3512220a20f1846413861dac13d754af618222d829bae09cd51826c1867dcf0a77fb4e5aea1895a684010a3f0a1417386b308ef9670cdd412fb2f3c09c5b875fb8b812220a205ef60c3c37dfbc78650721fe4f698a0845dccca67416851058fb68bb4438d7e518d38180010a3e0a14e03b985e6c8905e184d88c995cc632aa278981eb12220a20240f81848de789ef6d47e9510836f79f2641eb4b5b8475e1ecc356a536ab26e2189f8e7f0a3e0a14c9e615289d1d92e50292c3b0bd8358d9b2e4029012220a20816b7aabef362d1da73161e8ee4daae4b18bb17cee6466a3650545caa933ca0618dfa37b0a3e0a14f6c3f7872b046da7198905e6cb58c1b775b48bea12220a204780e053ea721ee174ed3a32dcdee5b03342a0be58820c8e130f37d00c17056018a3e3780a3e0a1404446da0bcc4310003f97b1bed07ab2abec6fea712220a2030a3d1f6e481631b82b300484ea1aed0c503c7f3417763ca3e43b266a65309b118c4ed770a3e0a1446dea137cfb10bc419b2577aa9a58718680e18ba12220a2024c1759b31bc7e3d1ad204a5beaf6d3f56832fb6677135a5feaecba2ba32b51b18ace4750a3e0a14f194dd4a8ad83323c3e9c2a93db25f049621c7b412220a20a1ba22dfd695c326a9db618d1273bfc55dfd2afbfefe78d894acea5c31d0feee18a3ab750a3e0a14692174b3ffbba80394a94dc92665dc0144fba83712220a20fa27065157b26cd698738de23432f48af7269bdb7dfe25a2dbfd40738175adc518c396730a3e0a148445cf55cb51278e63b2131adb65a81dc2389d8e12220a20f7925a8c92547bfe5d332151387406a5bc5b68ec008447d0dd2cbc3b934be667189ff06f0a3e0a1463481f6dcaaf733d2fc953a335c2200ee190862c12220a206770347c291a291d3dbef0d3ef1d7c23621ccf1bd5a5ece4b0fa6c6322b59f6618eedf6d0a3e0a142712cf68af6982b4bd7536b94cdd0d104a0313f412220a20e0809a9daf10bc212e01c5e6fcedf92abe931444164213fa294d6f0b23a6e78818eccd6b0a3e0a14712bc891aeb721da72732bc30d531e0c1eaedae012220a20a24b638d97169fb79d8f1d786e558eed5d668610a482f05e817cd7583f6cf5a0189bc86b0a3e0a14bd4f80f0c1a67b4950772662f6ebcad58a25893312220a204313e1cd7143fe17815536a4f3499bde0d1c00de1fa3788801f1a1cd6dcab64b1899d5690a3e0a1468a393c7ed496871150c0a7cad0cac09b8e458fb12220a206d4d66dda0d0c31229a8562e6e3648852bd80a26b531049f4da697241837f27c18afb2680a3e0a14943547cacb29c55797e121acb4e586c49d9d39fd12220a20f9629f36e6e8a02a4474913dddafa428c7e7fd88c9862f4307969964d4bd769e1894c6640a3e0a145fecec9408a2710833f2f7d848339462c29c144412220a20092485a5e4e61776e2e90e061d39d467dd3b8211d3433af6de09bf047e37f40118ed80630a3e0a14d5b93190771a50604a5f7849aaf067c4a9daaf9c12220a20fa8b07c0107fa92f6b2c3c6f2994815818e88e870919f7c5af44147b4426ed59189a89610a3e0a14844290531ee59b40feefde5259857368bf7119ec12220a2038fb199ef4f2dd2f74ac0f24bf615010a9858a04e7e611dd028a74a8d660353718abee600a3e0a144e154c9288e31436ba814dd92d17c4ed6cefd3f112220a207746dd5053e9a341e19629331c95112e8217bd489412f3b6f2ae089dc8cfcbd518eee2600a3e0a140a70912d18e13d78cb32e6322a4e57f861e6c3c812220a2006a6acbd97c4de13c3b27f683fe800b42892339bebae87196c995af276a1a80518aaa95f0a3e0a14e80d1f5519a5b3c9d290d3ea314fa05564535c1a12220a206c39d4c79d4e0a531a063b729c4dd12e609bd2694f9646962d5643066ac2d547188ffa5d0a3e0a14b5c33a409a589c094e89f77d24139f25c6a6dee912220a20fab7fe2b2e8475fa64e64a9d36ebf7fa79fb9a85a66d11425702e0330312475518e7a95c0a3e0a1469d0605229c665974ebb736fc77e16245c3f79aa12220a20fae63b08b0b55a3d7afda479d2fc372dc25bc08976fc5ff3a2b6d42212aa2bf118b1805c0a3e0a147fc1da40b2568ddbd53cff3b76c49ce89ae2868012220a20e5bd157cc917235604a2da99fc0bed4fc4cec2ea27efe46080a2f867a6f66d9818f1f05a0a3e0a14da4af19a378c09b54c26c3467cb0adf88929295412220a2074e936a54cd5647abc24377234b3b21c7f64fabcbf5efc65eddfef662bd8134218ec97570a3e0a143e88e7c54f64642a98b2e1ddd5bdba48794f06c712220a207ae26e6ddc29d163635fdc4f55161c31a04f7743423fd98a28c71456d3e1a90918b08f530a3e0a142c2467180bba84f2f1d4565e66f565a34003ee4f12220a20b5decf8ce19ca9af58ae969e37cc7b83aefdf9397f8168a191124618bc241f5d18bff5510a3e0a14e5cba199e045e7036711d814e57e2b66c3cc039112220a2053d278baae62eb328a1e445e50ab0c7ad252bf208dac26aa2c80b2228a97504c18b2bf4a0a3e0a14894c56d6cfc3a8e09eb6d1a2e33467c4cf77c0f512220a208864359c180879b0a2967090c2ba9ff64ccabe80310f30327f58ff0474bc6f3f18a9bd470a3e0a14c8969171f9b5a3354c712a20f007cde0648c990f12220a20adf42dfaf009e085fe92901a0400eb1792c93e3de94c16ac2c92f87cafca8c2c18bcc2460a3e0a149cbf2effd5570b3a9a41346244757cda3e18d40112220a203f04eb31298aba5da5f317cddd1980af2c95bf6f8fbf01bd5e96717f855ce2e318dc8a460a3e0a14d4c41c1e17e9321d067ba4e3e476e766b2c2c2bd12220a204a8f6a0a1999e845ddbfd2bf57559cb8ba878633dd9d8691dd6b79f5fa022fdc18be88460a3e0a1426f7777bd52918ae71801022b0e2deed97ddd50412220a20cd8a1cc7079a9999ba18e13834c67e57368fa5e19da1222c908038407a3efe8118e7dc3e0a3e0a14f233e036248a36fc73c154ffa79261bcbdc4bb7612220a20baa8697cae1a67c31a4c2f19c43e318607205c30a7928e1e77acc4773ee30deb18a3fd3d0a3e0a1415fec10416e359cc1ddb424c69166b2671f2514812220a203a324933e9423e8e7c94d5838040ea684e8a9aa2045c68f89a7d41fdf025994718ea983c0a3e0a14000a5959634b4296e4de536481de00a8a0eb9a5812220a205d80af85d70e966ff983580748efbbfe102e090d2464f53b5cabdcd42e5ed54e18b882380a3e0a144b65255857e4393754f049dbe945c5ac87f563d812220a20d950a6e1f7252e5ca5b4a99c62e25913af94819f87b4bd6e85ac67462b6d5c1418b1d3370a3e0a1460a433d28b08788c72e2133554bd5cc68769dcec12220a201e8df872a211c43bb6f22a1ceb8fd5b8879b7ca792de6723bf3065fa6c4266f118aeb6360a3e0a1406aa34bd6d1dd34119e3dc173efad94f430ab74e12220a20b95650373a6194c59e18456f4a26cab57f4d3c277669caafa530b6c5023b4dcf18fe99360a3e0a14c9b753ed297e5f9894d4a43149cfc9f7b207b6b212220a20404a57c540daba7bf6c269da435430d33612ff31c239adf02482264889e18dac18cbc4350a3e0a143ff6c988799c1adf3aca0da56143c8163890859a12220a209776967a589fe2a4b09f1777f0f731bce07d17ca28778a01231c108dc29bfe881892a7330a3e0a1499938495407c09b343562aaec3ab551a5c24623212220a2012f31aeac3e9109433f1ba9a94630448ebc32aad986173e8f7e89bdeaabe9b3f18c598330a3e0a14901fd122cc512ef13de8e1a3d7953bfddc0786d612220a205e022ed655f7d7c2d227296ba022f3463025889a0e23e9f27bbaf7bc6f12ec5718e39d310a3e0a14f6783d8fb30e283081c16398293f482dca0e912d12220a20d9cb95a9421bcb4e7bc59f2776fa2c0a4ddfba8bf30682462ccc81ef826c64d8188caa300a3e0a14a9c4e0e2af00183da11434ed413219905e9a868d12220a20b579e685431c2326c86fd5b39b1e6d88b0f8c688c641ce62adb39c35bfd14e1a18e685300a3e0a1419ec0a155a5be755e76d0059ef730ebca122b4f112220a2079acf837378aeafb95dcb3c5700e19dd4214587c06480ea748d7ca833d311d7f18a3cd2f0a3e0a143749086b6d85bde3dacfbe4485e3df95e709b6db12220a20d7ffe9e33ffdc09bfaeaaf5705975f02b762437f26e0bd871687ecdbdac6e3f118c0942e0a3e0a14e06dadeb413829558f7c95339ffb61499c5a1bb912220a20777a8d93635ce43cdaa5144f349fff7636fa509f1c465251b58c5ee3c4255be818d9fe2d0a3e0a142d159b72d40c1c1daddf24d2511200001b74ed8412220a207163b2c1debfbad1baec5b898d3c979fca2ed5d201359b5aa9229b1fad96821b18f09f2d0a3e0a140ceb917de4df1c4b4f8edfc4ace6fd6d39f1e61e12220a20d578e01a2bf304f866055801d4e205a67ef30abc1c4d869e9b2bbc83194124d018d5b02b0a3e0a1496da375d8a293f8f6580da36ea2376cd89ab20c412220a2030197360e96eaf5f9b5464d777ab6e1de1b12dadbf859e612bc6204c92c6171318b78f2b0a3e0a14ce485517649e4f8c71469ef7dafcf9a558bf167f12220a204d686b80b7be4fe2c510b52a507cdcbe6168454cbe03e34bd59bca20675cd4d5188d812b0a3e0a1468275c37cff86bb53d29d6237ad370e8fd5097fc12220a2051abf57604223a142e097b5c41b43419dd362115018930f598e807086afaef1118d4bc280a3e0a14e23afcf0035fb01acd02fe96f680066974d7072b12220a20d601d0fa5338d6bcd586ac6fc0afe096d20c748880d8aceb2aeed126b639afb418b7d3270a3e0a14e242db2cb929d6f44a1a2fe485cc7d3f620ffaeb12220a20b393d2e4dfe27218cec720e8c11a30823a990a113743fa84c1e4c82b74a7fd7e18b9cd270a3e0a146e705424231dceec337eb451bc4c1d2c5fba48c912220a20bc3910b78ef23877f10175f5253094d9c7fc1fae0c99de514d6c46236da1041218b0fc250a3e0a1441b543e91479a95cd5ca9f109c26dfac149126fa12220a200bcf2ea5bb5ee3af29e959d4631152b55ba0695f85ce2e82dd87242b8970a6021890b3230a3e0a147c5aa87e5203c66ea35c64262f576edd29bad98012220a2063303ccb21d2bf29aa0a996b874af9d13d4346194db1c9b12b7f10e13d14e28218dfa0230a3e0a14451acecaa7dc4cce6e0b7cde02f455df973535e512220a20dbaa8e762cbd93c2e05a4205eab0ceaa0b0597bcb4fea2e0367f8d43f41856581896d8210a3e0a149127dfa61750dd1d56cb1d2a88f8831a2b3f9b0e12220a2022b43613ebabee0c6193beff81ac47c43d033f2211596d36220ba8e7b1ffdd9c18f7ff200a3e0a14583ae736e67df9d72fe87b9aa7d3210d3b4b0e5a12220a2043e39d798df8ea39bb8c32d0c57066fba79465bf0c0d29a788e47c755ab9df2618a8ef1f0a3e0a14c5ed122e511ff9d7dea986fd7423c61aeb139d3412220a20e46d6c3bbb10120804a4d4cea154c6023904ebb5b998bef0d3ebb9f65793776b18f7cd1e0a3e0a143519556ae84c5dcbcf6fdaf05fb644e40ff93c3712220a20866eba71a55f2d51c3c0ca1760de4b6abd0bc7bb79ece9eae9ca77d446a3dcea189fa71e0a3e0a141fada14dee843b733ecd5de2e74552ad234a545112220a204d83d58408b8fb9eed8d39cdc23b4aaee403651eb39d86d28d282c274520b11718a5a51d0a3e0a141571038b5aaab431ec011f6ab1094463c6ed984212220a20f03f305e4319f5dfe9f3ab0ec48cecfd4bf730c6327abd40323e949ce29d716d1880bb1c0a3e0a142d387d95e13f681d33122e4475f9b7dfc2a68f6412220a20e17d393a4c8e3f540a0a24c57d9b084131e2ee85ea894f45b4dfdb89ba670ab618e9e41b0a3e0a143ff719f1664bee93d482b480677c03a47ec0b64312220a20809be43cb887a36fb5d89246a6b87056c0010125f35cefdd496b67934cb0341e1896ae1b0a3e0a14c02acba7653ac3782750b53d03a672e191f0036112220a201c6dea720e32a82ce5046e4da98b596912ad569e5629cc67113419af419326661894891a0a3e0a1437714c4da407c9d13cda424aae78c3b28515a15c12220a20f31c0c1100c8e31a03d99df4d1ff2fa636f891b61056e779ed1816865aed06d318f4ed190a3e0a140614088c41e6a85fb5bf344552a5120e5a0139fc12220a20c30b1b43a9a4130799b766613da9e741aa7f1629b5b03be218e750a5ad20c80f18b0fe180a3e0a14cdc018822747024beafd10a45abecc7ac19cbab012220a20e520358447f8fabcb99fba8e5a3c6b37b70145fc1bf52ab03e66f0233124017918f7dd180a3e0a144146fd7a1ab8b861b7018978bcd13d2d1fa63ebe12220a20aeab33dcf6b9fc06e90ae40425497f9a1ea8cf607f99b92724ec5d553780914318acda170a3e0a148014ba212ed388597510d064258f5e30aa30d59112220a20c4fd38b1d83bc7066a3e93986a84c88ce8428108d72b969d8208502e990fe8c31884d2170a3e0a14373f86cb3755a1de78cc69d3e5f7ad5d7615b85d12220a2060ca20064ab1ad2b4e9a374ab9039f5296d483d382ed2b0e4e6aa04b5663256d18f8b9170a3e0a1422ba59ac2918afa4c1b56d3e6f86083e470cd8cb12220a206f60d53412eb2055e4435f565e66f39542a1fac42b05a498d6cf2148f90514c618fbd1160a3e0a147364be6cc7b6e404bd1c2050ccb6a7472786e3b612220a20565ca17b5443d0c23d38435b6cddb28e64d3b552604986193a248d0be93426e518e8ff150a3e0a14972a684f364cce31469b37a9d439985115eb5a4012220a2003f3653f1603cc8ddc80d66497c5526075c17bdd010afd6682a7795fcf1e618d18b9ca150a3e0a14e20004515311b205618fad504fb529a3deee2e7112220a20a26c465c7f397649867ac4391b0432d18299eaabe6fbfd9ef1fc686a194aa2b418f993150a3e0a142f89d7d3d1e1478f88ef3ad8aad76a88189f612412220a209c20fbc290606879b909332fb16ae8e16f4e0e6bf3bcbce9858a08026496e51f18fac3130a3e0a14d807a55c7d69a84fb759fb0bd96bb4da50adba2712220a203e5af5f6a5b9082eada869be15caae91da9252dc51b5257099554b0b5382b86d18b9bd130a3e0a147e11ed7dd06fae7b0bedb469721151f2f31cbb6a12220a204c769c063525f04c7d63616b94a32b8f9a196e8abfb15a5358cb5a9b0516968418d1ae130a3e0a14da96564d2379acee00dd9faa558681bb499757fd12220a2085970175f1508b3d02d443a410f92ac02e5fa7bf358ee0739ce72dbc5008b3521880a8130a3e0a142dd6d22969ee7c2ca1f8b428d13a8995c043044c12220a2070cd875336aed8bdc3db4eb72ca2396069877216bbf6ee6f990156c8aa3703fe18f292130a3e0a149496535a8f2945bdb60572015d2d6f721ab6fed912220a2078078050a9cfbc6c5bea1110e15c7354efba656bf2aa7d4e8edcc18eacc12b1418f3f7120a3e0a14634d2f5ed7c9d82f42298d8922304d1b4adb20f712220a20d83196705de4b81d0b640cea0782e0f1b5c00e86fb8d46e37b07a8fbe7ad788618bbde120a3e0a14b15069e41b1a60ff03ae8d8f741f78c7b1144fbe12220a2058ac62882707e85b1e71847be0e73ea357f5e19dbfeeafa4cc9b83dbdc512ea918c99f120a3e0a14d0c2071d6f2fef021dbd3f5f1f72f1bf30a467b912220a207d853241b6851a9f0d5d7b6ea3f132a27550db5a5a1afad4c8290b0dcd4c6eb518ebbf110a3e0a145d564f844d411694b131b1c4a4fd3b389494f48f12220a20b83c55ca97fa78478f5c2b4507cbf71912ab5f11b12d0ab1a863ba11104d8b5e189696110a3e0a14191e896a11c0a77a96a99abee986a2a40355c04412220a208c6dd838fccbc443a67c2db137cab1aad17e0352062ef9f5f40853be14a6a2bf18c0c7100a3e0a1447c89621f47ba7ff2362c1b2f97a4f6311b646f912220a20c97c7e96077a90368c8dfc33bf5ec3098f5669b205c770ba1ed2198d73eb070318849f100a3e0a14f0c8b6addaf7cc4ece57086607a9a0c7ea6275e012220a2027ca4761fea7ebcb5fefbc1542b2c91b02d4dbde69e60adfe089e6099ec5eac318cf90100a3e0a1420658bf40ed48ed01a2d087c7ff7874f21a5633312220a2071ff973e6020b5734afc1e06bb3bc4a49761c1a145a357e7ebd28f85a3d740e518819e0f0a3e0a142335465b27b9548313aaf465217787fd8e6113d312220a20ad83cce6cc2dd83266285808eefd01cedffbc9421a51617e2ead21bbaa85fdf718c4920f123f0a14cb5a63b91e8f4ee8db935942cbe25724636479e012220a20e8dcf4f58187cf05b18dccc6d0884ae08bf4a98d88717d0fff92a2b6f4574d4718a6bf9b0a18f9ea9eaf01" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "module", + "value": "ibc_client" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "action", + "value": "/ibc.core.channel.v1.MsgRecvPacket" + }, + { + "key": "sender", + "value": "archway1y8k9a33967dm9n7a8u2d2l6q9m7teecvnxy0t0" + } + ] + }, + { + "type": "recv_packet", + "attributes": [ + { + "key": "connection_id", + "value": "connection-1" + }, + { + "key": "packet_channel_ordering", + "value": "ORDER_UNORDERED" + }, + { + "key": "packet_connection", + "value": "connection-1" + }, + { + "key": "packet_data", + "value": "{\"amount\":\"366000000000000000000\",\"denom\":\"transfer/channel-1429/aarch\",\"receiver\":\"archway1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fmnn9x3\",\"sender\":\"osmo1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fxru365\"}" + }, + { + "key": "packet_data_hex", + "value": "7b22616d6f756e74223a22333636303030303030303030303030303030303030222c2264656e6f6d223a227472616e736665722f6368616e6e656c2d313432392f6161726368222c227265636569766572223a22617263687761793174386e703678723871723234796a7970336c6b67396a34777965617a676636666d6e6e397833222c2273656e646572223a226f736d6f3174386e703678723871723234796a7970336c6b67396a34777965617a67663666787275333635227d" + }, + { + "key": "packet_dst_channel", + "value": "channel-1" + }, + { + "key": "packet_dst_port", + "value": "transfer" + }, + { + "key": "packet_sequence", + "value": "96339" + }, + { + "key": "packet_src_channel", + "value": "channel-1429" + }, + { + "key": "packet_src_port", + "value": "transfer" + }, + { + "key": "packet_timeout_height", + "value": "0-0" + }, + { + "key": "packet_timeout_timestamp", + "value": "1714126034868000000" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "module", + "value": "ibc_channel" + } + ] + }, + { + "type": "coin_spent", + "attributes": [ + { + "key": "amount", + "value": "366000000000000000000aarch" + }, + { + "key": "spender", + "value": "archway1kq2rzz6fq2q7fsu75a9g7cpzjeanmk68awem3r" + } + ] + }, + { + "type": "coin_received", + "attributes": [ + { + "key": "amount", + "value": "366000000000000000000aarch" + }, + { + "key": "receiver", + "value": "archway1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fmnn9x3" + } + ] + }, + { + "type": "transfer", + "attributes": [ + { + "key": "amount", + "value": "366000000000000000000aarch" + }, + { + "key": "recipient", + "value": "archway1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fmnn9x3" + }, + { + "key": "sender", + "value": "archway1kq2rzz6fq2q7fsu75a9g7cpzjeanmk68awem3r" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "sender", + "value": "archway1kq2rzz6fq2q7fsu75a9g7cpzjeanmk68awem3r" + } + ] + }, + { + "type": "fungible_token_packet", + "attributes": [ + { + "key": "amount", + "value": "366000000000000000000" + }, + { + "key": "denom", + "value": "transfer/channel-1429/aarch" + }, + { + "key": "memo", + "value": "" + }, + { + "key": "module", + "value": "transfer" + }, + { + "key": "receiver", + "value": "archway1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fmnn9x3" + }, + { + "key": "sender", + "value": "osmo1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fxru365" + }, + { + "key": "success", + "value": "true" + } + ] + }, + { + "type": "write_acknowledgement", + "attributes": [ + { + "key": "connection_id", + "value": "connection-1" + }, + { + "key": "packet_ack", + "value": "{\"result\":\"AQ==\"}" + }, + { + "key": "packet_ack_hex", + "value": "7b22726573756c74223a2241513d3d227d" + }, + { + "key": "packet_connection", + "value": "connection-1" + }, + { + "key": "packet_data", + "value": "{\"amount\":\"366000000000000000000\",\"denom\":\"transfer/channel-1429/aarch\",\"receiver\":\"archway1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fmnn9x3\",\"sender\":\"osmo1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fxru365\"}" + }, + { + "key": "packet_data_hex", + "value": "7b22616d6f756e74223a22333636303030303030303030303030303030303030222c2264656e6f6d223a227472616e736665722f6368616e6e656c2d313432392f6161726368222c227265636569766572223a22617263687761793174386e703678723871723234796a7970336c6b67396a34777965617a676636666d6e6e397833222c2273656e646572223a226f736d6f3174386e703678723871723234796a7970336c6b67396a34777965617a67663666787275333635227d" + }, + { + "key": "packet_dst_channel", + "value": "channel-1" + }, + { + "key": "packet_dst_port", + "value": "transfer" + }, + { + "key": "packet_sequence", + "value": "96339" + }, + { + "key": "packet_src_channel", + "value": "channel-1429" + }, + { + "key": "packet_src_port", + "value": "transfer" + }, + { + "key": "packet_timeout_height", + "value": "0-0" + }, + { + "key": "packet_timeout_timestamp", + "value": "1714126034868000000" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "module", + "value": "ibc_channel" + } + ] + } + ], + "codespace": "" + }, + { + "code": 0, + "data": "Ei4KLC9jb3Ntd2FzbS53YXNtLnYxLk1zZ0V4ZWN1dGVDb250cmFjdFJlc3BvbnNl", + "info": "", + "gas_wanted": "450000", + "gas_used": "311552", + "events": [ + { + "type": "use_feegrant", + "attributes": [ + { + "key": "grantee", + "value": "archway14jxettnrywm088ja5g36nsr66y08ts0mu0y48a" + }, + { + "key": "granter", + "value": "archway1gpyqzc0aerc85cpk2cm8ec6zkc95x5yqrakskv" + } + ] + }, + { + "type": "update_feegrant", + "attributes": [ + { + "key": "grantee", + "value": "archway14jxettnrywm088ja5g36nsr66y08ts0mu0y48a" + }, + { + "key": "granter", + "value": "archway1gpyqzc0aerc85cpk2cm8ec6zkc95x5yqrakskv" + } + ] + }, + { + "type": "coin_spent", + "attributes": [ + { + "key": "amount", + "value": "31500000000000000aarch" + }, + { + "key": "spender", + "value": "archway1gpyqzc0aerc85cpk2cm8ec6zkc95x5yqrakskv" + } + ] + }, + { + "type": "coin_received", + "attributes": [ + { + "key": "amount", + "value": "31500000000000000aarch" + }, + { + "key": "receiver", + "value": "archway17xpfvakm2amg962yls6f84z3kell8c5l9jlyp2" + } + ] + }, + { + "type": "transfer", + "attributes": [ + { + "key": "amount", + "value": "31500000000000000aarch" + }, + { + "key": "recipient", + "value": "archway17xpfvakm2amg962yls6f84z3kell8c5l9jlyp2" + }, + { + "key": "sender", + "value": "archway1gpyqzc0aerc85cpk2cm8ec6zkc95x5yqrakskv" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "sender", + "value": "archway1gpyqzc0aerc85cpk2cm8ec6zkc95x5yqrakskv" + } + ] + }, + { + "type": "coin_spent", + "attributes": [ + { + "key": "amount", + "value": "31500000000000000aarch" + }, + { + "key": "spender", + "value": "archway17xpfvakm2amg962yls6f84z3kell8c5l9jlyp2" + } + ] + }, + { + "type": "burn", + "attributes": [ + { + "key": "amount", + "value": "31500000000000000aarch" + }, + { + "key": "burner", + "value": "archway17xpfvakm2amg962yls6f84z3kell8c5l9jlyp2" + } + ] + }, + { + "type": "coin_spent", + "attributes": [ + { + "key": "amount", + "value": "31500000000000000aarch" + }, + { + "key": "spender", + "value": "archway1gpyqzc0aerc85cpk2cm8ec6zkc95x5yqrakskv" + } + ] + }, + { + "type": "coin_received", + "attributes": [ + { + "key": "amount", + "value": "31500000000000000aarch" + }, + { + "key": "receiver", + "value": "archway1245yut9zht8q4hz39sd0lzqtzkuw5us50e94ya" + } + ] + }, + { + "type": "transfer", + "attributes": [ + { + "key": "amount", + "value": "31500000000000000aarch" + }, + { + "key": "recipient", + "value": "archway1245yut9zht8q4hz39sd0lzqtzkuw5us50e94ya" + }, + { + "key": "sender", + "value": "archway1gpyqzc0aerc85cpk2cm8ec6zkc95x5yqrakskv" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "sender", + "value": "archway1gpyqzc0aerc85cpk2cm8ec6zkc95x5yqrakskv" + } + ] + }, + { + "type": "tx", + "attributes": [ + { + "key": "fee", + "value": "63000000000000000aarch" + } + ] + }, + { + "type": "tx", + "attributes": [ + { + "key": "acc_seq", + "value": "archway14jxettnrywm088ja5g36nsr66y08ts0mu0y48a/78947" + } + ] + }, + { + "type": "tx", + "attributes": [ + { + "key": "signature", + "value": "Sbc3d6pYIjT6jegsMGhDcWaRfQC1+IodCi2erEDIa9Zb/auoex17aWfIy1DwaS/PrsUTsNssJufbuNLrqmhEyA==" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "action", + "value": "/cosmwasm.wasm.v1.MsgExecuteContract" + }, + { + "key": "module", + "value": "wasm" + }, + { + "key": "sender", + "value": "archway14jxettnrywm088ja5g36nsr66y08ts0mu0y48a" + } + ] + }, + { + "type": "execute", + "attributes": [ + { + "key": "_contract_address", + "value": "archway1zlc00gjw4ecan3tkk5g0lfd78gyfldh4hvkv2g8z5qnwlkz9vqmsdfvs7q" + } + ] + }, + { + "type": "wasm-astrovault-ratio_pool_factory-update_direct_ratios", + "attributes": [ + { + "key": "_contract_address", + "value": "archway1zlc00gjw4ecan3tkk5g0lfd78gyfldh4hvkv2g8z5qnwlkz9vqmsdfvs7q" + }, + { + "key": "new_expiration_time", + "value": "1714128540" + }, + { + "key": "new_expiration_time", + "value": "1714128540" + }, + { + "key": "new_expiration_time", + "value": "1714128540" + }, + { + "key": "new_expiration_time", + "value": "1714128540" + }, + { + "key": "new_expiration_time", + "value": "1714128540" + }, + { + "key": "new_ratio", + "value": "64432567433" + }, + { + "key": "new_ratio", + "value": "169906" + }, + { + "key": "new_ratio", + "value": "925770" + }, + { + "key": "new_ratio", + "value": "1019605" + }, + { + "key": "new_ratio", + "value": "8241758" + }, + { + "key": "pool_addr", + "value": "archway1alukarfvkx5m2uzazlye7yu0vmyre76rvm63znytjl996thwjtzst5mjx0" + }, + { + "key": "pool_addr", + "value": "archway1z9trdrva47g4wvudpnwhfrsz2dpnsp6zzdeaxax3mxcyfylmr58qt2w2x9" + }, + { + "key": "pool_addr", + "value": "archway1z424j4jhjf92dsg56qt9ws2q5znhxpakfdkzesfe2xx7qyn26v8qy37c2g" + }, + { + "key": "pool_addr", + "value": "archway1l2mmr0vpndgv8vstwnj7qhn0px4fn80e0vxdnuenudfwa57n52fqfk9fe3" + }, + { + "key": "pool_addr", + "value": "archway1csty6kltj5ny7vw2vnn33t5hlz704ln8a4xfyf28dt4jss45l4yqm3gx9a" + } + ] + } + ], + "codespace": "" + }, + { + "code": 0, + "data": "Ei4KLC9jb3Ntd2FzbS53YXNtLnYxLk1zZ0V4ZWN1dGVDb250cmFjdFJlc3BvbnNlEi4KLC9jb3Ntd2FzbS53YXNtLnYxLk1zZ0V4ZWN1dGVDb250cmFjdFJlc3BvbnNl", + "info": "", + "gas_wanted": "635970", + "gas_used": "506587", + "events": [ + { + "type": "coin_spent", + "attributes": [ + { + "key": "amount", + "value": "62325060000000000aarch" + }, + { + "key": "spender", + "value": "archway1vn5xlxyp6e50hhmxpy87h42yr8ga3np5j50e5k" + } + ] + }, + { + "type": "coin_received", + "attributes": [ + { + "key": "amount", + "value": "62325060000000000aarch" + }, + { + "key": "receiver", + "value": "archway17xpfvakm2amg962yls6f84z3kell8c5l9jlyp2" + } + ] + }, + { + "type": "transfer", + "attributes": [ + { + "key": "amount", + "value": "62325060000000000aarch" + }, + { + "key": "recipient", + "value": "archway17xpfvakm2amg962yls6f84z3kell8c5l9jlyp2" + }, + { + "key": "sender", + "value": "archway1vn5xlxyp6e50hhmxpy87h42yr8ga3np5j50e5k" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "sender", + "value": "archway1vn5xlxyp6e50hhmxpy87h42yr8ga3np5j50e5k" + } + ] + }, + { + "type": "coin_spent", + "attributes": [ + { + "key": "amount", + "value": "62325060000000000aarch" + }, + { + "key": "spender", + "value": "archway17xpfvakm2amg962yls6f84z3kell8c5l9jlyp2" + } + ] + }, + { + "type": "burn", + "attributes": [ + { + "key": "amount", + "value": "62325060000000000aarch" + }, + { + "key": "burner", + "value": "archway17xpfvakm2amg962yls6f84z3kell8c5l9jlyp2" + } + ] + }, + { + "type": "coin_spent", + "attributes": [ + { + "key": "amount", + "value": "62325060000000000aarch" + }, + { + "key": "spender", + "value": "archway1vn5xlxyp6e50hhmxpy87h42yr8ga3np5j50e5k" + } + ] + }, + { + "type": "coin_received", + "attributes": [ + { + "key": "amount", + "value": "62325060000000000aarch" + }, + { + "key": "receiver", + "value": "archway1245yut9zht8q4hz39sd0lzqtzkuw5us50e94ya" + } + ] + }, + { + "type": "transfer", + "attributes": [ + { + "key": "amount", + "value": "62325060000000000aarch" + }, + { + "key": "recipient", + "value": "archway1245yut9zht8q4hz39sd0lzqtzkuw5us50e94ya" + }, + { + "key": "sender", + "value": "archway1vn5xlxyp6e50hhmxpy87h42yr8ga3np5j50e5k" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "sender", + "value": "archway1vn5xlxyp6e50hhmxpy87h42yr8ga3np5j50e5k" + } + ] + }, + { + "type": "tx", + "attributes": [ + { + "key": "fee", + "value": "124650120000000000aarch" + } + ] + }, + { + "type": "tx", + "attributes": [ + { + "key": "acc_seq", + "value": "archway1vn5xlxyp6e50hhmxpy87h42yr8ga3np5j50e5k/8" + } + ] + }, + { + "type": "tx", + "attributes": [ + { + "key": "signature", + "value": "V3S38fWavl3jJoNmr1+6s3ti9HZYZhxKGnRUvnH2ZZg9eXPrJDDZTJsYbPXMExRbXV1IYVaCEXdHwRcXd56WnQ==" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "action", + "value": "/cosmwasm.wasm.v1.MsgExecuteContract" + }, + { + "key": "module", + "value": "wasm" + }, + { + "key": "sender", + "value": "archway1vn5xlxyp6e50hhmxpy87h42yr8ga3np5j50e5k" + } + ] + }, + { + "type": "execute", + "attributes": [ + { + "key": "_contract_address", + "value": "archway153l9pc7acv7qw43lyx3f0d3tt02gu80zdlllr4lvwtj9gpk7nu0q7qdagg" + } + ] + }, + { + "type": "wasm", + "attributes": [ + { + "key": "_contract_address", + "value": "archway153l9pc7acv7qw43lyx3f0d3tt02gu80zdlllr4lvwtj9gpk7nu0q7qdagg" + }, + { + "key": "action", + "value": "unstake" + }, + { + "key": "amount", + "value": "10000000000000000" + } + ] + }, + { + "type": "execute", + "attributes": [ + { + "key": "_contract_address", + "value": "archway1paztmpff88sjjcrwwej8qlyfz7dlletq640wuxgg4lrpvhvqucqs92wwnj" + } + ] + }, + { + "type": "wasm", + "attributes": [ + { + "key": "_contract_address", + "value": "archway1paztmpff88sjjcrwwej8qlyfz7dlletq640wuxgg4lrpvhvqucqs92wwnj" + }, + { + "key": "action", + "value": "transfer" + }, + { + "key": "amount", + "value": "10000000000000000" + }, + { + "key": "from", + "value": "archway153l9pc7acv7qw43lyx3f0d3tt02gu80zdlllr4lvwtj9gpk7nu0q7qdagg" + }, + { + "key": "to", + "value": "archway1vn5xlxyp6e50hhmxpy87h42yr8ga3np5j50e5k" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "action", + "value": "/cosmwasm.wasm.v1.MsgExecuteContract" + }, + { + "key": "module", + "value": "wasm" + }, + { + "key": "sender", + "value": "archway1vn5xlxyp6e50hhmxpy87h42yr8ga3np5j50e5k" + } + ] + }, + { + "type": "execute", + "attributes": [ + { + "key": "_contract_address", + "value": "archway1paztmpff88sjjcrwwej8qlyfz7dlletq640wuxgg4lrpvhvqucqs92wwnj" + } + ] + }, + { + "type": "wasm", + "attributes": [ + { + "key": "_contract_address", + "value": "archway1paztmpff88sjjcrwwej8qlyfz7dlletq640wuxgg4lrpvhvqucqs92wwnj" + }, + { + "key": "action", + "value": "send" + }, + { + "key": "amount", + "value": "10000000000000000" + }, + { + "key": "from", + "value": "archway1vn5xlxyp6e50hhmxpy87h42yr8ga3np5j50e5k" + }, + { + "key": "to", + "value": "archway153l9pc7acv7qw43lyx3f0d3tt02gu80zdlllr4lvwtj9gpk7nu0q7qdagg" + } + ] + }, + { + "type": "execute", + "attributes": [ + { + "key": "_contract_address", + "value": "archway153l9pc7acv7qw43lyx3f0d3tt02gu80zdlllr4lvwtj9gpk7nu0q7qdagg" + } + ] + }, + { + "type": "wasm", + "attributes": [ + { + "key": "_contract_address", + "value": "archway153l9pc7acv7qw43lyx3f0d3tt02gu80zdlllr4lvwtj9gpk7nu0q7qdagg" + }, + { + "key": "action", + "value": "stake" + }, + { + "key": "amount", + "value": "10000000000000000" + } + ] + } + ], + "codespace": "" + }, + { + "code": 0, + "data": "EjgKMS9pYmMuYXBwbGljYXRpb25zLnRyYW5zZmVyLnYxLk1zZ1RyYW5zZmVyUmVzcG9uc2USAwjZVQ==", + "info": "", + "gas_wanted": "140000", + "gas_used": "122080", + "events": [ + { + "type": "coin_spent", + "attributes": [ + { + "key": "amount", + "value": "140000000000000000aarch" + }, + { + "key": "spender", + "value": "archway1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fmnn9x3" + } + ] + }, + { + "type": "coin_received", + "attributes": [ + { + "key": "amount", + "value": "140000000000000000aarch" + }, + { + "key": "receiver", + "value": "archway17xpfvakm2amg962yls6f84z3kell8c5l9jlyp2" + } + ] + }, + { + "type": "transfer", + "attributes": [ + { + "key": "amount", + "value": "140000000000000000aarch" + }, + { + "key": "recipient", + "value": "archway17xpfvakm2amg962yls6f84z3kell8c5l9jlyp2" + }, + { + "key": "sender", + "value": "archway1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fmnn9x3" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "sender", + "value": "archway1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fmnn9x3" + } + ] + }, + { + "type": "tx", + "attributes": [ + { + "key": "fee", + "value": "140000000000000000aarch" + } + ] + }, + { + "type": "tx", + "attributes": [ + { + "key": "acc_seq", + "value": "archway1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fmnn9x3/66438" + } + ] + }, + { + "type": "tx", + "attributes": [ + { + "key": "signature", + "value": "DpmkxVmQaQXFDASxZnozMcqf99XKcSn8NkJjMCEYtDld3W2XIHfhPRWx1tBtE43wsncCwO5fY/Jhq0rlyB99iA==" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "action", + "value": "/ibc.applications.transfer.v1.MsgTransfer" + }, + { + "key": "sender", + "value": "archway1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fmnn9x3" + } + ] + }, + { + "type": "coin_spent", + "attributes": [ + { + "key": "amount", + "value": "497840000ibc/8CB56C813A5C2387140BBEAABCCE797AFA0960C8D07B171F71A5188726CFED2C" + }, + { + "key": "spender", + "value": "archway1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fmnn9x3" + } + ] + }, + { + "type": "coin_received", + "attributes": [ + { + "key": "amount", + "value": "497840000ibc/8CB56C813A5C2387140BBEAABCCE797AFA0960C8D07B171F71A5188726CFED2C" + }, + { + "key": "receiver", + "value": "archway1yl6hdjhmkf37639730gffanpzndzdpmhm52da5" + } + ] + }, + { + "type": "transfer", + "attributes": [ + { + "key": "amount", + "value": "497840000ibc/8CB56C813A5C2387140BBEAABCCE797AFA0960C8D07B171F71A5188726CFED2C" + }, + { + "key": "recipient", + "value": "archway1yl6hdjhmkf37639730gffanpzndzdpmhm52da5" + }, + { + "key": "sender", + "value": "archway1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fmnn9x3" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "sender", + "value": "archway1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fmnn9x3" + } + ] + }, + { + "type": "coin_spent", + "attributes": [ + { + "key": "amount", + "value": "497840000ibc/8CB56C813A5C2387140BBEAABCCE797AFA0960C8D07B171F71A5188726CFED2C" + }, + { + "key": "spender", + "value": "archway1yl6hdjhmkf37639730gffanpzndzdpmhm52da5" + } + ] + }, + { + "type": "burn", + "attributes": [ + { + "key": "amount", + "value": "497840000ibc/8CB56C813A5C2387140BBEAABCCE797AFA0960C8D07B171F71A5188726CFED2C" + }, + { + "key": "burner", + "value": "archway1yl6hdjhmkf37639730gffanpzndzdpmhm52da5" + } + ] + }, + { + "type": "send_packet", + "attributes": [ + { + "key": "connection_id", + "value": "connection-21" + }, + { + "key": "packet_channel_ordering", + "value": "ORDER_UNORDERED" + }, + { + "key": "packet_connection", + "value": "connection-21" + }, + { + "key": "packet_data", + "value": "{\"amount\":\"497840000\",\"denom\":\"transfer/channel-20/ubld\",\"receiver\":\"agoric1ccr2m407rvh7n0whcrhq0twawxkry2cy9yqk0f\",\"sender\":\"archway1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fmnn9x3\"}" + }, + { + "key": "packet_data_hex", + "value": "7b22616d6f756e74223a22343937383430303030222c2264656e6f6d223a227472616e736665722f6368616e6e656c2d32302f75626c64222c227265636569766572223a2261676f72696331636372326d343037727668376e307768637268713074776177786b72793263793979716b3066222c2273656e646572223a22617263687761793174386e703678723871723234796a7970336c6b67396a34777965617a676636666d6e6e397833227d" + }, + { + "key": "packet_dst_channel", + "value": "channel-60" + }, + { + "key": "packet_dst_port", + "value": "transfer" + }, + { + "key": "packet_sequence", + "value": "10969" + }, + { + "key": "packet_src_channel", + "value": "channel-20" + }, + { + "key": "packet_src_port", + "value": "transfer" + }, + { + "key": "packet_timeout_height", + "value": "0-0" + }, + { + "key": "packet_timeout_timestamp", + "value": "1714126042659000000" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "module", + "value": "ibc_channel" + } + ] + }, + { + "type": "ibc_transfer", + "attributes": [ + { + "key": "amount", + "value": "497840000" + }, + { + "key": "denom", + "value": "ibc/8CB56C813A5C2387140BBEAABCCE797AFA0960C8D07B171F71A5188726CFED2C" + }, + { + "key": "memo", + "value": "" + }, + { + "key": "receiver", + "value": "agoric1ccr2m407rvh7n0whcrhq0twawxkry2cy9yqk0f" + }, + { + "key": "sender", + "value": "archway1t8np6xr8qr24yjyp3lkg9j4wyeazgf6fmnn9x3" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "module", + "value": "transfer" + } + ] + } + ], + "codespace": "" + } + ], + "begin_block_events": [ + { + "type": "coin_received", + "attributes": [ + { + "key": "amount", + "value": "20639843594155070494aarch" + }, + { + "key": "receiver", + "value": "archway1m3h30wlvsf8llruxtpukdvsy0km2kum8a6mudh" + } + ] + }, + { + "type": "coinbase", + "attributes": [ + { + "key": "amount", + "value": "20639843594155070494aarch" + }, + { + "key": "minter", + "value": "archway1m3h30wlvsf8llruxtpukdvsy0km2kum8a6mudh" + } + ] + }, + { + "type": "coin_spent", + "attributes": [ + { + "key": "amount", + "value": "15479882695616302871aarch" + }, + { + "key": "spender", + "value": "archway1m3h30wlvsf8llruxtpukdvsy0km2kum8a6mudh" + } + ] + }, + { + "type": "coin_received", + "attributes": [ + { + "key": "amount", + "value": "15479882695616302871aarch" + }, + { + "key": "receiver", + "value": "archway17xpfvakm2amg962yls6f84z3kell8c5l9jlyp2" + } + ] + }, + { + "type": "transfer", + "attributes": [ + { + "key": "amount", + "value": "15479882695616302871aarch" + }, + { + "key": "recipient", + "value": "archway17xpfvakm2amg962yls6f84z3kell8c5l9jlyp2" + }, + { + "key": "sender", + "value": "archway1m3h30wlvsf8llruxtpukdvsy0km2kum8a6mudh" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "sender", + "value": "archway1m3h30wlvsf8llruxtpukdvsy0km2kum8a6mudh" + } + ] + }, + { + "type": "coin_spent", + "attributes": [ + { + "key": "amount", + "value": "5159960898538767623aarch" + }, + { + "key": "spender", + "value": "archway1m3h30wlvsf8llruxtpukdvsy0km2kum8a6mudh" + } + ] + }, + { + "type": "coin_received", + "attributes": [ + { + "key": "amount", + "value": "5159960898538767623aarch" + }, + { + "key": "receiver", + "value": "archway1245yut9zht8q4hz39sd0lzqtzkuw5us50e94ya" + } + ] + }, + { + "type": "transfer", + "attributes": [ + { + "key": "amount", + "value": "5159960898538767623aarch" + }, + { + "key": "recipient", + "value": "archway1245yut9zht8q4hz39sd0lzqtzkuw5us50e94ya" + }, + { + "key": "sender", + "value": "archway1m3h30wlvsf8llruxtpukdvsy0km2kum8a6mudh" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "sender", + "value": "archway1m3h30wlvsf8llruxtpukdvsy0km2kum8a6mudh" + } + ] + }, + { + "type": "archway.rewards.v1.MinConsensusFeeSetEvent", + "attributes": [ + { + "key": "fee", + "value": "{\"denom\":\"aarch\",\"amount\":\"34399739323.591784153333333333\"}" + } + ] + }, + { + "type": "mint", + "attributes": [ + { + "key": "amount", + "value": "20639843594155070494" + }, + { + "key": "annual_provisions", + "value": "108557321367818008772980709.400000000000000000" + }, + { + "key": "bonded_ratio", + "value": "0.475274953043275645" + }, + { + "key": "inflation", + "value": "0.100000000000000000" + } + ] + }, + { + "type": "coin_spent", + "attributes": [ + { + "key": "amount", + "value": "15523381418216302871aarch" + }, + { + "key": "spender", + "value": "archway17xpfvakm2amg962yls6f84z3kell8c5l9jlyp2" + } + ] + }, + { + "type": "coin_received", + "attributes": [ + { + "key": "amount", + "value": "15523381418216302871aarch" + }, + { + "key": "receiver", + "value": "archway1jv65s3grqf6v6jl3dp4t6c9t9rk99cd8j5ccrg" + } + ] + }, + { + "type": "transfer", + "attributes": [ + { + "key": "amount", + "value": "15523381418216302871aarch" + }, + { + "key": "recipient", + "value": "archway1jv65s3grqf6v6jl3dp4t6c9t9rk99cd8j5ccrg" + }, + { + "key": "sender", + "value": "archway17xpfvakm2amg962yls6f84z3kell8c5l9jlyp2" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "sender", + "value": "archway17xpfvakm2amg962yls6f84z3kell8c5l9jlyp2" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "47555033216295305.062431351508006959aarch" + }, + { + "key": "validator", + "value": "archwayvaloper16pj5gljqnqs0ajxakccfjhu05yczp987nad4gt" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "951100664325906101.248627030160139177aarch" + }, + { + "key": "validator", + "value": "archwayvaloper16pj5gljqnqs0ajxakccfjhu05yczp987nad4gt" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "38726904613077824.493826584428693992aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1zttnm2cl60m5ffsrfeqtzkmtvepl4hwndvgtka" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "774538092261556489.876531688573879841aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1zttnm2cl60m5ffsrfeqtzkmtvepl4hwndvgtka" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "25510651962442731.678907086289926827aarch" + }, + { + "key": "validator", + "value": "archwayvaloper16ktf3yu7cnkpx5n7qwmpkaxten8lw2k7etjm70" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "510213039248854633.578141725798536545aarch" + }, + { + "key": "validator", + "value": "archwayvaloper16ktf3yu7cnkpx5n7qwmpkaxten8lw2k7etjm70" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "37691415595742688.936562478994384581aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1ra4y9k2lle29ztcztcf7chvr7ayjr7uvrj9lam" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "471142694946783611.707030987429807264aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1ra4y9k2lle29ztcztcf7chvr7ayjr7uvrj9lam" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "21254081657251497.571358733133274576aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1lq9la9sh5kjla8x7pg74p7djy2f74u6g60nl9e" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "425081633145029951.427174662665491518aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1lq9la9sh5kjla8x7pg74p7djy2f74u6g60nl9e" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "18385211721970547.873230777331645442aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1pkqd2k3g6tyq8n8xf85mutngevt7ckxuegk4vm" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "367704234439410957.464615546632908830aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1pkqd2k3g6tyq8n8xf85mutngevt7ckxuegk4vm" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "16467899714458333.339157937799265476aarch" + }, + { + "key": "validator", + "value": "archwayvaloper10m7wk6jk2k90s0k8k0v6lmcrn0xaveu9u20hay" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "329357994289166666.783158755985309512aarch" + }, + { + "key": "validator", + "value": "archwayvaloper10m7wk6jk2k90s0k8k0v6lmcrn0xaveu9u20hay" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "323430482170869842.431768071569032874aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1qssp5q303cq2hcp38v5tk80n8q3vzphtlr0la8" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "323430482170869842.431768071569032874aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1qssp5q303cq2hcp38v5tk80n8q3vzphtlr0la8" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "15576698411710626.935779789057907199aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1qsw3w58yaca87v0g86eqsec0rjxegzjd75gvt4" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "311533968234212538.715595781158143972aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1qsw3w58yaca87v0g86eqsec0rjxegzjd75gvt4" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "14476146643866670.797661133006243325aarch" + }, + { + "key": "validator", + "value": "archwayvaloper17qv63dpkg2zwxj5mypgh9ryldpmvsew4pfnvva" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "289522932877333415.953222660124866508aarch" + }, + { + "key": "validator", + "value": "archwayvaloper17qv63dpkg2zwxj5mypgh9ryldpmvsew4pfnvva" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "13969358583600371.752135011453621066aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1ce7vq2ektpgzl5v7qhgvlv22h2se9aagtk42zy" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "279387171672007435.042700229072421322aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1ce7vq2ektpgzl5v7qhgvlv22h2se9aagtk42zy" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "13858070311435760.920099325171649396aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1skc8aut895jvg4hdxx7q89sus5x63ede7qxs2c" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "277161406228715218.401986503432987921aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1skc8aut895jvg4hdxx7q89sus5x63ede7qxs2c" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "13044368770514526.957317475365593951aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1p4n7pw4rdfyn3rgc4cndcqedwmcu3dt6kfdwpt" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "260887375410290539.146349507311879023aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1p4n7pw4rdfyn3rgc4cndcqedwmcu3dt6kfdwpt" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "12115593411175429.620950839957958010aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1xjyw0swav97upg2f5trvuxrmzympm0gu092alx" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "242311868223508592.419016799159160203aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1xjyw0swav97upg2f5trvuxrmzympm0gu092alx" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "11252503006436088.090979298517045918aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1c9ye54e3pzwm3e0zpdlel6pnavrj9qqvnrxcyw" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "225050060128721761.819585970340918368aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1c9ye54e3pzwm3e0zpdlel6pnavrj9qqvnrxcyw" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "22427468070340124.371098667506767639aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1wr8v2eept0n26nsa706k5a9kssnw7kdajfxm34" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "224274680703401243.710986675067676388aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1wr8v2eept0n26nsa706k5a9kssnw7kdajfxm34" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "10672494251568696.563445012404068467aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1l54f8nfhtmd9m6sheancpeyse7qtax48duypsc" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "213449885031373931.268900248081369339aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1l54f8nfhtmd9m6sheancpeyse7qtax48duypsc" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4245083569212464.944047719605376636aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1hgzw3udgagqylcvp9kyqq2w7ws8enucqpw094n" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "212254178460623247.202385980268831783aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1hgzw3udgagqylcvp9kyqq2w7ws8enucqpw094n" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "20704262527696272.300865134187811381aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1eunmpgl2rspj38x26h9t8gr8226s2xd9szn3a8" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "207042625276962723.008651341878113807aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1eunmpgl2rspj38x26h9t8gr8226s2xd9szn3a8" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "10342853352392183.557413982282978458aarch" + }, + { + "key": "validator", + "value": "archwayvaloper140l6y2gp3gxvay6qtn70re7z2s0gn57zekxzpl" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "206857067047843671.148279645659569157aarch" + }, + { + "key": "validator", + "value": "archwayvaloper140l6y2gp3gxvay6qtn70re7z2s0gn57zekxzpl" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "10058784660575979.450497583500532425aarch" + }, + { + "key": "validator", + "value": "archwayvaloper14sp0yjvxkrsj7qjltga65g9ctz5c2nrw8cgs72" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "201175693211519589.009951670010648493aarch" + }, + { + "key": "validator", + "value": "archwayvaloper14sp0yjvxkrsj7qjltga65g9ctz5c2nrw8cgs72" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "10057608129204031.057693831734466791aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1jzz2uw3nz446s4936afz9408vmk84lytdnkpkf" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "201152162584080621.153876634689335819aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1jzz2uw3nz446s4936afz9408vmk84lytdnkpkf" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "38747471286483611.048097493622208845aarch" + }, + { + "key": "validator", + "value": "archwayvaloper17wysu3cvfyd9xpxwmym7kw57grufsgkpfc0yrv" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "193737356432418055.240487468111044227aarch" + }, + { + "key": "validator", + "value": "archwayvaloper17wysu3cvfyd9xpxwmym7kw57grufsgkpfc0yrv" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "19210593730598865.380000256101014502aarch" + }, + { + "key": "validator", + "value": "archwayvaloper166zw6w83rksfrqsft3vn2fm546tcpqy64r4hpa" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "192105937305988653.800002561010145023aarch" + }, + { + "key": "validator", + "value": "archwayvaloper166zw6w83rksfrqsft3vn2fm546tcpqy64r4hpa" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "9489278427943515.403961143343086722aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1x20lytyf6zkcrv5edpkfkn8sz578qg5sqjl9gf" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "189785568558870308.079222866861734448aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1x20lytyf6zkcrv5edpkfkn8sz578qg5sqjl9gf" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "8968937631296504.628589616361239585aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1tunvmmw4v6nedchg3w355k9swt00ld0k0cp3zh" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "179378752625930092.571792327224791701aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1tunvmmw4v6nedchg3w355k9swt00ld0k0cp3zh" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "8455378859240676.386090820451955527aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1esg4kluvdkfcxl0atcf2us2p9m9y9sjjsu04ex" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "169107577184813527.721816409039110538aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1esg4kluvdkfcxl0atcf2us2p9m9y9sjjsu04ex" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "16404526813696481.066932507601551531aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1pnu3tpydg7264ncfv0vy763p56e7drf3pge9qx" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "164045268136964810.669325076015515314aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1pnu3tpydg7264ncfv0vy763p56e7drf3pge9qx" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "8168428231203281.128240608348785573aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1n3mhyp9fvcmuu8l0q8qvjy07x0rql8q42jcedm" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "163368564624065622.564812166975711460aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1n3mhyp9fvcmuu8l0q8qvjy07x0rql8q42jcedm" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "14178063936182338.931016367721810950aarch" + }, + { + "key": "validator", + "value": "archwayvaloper18wdwndqaaukkgwn4s0ynw7mdddty6h6vtm2g8p" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "157534043735359321.455737419131232774aarch" + }, + { + "key": "validator", + "value": "archwayvaloper18wdwndqaaukkgwn4s0ynw7mdddty6h6vtm2g8p" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "7854703029852823.032975439319402992aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1kw5n4hk62kqjumc8p900df7ug5e3j8rt6uzlcw" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "157094060597056460.659508786388059831aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1kw5n4hk62kqjumc8p900df7ug5e3j8rt6uzlcw" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "7743600004815286.397101974248501803aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1a7fng4tw3dxzaxt0c698qgu8v3m9pjvea9k0dy" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "154872000096305727.942039484970036053aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1a7fng4tw3dxzaxt0c698qgu8v3m9pjvea9k0dy" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "1482294057855007.314932552000893032aarch" + }, + { + "key": "validator", + "value": "archwayvaloper15qa2dx667akjq7kf4lpfqquedlydsv720uwdhv" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "148229405785500731.493255200089303224aarch" + }, + { + "key": "validator", + "value": "archwayvaloper15qa2dx667akjq7kf4lpfqquedlydsv720uwdhv" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "13359505243871239.618113378023869059aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1j84hef7m9jrh36aanr0p4rd5ff2lsjstss5hq6" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "133595052438712396.181133780238690588aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1j84hef7m9jrh36aanr0p4rd5ff2lsjstss5hq6" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "6580656721752905.788086466423767856aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1feuxzwn0d498v38799x06n6hqlc5d04ydpczaq" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "131613134435058115.761729328475357112aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1feuxzwn0d498v38799x06n6hqlc5d04ydpczaq" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "6466157028018950.853027144130551369aarch" + }, + { + "key": "validator", + "value": "archwayvaloper18tjtnapg85exzkqzt7l8l7hfmka4ann9gqruk5" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "129323140560379017.060542882611027389aarch" + }, + { + "key": "validator", + "value": "archwayvaloper18tjtnapg85exzkqzt7l8l7hfmka4ann9gqruk5" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "6438135218323605.726233885971765429aarch" + }, + { + "key": "validator", + "value": "archwayvaloper180798qlvh6jmxd9x74t4paweecgenk7j685kxz" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "128762704366472114.524677719435308588aarch" + }, + { + "key": "validator", + "value": "archwayvaloper180798qlvh6jmxd9x74t4paweecgenk7j685kxz" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "12794017884026127.345265914463309077aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1eze2npmnmu4mu5gklw02rnp6sa6cqysn8kxjsh" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "127940178840261273.452659144633090770aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1eze2npmnmu4mu5gklw02rnp6sa6cqysn8kxjsh" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "6389225734475559.818206816817578790aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1qe8uuf5x69c526h4nzxwv4ltftr73v7q463llj" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "127784514689511196.364136336351575792aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1qe8uuf5x69c526h4nzxwv4ltftr73v7q463llj" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "6216158252482012.324063372662922421aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1v8er9uqsx0hd6tav2pltqplu2zgj0a3reaaamt" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "124323165049640246.481267453258448429aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1v8er9uqsx0hd6tav2pltqplu2zgj0a3reaaamt" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "11905578318982044.760484415612078161aarch" + }, + { + "key": "validator", + "value": "archwayvaloper143y40ycafxs5tqmujx4wrp337ufj93eczp0f3u" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "119055783189820447.604844156120781606aarch" + }, + { + "key": "validator", + "value": "archwayvaloper143y40ycafxs5tqmujx4wrp337ufj93eczp0f3u" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "11891683370351319.802062026190881109aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1judfxhsvzckqzhd4l3wdwrtn3prggjdq28yc6j" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "118916833703513198.020620261908811086aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1judfxhsvzckqzhd4l3wdwrtn3prggjdq28yc6j" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "5755442991049182.108829660463534238aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1lyj3ywvl4cj68sl2ac5rp5y06hdfxx3el7nkzm" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "115108859820983642.176593209270684757aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1lyj3ywvl4cj68sl2ac5rp5y06hdfxx3el7nkzm" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "9077722380455229.380506937455209582aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1uvkmmjtvzxtn9cjhd2c9kdncjfslnql8mz786s" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "113471529755690367.256336718190119771aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1uvkmmjtvzxtn9cjhd2c9kdncjfslnql8mz786s" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "5668877432797758.035339498460660975aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1j7fgj7v9nqjg6wfda9paldcxezd8yv4qtvgc05" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "113377548655955160.706789969213219496aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1j7fgj7v9nqjg6wfda9paldcxezd8yv4qtvgc05" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "5512832889092086.888778222282819987aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1846wx4dzcrm5guey0l5gp4kf6dp2zmqrj6rpcn" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "110256657781841737.775564445656399745aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1846wx4dzcrm5guey0l5gp4kf6dp2zmqrj6rpcn" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "5185781207393984.511267708798404371aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1cz6unq70w0sdm2gwghv8m4uqmhwxz5x4adam88" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "103715624147879690.225354175968087422aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1cz6unq70w0sdm2gwghv8m4uqmhwxz5x4adam88" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "5087656794053251.896313112504530285aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1lmpway2t6ltvpvv2rlgp0kk8g7vzkayxe5da3h" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "101753135881065037.926262250090605705aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1lmpway2t6ltvpvv2rlgp0kk8g7vzkayxe5da3h" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "5054011107835986.049813148707928098aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1xajq58h5x2quul39xr0a7lw7zdcsu9wy09v7gm" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "101080222156719720.996262974158561966aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1xajq58h5x2quul39xr0a7lw7zdcsu9wy09v7gm" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4983324480805243.727813395134124660aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1968axqhgdcmyc8xypw53v0092gld8pmqawdapr" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "99666489616104874.556267902682493205aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1968axqhgdcmyc8xypw53v0092gld8pmqawdapr" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4807932218071933.152612052565173343aarch" + }, + { + "key": "validator", + "value": "archwayvaloper199r99ywklced4uxav5mgyf5ykc72l74hw4hwp7" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "96158644361438663.052241051303466866aarch" + }, + { + "key": "validator", + "value": "archwayvaloper199r99ywklced4uxav5mgyf5ykc72l74hw4hwp7" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4687805819615643.616671815463040614aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1hvhyunq7qvykzvrcnhjj4xnkcla58xus26rg5n" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "93756116392312872.333436309260812278aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1hvhyunq7qvykzvrcnhjj4xnkcla58xus26rg5n" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "9351170331259227.661311346615131068aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1k8wmx9texf0velkysk69wkse0gxv7ahtdayy2s" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "93511703312592276.613113466151310681aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1k8wmx9texf0velkysk69wkse0gxv7ahtdayy2s" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4644023863116977.859737134376397646aarch" + }, + { + "key": "validator", + "value": "archwayvaloper132cmdmha0tehev0jhw7r8rcx6ecge45wlfc8vt" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "92880477262339557.194742687527952914aarch" + }, + { + "key": "validator", + "value": "archwayvaloper132cmdmha0tehev0jhw7r8rcx6ecge45wlfc8vt" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "912388200504138.758207225526939014aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1n3fjzmr2kd9jy8rd2k9c9j30w5zrf3w4s3clvd" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "91238820050413875.820722552693901405aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1n3fjzmr2kd9jy8rd2k9c9j30w5zrf3w4s3clvd" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "8978481393591310.980058997323930025aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1pc03t9pxw235pwv29qd0lx3c6zp23q7ccduy07" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "89784813935913109.800589973239300249aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1pc03t9pxw235pwv29qd0lx3c6zp23q7ccduy07" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "8824565070696675.382493341633412224aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1mttfqlpxsehxhevs0c52enktagrwn50edfxxgw" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "88245650706966753.824933416334122245aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1mttfqlpxsehxhevs0c52enktagrwn50edfxxgw" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4333416752722224.028719865116115876aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1g976ww27dfqcjrzxr3vemcwu7e360yx2u4d5gc" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "86668335054444480.574397302322317512aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1g976ww27dfqcjrzxr3vemcwu7e360yx2u4d5gc" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "6933328788175387.893890877583023027aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1s0lankh33kprer2l22nank5rvsuh9ksatu7zp3" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "86666609852192348.673635969787787835aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1s0lankh33kprer2l22nank5rvsuh9ksatu7zp3" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4243733103515096.420580730000308036aarch" + }, + { + "key": "validator", + "value": "archwayvaloper134f0zte66y0p6xenkdvsxyrm2pcvn5vmrl7y60" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "84874662070301928.411614600006160723aarch" + }, + { + "key": "validator", + "value": "archwayvaloper134f0zte66y0p6xenkdvsxyrm2pcvn5vmrl7y60" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4202893889546507.856643606258212915aarch" + }, + { + "key": "validator", + "value": "archwayvaloper19f0w9svr905fhefusyx4z8sf83j6et0g4y4huj" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "84057877790930157.132872125164258306aarch" + }, + { + "key": "validator", + "value": "archwayvaloper19f0w9svr905fhefusyx4z8sf83j6et0g4y4huj" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "825314980278520.926122474569125142aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1emv3genha0hmd058r0g0pttexwg4xeljuw3pdq" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "82531498027852092.612247456912514226aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1emv3genha0hmd058r0g0pttexwg4xeljuw3pdq" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4106692652486843.803896504979888971aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1ej2es5fjztqjcd4pwa0zyvaevtjd2y5wkaqkrq" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "82133853049736876.077930099597779417aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1ej2es5fjztqjcd4pwa0zyvaevtjd2y5wkaqkrq" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "8165713158806477.593831289907813332aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1jrgjvtv0p5yu3fulz24wfhav577p68fcxgxnw7" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "81657131588064775.938312899078133322aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1jrgjvtv0p5yu3fulz24wfhav577p68fcxgxnw7" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4067085119798264.101275238653982123aarch" + }, + { + "key": "validator", + "value": "archwayvaloper16vh6jdzrvda47stsjlxap6yukh5pq4q06sgcm6" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "81341702395965282.025504773079642452aarch" + }, + { + "key": "validator", + "value": "archwayvaloper16vh6jdzrvda47stsjlxap6yukh5pq4q06sgcm6" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4038428379110125.223491699819174481aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1728wq7c67e6xkgkjy546l7996dn8xgtlvv2n3m" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "80768567582202504.469833996383489616aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1728wq7c67e6xkgkjy546l7996dn8xgtlvv2n3m" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4011530779079081.902164296947431532aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1gjtvly9lel6zskvwtvlg5vhwpu9c9wawwt839t" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "80230615581581638.043285938948630637aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1gjtvly9lel6zskvwtvlg5vhwpu9c9wawwt839t" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "7858482919705247.812176120296811825aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1jdm7fprjl8p94fygap772jpqhq4fekppc6upv4" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "78584829197052478.121761202968118250aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1jdm7fprjl8p94fygap772jpqhq4fekppc6upv4" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "3914031398029696.642887029199227865aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1wcynzzk7fj2fsgz2dmk3qr0hk0msezxs48jhcd" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "78280627960593932.857740583984557309aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1wcynzzk7fj2fsgz2dmk3qr0hk0msezxs48jhcd" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "7427074885055624.383377598080804260aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1vnet33snv6xtklyw2ad9dewu3m0z4wh57e4ym4" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "74270748850556243.833775980808042598aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1vnet33snv6xtklyw2ad9dewu3m0z4wh57e4ym4" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "3669727204025012.730204512835922843aarch" + }, + { + "key": "validator", + "value": "archwayvaloper18xqqw8nfrc7zm9286fcl0w64semwxlzgr93gjp" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "73394544080500254.604090256718456863aarch" + }, + { + "key": "validator", + "value": "archwayvaloper18xqqw8nfrc7zm9286fcl0w64semwxlzgr93gjp" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "7075549371080707.907523881410952171aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1hccgnft2asahy7hxrk4fx2y6nndk3rwre387zm" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "70755493710807079.075238814109521709aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1hccgnft2asahy7hxrk4fx2y6nndk3rwre387zm" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "3524928999262976.812068470004330586aarch" + }, + { + "key": "validator", + "value": "archwayvaloper120xprf3m7u6gwsvsggzr4tz4tw2ugxq8vf5a97" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "70498579985259536.241369400086611723aarch" + }, + { + "key": "validator", + "value": "archwayvaloper120xprf3m7u6gwsvsggzr4tz4tw2ugxq8vf5a97" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "3369963414014993.397773895593761233aarch" + }, + { + "key": "validator", + "value": "archwayvaloper18zma4gfcnp9pcr5x56qcnedj333vfvp35nq5df" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "67399268280299867.955477911875224661aarch" + }, + { + "key": "validator", + "value": "archwayvaloper18zma4gfcnp9pcr5x56qcnedj333vfvp35nq5df" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "3271604260039953.880493390780894020aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1mj2muyc2el7z9l243thhj3crhzzn2ds4tsr7ar" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "65432085200799077.609867815617880394aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1mj2muyc2el7z9l243thhj3crhzzn2ds4tsr7ar" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "6513300300708867.960860407706255796aarch" + }, + { + "key": "validator", + "value": "archwayvaloper166a4vy3609c0wgmrs4kdww79apwceu7nslcp4k" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "65133003007088679.608604077062557955aarch" + }, + { + "key": "validator", + "value": "archwayvaloper166a4vy3609c0wgmrs4kdww79apwceu7nslcp4k" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "6372501171331290.296188510554680460aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1dht6wr376rw07nh60s6qqalatpen8htwk9g499" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "63725011713312902.961885105546804595aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1dht6wr376rw07nh60s6qqalatpen8htwk9g499" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "3112694749315571.951647849684264150aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1xn03xz6495xmdkz3pxy8xluvyxuz3r4u7k7m3l" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "62253894986311439.032956993685282991aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1xn03xz6495xmdkz3pxy8xluvyxuz3r4u7k7m3l" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "6045549890747861.001191402927826369aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1ep3mayvcxyr26mc3nmk7gkk7krnssuml87y2td" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "60455498907478610.011914029278263690aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1ep3mayvcxyr26mc3nmk7gkk7krnssuml87y2td" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "2896088536058905.787220407162925460aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1jy9kqql29lefyddmha9xla39qwqv8zxdzep27p" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "57921770721178115.744408143258509194aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1jy9kqql29lefyddmha9xla39qwqv8zxdzep27p" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "5776644595447763.143689776989237028aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1n7ucxt0afdd2cny94p7syu22chvfttx6le2k80" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "57766445954477631.436897769892370280aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1n7ucxt0afdd2cny94p7syu22chvfttx6le2k80" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "2866556467342839.223371187447069231aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1eufkxcmzzs44d5fzvmy7l4kygdym0vt9pr383f" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "57331129346856784.467423748941384621aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1eufkxcmzzs44d5fzvmy7l4kygdym0vt9pr383f" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "2793116587209713.267099558184105951aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1c2f4nd85gcntlleqtx84vcnedqejlhu2r3yhkv" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "55862331744194265.341991163682119029aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1c2f4nd85gcntlleqtx84vcnedqejlhu2r3yhkv" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "2666933597568262.366076251068808323aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1kjrhhn2tg6wuvqjjrhr7l65yqhfvmax8mg73u2" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "53338671951365247.321525021376166458aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1kjrhhn2tg6wuvqjjrhr7l65yqhfvmax8mg73u2" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4970468895826418.731609118990295409aarch" + }, + { + "key": "validator", + "value": "archwayvaloper173zlk665f6f4hl8rnmelhql9qkttc2e79z5xn6" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "49704688958264187.316091189902954088aarch" + }, + { + "key": "validator", + "value": "archwayvaloper173zlk665f6f4hl8rnmelhql9qkttc2e79z5xn6" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "2363240023083911.006570006371421238aarch" + }, + { + "key": "validator", + "value": "archwayvaloper10j0jzlpuqkjujrpd5k2qr9j53p3d3w3xlldvk5" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "47264800461678220.131400127428424751aarch" + }, + { + "key": "validator", + "value": "archwayvaloper10j0jzlpuqkjujrpd5k2qr9j53p3d3w3xlldvk5" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4493096948059239.739356367479582812aarch" + }, + { + "key": "validator", + "value": "archwayvaloper18qs78duhvkdchrrz9nr4y6t857dwhxqenae350" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "44930969480592397.393563674795828125aarch" + }, + { + "key": "validator", + "value": "archwayvaloper18qs78duhvkdchrrz9nr4y6t857dwhxqenae350" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4432372656984477.926727020012983425aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1fzzxu5296sqkye9ccujc9x43h32j5dn8n64wsg" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "44323726569844779.267270200129834248aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1fzzxu5296sqkye9ccujc9x43h32j5dn8n64wsg" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4356571229506215.000523113016921359aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1zpr0n5mf6ktfdlr2l80pf0a0d0ddzcnfspzgfj" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "43565712295062150.005231130169213588aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1zpr0n5mf6ktfdlr2l80pf0a0d0ddzcnfspzgfj" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "2170089489955256.520683882635905078aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1lnjm5he7kd4peahyz874p53xva8rps32r8jlnj" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "43401789799105130.413677652718101553aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1lnjm5he7kd4peahyz874p53xva8rps32r8jlnj" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4339276783978658.591339583858475248aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1vj2xdt654d7el6eghz63qf8ls8watvkatu6ku8" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "43392767839786585.913395838584752481aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1vj2xdt654d7el6eghz63qf8ls8watvkatu6ku8" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4319745231924152.636723327498010671aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1kv2c4q3d2q396fgfd9mc9g0sfynuf59p7qam9x" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "43197452319241526.367233274980106706aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1kv2c4q3d2q396fgfd9mc9g0sfynuf59p7qam9x" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4298086873158816.614500701923440434aarch" + }, + { + "key": "validator", + "value": "archwayvaloper120gntmczryywurtkp6tw8rwjtdxazlscr0tdpm" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "42980868731588166.145007019234404342aarch" + }, + { + "key": "validator", + "value": "archwayvaloper120gntmczryywurtkp6tw8rwjtdxazlscr0tdpm" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4247671372590667.172783278344168560aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1vdmhn49edkx42pk8tzrtuwrvyxahv20jpw0v2k" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "42476713725906671.727832783441685605aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1vdmhn49edkx42pk8tzrtuwrvyxahv20jpw0v2k" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "4244848828578158.041721811086383508aarch" + }, + { + "key": "validator", + "value": "archwayvaloper14q6gk2fdhym8q58x2at9lqke4chuk46emtyvvn" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "42448488285781580.417218110863835081aarch" + }, + { + "key": "validator", + "value": "archwayvaloper14q6gk2fdhym8q58x2at9lqke4chuk46emtyvvn" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "" + }, + { + "key": "validator", + "value": "archwayvaloper1c37x9qfka8ms3pmqkxl39vd8gks6d0dal94vzp" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "37380890503159912.415474413392650975aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1c37x9qfka8ms3pmqkxl39vd8gks6d0dal94vzp" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "2577041792810712.064098004399317701aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1cuu7t30msk68netlmrqgpumfgwgdfz8c5w4hqj" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "36814882754438743.772828634275967154aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1cuu7t30msk68netlmrqgpumfgwgdfz8c5w4hqj" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "3595358260056104.830343274971172101aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1rjrcd7826hfghldgpcwtvnxe9e5ku9q5exhlfq" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "35953582600561048.303432749711721009aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1rjrcd7826hfghldgpcwtvnxe9e5ku9q5exhlfq" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "897625842806642.500370590272808166aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1lz9p2lggvnz69dm3gutl3jd9z0gxrhh65j4lrs" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "29920861426888083.345686342426938867aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1lz9p2lggvnz69dm3gutl3jd9z0gxrhh65j4lrs" + } + ] + }, + { + "type": "commission", + "attributes": [ + { + "key": "amount", + "value": "167630266698905.722389284344961896aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1f66gz07x3qs6ad429845etd5vvhg8p7spc75ln" + } + ] + }, + { + "type": "rewards", + "attributes": [ + { + "key": "amount", + "value": "1676302666989057.223892843449618958aarch" + }, + { + "key": "validator", + "value": "archwayvaloper1f66gz07x3qs6ad429845etd5vvhg8p7spc75ln" + } + ] + } + ], + "end_block_events": [ + { + "type": "archway.rewards.v1.ContractRewardCalculationEvent", + "attributes": [ + { + "key": "contract_address", + "value": "\"archway153l9pc7acv7qw43lyx3f0d3tt02gu80zdlllr4lvwtj9gpk7nu0q7qdagg\"" + }, + { + "key": "fee_rebate_rewards", + "value": "[{\"denom\":\"aarch\",\"amount\":\"44712326671015226\"}]" + }, + { + "key": "gas_consumed", + "value": "\"73689\"" + }, + { + "key": "inflation_rewards", + "value": "{\"denom\":\"aarch\",\"amount\":\"1267441195508077\"}" + }, + { + "key": "metadata", + "value": "null" + } + ] + }, + { + "type": "archway.rewards.v1.ContractRewardCalculationEvent", + "attributes": [ + { + "key": "contract_address", + "value": "\"archway1paztmpff88sjjcrwwej8qlyfz7dlletq640wuxgg4lrpvhvqucqs92wwnj\"" + }, + { + "key": "fee_rebate_rewards", + "value": "[{\"denom\":\"aarch\",\"amount\":\"17612733328984773\"}]" + }, + { + "key": "gas_consumed", + "value": "\"29027\"" + }, + { + "key": "inflation_rewards", + "value": "{\"denom\":\"aarch\",\"amount\":\"499260616672951\"}" + }, + { + "key": "metadata", + "value": "null" + } + ] + }, + { + "type": "archway.rewards.v1.ContractRewardCalculationEvent", + "attributes": [ + { + "key": "contract_address", + "value": "\"archway1zlc00gjw4ecan3tkk5g0lfd78gyfldh4hvkv2g8z5qnwlkz9vqmsdfvs7q\"" + }, + { + "key": "fee_rebate_rewards", + "value": "[{\"denom\":\"aarch\",\"amount\":\"31500000000000000\"}]" + }, + { + "key": "gas_consumed", + "value": "\"118180\"" + }, + { + "key": "inflation_rewards", + "value": "{\"denom\":\"aarch\",\"amount\":\"2032680596631036\"}" + }, + { + "key": "metadata", + "value": "{\"contract_address\":\"archway1zlc00gjw4ecan3tkk5g0lfd78gyfldh4hvkv2g8z5qnwlkz9vqmsdfvs7q\",\"owner_address\":\"archway1d78gwz77n2yywvqyyekrhajzly66skuq06j3j6ptcctl5xh2e4gqa994k3\",\"rewards_address\":\"archway1d78gwz77n2yywvqyyekrhajzly66skuq06j3j6ptcctl5xh2e4gqa994k3\",\"withdraw_to_wallet\":false}" + } + ] + }, + { + "type": "coin_spent", + "attributes": [ + { + "key": "amount", + "value": "5220253277942136587aarch" + }, + { + "key": "spender", + "value": "archway1245yut9zht8q4hz39sd0lzqtzkuw5us50e94ya" + } + ] + }, + { + "type": "coin_received", + "attributes": [ + { + "key": "amount", + "value": "5220253277942136587aarch" + }, + { + "key": "receiver", + "value": "archway1vmafl8f3s6uuzwnxkqz0eza47v6ecn0tutlu4f" + } + ] + }, + { + "type": "transfer", + "attributes": [ + { + "key": "amount", + "value": "5220253277942136587aarch" + }, + { + "key": "recipient", + "value": "archway1vmafl8f3s6uuzwnxkqz0eza47v6ecn0tutlu4f" + }, + { + "key": "sender", + "value": "archway1245yut9zht8q4hz39sd0lzqtzkuw5us50e94ya" + } + ] + }, + { + "type": "message", + "attributes": [ + { + "key": "sender", + "value": "archway1245yut9zht8q4hz39sd0lzqtzkuw5us50e94ya" + } + ] + } + ], + "validator_updates": null, + "consensus_param_updates": { + "block": { + "max_bytes": "22020096", + "max_gas": "300000000" + }, + "evidence": { + "max_age_num_blocks": "100000", + "max_age_duration": "172800000000000", + "max_bytes": "1048576" + }, + "validator": { + "pub_key_types": ["ed25519"] + } + } + } + } + } +] diff --git a/scripts/update_versions.sh b/scripts/update_versions.sh new file mode 100755 index 000000000..f8fba526c --- /dev/null +++ b/scripts/update_versions.sh @@ -0,0 +1,78 @@ +#!/bin/sh +set -e + +LIGHT_BLUE='\033[1;34m' +YELLOW='\033[1;33m' +NC='\033[0m' + +# Function to echo unreleased changes from CHANGELOG.md +echo_unreleased_changes() { + local changelog_file="$1" + + # Check if the provided argument is a valid file + if [ ! -f "$changelog_file" ]; then + echo "Changelog doesn't exist" + return 1 + fi + + # Use sed to extract the line number of the start and end of the unreleased changes + local start_line=$(sed -n '/## \[Unreleased\]/=' "$changelog_file") + local end_line=$(sed -n '/## \[/=' "$changelog_file" | sed -n 2p) + + # Use awk to extract the unreleased changes + local changes=$(awk "NR > $start_line && NR < $end_line" "$changelog_file") + + # Check if there are any changes + if [ -z "$changes" ]; then + echo "No unreleased changes found. Please include some changes and try again" + exit 1 + else + echo "Unreleased Changes:\n${LIGHT_BLUE}$changes${NC}\n" + fi +} + +prepare_package_release() { + local dir="$1" + + # Check if the provided argument is a valid file + if [ ! -d "$dir" ]; then + echo "Expected $dir to be a directory" + exit 1 + fi + + # Movde into the directory in the path + cd "$dir" + + # Get the version from package.json + VERSION=$(jq -r '.version' package.json) + NAME=$(jq -r '.name' package.json) + + # Check if the version is a prerelease (ends with a hyphen and one or more digits) + if [[ $VERSION =~ -[0-9]+$ ]]; then + # Prompt the user for the version bump + echo "Please select the version bump for ${YELLOW}$NAME${NC}" + echo_unreleased_changes "./CHANGELOG.md" + read -p "Version bump (major, minor or patch): " BUMP + + # Update the package.json version + yarn version $BUMP + + # Run the changelog:release command + yarn changelog:release + fi + + # Back to previous dir + cd - +} + +## Warning this will not automatically update packages that just have dependency changes +## E.g. when @subql/common is updated, @subql/common-substrate should also be updated +## It also doesn't do things in order of dependencies +for dir in packages/*; do + # Check the path is a directory and is tracked by git + if [ -d "$dir" ] && [[ $(git ls-files "$dir") ]]; then + prepare_package_release "$dir" + fi +done + +# prepare_package_release "$1" diff --git a/yarn.lock b/yarn.lock index 6a89cd37a..877e384c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -119,6 +119,706 @@ __metadata: languageName: node linkType: hard +"@aws-crypto/crc32@npm:3.0.0": + version: 3.0.0 + resolution: "@aws-crypto/crc32@npm:3.0.0" + dependencies: + "@aws-crypto/util": ^3.0.0 + "@aws-sdk/types": ^3.222.0 + tslib: ^1.11.1 + checksum: 9fdb3e837fc54119b017ea34fd0a6d71d2c88075d99e1e818a5158e0ad30ced67ddbcc423a11ceeef6cc465ab5ffd91830acab516470b48237ca7abd51be9642 + languageName: node + linkType: hard + +"@aws-crypto/crc32c@npm:3.0.0": + version: 3.0.0 + resolution: "@aws-crypto/crc32c@npm:3.0.0" + dependencies: + "@aws-crypto/util": ^3.0.0 + "@aws-sdk/types": ^3.222.0 + tslib: ^1.11.1 + checksum: 0a116b5d1c5b09a3dde65aab04a07b32f543e87b68f2d175081e3f4a1a17502343f223d691dd883ace1ddce65cd40093673e7c7415dcd99062202ba87ffb4038 + languageName: node + linkType: hard + +"@aws-crypto/ie11-detection@npm:^3.0.0": + version: 3.0.0 + resolution: "@aws-crypto/ie11-detection@npm:3.0.0" + dependencies: + tslib: ^1.11.1 + checksum: 299b2ddd46eddac1f2d54d91386ceb37af81aef8a800669281c73d634ed17fd855dcfb8b3157f2879344b93a2666a6d602550eb84b71e4d7868100ad6da8f803 + languageName: node + linkType: hard + +"@aws-crypto/sha1-browser@npm:3.0.0": + version: 3.0.0 + resolution: "@aws-crypto/sha1-browser@npm:3.0.0" + dependencies: + "@aws-crypto/ie11-detection": ^3.0.0 + "@aws-crypto/supports-web-crypto": ^3.0.0 + "@aws-crypto/util": ^3.0.0 + "@aws-sdk/types": ^3.222.0 + "@aws-sdk/util-locate-window": ^3.0.0 + "@aws-sdk/util-utf8-browser": ^3.0.0 + tslib: ^1.11.1 + checksum: 78c379e105a0c4e7b2ed745dffd8f55054d7dde8b350b61de682bbc3cd081a50e2f87861954fa9cd53c7ea711ebca1ca0137b14cb36483efc971f60f573cf129 + languageName: node + linkType: hard + +"@aws-crypto/sha256-browser@npm:3.0.0": + version: 3.0.0 + resolution: "@aws-crypto/sha256-browser@npm:3.0.0" + dependencies: + "@aws-crypto/ie11-detection": ^3.0.0 + "@aws-crypto/sha256-js": ^3.0.0 + "@aws-crypto/supports-web-crypto": ^3.0.0 + "@aws-crypto/util": ^3.0.0 + "@aws-sdk/types": ^3.222.0 + "@aws-sdk/util-locate-window": ^3.0.0 + "@aws-sdk/util-utf8-browser": ^3.0.0 + tslib: ^1.11.1 + checksum: ca89456bf508db2e08060a7f656460db97ac9a15b11e39d6fa7665e2b156508a1758695bff8e82d0a00178d6ac5c36f35eb4bcfac2e48621265224ca14a19bd2 + languageName: node + linkType: hard + +"@aws-crypto/sha256-js@npm:3.0.0, @aws-crypto/sha256-js@npm:^3.0.0": + version: 3.0.0 + resolution: "@aws-crypto/sha256-js@npm:3.0.0" + dependencies: + "@aws-crypto/util": ^3.0.0 + "@aws-sdk/types": ^3.222.0 + tslib: ^1.11.1 + checksum: 644ded32ea310237811afae873d3c7320739cb6f6cc39dced9c94801379e68e5ee2cca0c34f0384793fa9e750a7e0a5e2468f95754bd08e6fd72ab833c8fe23c + languageName: node + linkType: hard + +"@aws-crypto/supports-web-crypto@npm:^3.0.0": + version: 3.0.0 + resolution: "@aws-crypto/supports-web-crypto@npm:3.0.0" + dependencies: + tslib: ^1.11.1 + checksum: 35479a1558db9e9a521df6877a99f95670e972c602f2a0349303477e5d638a5baf569fb037c853710e382086e6fd77e8ed58d3fb9b49f6e1186a9d26ce7be006 + languageName: node + linkType: hard + +"@aws-crypto/util@npm:^3.0.0": + version: 3.0.0 + resolution: "@aws-crypto/util@npm:3.0.0" + dependencies: + "@aws-sdk/types": ^3.222.0 + "@aws-sdk/util-utf8-browser": ^3.0.0 + tslib: ^1.11.1 + checksum: d29d5545048721aae3d60b236708535059733019a105f8a64b4e4a8eab7cf8dde1546dc56bff7de20d36140a4d1f0f4693e639c5732a7059273a7b1e56354776 + languageName: node + linkType: hard + +"@aws-sdk/client-s3@npm:^3.370.0": + version: 3.554.0 + resolution: "@aws-sdk/client-s3@npm:3.554.0" + dependencies: + "@aws-crypto/sha1-browser": 3.0.0 + "@aws-crypto/sha256-browser": 3.0.0 + "@aws-crypto/sha256-js": 3.0.0 + "@aws-sdk/client-sts": 3.554.0 + "@aws-sdk/core": 3.554.0 + "@aws-sdk/credential-provider-node": 3.554.0 + "@aws-sdk/middleware-bucket-endpoint": 3.535.0 + "@aws-sdk/middleware-expect-continue": 3.535.0 + "@aws-sdk/middleware-flexible-checksums": 3.535.0 + "@aws-sdk/middleware-host-header": 3.535.0 + "@aws-sdk/middleware-location-constraint": 3.535.0 + "@aws-sdk/middleware-logger": 3.535.0 + "@aws-sdk/middleware-recursion-detection": 3.535.0 + "@aws-sdk/middleware-sdk-s3": 3.552.0 + "@aws-sdk/middleware-signing": 3.552.0 + "@aws-sdk/middleware-ssec": 3.537.0 + "@aws-sdk/middleware-user-agent": 3.540.0 + "@aws-sdk/region-config-resolver": 3.535.0 + "@aws-sdk/signature-v4-multi-region": 3.552.0 + "@aws-sdk/types": 3.535.0 + "@aws-sdk/util-endpoints": 3.540.0 + "@aws-sdk/util-user-agent-browser": 3.535.0 + "@aws-sdk/util-user-agent-node": 3.535.0 + "@aws-sdk/xml-builder": 3.535.0 + "@smithy/config-resolver": ^2.2.0 + "@smithy/core": ^1.4.2 + "@smithy/eventstream-serde-browser": ^2.2.0 + "@smithy/eventstream-serde-config-resolver": ^2.2.0 + "@smithy/eventstream-serde-node": ^2.2.0 + "@smithy/fetch-http-handler": ^2.5.0 + "@smithy/hash-blob-browser": ^2.2.0 + "@smithy/hash-node": ^2.2.0 + "@smithy/hash-stream-node": ^2.2.0 + "@smithy/invalid-dependency": ^2.2.0 + "@smithy/md5-js": ^2.2.0 + "@smithy/middleware-content-length": ^2.2.0 + "@smithy/middleware-endpoint": ^2.5.1 + "@smithy/middleware-retry": ^2.3.1 + "@smithy/middleware-serde": ^2.3.0 + "@smithy/middleware-stack": ^2.2.0 + "@smithy/node-config-provider": ^2.3.0 + "@smithy/node-http-handler": ^2.5.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/smithy-client": ^2.5.1 + "@smithy/types": ^2.12.0 + "@smithy/url-parser": ^2.2.0 + "@smithy/util-base64": ^2.3.0 + "@smithy/util-body-length-browser": ^2.2.0 + "@smithy/util-body-length-node": ^2.3.0 + "@smithy/util-defaults-mode-browser": ^2.2.1 + "@smithy/util-defaults-mode-node": ^2.3.1 + "@smithy/util-endpoints": ^1.2.0 + "@smithy/util-retry": ^2.2.0 + "@smithy/util-stream": ^2.2.0 + "@smithy/util-utf8": ^2.3.0 + "@smithy/util-waiter": ^2.2.0 + tslib: ^2.6.2 + checksum: bf5b0bd41af005e2acc3565b28410bc49bb150750d7ec3037040b0baaf6a594b760336f4a4aa7d434c80ff134e3e717c46c8187ebd2d872c199cbc85b934baf4 + languageName: node + linkType: hard + +"@aws-sdk/client-sso-oidc@npm:3.554.0": + version: 3.554.0 + resolution: "@aws-sdk/client-sso-oidc@npm:3.554.0" + dependencies: + "@aws-crypto/sha256-browser": 3.0.0 + "@aws-crypto/sha256-js": 3.0.0 + "@aws-sdk/client-sts": 3.554.0 + "@aws-sdk/core": 3.554.0 + "@aws-sdk/middleware-host-header": 3.535.0 + "@aws-sdk/middleware-logger": 3.535.0 + "@aws-sdk/middleware-recursion-detection": 3.535.0 + "@aws-sdk/middleware-user-agent": 3.540.0 + "@aws-sdk/region-config-resolver": 3.535.0 + "@aws-sdk/types": 3.535.0 + "@aws-sdk/util-endpoints": 3.540.0 + "@aws-sdk/util-user-agent-browser": 3.535.0 + "@aws-sdk/util-user-agent-node": 3.535.0 + "@smithy/config-resolver": ^2.2.0 + "@smithy/core": ^1.4.2 + "@smithy/fetch-http-handler": ^2.5.0 + "@smithy/hash-node": ^2.2.0 + "@smithy/invalid-dependency": ^2.2.0 + "@smithy/middleware-content-length": ^2.2.0 + "@smithy/middleware-endpoint": ^2.5.1 + "@smithy/middleware-retry": ^2.3.1 + "@smithy/middleware-serde": ^2.3.0 + "@smithy/middleware-stack": ^2.2.0 + "@smithy/node-config-provider": ^2.3.0 + "@smithy/node-http-handler": ^2.5.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/smithy-client": ^2.5.1 + "@smithy/types": ^2.12.0 + "@smithy/url-parser": ^2.2.0 + "@smithy/util-base64": ^2.3.0 + "@smithy/util-body-length-browser": ^2.2.0 + "@smithy/util-body-length-node": ^2.3.0 + "@smithy/util-defaults-mode-browser": ^2.2.1 + "@smithy/util-defaults-mode-node": ^2.3.1 + "@smithy/util-endpoints": ^1.2.0 + "@smithy/util-middleware": ^2.2.0 + "@smithy/util-retry": ^2.2.0 + "@smithy/util-utf8": ^2.3.0 + tslib: ^2.6.2 + peerDependencies: + "@aws-sdk/credential-provider-node": ^3.554.0 + checksum: 91d0f6b8c5c787e2b705803d615f9400430ea0bca9d12171a5e7abe5c53cd83f711300e5c0a106dc4f1f1259adf08f87b728f9820679aa5ca73cd66a09bf8dd4 + languageName: node + linkType: hard + +"@aws-sdk/client-sso@npm:3.554.0": + version: 3.554.0 + resolution: "@aws-sdk/client-sso@npm:3.554.0" + dependencies: + "@aws-crypto/sha256-browser": 3.0.0 + "@aws-crypto/sha256-js": 3.0.0 + "@aws-sdk/core": 3.554.0 + "@aws-sdk/middleware-host-header": 3.535.0 + "@aws-sdk/middleware-logger": 3.535.0 + "@aws-sdk/middleware-recursion-detection": 3.535.0 + "@aws-sdk/middleware-user-agent": 3.540.0 + "@aws-sdk/region-config-resolver": 3.535.0 + "@aws-sdk/types": 3.535.0 + "@aws-sdk/util-endpoints": 3.540.0 + "@aws-sdk/util-user-agent-browser": 3.535.0 + "@aws-sdk/util-user-agent-node": 3.535.0 + "@smithy/config-resolver": ^2.2.0 + "@smithy/core": ^1.4.2 + "@smithy/fetch-http-handler": ^2.5.0 + "@smithy/hash-node": ^2.2.0 + "@smithy/invalid-dependency": ^2.2.0 + "@smithy/middleware-content-length": ^2.2.0 + "@smithy/middleware-endpoint": ^2.5.1 + "@smithy/middleware-retry": ^2.3.1 + "@smithy/middleware-serde": ^2.3.0 + "@smithy/middleware-stack": ^2.2.0 + "@smithy/node-config-provider": ^2.3.0 + "@smithy/node-http-handler": ^2.5.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/smithy-client": ^2.5.1 + "@smithy/types": ^2.12.0 + "@smithy/url-parser": ^2.2.0 + "@smithy/util-base64": ^2.3.0 + "@smithy/util-body-length-browser": ^2.2.0 + "@smithy/util-body-length-node": ^2.3.0 + "@smithy/util-defaults-mode-browser": ^2.2.1 + "@smithy/util-defaults-mode-node": ^2.3.1 + "@smithy/util-endpoints": ^1.2.0 + "@smithy/util-middleware": ^2.2.0 + "@smithy/util-retry": ^2.2.0 + "@smithy/util-utf8": ^2.3.0 + tslib: ^2.6.2 + checksum: 08dbaca87bb25d7662a2e856dca16f92bc461b9cf50e048c679969df93189f653c2bc74c8be1ac3e82e720d2742fc81af554a04f0ebf83353c1fa6e30fdbbecf + languageName: node + linkType: hard + +"@aws-sdk/client-sts@npm:3.554.0": + version: 3.554.0 + resolution: "@aws-sdk/client-sts@npm:3.554.0" + dependencies: + "@aws-crypto/sha256-browser": 3.0.0 + "@aws-crypto/sha256-js": 3.0.0 + "@aws-sdk/core": 3.554.0 + "@aws-sdk/middleware-host-header": 3.535.0 + "@aws-sdk/middleware-logger": 3.535.0 + "@aws-sdk/middleware-recursion-detection": 3.535.0 + "@aws-sdk/middleware-user-agent": 3.540.0 + "@aws-sdk/region-config-resolver": 3.535.0 + "@aws-sdk/types": 3.535.0 + "@aws-sdk/util-endpoints": 3.540.0 + "@aws-sdk/util-user-agent-browser": 3.535.0 + "@aws-sdk/util-user-agent-node": 3.535.0 + "@smithy/config-resolver": ^2.2.0 + "@smithy/core": ^1.4.2 + "@smithy/fetch-http-handler": ^2.5.0 + "@smithy/hash-node": ^2.2.0 + "@smithy/invalid-dependency": ^2.2.0 + "@smithy/middleware-content-length": ^2.2.0 + "@smithy/middleware-endpoint": ^2.5.1 + "@smithy/middleware-retry": ^2.3.1 + "@smithy/middleware-serde": ^2.3.0 + "@smithy/middleware-stack": ^2.2.0 + "@smithy/node-config-provider": ^2.3.0 + "@smithy/node-http-handler": ^2.5.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/smithy-client": ^2.5.1 + "@smithy/types": ^2.12.0 + "@smithy/url-parser": ^2.2.0 + "@smithy/util-base64": ^2.3.0 + "@smithy/util-body-length-browser": ^2.2.0 + "@smithy/util-body-length-node": ^2.3.0 + "@smithy/util-defaults-mode-browser": ^2.2.1 + "@smithy/util-defaults-mode-node": ^2.3.1 + "@smithy/util-endpoints": ^1.2.0 + "@smithy/util-middleware": ^2.2.0 + "@smithy/util-retry": ^2.2.0 + "@smithy/util-utf8": ^2.3.0 + tslib: ^2.6.2 + peerDependencies: + "@aws-sdk/credential-provider-node": ^3.554.0 + checksum: dee932b55e89f9b68275d21861f534ae1cdf006410841fe84bab38df12253ebafd4928e440d6243391c3234f2509b943628c5368d2bcd0489ea240464d65edc6 + languageName: node + linkType: hard + +"@aws-sdk/core@npm:3.554.0": + version: 3.554.0 + resolution: "@aws-sdk/core@npm:3.554.0" + dependencies: + "@smithy/core": ^1.4.2 + "@smithy/protocol-http": ^3.3.0 + "@smithy/signature-v4": ^2.2.1 + "@smithy/smithy-client": ^2.5.1 + "@smithy/types": ^2.12.0 + fast-xml-parser: 4.2.5 + tslib: ^2.6.2 + checksum: 61e48deee6146aa92fca14f787dfcfe1ef91e0b9feda897d375174643071119aa5b0d51185f9a23843a8aaa82372187af4bb6aa9489e20b1fc651c1734592b40 + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-env@npm:3.535.0": + version: 3.535.0 + resolution: "@aws-sdk/credential-provider-env@npm:3.535.0" + dependencies: + "@aws-sdk/types": 3.535.0 + "@smithy/property-provider": ^2.2.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: ec7d011051d69643efd26fe7f3767b1301c6e6bdba12640dad542b60efb2b5fe31df01f8137703d814cf857a69485cc928d0de49ab56c5d05f79815dce19bdbf + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-http@npm:3.552.0": + version: 3.552.0 + resolution: "@aws-sdk/credential-provider-http@npm:3.552.0" + dependencies: + "@aws-sdk/types": 3.535.0 + "@smithy/fetch-http-handler": ^2.5.0 + "@smithy/node-http-handler": ^2.5.0 + "@smithy/property-provider": ^2.2.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/smithy-client": ^2.5.1 + "@smithy/types": ^2.12.0 + "@smithy/util-stream": ^2.2.0 + tslib: ^2.6.2 + checksum: 86be07b2a0c73b5c1140557e00b08c091303da1908ff40a29bcc69b73bf4ad175a5ad945e0d45d5c76b02bee3f15a947abb18838b2771ad71feb795a5309a446 + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-ini@npm:3.554.0": + version: 3.554.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.554.0" + dependencies: + "@aws-sdk/client-sts": 3.554.0 + "@aws-sdk/credential-provider-env": 3.535.0 + "@aws-sdk/credential-provider-process": 3.535.0 + "@aws-sdk/credential-provider-sso": 3.554.0 + "@aws-sdk/credential-provider-web-identity": 3.554.0 + "@aws-sdk/types": 3.535.0 + "@smithy/credential-provider-imds": ^2.3.0 + "@smithy/property-provider": ^2.2.0 + "@smithy/shared-ini-file-loader": ^2.4.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 5b93ba3d3cf98cd0738b871db1036303ab0b05538171a650168aefc0071a1e51e4bbd0b88d06047b6170fbf20417069beb29d8f71cae13d87c4e17c736a5a252 + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-node@npm:3.554.0": + version: 3.554.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.554.0" + dependencies: + "@aws-sdk/credential-provider-env": 3.535.0 + "@aws-sdk/credential-provider-http": 3.552.0 + "@aws-sdk/credential-provider-ini": 3.554.0 + "@aws-sdk/credential-provider-process": 3.535.0 + "@aws-sdk/credential-provider-sso": 3.554.0 + "@aws-sdk/credential-provider-web-identity": 3.554.0 + "@aws-sdk/types": 3.535.0 + "@smithy/credential-provider-imds": ^2.3.0 + "@smithy/property-provider": ^2.2.0 + "@smithy/shared-ini-file-loader": ^2.4.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: b8dfbbace2c279792934057de6879d47fb95b5c068aed0938f5c104b79034982b04e34739dba78274c9fabaf97f6079a9938ff3b01765fc3042b15abbf273190 + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-process@npm:3.535.0": + version: 3.535.0 + resolution: "@aws-sdk/credential-provider-process@npm:3.535.0" + dependencies: + "@aws-sdk/types": 3.535.0 + "@smithy/property-provider": ^2.2.0 + "@smithy/shared-ini-file-loader": ^2.4.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: af5fad70513e8d0bc10013f220588e45e83d488e0780873d7e76bf5b7099e70c9b4e49b6409d16add64ae212c53a472b12a2178e8bafd7878fdf121d6e2fd112 + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-sso@npm:3.554.0": + version: 3.554.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.554.0" + dependencies: + "@aws-sdk/client-sso": 3.554.0 + "@aws-sdk/token-providers": 3.554.0 + "@aws-sdk/types": 3.535.0 + "@smithy/property-provider": ^2.2.0 + "@smithy/shared-ini-file-loader": ^2.4.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 0665748fce2ef6c4572570be35af31a55cee3fa3be49ef7a15be9e25ac54d3528c5a0b82c9672b7e147a9114525aeef7d9bb2a9270ef3d3e09de91d940da3779 + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-web-identity@npm:3.554.0": + version: 3.554.0 + resolution: "@aws-sdk/credential-provider-web-identity@npm:3.554.0" + dependencies: + "@aws-sdk/client-sts": 3.554.0 + "@aws-sdk/types": 3.535.0 + "@smithy/property-provider": ^2.2.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: e47772ca693bb2a0b02a1bf1b7ce288fd141510e944145d3188f532feffa3f7511f037ed5203c581764ab9d397c358c63baf28f3cf96bbce98c303ed7b9f1a2a + languageName: node + linkType: hard + +"@aws-sdk/middleware-bucket-endpoint@npm:3.535.0": + version: 3.535.0 + resolution: "@aws-sdk/middleware-bucket-endpoint@npm:3.535.0" + dependencies: + "@aws-sdk/types": 3.535.0 + "@aws-sdk/util-arn-parser": 3.535.0 + "@smithy/node-config-provider": ^2.3.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/types": ^2.12.0 + "@smithy/util-config-provider": ^2.3.0 + tslib: ^2.6.2 + checksum: d72dfd197dc9aa1ed8ea3de6fb0a18363688fa8e18f6a9d01cb2f425087c5b72aa4bfd0955715c84da86adf9a46029755cff55a02a6ffbf4459009982a5a5415 + languageName: node + linkType: hard + +"@aws-sdk/middleware-expect-continue@npm:3.535.0": + version: 3.535.0 + resolution: "@aws-sdk/middleware-expect-continue@npm:3.535.0" + dependencies: + "@aws-sdk/types": 3.535.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: fdac9bc59833ca9688155f115f85c31f690df5ef690e9a8921b94b87c4faac3eb3ff10641699822faaaf9a6cc4ce4c67e693a7b4befe8baf8138a9d276d6714d + languageName: node + linkType: hard + +"@aws-sdk/middleware-flexible-checksums@npm:3.535.0": + version: 3.535.0 + resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.535.0" + dependencies: + "@aws-crypto/crc32": 3.0.0 + "@aws-crypto/crc32c": 3.0.0 + "@aws-sdk/types": 3.535.0 + "@smithy/is-array-buffer": ^2.2.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/types": ^2.12.0 + "@smithy/util-utf8": ^2.3.0 + tslib: ^2.6.2 + checksum: 14c04cd932bdb9029466079b248c1fa8222183de4c288bf12ad661cdc7717938485fdb973b7948da729e5be218573cfd2cbe74b51a1bc2bd27131ca7d67909c1 + languageName: node + linkType: hard + +"@aws-sdk/middleware-host-header@npm:3.535.0": + version: 3.535.0 + resolution: "@aws-sdk/middleware-host-header@npm:3.535.0" + dependencies: + "@aws-sdk/types": 3.535.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 13a22a5b19912a86fe872c9c0f6ba9ab758ba9483ce9a2e73fa68acae498b68404e38e7fc1e3962639a6c3f80ebe19ea5c5340e1024e11ab417998696c8a5dca + languageName: node + linkType: hard + +"@aws-sdk/middleware-location-constraint@npm:3.535.0": + version: 3.535.0 + resolution: "@aws-sdk/middleware-location-constraint@npm:3.535.0" + dependencies: + "@aws-sdk/types": 3.535.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 4e89b6c5d4253568e599f0e8be37e80cf12a755ba89b89d9c9ae2ced75213850c41922fa1871a9c92345057e15d5db956a353841eb63353d8f2bb69a61d4a10d + languageName: node + linkType: hard + +"@aws-sdk/middleware-logger@npm:3.535.0": + version: 3.535.0 + resolution: "@aws-sdk/middleware-logger@npm:3.535.0" + dependencies: + "@aws-sdk/types": 3.535.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: e264d05aa88fadd94d17000b1df79bf1931c5fbc2c871616de9b836bab7254d8c21e0fc2ac509a07af578bd823b795efafaf48daca805bc4493986288ed0c4ab + languageName: node + linkType: hard + +"@aws-sdk/middleware-recursion-detection@npm:3.535.0": + version: 3.535.0 + resolution: "@aws-sdk/middleware-recursion-detection@npm:3.535.0" + dependencies: + "@aws-sdk/types": 3.535.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: b6b518243a10dcdcea7c1fd4790cf2e1e0e3d4363ebce51ac364c9b15631a6f3d1db44d00e7c75cbdf1d558a0d868583d6e1853e571e15e23d0d2901f168e2e4 + languageName: node + linkType: hard + +"@aws-sdk/middleware-sdk-s3@npm:3.552.0": + version: 3.552.0 + resolution: "@aws-sdk/middleware-sdk-s3@npm:3.552.0" + dependencies: + "@aws-sdk/types": 3.535.0 + "@aws-sdk/util-arn-parser": 3.535.0 + "@smithy/node-config-provider": ^2.3.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/signature-v4": ^2.2.1 + "@smithy/smithy-client": ^2.5.1 + "@smithy/types": ^2.12.0 + "@smithy/util-config-provider": ^2.3.0 + tslib: ^2.6.2 + checksum: 386a6dc3bda4574a6a306ca09e22ff7dca3816edd5c364769850226f7ada5ce6a1e370f1f6fc4885342c55e6ef8283b095093d22bc2462b555f0916b41ab3247 + languageName: node + linkType: hard + +"@aws-sdk/middleware-signing@npm:3.552.0": + version: 3.552.0 + resolution: "@aws-sdk/middleware-signing@npm:3.552.0" + dependencies: + "@aws-sdk/types": 3.535.0 + "@smithy/property-provider": ^2.2.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/signature-v4": ^2.2.1 + "@smithy/types": ^2.12.0 + "@smithy/util-middleware": ^2.2.0 + tslib: ^2.6.2 + checksum: d46fa3f0a03cbbccd6f4435faed5722a80745ca65a99dd0dc9e9ea9235bfb59b6bbc3cae301d07694d981d8905d6e4c707c9653d0004b6ecf87e52a324165024 + languageName: node + linkType: hard + +"@aws-sdk/middleware-ssec@npm:3.537.0": + version: 3.537.0 + resolution: "@aws-sdk/middleware-ssec@npm:3.537.0" + dependencies: + "@aws-sdk/types": 3.535.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 7a963134cab4c9056d249113f6d5e2847be28847fc8c39b943c487ff5d22b9b1d91092e801694e2da95929a4820c45f6b5afc22c655a6dcfb5eb82e44952de14 + languageName: node + linkType: hard + +"@aws-sdk/middleware-user-agent@npm:3.540.0": + version: 3.540.0 + resolution: "@aws-sdk/middleware-user-agent@npm:3.540.0" + dependencies: + "@aws-sdk/types": 3.535.0 + "@aws-sdk/util-endpoints": 3.540.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 7ee609fb2b669f93657a87c291dff17f8315973ddbbeee36c54a0233b4911091916880f6e27da93fef01e5fd53654b3834a68cf74256b88b1c4dbe5880a4c14f + languageName: node + linkType: hard + +"@aws-sdk/region-config-resolver@npm:3.535.0": + version: 3.535.0 + resolution: "@aws-sdk/region-config-resolver@npm:3.535.0" + dependencies: + "@aws-sdk/types": 3.535.0 + "@smithy/node-config-provider": ^2.3.0 + "@smithy/types": ^2.12.0 + "@smithy/util-config-provider": ^2.3.0 + "@smithy/util-middleware": ^2.2.0 + tslib: ^2.6.2 + checksum: 7b556e47c721c0829ae635203a1dbcab7040e2885d2bdc37898eb3139dabb5f6da580b860202e3b7737330bfc02de5084a98ff8f8b5c36adcfe8e076b82d3487 + languageName: node + linkType: hard + +"@aws-sdk/signature-v4-multi-region@npm:3.552.0": + version: 3.552.0 + resolution: "@aws-sdk/signature-v4-multi-region@npm:3.552.0" + dependencies: + "@aws-sdk/middleware-sdk-s3": 3.552.0 + "@aws-sdk/types": 3.535.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/signature-v4": ^2.2.1 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: b0faf043028a8cbbf7d1ab76caf8e681c9e0e08a57ae8caff529e5e228765793da47830abd65301e379bdd1236b0a827dcf732a189ffba6723098bf9ed3b0349 + languageName: node + linkType: hard + +"@aws-sdk/token-providers@npm:3.554.0": + version: 3.554.0 + resolution: "@aws-sdk/token-providers@npm:3.554.0" + dependencies: + "@aws-sdk/client-sso-oidc": 3.554.0 + "@aws-sdk/types": 3.535.0 + "@smithy/property-provider": ^2.2.0 + "@smithy/shared-ini-file-loader": ^2.4.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: ff6e13ab91ac9d5e0f7de8673a16b541b41dc445c7ec3dae66d85e47514c808ed059af4702156b437c4d2a510d378a83662ee988a853cdf2625cde886fe962cb + languageName: node + linkType: hard + +"@aws-sdk/types@npm:3.535.0, @aws-sdk/types@npm:^3.222.0": + version: 3.535.0 + resolution: "@aws-sdk/types@npm:3.535.0" + dependencies: + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 3f735c78ea3a6f37d05387286f6d18b0e5deb41442095bd2f7c27b000659962872d1c801fa8484a6ac4b7d2725b2e176dc628c3fa2a903a3141d4be76488d48f + languageName: node + linkType: hard + +"@aws-sdk/util-arn-parser@npm:3.535.0": + version: 3.535.0 + resolution: "@aws-sdk/util-arn-parser@npm:3.535.0" + dependencies: + tslib: ^2.6.2 + checksum: 0e4c4ea080c7c6da00d359c337a1f9d961eac20c35cebad9cb6bb9b618f981955643990de7bfd6b53c29367a6d33550fe27b2a7539efdff08e01bdd303f0c5c2 + languageName: node + linkType: hard + +"@aws-sdk/util-endpoints@npm:3.540.0": + version: 3.540.0 + resolution: "@aws-sdk/util-endpoints@npm:3.540.0" + dependencies: + "@aws-sdk/types": 3.535.0 + "@smithy/types": ^2.12.0 + "@smithy/util-endpoints": ^1.2.0 + tslib: ^2.6.2 + checksum: 62312773965480f8df5edb62ecf82ab3e54d5aa1b1f7eebdad78a2925eab47218b0268bc25a5d03598ac4d0c08935733031a2e3e1ce72531535ed1ea8a9b56c3 + languageName: node + linkType: hard + +"@aws-sdk/util-locate-window@npm:^3.0.0": + version: 3.535.0 + resolution: "@aws-sdk/util-locate-window@npm:3.535.0" + dependencies: + tslib: ^2.6.2 + checksum: b421e1b08adfdd0e51c73a0b244a67188e745b870da712560d8edb28c41076f9dc94c24577bb9d07ea1f04e8ee6b543f00d1ae0617db8d729f16588238fbebae + languageName: node + linkType: hard + +"@aws-sdk/util-user-agent-browser@npm:3.535.0": + version: 3.535.0 + resolution: "@aws-sdk/util-user-agent-browser@npm:3.535.0" + dependencies: + "@aws-sdk/types": 3.535.0 + "@smithy/types": ^2.12.0 + bowser: ^2.11.0 + tslib: ^2.6.2 + checksum: 148b82900e4b9efd24f5fc4152a8d6010c90eb019517fa3c00c3ac42205055f7611ef3834fb63397def40e600ea20f901177a7dd5b6aefa2aef4208e994f7d90 + languageName: node + linkType: hard + +"@aws-sdk/util-user-agent-node@npm:3.535.0": + version: 3.535.0 + resolution: "@aws-sdk/util-user-agent-node@npm:3.535.0" + dependencies: + "@aws-sdk/types": 3.535.0 + "@smithy/node-config-provider": ^2.3.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + peerDependencies: + aws-crt: ">=1.0.0" + peerDependenciesMeta: + aws-crt: + optional: true + checksum: f214c406fccde14591d1df25fed662e573510cdf1d5829d22e7a93e517ea4a3905acd123eaaeafdb8b217400e8c8e159231d37be02b67307922023996b398f42 + languageName: node + linkType: hard + +"@aws-sdk/util-utf8-browser@npm:^3.0.0": + version: 3.259.0 + resolution: "@aws-sdk/util-utf8-browser@npm:3.259.0" + dependencies: + tslib: ^2.3.1 + checksum: b6a1e580da1c9b62c749814182a7649a748ca4253edb4063aa521df97d25b76eae3359eb1680b86f71aac668e05cc05c514379bca39ebf4ba998ae4348412da8 + languageName: node + linkType: hard + +"@aws-sdk/xml-builder@npm:3.535.0": + version: 3.535.0 + resolution: "@aws-sdk/xml-builder@npm:3.535.0" + dependencies: + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 9320f6600c7852b681ed4171f1521eda166321ef7ffea5a6b99a1d328835bb12f7423431ea23a696c678ec4fc8e6dbb2f979d941289f6e0cb55c3da7d5eee140 + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.18.6, @babel/code-frame@npm:^7.22.13": version: 7.22.13 resolution: "@babel/code-frame@npm:7.22.13" @@ -1990,6 +2690,15 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.17.2, @babel/runtime@npm:^7.23.4": + version: 7.24.4 + resolution: "@babel/runtime@npm:7.24.4" + dependencies: + regenerator-runtime: ^0.14.0 + checksum: 2f27d4c0ffac7ae7999ac0385e1106f2a06992a8bdcbf3da06adcac7413863cd08c198c2e4e970041bbea849e17f02e1df18875539b6afba76c781b6b59a07c3 + languageName: node + linkType: hard + "@babel/template@npm:^7.18.10, @babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5, @babel/template@npm:^7.3.3": version: 7.22.15 resolution: "@babel/template@npm:7.22.15" @@ -2146,7 +2855,36 @@ __metadata: languageName: node linkType: hard -"@confio/ics23@npm:^0.6.8": +"@bundlr-network/client@npm:^0.8.9": + version: 0.8.9 + resolution: "@bundlr-network/client@npm:0.8.9" + dependencies: + "@solana/wallet-adapter-base": ^0.9.2 + "@solana/web3.js": ^1.36.0 + "@supercharge/promise-pool": ^2.1.0 + algosdk: ^1.13.1 + arbundles: ^0.6.21 + arweave: ^1.11.4 + async-retry: ^1.3.3 + axios: ^0.25.0 + base64url: ^3.0.1 + bignumber.js: ^9.0.1 + bs58: ^4.0.1 + commander: ^8.2.0 + csv: ^6.0.5 + ethers: ^5.5.1 + inquirer: ^8.2.0 + js-sha256: ^0.9.0 + mime-types: ^2.1.34 + near-api-js: ^0.44.2 + near-seed-phrase: ^0.2.0 + bin: + bundlr: build/node/cli.js + checksum: 08f9c0c594a8f7a2bb57e721e9c4a5b2f803f74ed99dcfeb8f1744c6c3faef02ef834ad9ba5b62661bd13f85e7a344cb38994466af11c8bb4fae64389f7718ca + languageName: node + linkType: hard + +"@confio/ics23@npm:^0.6.3, @confio/ics23@npm:^0.6.8": version: 0.6.8 resolution: "@confio/ics23@npm:0.6.8" dependencies: @@ -2156,6 +2894,42 @@ __metadata: languageName: node linkType: hard +"@cosmjs/amino@npm:0.27.1": + version: 0.27.1 + resolution: "@cosmjs/amino@npm:0.27.1" + dependencies: + "@cosmjs/crypto": 0.27.1 + "@cosmjs/encoding": 0.27.1 + "@cosmjs/math": 0.27.1 + "@cosmjs/utils": 0.27.1 + checksum: c558332edae18c182224314dd31a47383d5edfd1f7e594202be587349b45cdeed12c8958b8c85f1d38a604fa46fa5589b35fbfd8f20f4541e80f1315537b9346 + languageName: node + linkType: hard + +"@cosmjs/amino@npm:^0.30.1": + version: 0.30.1 + resolution: "@cosmjs/amino@npm:0.30.1" + dependencies: + "@cosmjs/crypto": ^0.30.1 + "@cosmjs/encoding": ^0.30.1 + "@cosmjs/math": ^0.30.1 + "@cosmjs/utils": ^0.30.1 + checksum: aa254f936fd95e146e05cc4d6e51f86f4fe7f2048d337d197ccb2cb6e488f8b8061aa6b21e63b1f7001d99b80417f029ef75a12bd0478749286932834157c5aa + languageName: node + linkType: hard + +"@cosmjs/amino@npm:^0.31.3": + version: 0.31.3 + resolution: "@cosmjs/amino@npm:0.31.3" + dependencies: + "@cosmjs/crypto": ^0.31.3 + "@cosmjs/encoding": ^0.31.3 + "@cosmjs/math": ^0.31.3 + "@cosmjs/utils": ^0.31.3 + checksum: 30e55ed256e1ba8a84b8a92062fd48aed43b1d638b8917af8b28ae007a1eff3ffc9ffb743400db23c583dc2fefae12c3dd8b315451a09f6da9c10a07ce714dfa + languageName: node + linkType: hard + "@cosmjs/amino@npm:^0.32.3": version: 0.32.3 resolution: "@cosmjs/amino@npm:0.32.3" @@ -2186,6 +2960,54 @@ __metadata: languageName: node linkType: hard +"@cosmjs/crypto@npm:0.27.1": + version: 0.27.1 + resolution: "@cosmjs/crypto@npm:0.27.1" + dependencies: + "@cosmjs/encoding": 0.27.1 + "@cosmjs/math": 0.27.1 + "@cosmjs/utils": 0.27.1 + bip39: ^3.0.2 + bn.js: ^5.2.0 + elliptic: ^6.5.3 + js-sha3: ^0.8.0 + libsodium-wrappers: ^0.7.6 + ripemd160: ^2.0.2 + sha.js: ^2.4.11 + checksum: d1773147a4f57da572483d28286983cca4907e18071296c707581461b0fbe8a3bb6d1591a81dc724c19b2ca3c728726a1f7309a74bf9536a261f4cf1098d1508 + languageName: node + linkType: hard + +"@cosmjs/crypto@npm:^0.30.1": + version: 0.30.1 + resolution: "@cosmjs/crypto@npm:0.30.1" + dependencies: + "@cosmjs/encoding": ^0.30.1 + "@cosmjs/math": ^0.30.1 + "@cosmjs/utils": ^0.30.1 + "@noble/hashes": ^1 + bn.js: ^5.2.0 + elliptic: ^6.5.4 + libsodium-wrappers: ^0.7.6 + checksum: f1989a5cab92de4ad8c4fef65554b1f65e6c3e8b9ef0d550fa84e5f1aa13286b96a5310a374bcea7d0ebd6b9c46ea69a8469d06275b317a09b9ec7e0a3a07f0e + languageName: node + linkType: hard + +"@cosmjs/crypto@npm:^0.31.3": + version: 0.31.3 + resolution: "@cosmjs/crypto@npm:0.31.3" + dependencies: + "@cosmjs/encoding": ^0.31.3 + "@cosmjs/math": ^0.31.3 + "@cosmjs/utils": ^0.31.3 + "@noble/hashes": ^1 + bn.js: ^5.2.0 + elliptic: ^6.5.4 + libsodium-wrappers-sumo: ^0.7.11 + checksum: e562bbcb7cce2c2992aa7fc808fb2b9bcc6d6a27b2567323f41349e7e1aca1b8a4e5b6e0442512cdd7e2bbe54f4b6a0b7ccf71eb574522d0bc405e609dcece8c + languageName: node + linkType: hard + "@cosmjs/crypto@npm:^0.32.3": version: 0.32.3 resolution: "@cosmjs/crypto@npm:0.32.3" @@ -2201,36 +3023,170 @@ __metadata: languageName: node linkType: hard -"@cosmjs/encoding@npm:^0.32.3": - version: 0.32.3 - resolution: "@cosmjs/encoding@npm:0.32.3" +"@cosmjs/encoding@npm:0.27.1": + version: 0.27.1 + resolution: "@cosmjs/encoding@npm:0.27.1" dependencies: base64-js: ^1.3.0 bech32: ^1.1.4 readonly-date: ^1.0.0 - checksum: ea3bc8f8a1728b51d24ebdc298012520a27f0f593839d77af581f245e08eb74f5d172788c4372221863b9dc18aa7e544bda2495f3263a604a6bbbe9308a5650e + checksum: 34dad88ee64b6d3b920daa5e605dafb2722d2f9cf9c44da8e652ebf24d5f76557cdd422be3ea5252186b8ea19d172819f8053749c3e81232a7c2bbff5f24fa81 languageName: node linkType: hard -"@cosmjs/json-rpc@npm:^0.32.3": - version: 0.32.3 - resolution: "@cosmjs/json-rpc@npm:0.32.3" +"@cosmjs/encoding@npm:^0.30.1": + version: 0.30.1 + resolution: "@cosmjs/encoding@npm:0.30.1" dependencies: - "@cosmjs/stream": ^0.32.3 - xstream: ^11.14.0 - checksum: fc574f8863e7696fa07be162e6cbdfe51d720a0a8b433441152f4f6983596c7acf1f2461d58048e35306221228e2a6199b095d9bd2ee7c8c3ab27b592e3a267a + base64-js: ^1.3.0 + bech32: ^1.1.4 + readonly-date: ^1.0.0 + checksum: bd1932fafecbf9876ad97dee8133cc955f52d2fd9b6040d8c991b40ba4195c02cb4dc3c4beec7c237217ba96db78cd914840b2b895348482190d459a21c2b6dd languageName: node linkType: hard -"@cosmjs/math@npm:^0.32.3": - version: 0.32.3 - resolution: "@cosmjs/math@npm:0.32.3" +"@cosmjs/encoding@npm:^0.31.3": + version: 0.31.3 + resolution: "@cosmjs/encoding@npm:0.31.3" dependencies: - bn.js: ^5.2.0 + base64-js: ^1.3.0 + bech32: ^1.1.4 + readonly-date: ^1.0.0 + checksum: dadef0579828299be20a64edf820ac8770c0cc47a842594bc9b494f160a347b745941d795360755ccbe385b9d0912aa54753479d1a70ff762d2d334693952ff9 + languageName: node + linkType: hard + +"@cosmjs/encoding@npm:^0.32.3": + version: 0.32.3 + resolution: "@cosmjs/encoding@npm:0.32.3" + dependencies: + base64-js: ^1.3.0 + bech32: ^1.1.4 + readonly-date: ^1.0.0 + checksum: ea3bc8f8a1728b51d24ebdc298012520a27f0f593839d77af581f245e08eb74f5d172788c4372221863b9dc18aa7e544bda2495f3263a604a6bbbe9308a5650e + languageName: node + linkType: hard + +"@cosmjs/json-rpc@npm:0.27.1": + version: 0.27.1 + resolution: "@cosmjs/json-rpc@npm:0.27.1" + dependencies: + "@cosmjs/stream": 0.27.1 + xstream: ^11.14.0 + checksum: 344a18682995982ae3c6e52c90d5e080a1f5049135ac417e51bb54a0611738a26b7b9eb751d28d8f5b6cffa631932ed32912d6cb8566b798885896475324bb88 + languageName: node + linkType: hard + +"@cosmjs/json-rpc@npm:^0.30.1": + version: 0.30.1 + resolution: "@cosmjs/json-rpc@npm:0.30.1" + dependencies: + "@cosmjs/stream": ^0.30.1 + xstream: ^11.14.0 + checksum: 750686d53cd4ee239fd24a41d556ab08307f099c9f7bb633a566af417b0baad0ff954498272b6bdb02d4cad596c7ac8f24e38f0cf25c7fbe6200b539c2f56266 + languageName: node + linkType: hard + +"@cosmjs/json-rpc@npm:^0.31.3": + version: 0.31.3 + resolution: "@cosmjs/json-rpc@npm:0.31.3" + dependencies: + "@cosmjs/stream": ^0.31.3 + xstream: ^11.14.0 + checksum: 6f050cf0d02f2a4f9df5391cc77e661684e5c7cc1df0fb71ae903984cb4f10cc765c08e866e417323910cbc63b91e30c38b7f2585ef5e473a8b086cddacc882a + languageName: node + linkType: hard + +"@cosmjs/json-rpc@npm:^0.32.3": + version: 0.32.3 + resolution: "@cosmjs/json-rpc@npm:0.32.3" + dependencies: + "@cosmjs/stream": ^0.32.3 + xstream: ^11.14.0 + checksum: fc574f8863e7696fa07be162e6cbdfe51d720a0a8b433441152f4f6983596c7acf1f2461d58048e35306221228e2a6199b095d9bd2ee7c8c3ab27b592e3a267a + languageName: node + linkType: hard + +"@cosmjs/math@npm:0.27.1": + version: 0.27.1 + resolution: "@cosmjs/math@npm:0.27.1" + dependencies: + bn.js: ^5.2.0 + checksum: 0b1d91eb7c3269636bf0f884220ff1c53ba0c7ca4e80826b382d71a51abc853e845e10651b1bcffd377557d4879dddd7835729e30a4fa824b09ad24cd6ce1ca2 + languageName: node + linkType: hard + +"@cosmjs/math@npm:^0.30.1": + version: 0.30.1 + resolution: "@cosmjs/math@npm:0.30.1" + dependencies: + bn.js: ^5.2.0 + checksum: c13d2a89348407bcc0f737f989fc1eb850b81d1f0ae06f1cc656b9a3194bf9ee048ce2e5c948f6ada61e95f5bfa324fad43dc531ade7538bcf993ba2085cb5fe + languageName: node + linkType: hard + +"@cosmjs/math@npm:^0.31.3": + version: 0.31.3 + resolution: "@cosmjs/math@npm:0.31.3" + dependencies: + bn.js: ^5.2.0 + checksum: 1685ad41ed78e78854649ca933817c56d39f4b36bba59b5dbdb1728048f431da5531265f4d77bfc9280cdea6c368817109b9f4540d5cfc2093f6ea6ff9e9a8d2 + languageName: node + linkType: hard + +"@cosmjs/math@npm:^0.32.3": + version: 0.32.3 + resolution: "@cosmjs/math@npm:0.32.3" + dependencies: + bn.js: ^5.2.0 checksum: 71b91e7af91a86d06014719547fec7c419523bfa42f0d62ccb2ca68263a90fe8fe0e6a35449e7528f40064888945d864520fbc760d62ebd8b0fe73913ac0f52f languageName: node linkType: hard +"@cosmjs/proto-signing@npm:0.27.1, @cosmjs/proto-signing@npm:^0.27.1": + version: 0.27.1 + resolution: "@cosmjs/proto-signing@npm:0.27.1" + dependencies: + "@cosmjs/amino": 0.27.1 + "@cosmjs/crypto": 0.27.1 + "@cosmjs/math": 0.27.1 + cosmjs-types: ^0.4.0 + long: ^4.0.0 + protobufjs: ~6.10.2 + checksum: 2b54e1196120e5a3e8b58e640e70c07ffa931e216b2b8a59cde4f11f8a9f25336ac6b530475dfdcf6b94713276b1b1941096d844e7cb7f150e9b438636e0a7ee + languageName: node + linkType: hard + +"@cosmjs/proto-signing@npm:^0.30.1": + version: 0.30.1 + resolution: "@cosmjs/proto-signing@npm:0.30.1" + dependencies: + "@cosmjs/amino": ^0.30.1 + "@cosmjs/crypto": ^0.30.1 + "@cosmjs/encoding": ^0.30.1 + "@cosmjs/math": ^0.30.1 + "@cosmjs/utils": ^0.30.1 + cosmjs-types: ^0.7.1 + long: ^4.0.0 + checksum: 15e13e33976c0a52e2ef93aec6171e3934543d116a3247d9b51ed495aa9da68dbb13a93a37808c02e4378be20d8ca326902ca721de6d2c9af470d6aa057019f5 + languageName: node + linkType: hard + +"@cosmjs/proto-signing@npm:^0.31.3": + version: 0.31.3 + resolution: "@cosmjs/proto-signing@npm:0.31.3" + dependencies: + "@cosmjs/amino": ^0.31.3 + "@cosmjs/crypto": ^0.31.3 + "@cosmjs/encoding": ^0.31.3 + "@cosmjs/math": ^0.31.3 + "@cosmjs/utils": ^0.31.3 + cosmjs-types: ^0.8.0 + long: ^4.0.0 + checksum: c27c4d921c99f5c06ac92ebba59e78c53b7c115334932dd1365263b98c1a67c7323e3a69ae933babf5a36682c019bbc7da3c9597ca1bf1a4858546bdd681453a + languageName: node + linkType: hard + "@cosmjs/proto-signing@npm:^0.32.3": version: 0.32.3 resolution: "@cosmjs/proto-signing@npm:0.32.3" @@ -2245,6 +3201,42 @@ __metadata: languageName: node linkType: hard +"@cosmjs/socket@npm:0.27.1": + version: 0.27.1 + resolution: "@cosmjs/socket@npm:0.27.1" + dependencies: + "@cosmjs/stream": 0.27.1 + isomorphic-ws: ^4.0.1 + ws: ^7 + xstream: ^11.14.0 + checksum: 82d4dff828b6f24e92dfdc28c521628700c10e087e2bd1084532bab9c16bbc90d8717b727d9659b7383152bb05491c3bd16f348e2172fce400729bb7afa39649 + languageName: node + linkType: hard + +"@cosmjs/socket@npm:^0.30.1": + version: 0.30.1 + resolution: "@cosmjs/socket@npm:0.30.1" + dependencies: + "@cosmjs/stream": ^0.30.1 + isomorphic-ws: ^4.0.1 + ws: ^7 + xstream: ^11.14.0 + checksum: ef5e5d7bbcd89b5bfbd6fa4039133e15e5db848e6b0bc812b89872d28d9ced73d8a12fbf6581e6b0b08de28f2c1a9c7b05825804be65eb07d2f3d3532babea91 + languageName: node + linkType: hard + +"@cosmjs/socket@npm:^0.31.3": + version: 0.31.3 + resolution: "@cosmjs/socket@npm:0.31.3" + dependencies: + "@cosmjs/stream": ^0.31.3 + isomorphic-ws: ^4.0.1 + ws: ^7 + xstream: ^11.14.0 + checksum: 29cc5120732a3badd0d3e4358aa645aa6ad50fedf4a619e2a99a2ec85274bc6df9791f0fb9674417b6eca72762916e8f25277fafb318f3e0a77effa2c52da16b + languageName: node + linkType: hard + "@cosmjs/socket@npm:^0.32.3": version: 0.32.3 resolution: "@cosmjs/socket@npm:0.32.3" @@ -2257,6 +3249,66 @@ __metadata: languageName: node linkType: hard +"@cosmjs/stargate@npm:^0.27.1": + version: 0.27.1 + resolution: "@cosmjs/stargate@npm:0.27.1" + dependencies: + "@confio/ics23": ^0.6.3 + "@cosmjs/amino": 0.27.1 + "@cosmjs/encoding": 0.27.1 + "@cosmjs/math": 0.27.1 + "@cosmjs/proto-signing": 0.27.1 + "@cosmjs/stream": 0.27.1 + "@cosmjs/tendermint-rpc": 0.27.1 + "@cosmjs/utils": 0.27.1 + cosmjs-types: ^0.4.0 + long: ^4.0.0 + protobufjs: ~6.10.2 + xstream: ^11.14.0 + checksum: a4a200e695b8b91a0251ccf6a20991b42311cc42a8e01014b28a8a975b03922d114fdc153cd15d8a575e941bfc3361c60676eba6a1fff85f811537d86a72c896 + languageName: node + linkType: hard + +"@cosmjs/stargate@npm:^0.30.1": + version: 0.30.1 + resolution: "@cosmjs/stargate@npm:0.30.1" + dependencies: + "@confio/ics23": ^0.6.8 + "@cosmjs/amino": ^0.30.1 + "@cosmjs/encoding": ^0.30.1 + "@cosmjs/math": ^0.30.1 + "@cosmjs/proto-signing": ^0.30.1 + "@cosmjs/stream": ^0.30.1 + "@cosmjs/tendermint-rpc": ^0.30.1 + "@cosmjs/utils": ^0.30.1 + cosmjs-types: ^0.7.1 + long: ^4.0.0 + protobufjs: ~6.11.3 + xstream: ^11.14.0 + checksum: 2eb089c4a7f995b787702d52f22e1c808704cd02c29ec4feee57897d350d9dbde645785e89bf34181da7acd67547dc2b0f17f9f49cfbb0272d70cb7f553a8644 + languageName: node + linkType: hard + +"@cosmjs/stargate@npm:^0.31.3": + version: 0.31.3 + resolution: "@cosmjs/stargate@npm:0.31.3" + dependencies: + "@confio/ics23": ^0.6.8 + "@cosmjs/amino": ^0.31.3 + "@cosmjs/encoding": ^0.31.3 + "@cosmjs/math": ^0.31.3 + "@cosmjs/proto-signing": ^0.31.3 + "@cosmjs/stream": ^0.31.3 + "@cosmjs/tendermint-rpc": ^0.31.3 + "@cosmjs/utils": ^0.31.3 + cosmjs-types: ^0.8.0 + long: ^4.0.0 + protobufjs: ~6.11.3 + xstream: ^11.14.0 + checksum: 9b680d50f0818e3cfaffccd022d6034c283c1e350a1b8d8f74ffa22352e342ce1cb00533007ba7b5a6a1c1bc30fe327bd09c23ac8b7486691ad127a34c47690c + languageName: node + linkType: hard + "@cosmjs/stargate@npm:^0.32.3": version: 0.32.3 resolution: "@cosmjs/stargate@npm:0.32.3" @@ -2275,6 +3327,33 @@ __metadata: languageName: node linkType: hard +"@cosmjs/stream@npm:0.27.1": + version: 0.27.1 + resolution: "@cosmjs/stream@npm:0.27.1" + dependencies: + xstream: ^11.14.0 + checksum: cb476adb6881a6c8953187b994aa4a1b10426a2983b6b6c7b31041facf0e89a84d3a71889faca6cb7eca19211e53761a69d90b338373a0b1c415010cfd19d197 + languageName: node + linkType: hard + +"@cosmjs/stream@npm:^0.30.1": + version: 0.30.1 + resolution: "@cosmjs/stream@npm:0.30.1" + dependencies: + xstream: ^11.14.0 + checksum: f9e48a8377c2d3cfbf288fcf4fad745905c042dabc442d2cbb93d4280033e3c8e493a3328f58c0b645b60f9c2188d14603b2bb37a174bc0619686c5e70b13dca + languageName: node + linkType: hard + +"@cosmjs/stream@npm:^0.31.3": + version: 0.31.3 + resolution: "@cosmjs/stream@npm:0.31.3" + dependencies: + xstream: ^11.14.0 + checksum: 0d273604af4d7093b877582e223eedbcce4a1a4d7d9f80a4f5e215fd8be42ea6546f3778cc918cb0cdb144de52e7d8d4c476b9b4c6f678cebe914224f54d19ad + languageName: node + linkType: hard + "@cosmjs/stream@npm:^0.32.3": version: 0.32.3 resolution: "@cosmjs/stream@npm:0.32.3" @@ -2284,6 +3363,59 @@ __metadata: languageName: node linkType: hard +"@cosmjs/tendermint-rpc@npm:0.27.1": + version: 0.27.1 + resolution: "@cosmjs/tendermint-rpc@npm:0.27.1" + dependencies: + "@cosmjs/crypto": 0.27.1 + "@cosmjs/encoding": 0.27.1 + "@cosmjs/json-rpc": 0.27.1 + "@cosmjs/math": 0.27.1 + "@cosmjs/socket": 0.27.1 + "@cosmjs/stream": 0.27.1 + axios: ^0.21.2 + readonly-date: ^1.0.0 + xstream: ^11.14.0 + checksum: 90748e3ac6fad5e4984dda42c811aa1b9b12a4c2aae78e3022ac95b182b6c66c4764351d6adea81d16af5c3c01d84e0121cbc32683d0f383db542f67e441ceb8 + languageName: node + linkType: hard + +"@cosmjs/tendermint-rpc@npm:^0.30.1": + version: 0.30.1 + resolution: "@cosmjs/tendermint-rpc@npm:0.30.1" + dependencies: + "@cosmjs/crypto": ^0.30.1 + "@cosmjs/encoding": ^0.30.1 + "@cosmjs/json-rpc": ^0.30.1 + "@cosmjs/math": ^0.30.1 + "@cosmjs/socket": ^0.30.1 + "@cosmjs/stream": ^0.30.1 + "@cosmjs/utils": ^0.30.1 + axios: ^0.21.2 + readonly-date: ^1.0.0 + xstream: ^11.14.0 + checksum: 6900711886d2d9b02dd9ec17d341a174d7d2a20c432618e96d7f33fa6732dcb77fe21f37c67d452c09095f099260a679a4ac5de0caeec376cd683d3d12790ed8 + languageName: node + linkType: hard + +"@cosmjs/tendermint-rpc@npm:^0.31.3": + version: 0.31.3 + resolution: "@cosmjs/tendermint-rpc@npm:0.31.3" + dependencies: + "@cosmjs/crypto": ^0.31.3 + "@cosmjs/encoding": ^0.31.3 + "@cosmjs/json-rpc": ^0.31.3 + "@cosmjs/math": ^0.31.3 + "@cosmjs/socket": ^0.31.3 + "@cosmjs/stream": ^0.31.3 + "@cosmjs/utils": ^0.31.3 + axios: ^0.21.2 + readonly-date: ^1.0.0 + xstream: ^11.14.0 + checksum: 403e220ee4aeb65977a4416d48930d7381e3d4c10bf300fa6f07698c72b85a55f2314ba1a3d45849ce8549de2ff2005988188fc5fe60ac09188edbb89692115d + languageName: node + linkType: hard + "@cosmjs/tendermint-rpc@npm:^0.32.3": version: 0.32.3 resolution: "@cosmjs/tendermint-rpc@npm:0.32.3" @@ -2302,6 +3434,27 @@ __metadata: languageName: node linkType: hard +"@cosmjs/utils@npm:0.27.1": + version: 0.27.1 + resolution: "@cosmjs/utils@npm:0.27.1" + checksum: b48466efd7ec714520fe684e028754a6b5ca5b686d117b2078cac7ed824dd953fac09a9efc2bc5805fa270c151f5a53baa181cfb9f498697152d522d27565205 + languageName: node + linkType: hard + +"@cosmjs/utils@npm:^0.30.1": + version: 0.30.1 + resolution: "@cosmjs/utils@npm:0.30.1" + checksum: 64ea16cdeba64d2b346a0b45ca47059ab4297fdf5c4e5fd89ec262eec488807f49f94dcdc294628142015ce4669c4eaf7426d1f8a6538146da5601dcc484cb19 + languageName: node + linkType: hard + +"@cosmjs/utils@npm:^0.31.3": + version: 0.31.3 + resolution: "@cosmjs/utils@npm:0.31.3" + checksum: 2ff2b270954ab00cc5ae8f23625b562676d0a061c8076905509a5f0701e302e46d24a51a0c3283072e0ce01fbd860baceb25e62303ff17826672fe5f8674b00d + languageName: node + linkType: hard + "@cosmjs/utils@npm:^0.32.3": version: 0.32.3 resolution: "@cosmjs/utils@npm:0.32.3" @@ -2333,6 +3486,13 @@ __metadata: languageName: node linkType: hard +"@cosmostation/extension-client@npm:^0.0.6": + version: 0.0.6 + resolution: "@cosmostation/extension-client@npm:0.0.6" + checksum: 2b6535242cb7f6e9c6358ca0d7d0d8e128815b4437a3c72bfbf1238b0340f8f8ea9bb9599503f6bdc50ba71e395a498be7372bef4a226c0b974d45e3677002a4 + languageName: node + linkType: hard + "@cosmwasm/ts-codegen@npm:0.34.0": version: 0.34.0 resolution: "@cosmwasm/ts-codegen@npm:0.34.0" @@ -2458,132 +3618,534 @@ __metadata: languageName: node linkType: hard -"@geut/chan-core@npm:^3.2.7": - version: 3.2.7 - resolution: "@geut/chan-core@npm:3.2.7" +"@ethersproject/abi@npm:5.7.0, @ethersproject/abi@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/abi@npm:5.7.0" dependencies: - "@geut/chan-stringify": ^3.2.7 - "@geut/chast": ^3.2.6 - "@geut/remark-chan": ^3.2.6 - remark-parse: ^9.0.0 - semver: ^7.3.5 - unified: ^9.2.1 - unist-util-remove-position: ^4.0.0 - unist-util-select: ^4.0.0 - checksum: 1fe156481bf60efe17167ad47138d65929f73731271f192a30c111878065c83c3f101182af0f635bdcd36ee197f6c69c5d1659dc692f48f13cb93b040742a8bc + "@ethersproject/address": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/constants": ^5.7.0 + "@ethersproject/hash": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + checksum: bc6962bb6cb854e4d2a4d65b2c49c716477675b131b1363312234bdbb7e19badb7d9ce66f4ca2a70ae2ea84f7123dbc4e300a1bfe5d58864a7eafabc1466627e languageName: node linkType: hard -"@geut/chan-stringify@npm:^3.2.7": - version: 3.2.7 - resolution: "@geut/chan-stringify@npm:3.2.7" +"@ethersproject/abstract-provider@npm:5.7.0, @ethersproject/abstract-provider@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/abstract-provider@npm:5.7.0" dependencies: - mdast-util-to-markdown: ^0.6.5 - remark-parse: ^9.0.0 - remark-stringify: ^9.0.0 - unified: ^9.2.0 - unist-builder: ^1.0.3 - unist-util-remove-position: ^1.1.2 - checksum: bf2ea0fcce0db48f197eabff9166e71e6aebd7689fecce56a03cd1ba60ddb687987eb37946bc2f990da4f5c21a5f9f94de01d285e7ec05e4eb0e1cc934a2f761 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/networks": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/transactions": ^5.7.0 + "@ethersproject/web": ^5.7.0 + checksum: 74cf4696245cf03bb7cc5b6cbf7b4b89dd9a79a1c4688126d214153a938126d4972d42c93182198653ce1de35f2a2cad68be40337d4774b3698a39b28f0228a8 languageName: node linkType: hard -"@geut/chan@npm:^3.2.9": - version: 3.2.9 - resolution: "@geut/chan@npm:3.2.9" +"@ethersproject/abstract-signer@npm:5.7.0, @ethersproject/abstract-signer@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/abstract-signer@npm:5.7.0" dependencies: - "@actions/github": ^5.0.0 - "@geut/chan-core": ^3.2.7 - "@geut/git-url-parse": ^3.2.6 - boxen: ^5.0.1 - editor: ^1.0.0 - find-up: ^5.0.0 - new-github-release-url: ^1.0.0 - open: ^8.2.0 - semver: ^7.3.5 - signale: ^1.4.0 - tempfile: ^4.0.0 - to-vfile: ^6.1.0 - yargs: ^17.0.1 - bin: - chan: bin/chan.js - checksum: d5f2ba90978a40955b86ced28d1db50fe604854ab543da71c87697f392fd03d9ed194002e69d389b0e5380e9e2ebd48912da1749f6195388c73c2512bb3d5019 + "@ethersproject/abstract-provider": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + checksum: a823dac9cfb761e009851050ebebd5b229d1b1cc4a75b125c2da130ff37e8218208f7f9d1386f77407705b889b23d4a230ad67185f8872f083143e0073cbfbe3 languageName: node linkType: hard -"@geut/chast@npm:^3.2.6": - version: 3.2.6 - resolution: "@geut/chast@npm:3.2.6" +"@ethersproject/address@npm:5.7.0, @ethersproject/address@npm:^5.6.0, @ethersproject/address@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/address@npm:5.7.0" dependencies: - semver: ^7.3.5 - unist-builder: ^3.0.0 - checksum: 95159a5b971f929263bbb510d7d67a86a2d011120efe5041661befbae23bb786dfb19a950370f8a80923efaa1965767225e6247c9d1c72d5265232d3f79dee96 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/rlp": ^5.7.0 + checksum: 64ea5ebea9cc0e845c413e6cb1e54e157dd9fc0dffb98e239d3a3efc8177f2ff798cd4e3206cf3660ee8faeb7bef1a47dc0ebef0d7b132c32e61e550c7d4c843 languageName: node linkType: hard -"@geut/git-url-parse@npm:^3.2.6": - version: 3.2.6 - resolution: "@geut/git-url-parse@npm:3.2.6" +"@ethersproject/base64@npm:5.7.0, @ethersproject/base64@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/base64@npm:5.7.0" dependencies: - find-up: ^5.0.0 - git-url-parse: ^11.1.2 - gitconfiglocal: ^2.0.2 - checksum: a1a4ff7f34b517e47ce1e63f73785d574934107e8bc1ca73600d97840ed0b2f9612b56fb9b289f4d5af59f7930c2c7cce1393824cefee93da23c452ca52c8714 + "@ethersproject/bytes": ^5.7.0 + checksum: 7dd5d734d623582f08f665434f53685041a3d3b334a0e96c0c8afa8bbcaab934d50e5b6b980e826a8fde8d353e0b18f11e61faf17468177274b8e7c69cd9742b languageName: node linkType: hard -"@geut/remark-chan@npm:^3.2.6": - version: 3.2.6 - resolution: "@geut/remark-chan@npm:3.2.6" +"@ethersproject/basex@npm:5.7.0, @ethersproject/basex@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/basex@npm:5.7.0" dependencies: - "@geut/chast": ^3.2.6 - unist-util-remove-position: ^4.0.0 - unist-util-select: ^4.0.0 - checksum: d4522f3773a0c7eb3afb1956ac6b61751025eb4d07e3ae7e63f35d9dbbd0a2b63b2f0754171534d0730347119ce70409644415ab8ccf6d67ea2685bb3e3f9e82 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + checksum: 326087b7e1f3787b5fe6cd1cf2b4b5abfafbc355a45e88e22e5e9d6c845b613ffc5301d629b28d5c4d5e2bfe9ec424e6782c804956dff79be05f0098cb5817de languageName: node linkType: hard -"@graphql-typed-document-node/core@npm:^3.1.1": - version: 3.2.0 - resolution: "@graphql-typed-document-node/core@npm:3.2.0" - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: fa44443accd28c8cf4cb96aaaf39d144a22e8b091b13366843f4e97d19c7bfeaf609ce3c7603a4aeffe385081eaf8ea245d078633a7324c11c5ec4b2011bb76d +"@ethersproject/bignumber@npm:5.7.0, @ethersproject/bignumber@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/bignumber@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + bn.js: ^5.2.1 + checksum: 8c9a134b76f3feb4ec26a5a27379efb4e156b8fb2de0678a67788a91c7f4e30abe9d948638458e4b20f2e42380da0adacc7c9389d05fce070692edc6ae9b4904 languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.11": - version: 0.11.11 - resolution: "@humanwhocodes/config-array@npm:0.11.11" +"@ethersproject/bytes@npm:5.7.0, @ethersproject/bytes@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/bytes@npm:5.7.0" dependencies: - "@humanwhocodes/object-schema": ^1.2.1 - debug: ^4.1.1 - minimatch: ^3.0.5 - checksum: db84507375ab77b8ffdd24f498a5b49ad6b64391d30dd2ac56885501d03964d29637e05b1ed5aefa09d57ac667e28028bc22d2da872bfcd619652fbdb5f4ca19 + "@ethersproject/logger": ^5.7.0 + checksum: 66ad365ceaab5da1b23b72225c71dce472cf37737af5118181fa8ab7447d696bea15ca22e3a0e8836fdd8cfac161afe321a7c67d0dde96f9f645ddd759676621 languageName: node linkType: hard -"@humanwhocodes/module-importer@npm:^1.0.1": - version: 1.0.1 - resolution: "@humanwhocodes/module-importer@npm:1.0.1" - checksum: 0fd22007db8034a2cdf2c764b140d37d9020bbfce8a49d3ec5c05290e77d4b0263b1b972b752df8c89e5eaa94073408f2b7d977aed131faf6cf396ebb5d7fb61 +"@ethersproject/constants@npm:5.7.0, @ethersproject/constants@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/constants@npm:5.7.0" + dependencies: + "@ethersproject/bignumber": ^5.7.0 + checksum: 6d4b1355747cce837b3e76ec3bde70e4732736f23b04f196f706ebfa5d4d9c2be50904a390d4d40ce77803b98d03d16a9b6898418e04ba63491933ce08c4ba8a languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^1.2.1": - version: 1.2.1 - resolution: "@humanwhocodes/object-schema@npm:1.2.1" - checksum: a824a1ec31591231e4bad5787641f59e9633827d0a2eaae131a288d33c9ef0290bd16fda8da6f7c0fcb014147865d12118df10db57f27f41e20da92369fcb3f1 +"@ethersproject/contracts@npm:5.7.0": + version: 5.7.0 + resolution: "@ethersproject/contracts@npm:5.7.0" + dependencies: + "@ethersproject/abi": ^5.7.0 + "@ethersproject/abstract-provider": ^5.7.0 + "@ethersproject/abstract-signer": ^5.7.0 + "@ethersproject/address": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/constants": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/transactions": ^5.7.0 + checksum: 6ccf1121cba01b31e02f8c507cb971ab6bfed85706484a9ec09878ef1594a62215f43c4fdef8f4a4875b99c4a800bc95e3be69b1803f8ce479e07634b5a740c0 languageName: node linkType: hard -"@ipld/dag-cbor@npm:^6.0.3": - version: 6.0.15 - resolution: "@ipld/dag-cbor@npm:6.0.15" +"@ethersproject/hash@npm:5.7.0, @ethersproject/hash@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/hash@npm:5.7.0" dependencies: - cborg: ^1.5.4 - multiformats: ^9.5.4 - checksum: c4ac8d7d271b9dd093c43495b1f24c3cdb7f10487aac529c2010c53a3320439ac9b17f53f02177e022735a1aae3d921f359c7020f765b72f94799ec3ff8e7207 + "@ethersproject/abstract-signer": ^5.7.0 + "@ethersproject/address": ^5.7.0 + "@ethersproject/base64": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + checksum: 6e9fa8d14eb08171cd32f17f98cc108ec2aeca74a427655f0d689c550fee0b22a83b3b400fad7fb3f41cf14d4111f87f170aa7905bcbcd1173a55f21b06262ef + languageName: node + linkType: hard + +"@ethersproject/hdnode@npm:5.7.0, @ethersproject/hdnode@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/hdnode@npm:5.7.0" + dependencies: + "@ethersproject/abstract-signer": ^5.7.0 + "@ethersproject/basex": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/pbkdf2": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/sha2": ^5.7.0 + "@ethersproject/signing-key": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + "@ethersproject/transactions": ^5.7.0 + "@ethersproject/wordlists": ^5.7.0 + checksum: bfe5ca2d89a42de73655f853170ef4766b933c5f481cddad709b3aca18823275b096e572f92d1602a052f80b426edde44ad6b9d028799775a7dad4a5bbed2133 + languageName: node + linkType: hard + +"@ethersproject/json-wallets@npm:5.7.0, @ethersproject/json-wallets@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/json-wallets@npm:5.7.0" + dependencies: + "@ethersproject/abstract-signer": ^5.7.0 + "@ethersproject/address": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/hdnode": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/pbkdf2": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/random": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + "@ethersproject/transactions": ^5.7.0 + aes-js: 3.0.0 + scrypt-js: 3.0.1 + checksum: f583458d22db62efaaf94d38dd243482776a45bf90f9f3882fbad5aa0b8fd288b41eb7c1ff8ec0b99c9b751088e43d6173530db64dd33c59f9d8daa8d7ad5aa2 + languageName: node + linkType: hard + +"@ethersproject/keccak256@npm:5.7.0, @ethersproject/keccak256@npm:^5.5.0, @ethersproject/keccak256@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/keccak256@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + js-sha3: 0.8.0 + checksum: ff70950d82203aab29ccda2553422cbac2e7a0c15c986bd20a69b13606ed8bb6e4fdd7b67b8d3b27d4f841e8222cbaccd33ed34be29f866fec7308f96ed244c6 + languageName: node + linkType: hard + +"@ethersproject/logger@npm:5.7.0, @ethersproject/logger@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/logger@npm:5.7.0" + checksum: 075ab2f605f1fd0813f2e39c3308f77b44a67732b36e712d9bc085f22a84aac4da4f71b39bee50fe78da3e1c812673fadc41180c9970fe5e486e91ea17befe0d + languageName: node + linkType: hard + +"@ethersproject/networks@npm:5.7.1, @ethersproject/networks@npm:^5.7.0": + version: 5.7.1 + resolution: "@ethersproject/networks@npm:5.7.1" + dependencies: + "@ethersproject/logger": ^5.7.0 + checksum: 0339f312304c17d9a0adce550edb825d4d2c8c9468c1634c44172c67a9ed256f594da62c4cda5c3837a0f28b7fabc03aca9b492f68ff1fdad337ee861b27bd5d + languageName: node + linkType: hard + +"@ethersproject/pbkdf2@npm:5.7.0, @ethersproject/pbkdf2@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/pbkdf2@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/sha2": ^5.7.0 + checksum: b895adb9e35a8a127e794f7aadc31a2424ef355a70e51cde10d457e3e888bb8102373199a540cf61f2d6b9a32e47358f9c65b47d559f42bf8e596b5fd67901e9 + languageName: node + linkType: hard + +"@ethersproject/properties@npm:5.7.0, @ethersproject/properties@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/properties@npm:5.7.0" + dependencies: + "@ethersproject/logger": ^5.7.0 + checksum: 6ab0ccf0c3aadc9221e0cdc5306ce6cd0df7f89f77d77bccdd1277182c9ead0202cd7521329ba3acde130820bf8af299e17cf567d0d497c736ee918207bbf59f + languageName: node + linkType: hard + +"@ethersproject/providers@npm:5.7.2": + version: 5.7.2 + resolution: "@ethersproject/providers@npm:5.7.2" + dependencies: + "@ethersproject/abstract-provider": ^5.7.0 + "@ethersproject/abstract-signer": ^5.7.0 + "@ethersproject/address": ^5.7.0 + "@ethersproject/base64": ^5.7.0 + "@ethersproject/basex": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/constants": ^5.7.0 + "@ethersproject/hash": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/networks": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/random": ^5.7.0 + "@ethersproject/rlp": ^5.7.0 + "@ethersproject/sha2": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + "@ethersproject/transactions": ^5.7.0 + "@ethersproject/web": ^5.7.0 + bech32: 1.1.4 + ws: 7.4.6 + checksum: 1754c731a5ca6782ae9677f4a9cd8b6246c4ef21a966c9a01b133750f3c578431ec43ec254e699969c4a0f87e84463ded50f96b415600aabd37d2056aee58c19 + languageName: node + linkType: hard + +"@ethersproject/random@npm:5.7.0, @ethersproject/random@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/random@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + checksum: 017829c91cff6c76470852855108115b0b52c611b6be817ed1948d56ba42d6677803ec2012aa5ae298a7660024156a64c11fcf544e235e239ab3f89f0fff7345 + languageName: node + linkType: hard + +"@ethersproject/rlp@npm:5.7.0, @ethersproject/rlp@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/rlp@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + checksum: bce165b0f7e68e4d091c9d3cf47b247cac33252df77a095ca4281d32d5eeaaa3695d9bc06b2b057c5015353a68df89f13a4a54a72e888e4beeabbe56b15dda6e + languageName: node + linkType: hard + +"@ethersproject/sha2@npm:5.7.0, @ethersproject/sha2@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/sha2@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + hash.js: 1.1.7 + checksum: 09321057c022effbff4cc2d9b9558228690b5dd916329d75c4b1ffe32ba3d24b480a367a7cc92d0f0c0b1c896814d03351ae4630e2f1f7160be2bcfbde435dbc + languageName: node + linkType: hard + +"@ethersproject/signing-key@npm:5.7.0, @ethersproject/signing-key@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/signing-key@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + bn.js: ^5.2.1 + elliptic: 6.5.4 + hash.js: 1.1.7 + checksum: 8f8de09b0aac709683bbb49339bc0a4cd2f95598f3546436c65d6f3c3a847ffa98e06d35e9ed2b17d8030bd2f02db9b7bd2e11c5cf8a71aad4537487ab4cf03a + languageName: node + linkType: hard + +"@ethersproject/solidity@npm:5.7.0": + version: 5.7.0 + resolution: "@ethersproject/solidity@npm:5.7.0" + dependencies: + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/sha2": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + checksum: 9a02f37f801c96068c3e7721f83719d060175bc4e80439fe060e92bd7acfcb6ac1330c7e71c49f4c2535ca1308f2acdcb01e00133129aac00581724c2d6293f3 + languageName: node + linkType: hard + +"@ethersproject/strings@npm:5.7.0, @ethersproject/strings@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/strings@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/constants": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + checksum: 5ff78693ae3fdf3cf23e1f6dc047a61e44c8197d2408c42719fef8cb7b7b3613a4eec88ac0ed1f9f5558c74fe0de7ae3195a29ca91a239c74b9f444d8e8b50df + languageName: node + linkType: hard + +"@ethersproject/transactions@npm:5.7.0, @ethersproject/transactions@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/transactions@npm:5.7.0" + dependencies: + "@ethersproject/address": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/constants": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/rlp": ^5.7.0 + "@ethersproject/signing-key": ^5.7.0 + checksum: a31b71996d2b283f68486241bff0d3ea3f1ba0e8f1322a8fffc239ccc4f4a7eb2ea9994b8fd2f093283fd75f87bae68171e01b6265261f821369aca319884a79 + languageName: node + linkType: hard + +"@ethersproject/units@npm:5.7.0": + version: 5.7.0 + resolution: "@ethersproject/units@npm:5.7.0" + dependencies: + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/constants": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + checksum: 304714f848cd32e57df31bf545f7ad35c2a72adae957198b28cbc62166daa929322a07bff6e9c9ac4577ab6aa0de0546b065ed1b2d20b19e25748b7d475cb0fc + languageName: node + linkType: hard + +"@ethersproject/wallet@npm:5.7.0": + version: 5.7.0 + resolution: "@ethersproject/wallet@npm:5.7.0" + dependencies: + "@ethersproject/abstract-provider": ^5.7.0 + "@ethersproject/abstract-signer": ^5.7.0 + "@ethersproject/address": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/hash": ^5.7.0 + "@ethersproject/hdnode": ^5.7.0 + "@ethersproject/json-wallets": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/random": ^5.7.0 + "@ethersproject/signing-key": ^5.7.0 + "@ethersproject/transactions": ^5.7.0 + "@ethersproject/wordlists": ^5.7.0 + checksum: a4009bf7331eddab38e3015b5e9101ef92de7f705b00a6196b997db0e5635b6d83561674d46c90c6f77b87c0500fe4a6b0183ba13749efc22db59c99deb82fbd + languageName: node + linkType: hard + +"@ethersproject/web@npm:5.7.1, @ethersproject/web@npm:^5.7.0": + version: 5.7.1 + resolution: "@ethersproject/web@npm:5.7.1" + dependencies: + "@ethersproject/base64": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + checksum: 7028c47103f82fd2e2c197ce0eecfacaa9180ffeec7de7845b1f4f9b19d84081b7a48227aaddde05a4aaa526af574a9a0ce01cc0fc75e3e371f84b38b5b16b2b + languageName: node + linkType: hard + +"@ethersproject/wordlists@npm:5.7.0, @ethersproject/wordlists@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/wordlists@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/hash": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + checksum: 30eb6eb0731f9ef5faa44bf9c0c6e950bcaaef61e4d2d9ce0ae6d341f4e2d6d1f4ab4f8880bfce03b7aac4b862fb740e1421170cfbf8e2aafc359277d49e6e97 + languageName: node + linkType: hard + +"@geut/chan-core@npm:^3.2.7": + version: 3.2.7 + resolution: "@geut/chan-core@npm:3.2.7" + dependencies: + "@geut/chan-stringify": ^3.2.7 + "@geut/chast": ^3.2.6 + "@geut/remark-chan": ^3.2.6 + remark-parse: ^9.0.0 + semver: ^7.3.5 + unified: ^9.2.1 + unist-util-remove-position: ^4.0.0 + unist-util-select: ^4.0.0 + checksum: 1fe156481bf60efe17167ad47138d65929f73731271f192a30c111878065c83c3f101182af0f635bdcd36ee197f6c69c5d1659dc692f48f13cb93b040742a8bc + languageName: node + linkType: hard + +"@geut/chan-stringify@npm:^3.2.7": + version: 3.2.7 + resolution: "@geut/chan-stringify@npm:3.2.7" + dependencies: + mdast-util-to-markdown: ^0.6.5 + remark-parse: ^9.0.0 + remark-stringify: ^9.0.0 + unified: ^9.2.0 + unist-builder: ^1.0.3 + unist-util-remove-position: ^1.1.2 + checksum: bf2ea0fcce0db48f197eabff9166e71e6aebd7689fecce56a03cd1ba60ddb687987eb37946bc2f990da4f5c21a5f9f94de01d285e7ec05e4eb0e1cc934a2f761 + languageName: node + linkType: hard + +"@geut/chan@npm:^3.2.9": + version: 3.2.9 + resolution: "@geut/chan@npm:3.2.9" + dependencies: + "@actions/github": ^5.0.0 + "@geut/chan-core": ^3.2.7 + "@geut/git-url-parse": ^3.2.6 + boxen: ^5.0.1 + editor: ^1.0.0 + find-up: ^5.0.0 + new-github-release-url: ^1.0.0 + open: ^8.2.0 + semver: ^7.3.5 + signale: ^1.4.0 + tempfile: ^4.0.0 + to-vfile: ^6.1.0 + yargs: ^17.0.1 + bin: + chan: bin/chan.js + checksum: d5f2ba90978a40955b86ced28d1db50fe604854ab543da71c87697f392fd03d9ed194002e69d389b0e5380e9e2ebd48912da1749f6195388c73c2512bb3d5019 + languageName: node + linkType: hard + +"@geut/chast@npm:^3.2.6": + version: 3.2.6 + resolution: "@geut/chast@npm:3.2.6" + dependencies: + semver: ^7.3.5 + unist-builder: ^3.0.0 + checksum: 95159a5b971f929263bbb510d7d67a86a2d011120efe5041661befbae23bb786dfb19a950370f8a80923efaa1965767225e6247c9d1c72d5265232d3f79dee96 + languageName: node + linkType: hard + +"@geut/git-url-parse@npm:^3.2.6": + version: 3.2.6 + resolution: "@geut/git-url-parse@npm:3.2.6" + dependencies: + find-up: ^5.0.0 + git-url-parse: ^11.1.2 + gitconfiglocal: ^2.0.2 + checksum: a1a4ff7f34b517e47ce1e63f73785d574934107e8bc1ca73600d97840ed0b2f9612b56fb9b289f4d5af59f7930c2c7cce1393824cefee93da23c452ca52c8714 + languageName: node + linkType: hard + +"@geut/remark-chan@npm:^3.2.6": + version: 3.2.6 + resolution: "@geut/remark-chan@npm:3.2.6" + dependencies: + "@geut/chast": ^3.2.6 + unist-util-remove-position: ^4.0.0 + unist-util-select: ^4.0.0 + checksum: d4522f3773a0c7eb3afb1956ac6b61751025eb4d07e3ae7e63f35d9dbbd0a2b63b2f0754171534d0730347119ce70409644415ab8ccf6d67ea2685bb3e3f9e82 + languageName: node + linkType: hard + +"@graphql-typed-document-node/core@npm:^3.1.1": + version: 3.2.0 + resolution: "@graphql-typed-document-node/core@npm:3.2.0" + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: fa44443accd28c8cf4cb96aaaf39d144a22e8b091b13366843f4e97d19c7bfeaf609ce3c7603a4aeffe385081eaf8ea245d078633a7324c11c5ec4b2011bb76d + languageName: node + linkType: hard + +"@humanwhocodes/config-array@npm:^0.11.11": + version: 0.11.11 + resolution: "@humanwhocodes/config-array@npm:0.11.11" + dependencies: + "@humanwhocodes/object-schema": ^1.2.1 + debug: ^4.1.1 + minimatch: ^3.0.5 + checksum: db84507375ab77b8ffdd24f498a5b49ad6b64391d30dd2ac56885501d03964d29637e05b1ed5aefa09d57ac667e28028bc22d2da872bfcd619652fbdb5f4ca19 + languageName: node + linkType: hard + +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 0fd22007db8034a2cdf2c764b140d37d9020bbfce8a49d3ec5c05290e77d4b0263b1b972b752df8c89e5eaa94073408f2b7d977aed131faf6cf396ebb5d7fb61 + languageName: node + linkType: hard + +"@humanwhocodes/object-schema@npm:^1.2.1": + version: 1.2.1 + resolution: "@humanwhocodes/object-schema@npm:1.2.1" + checksum: a824a1ec31591231e4bad5787641f59e9633827d0a2eaae131a288d33c9ef0290bd16fda8da6f7c0fcb014147865d12118df10db57f27f41e20da92369fcb3f1 + languageName: node + linkType: hard + +"@ipld/dag-cbor@npm:^6.0.3": + version: 6.0.15 + resolution: "@ipld/dag-cbor@npm:6.0.15" + dependencies: + cborg: ^1.5.4 + multiformats: ^9.5.4 + checksum: c4ac8d7d271b9dd093c43495b1f24c3cdb7f10487aac529c2010c53a3320439ac9b17f53f02177e022735a1aae3d921f359c7020f765b72f94799ec3ff8e7207 languageName: node linkType: hard @@ -2995,59 +4557,317 @@ __metadata: languageName: node linkType: hard -"@lukeed/csprng@npm:^1.0.0": - version: 1.1.0 - resolution: "@lukeed/csprng@npm:1.1.0" - checksum: 926f5f7fc629470ca9a8af355bfcd0271d34535f7be3890f69902432bddc3262029bb5dbe9025542cf6c9883d878692eef2815fc2f3ba5b92e9da1f9eba2e51b +"@keplr-wallet/common@npm:0.11.64": + version: 0.11.64 + resolution: "@keplr-wallet/common@npm:0.11.64" + dependencies: + "@keplr-wallet/crypto": 0.11.64 + buffer: ^6.0.3 + delay: ^4.4.0 + checksum: 418b7e1469c7e023f2ad8adf8f0925949b0fdac10da9bbdb4ff96a43f4054e877e7088bf876f6bdb2713656551e3d5d21038691d38f925d5321f8088bc580802 languageName: node linkType: hard -"@nestjs/common@npm:^9.4.0": - version: 9.4.3 - resolution: "@nestjs/common@npm:9.4.3" +"@keplr-wallet/common@npm:0.12.79": + version: 0.12.79 + resolution: "@keplr-wallet/common@npm:0.12.79" dependencies: - iterare: 1.2.1 - tslib: 2.5.3 - uid: 2.0.2 - peerDependencies: - cache-manager: <=5 - class-transformer: "*" - class-validator: "*" - reflect-metadata: ^0.1.12 - rxjs: ^7.1.0 - peerDependenciesMeta: - cache-manager: - optional: true - class-transformer: - optional: true - class-validator: - optional: true - checksum: 45ccb5acac2521a05576f37b37ab94c63a83aefb1839ed670635090bb934c1bd532852cb7be9863ee3b9d1ad80aa84e0602be023c626623f9233257dcb754914 + "@keplr-wallet/crypto": 0.12.79 + "@keplr-wallet/types": 0.12.79 + buffer: ^6.0.3 + delay: ^4.4.0 + mobx: ^6.1.7 + checksum: 13c42500f27b4d033f157c8775ed49d819a86a71947f268ef59184f3f729a9e5f0b94bcef90d70f7330a4fbf407051131646d499b1983c56bae9edce451d817b languageName: node linkType: hard -"@nestjs/core@npm:^9.4.0": - version: 9.4.3 - resolution: "@nestjs/core@npm:9.4.3" +"@keplr-wallet/cosmos@npm:^0.11.38": + version: 0.11.64 + resolution: "@keplr-wallet/cosmos@npm:0.11.64" dependencies: - "@nuxtjs/opencollective": 0.3.2 - fast-safe-stringify: 2.1.1 - iterare: 1.2.1 - path-to-regexp: 3.2.0 - tslib: 2.5.3 - uid: 2.0.2 - peerDependencies: - "@nestjs/common": ^9.0.0 - "@nestjs/microservices": ^9.0.0 - "@nestjs/platform-express": ^9.0.0 - "@nestjs/websockets": ^9.0.0 - reflect-metadata: ^0.1.12 - rxjs: ^7.1.0 - peerDependenciesMeta: - "@nestjs/microservices": - optional: true - "@nestjs/platform-express": - optional: true + "@ethersproject/address": ^5.6.0 + "@keplr-wallet/common": 0.11.64 + "@keplr-wallet/crypto": 0.11.64 + "@keplr-wallet/proto-types": 0.11.64 + "@keplr-wallet/types": 0.11.64 + "@keplr-wallet/unit": 0.11.64 + axios: ^0.27.2 + bech32: ^1.1.4 + buffer: ^6.0.3 + long: ^4.0.0 + protobufjs: ^6.11.2 + checksum: dd8b6d9823e7899987061e6adaf5e9bd87e57304df02cfe94d359c559069557e135639a7f950ee8e390886f37571daa7a41534d8bb6a3604f686f424458431b6 + languageName: node + linkType: hard + +"@keplr-wallet/cosmos@npm:^0.12.44": + version: 0.12.79 + resolution: "@keplr-wallet/cosmos@npm:0.12.79" + dependencies: + "@ethersproject/address": ^5.6.0 + "@keplr-wallet/common": 0.12.79 + "@keplr-wallet/crypto": 0.12.79 + "@keplr-wallet/proto-types": 0.12.79 + "@keplr-wallet/simple-fetch": 0.12.79 + "@keplr-wallet/types": 0.12.79 + "@keplr-wallet/unit": 0.12.79 + bech32: ^1.1.4 + buffer: ^6.0.3 + long: ^4.0.0 + protobufjs: ^6.11.2 + checksum: d1b6a24469d693faf457bc8078e28922bf8cc8ad765c66a05424e0cee9c68bdb7171333684ef94cb439f79577a4713acfa1ef2a520933cc6ef2f7342d3525bf6 + languageName: node + linkType: hard + +"@keplr-wallet/crypto@npm:0.11.64": + version: 0.11.64 + resolution: "@keplr-wallet/crypto@npm:0.11.64" + dependencies: + "@ethersproject/keccak256": ^5.5.0 + bip32: ^2.0.6 + bip39: ^3.0.3 + bs58check: ^2.1.2 + buffer: ^6.0.3 + crypto-js: ^4.0.0 + elliptic: ^6.5.3 + sha.js: ^2.4.11 + checksum: 803a60b674fe29c0f35f8e1a8d4424237f33e3fe31a25c77c9e4854764b4e4c6e2cace284f0858c26f3b966f96fd15b89d145a8d16896731b2a3443de1b8794a + languageName: node + linkType: hard + +"@keplr-wallet/crypto@npm:0.12.79": + version: 0.12.79 + resolution: "@keplr-wallet/crypto@npm:0.12.79" + dependencies: + "@ethersproject/keccak256": ^5.5.0 + bip32: ^2.0.6 + bip39: ^3.0.3 + bs58check: ^2.1.2 + buffer: ^6.0.3 + crypto-js: ^4.0.0 + elliptic: ^6.5.3 + sha.js: ^2.4.11 + checksum: f61d5ae2d1c00b74210d9abcfbe43f5e704604d8a1c63e577c34d1cbad6135d3c2978bf93419c0a0fa9546bdedf1f31ecd76a2860c9cf40eb0a2429b9358839e + languageName: node + linkType: hard + +"@keplr-wallet/proto-types@npm:0.11.64": + version: 0.11.64 + resolution: "@keplr-wallet/proto-types@npm:0.11.64" + dependencies: + long: ^4.0.0 + protobufjs: ^6.11.2 + checksum: 9d27ce358abdab95cc041a570c45b0e8d9ee8d31c9d2497d17bda18089e62685315bcf414a7ae91746eed68ab8dfb38d4684c112165a7c03118997eeedfc87f1 + languageName: node + linkType: hard + +"@keplr-wallet/proto-types@npm:0.12.79": + version: 0.12.79 + resolution: "@keplr-wallet/proto-types@npm:0.12.79" + dependencies: + long: ^4.0.0 + protobufjs: ^6.11.2 + checksum: 82afa9b34e2ff6e7e7d39ae399edb248f45c57c7dac08c8ce51907530e8eeebc8702e26d983e5d309213dca71da93aee570c86f8275bb00f8debb767f71fb705 + languageName: node + linkType: hard + +"@keplr-wallet/simple-fetch@npm:0.12.79": + version: 0.12.79 + resolution: "@keplr-wallet/simple-fetch@npm:0.12.79" + checksum: 087cb394994feb2a6d6a127e803c7d334c143cb18fd0ed4ddd933c3033d0896513e77992f0d5a59a9a64c690b1fce21ea4a19d621d15681a0400031fecb01dde + languageName: node + linkType: hard + +"@keplr-wallet/types@npm:0.11.64": + version: 0.11.64 + resolution: "@keplr-wallet/types@npm:0.11.64" + dependencies: + axios: ^0.27.2 + long: ^4.0.0 + checksum: d1d281cdb4c2f61ad46cad158559746927a65a4274170208c3ed712dd550bd623c058fea5cd08d0c1f7806c9856f3c901807f8946cd6cbc99f871b4ce03f94a9 + languageName: node + linkType: hard + +"@keplr-wallet/types@npm:0.12.79": + version: 0.12.79 + resolution: "@keplr-wallet/types@npm:0.12.79" + dependencies: + long: ^4.0.0 + checksum: a29a987f51fdc4fa1bfa133bac517cc42ecfed6c7c714667a39d6c45c6858726ac27bd5c5b71701d8d89ede268048fe7b0fde312abec15a6c12ed46cf1c8e832 + languageName: node + linkType: hard + +"@keplr-wallet/unit@npm:0.11.64": + version: 0.11.64 + resolution: "@keplr-wallet/unit@npm:0.11.64" + dependencies: + "@keplr-wallet/types": 0.11.64 + big-integer: ^1.6.48 + utility-types: ^3.10.0 + checksum: 073cac40bdee5296dca04edd80eb49c6eed56f21912f063377763ffe6601befb54536765549bd4c36cd38c1ae25ee276845447858f209912fca3feb025053d8a + languageName: node + linkType: hard + +"@keplr-wallet/unit@npm:0.12.79": + version: 0.12.79 + resolution: "@keplr-wallet/unit@npm:0.12.79" + dependencies: + "@keplr-wallet/types": 0.12.79 + big-integer: ^1.6.48 + utility-types: ^3.10.0 + checksum: 41e37c5576f9d9ec9f70a086eb4b9c7590f320948d233e1df13b535d166b200687968642a751a1f823036aa12840bb5434014c54b9480677bb4f6ae88a42fd30 + languageName: node + linkType: hard + +"@kyvejs/protocol@npm:^1.0.12": + version: 1.0.12 + resolution: "@kyvejs/protocol@npm:1.0.12" + dependencies: + "@aws-sdk/client-s3": ^3.370.0 + "@bundlr-network/client": ^0.8.9 + "@cosmjs/proto-signing": ^0.27.1 + "@cosmjs/stargate": ^0.27.1 + "@kyvejs/sdk": 1.0.5 + "@kyvejs/types": 1.0.3 + "@types/cli-progress": ^3.9.2 + "@types/jsonfile": ^6.0.1 + arweave: ^1.10.17 + axios: ^0.24.0 + bignumber.js: ^9.0.1 + clone: ^2.1.2 + commander: ^9.4.1 + fs-extra: ^10.0.1 + jsonfile: ^6.1.0 + level: ^8.0.0 + prando: ^6.0.1 + prom-client: ^14.1.0 + protobufjs: ^6.11.2 + seedrandom: ^3.0.5 + semver: ^7.5.3 + tslog: ^3.2.2 + unique-names-generator: ^4.6.0 + uuid: ^9.0.0 + checksum: 1af880bb76394b6d43908103037a66819188592211a8ea0c0c3d770955eddf5b1457d663c1c5f5ba25e31009a14fea6e135f2cae7b79c7d2a47546272814af2e + languageName: node + linkType: hard + +"@kyvejs/sdk@npm:1.0.5": + version: 1.0.5 + resolution: "@kyvejs/sdk@npm:1.0.5" + dependencies: + "@cosmjs/amino": ^0.30.1 + "@cosmjs/crypto": ^0.30.1 + "@cosmjs/encoding": ^0.30.1 + "@cosmjs/proto-signing": ^0.30.1 + "@cosmjs/stargate": ^0.30.1 + "@cosmjs/tendermint-rpc": ^0.30.1 + "@cosmostation/extension-client": ^0.0.6 + "@keplr-wallet/cosmos": ^0.11.38 + "@kyvejs/types": 1.0.3 + axios: 0.25.0 + bech32: 2.0.0 + bignumber.js: 9.0.2 + humanize-number: 0.0.2 + qs: ^6.10.5 + checksum: f2aa5472b2e14192af6fd65fba7d418009ac563e0335f4eb1930b3b7af59bcb863b82e1d59bd651fe9266604c5c66426e97b217b889edc93f09d661b65bcdfab + languageName: node + linkType: hard + +"@kyvejs/sdk@npm:^1.1.1": + version: 1.1.1 + resolution: "@kyvejs/sdk@npm:1.1.1" + dependencies: + "@cosmjs/amino": ^0.31.3 + "@cosmjs/crypto": ^0.31.3 + "@cosmjs/encoding": ^0.31.3 + "@cosmjs/proto-signing": ^0.31.3 + "@cosmjs/stargate": ^0.31.3 + "@cosmjs/tendermint-rpc": ^0.31.3 + "@cosmostation/extension-client": ^0.0.6 + "@keplr-wallet/cosmos": ^0.12.44 + "@kyvejs/types": 1.2.0 + axios: ^0.27.2 + bech32: 2.0.0 + bignumber.js: 9.1.2 + humanize-number: 0.0.2 + qs: ^6.10.5 + checksum: 04dc44f4a70fbde5bc87d1c337ee9b029943289d21563173aaeb0e16d8fd69f50dd688f12d15f01c3c04b9a9dcbeff82a5262e99ded8d131cfec380ca8a23ab5 + languageName: node + linkType: hard + +"@kyvejs/types@npm:1.0.3": + version: 1.0.3 + resolution: "@kyvejs/types@npm:1.0.3" + dependencies: + "@protobufs/cosmos": ^0.0.11 + "@protobufs/gogoproto": ^0.0.10 + "@protobufs/google": ^0.0.10 + nx: ^14.4.3 + ts-proto: ^1.115.4 + checksum: 74e973f8f5a6b6de3766f62316425cd0fe85b1dccfcc6d2652b9f49737278caba1564a9ca08a5e1b709f50813659f1f2255004d1cd63a1c33b253a0274a293b7 + languageName: node + linkType: hard + +"@kyvejs/types@npm:1.2.0": + version: 1.2.0 + resolution: "@kyvejs/types@npm:1.2.0" + checksum: 4c5cf8261d8ca68b864013b9aca743faae6a8fe63a352d81bb8684baff031e56b1a3d6e252b5c5557a3704d19d728dc0600b95f7bbd592a728496f6d3f8df27d + languageName: node + linkType: hard + +"@lukeed/csprng@npm:^1.0.0": + version: 1.1.0 + resolution: "@lukeed/csprng@npm:1.1.0" + checksum: 926f5f7fc629470ca9a8af355bfcd0271d34535f7be3890f69902432bddc3262029bb5dbe9025542cf6c9883d878692eef2815fc2f3ba5b92e9da1f9eba2e51b + languageName: node + linkType: hard + +"@nestjs/common@npm:^9.4.0": + version: 9.4.3 + resolution: "@nestjs/common@npm:9.4.3" + dependencies: + iterare: 1.2.1 + tslib: 2.5.3 + uid: 2.0.2 + peerDependencies: + cache-manager: <=5 + class-transformer: "*" + class-validator: "*" + reflect-metadata: ^0.1.12 + rxjs: ^7.1.0 + peerDependenciesMeta: + cache-manager: + optional: true + class-transformer: + optional: true + class-validator: + optional: true + checksum: 45ccb5acac2521a05576f37b37ab94c63a83aefb1839ed670635090bb934c1bd532852cb7be9863ee3b9d1ad80aa84e0602be023c626623f9233257dcb754914 + languageName: node + linkType: hard + +"@nestjs/core@npm:^9.4.0": + version: 9.4.3 + resolution: "@nestjs/core@npm:9.4.3" + dependencies: + "@nuxtjs/opencollective": 0.3.2 + fast-safe-stringify: 2.1.1 + iterare: 1.2.1 + path-to-regexp: 3.2.0 + tslib: 2.5.3 + uid: 2.0.2 + peerDependencies: + "@nestjs/common": ^9.0.0 + "@nestjs/microservices": ^9.0.0 + "@nestjs/platform-express": ^9.0.0 + "@nestjs/websockets": ^9.0.0 + reflect-metadata: ^0.1.12 + rxjs: ^7.1.0 + peerDependenciesMeta: + "@nestjs/microservices": + optional: true + "@nestjs/platform-express": + optional: true "@nestjs/websockets": optional: true checksum: 5c556c43fc4bce5001c9fa1190630031e60db5678d47c1266f6aca957d862fc8aa7168414cf7938852976ee52086395bd05d4a4daaa0915d12e47c4f644dc263 @@ -3139,6 +4959,13 @@ __metadata: languageName: node linkType: hard +"@noble/ed25519@npm:^1.6.1": + version: 1.7.3 + resolution: "@noble/ed25519@npm:1.7.3" + checksum: 45169927d51de513e47bbeebff3a603433c4ac7579e1b8c5034c380a0afedbe85e6959be3d69584a7a5ed6828d638f8f28879003b9bb2fb5f22d8aa2d88fd5fe + languageName: node + linkType: hard + "@noble/hashes@npm:1.3.2, @noble/hashes@npm:^1, @noble/hashes@npm:^1.0.0, @noble/hashes@npm:^1.3.2": version: 1.3.2 resolution: "@noble/hashes@npm:1.3.2" @@ -3146,6 +4973,13 @@ __metadata: languageName: node linkType: hard +"@noble/hashes@npm:^1.2.0, @noble/hashes@npm:^1.3.3": + version: 1.4.0 + resolution: "@noble/hashes@npm:1.4.0" + checksum: 8ba816ae26c90764b8c42493eea383716396096c5f7ba6bea559993194f49d80a73c081f315f4c367e51bd2d5891700bcdfa816b421d24ab45b41cb03e4f3342 + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -3182,6 +5016,26 @@ __metadata: languageName: node linkType: hard +"@nrwl/cli@npm:14.8.9": + version: 14.8.9 + resolution: "@nrwl/cli@npm:14.8.9" + dependencies: + nx: 14.8.9 + checksum: 32e4953121622526636fd76f673eb07197528e7c8927e046f3c157e46edeac5ecdad2182c168d18cc2cc887ab16c74ff94e57194a3df581a0c5b05fffa157d78 + languageName: node + linkType: hard + +"@nrwl/tao@npm:14.8.9": + version: 14.8.9 + resolution: "@nrwl/tao@npm:14.8.9" + dependencies: + nx: 14.8.9 + bin: + tao: index.js + checksum: f299e6f04c8d3ee8aa2ca5143dc4f1a7f1ab3cf2ba398ec65ad34feeb29ad6fa37087f56db5acbe9168d4bdc4a95e607964cc274720075aeb8badec8e5c3038b + languageName: node + linkType: hard + "@nuxtjs/opencollective@npm:0.3.2": version: 0.3.2 resolution: "@nuxtjs/opencollective@npm:0.3.2" @@ -3305,6 +5159,17 @@ __metadata: languageName: node linkType: hard +"@parcel/watcher@npm:2.0.4": + version: 2.0.4 + resolution: "@parcel/watcher@npm:2.0.4" + dependencies: + node-addon-api: ^3.2.1 + node-gyp: latest + node-gyp-build: ^4.3.0 + checksum: 890bdc69a52942791b276caa2cd65ef816576d6b5ada91aa28cf302b35d567c801dafe167f2525dcb313f5b420986ea11bd56228dd7ddde1116944d8f924a0a1 + languageName: node + linkType: hard + "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -3528,209 +5393,857 @@ __metadata: languageName: node linkType: hard -"@protobufjs/float@npm:^1.0.2": - version: 1.0.2 - resolution: "@protobufjs/float@npm:1.0.2" - checksum: 5781e1241270b8bd1591d324ca9e3a3128d2f768077a446187a049e36505e91bc4156ed5ac3159c3ce3d2ba3743dbc757b051b2d723eea9cd367bfd54ab29b2f +"@protobufjs/float@npm:^1.0.2": + version: 1.0.2 + resolution: "@protobufjs/float@npm:1.0.2" + checksum: 5781e1241270b8bd1591d324ca9e3a3128d2f768077a446187a049e36505e91bc4156ed5ac3159c3ce3d2ba3743dbc757b051b2d723eea9cd367bfd54ab29b2f + languageName: node + linkType: hard + +"@protobufjs/inquire@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/inquire@npm:1.1.0" + checksum: ca06f02eaf65ca36fb7498fc3492b7fc087bfcc85c702bac5b86fad34b692bdce4990e0ef444c1e2aea8c034227bd1f0484be02810d5d7e931c55445555646f4 + languageName: node + linkType: hard + +"@protobufjs/path@npm:^1.1.2": + version: 1.1.2 + resolution: "@protobufjs/path@npm:1.1.2" + checksum: 856eeb532b16a7aac071cacde5c5620df800db4c80cee6dbc56380524736205aae21e5ae47739114bf669ab5e8ba0e767a282ad894f3b5e124197cb9224445ee + languageName: node + linkType: hard + +"@protobufjs/pool@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/pool@npm:1.1.0" + checksum: d6a34fbbd24f729e2a10ee915b74e1d77d52214de626b921b2d77288bd8f2386808da2315080f2905761527cceffe7ec34c7647bd21a5ae41a25e8212ff79451 + languageName: node + linkType: hard + +"@protobufjs/utf8@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/utf8@npm:1.1.0" + checksum: f9bf3163d13aaa3b6f5e6fbf37a116e094ea021c0e1f2a7ccd0e12a29e2ce08dafba4e8b36e13f8ed7397e1591610ce880ed1289af4d66cf4ace8a36a9557278 + languageName: node + linkType: hard + +"@protobufs/amino@npm:^0.0.11": + version: 0.0.11 + resolution: "@protobufs/amino@npm:0.0.11" + dependencies: + "@protobufs/google": ^0.0.10 + checksum: 7edb8b2804c302055512ebe2518243ff2b1cc7701c29f1a7c940d873069bfbca831dab0c517f49b21083d729d30b0e52f4530b7bb8e2fe85c0a16aa01d5d4808 + languageName: node + linkType: hard + +"@protobufs/confio@npm:^0.0.6": + version: 0.0.6 + resolution: "@protobufs/confio@npm:0.0.6" + checksum: 82bd4954e3c2f076b88dd33283aaa9f35b4d622656018c0e579fcb8225fca2c6ae72442e47ce464891b8a1988f3f37abc7bffb83ba8d3de970ccf6cf9da6acdf + languageName: node + linkType: hard + +"@protobufs/cosmos@npm:^0.0.11": + version: 0.0.11 + resolution: "@protobufs/cosmos@npm:0.0.11" + dependencies: + "@protobufs/cosmos_proto": ^0.0.10 + "@protobufs/gogoproto": ^0.0.10 + "@protobufs/google": ^0.0.10 + "@protobufs/tendermint": ^0.0.10 + checksum: a7e737d265cee053aa0ecb4abf7608b07eaac4f6f7344e082824a39b4f78b2de31fb48edbcfa176b743fe8d4c5686015fa6e7fe5899b9d2efc402f66093f5454 + languageName: node + linkType: hard + +"@protobufs/cosmos@npm:^0.1.0": + version: 0.1.0 + resolution: "@protobufs/cosmos@npm:0.1.0" + dependencies: + "@protobufs/amino": ^0.0.11 + "@protobufs/cosmos_proto": ^0.0.10 + "@protobufs/gogoproto": ^0.0.10 + "@protobufs/google": ^0.0.10 + "@protobufs/tendermint": ^0.0.10 + checksum: 263beb8a8fad2dabb95931aa70fa83b4dd48360e8cfceb030dd0d60f4975f8a59d98bd312895b9acc167f09cd15e369c3443e1c7d2a321fe903b48f93aa7a707 + languageName: node + linkType: hard + +"@protobufs/cosmos_proto@npm:^0.0.10": + version: 0.0.10 + resolution: "@protobufs/cosmos_proto@npm:0.0.10" + dependencies: + "@protobufs/google": ^0.0.10 + checksum: ef173097582a19c4e2a666de75338736798687f71045a91ed5329dec6d1bc0bc5a010b40060f97eb6aa16e86ff73976bf760ddff7ad14fd81148f6b9907bda8b + languageName: node + linkType: hard + +"@protobufs/cosmwasm@npm:^0.1.1": + version: 0.1.1 + resolution: "@protobufs/cosmwasm@npm:0.1.1" + dependencies: + "@protobufs/cosmos": ^0.1.0 + "@protobufs/cosmos_proto": ^0.0.10 + "@protobufs/gogoproto": ^0.0.10 + "@protobufs/google": ^0.0.10 + checksum: ac85a9c529fdb31c530c958076f5ab2e9e80941dbea28f80bb21f90ba0ec5f71b97e5879ecd5facd3ef998df3bc7d83949d17c269aa5d0078c6c497fa0c91bf2 + languageName: node + linkType: hard + +"@protobufs/gogoproto@npm:^0.0.10": + version: 0.0.10 + resolution: "@protobufs/gogoproto@npm:0.0.10" + dependencies: + "@protobufs/google": ^0.0.10 + checksum: 732f459fe3da25bf05a3c4d01b14b1a96a3a79cc749fb4110b46f7d58668e7cca55a555d59a95c5687e003529ac9c37450d24e40b4264a3550c88441fce82906 + languageName: node + linkType: hard + +"@protobufs/google@npm:^0.0.10": + version: 0.0.10 + resolution: "@protobufs/google@npm:0.0.10" + checksum: f00447ba6b0142cde489e6d798159169e81591bac4ea1cfbd116376b3edb6d59f59513d7beaa0fd8bd3ee5c1d788648400255c3d7e04ab0c99571a3b67a1c3b0 + languageName: node + linkType: hard + +"@protobufs/ibc@npm:^0.1.0": + version: 0.1.0 + resolution: "@protobufs/ibc@npm:0.1.0" + dependencies: + "@protobufs/amino": ^0.0.11 + "@protobufs/confio": ^0.0.6 + "@protobufs/cosmos": ^0.1.0 + "@protobufs/gogoproto": ^0.0.10 + "@protobufs/google": ^0.0.10 + "@protobufs/tendermint": ^0.0.10 + checksum: 8ee6a5205ee66c0f16efb0288e4d7f553174131757013dc9c2e6eb373568be3b2a995d9fb9c73bb7a0f9f5dd5b812fe24d6e902a25f71a30e085dcd7c690b872 + languageName: node + linkType: hard + +"@protobufs/tendermint@npm:^0.0.10": + version: 0.0.10 + resolution: "@protobufs/tendermint@npm:0.0.10" + dependencies: + "@protobufs/gogoproto": ^0.0.10 + "@protobufs/google": ^0.0.10 + checksum: b165b047aa4c683337f7afb81dd2c8224ec615edd3cdb5de08c80c1bb7d4bb320339c3759cd0dabd89e010651ab84a53a589868950b1155de9d8e25eb87c0d72 + languageName: node + linkType: hard + +"@pyramation/json-schema-ref-parser@npm:9.0.6": + version: 9.0.6 + resolution: "@pyramation/json-schema-ref-parser@npm:9.0.6" + dependencies: + "@jsdevtools/ono": ^7.1.3 + call-me-maybe: ^1.0.1 + js-yaml: ^3.13.1 + checksum: d3a19b72558a20b9c00819bb9be373f9ad471f024148ccde3c7fa378c70333812e8c9c1e4c8f035d6b92504fb18685ab22cacc609c62840b64e6373298908bae + languageName: node + linkType: hard + +"@pyramation/json-schema-to-typescript@npm: 11.0.4": + version: 11.0.4 + resolution: "@pyramation/json-schema-to-typescript@npm:11.0.4" + dependencies: + "@pyramation/json-schema-ref-parser": 9.0.6 + "@types/json-schema": ^7.0.11 + "@types/lodash": ^4.14.182 + "@types/prettier": ^2.6.1 + cli-color: ^2.0.2 + get-stdin: ^8.0.0 + glob: ^7.1.6 + glob-promise: ^4.2.2 + is-glob: ^4.0.3 + lodash: ^4.17.21 + minimist: ^1.2.6 + mkdirp: ^1.0.4 + mz: ^2.7.0 + prettier: ^2.6.2 + bin: + json2ts: dist/src/cli.js + checksum: 8b965d0d46551fa985ef00ba4f64c26cd1ea7f63336db6f40722c77b9ba5574a99389ca58eca2294dc62b95ac045611ff0098f1bf2c141a4faf4808112ad6e88 + languageName: node + linkType: hard + +"@randlabs/communication-bridge@npm:1.0.1": + version: 1.0.1 + resolution: "@randlabs/communication-bridge@npm:1.0.1" + checksum: 9573e7f848c23c2b600e87b2b6a819894ad69ee0019da72b6ee3da086e52deb5a5055cb001d8f2fc014528b24c5dc476479ddb3ecf70e94abec07c80d0c771ed + languageName: node + linkType: hard + +"@randlabs/myalgo-connect@npm:^1.1.2": + version: 1.4.2 + resolution: "@randlabs/myalgo-connect@npm:1.4.2" + dependencies: + "@randlabs/communication-bridge": 1.0.1 + checksum: 2328adc8f4badae43fce9a29c0de00bc7dd56baee326eb7ed0f8eac69bfdd6e11ef3bb41cb452bad5e340f5edc8a5e5b7233b163f93aaeb80c20a57164a94fe3 + languageName: node + linkType: hard + +"@scure/base@npm:^1.1.3": + version: 1.1.3 + resolution: "@scure/base@npm:1.1.3" + checksum: 1606ab8a4db898cb3a1ada16c15437c3bce4e25854fadc8eb03ae93cbbbac1ed90655af4b0be3da37e12056fef11c0374499f69b9e658c9e5b7b3e06353c630c + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.24.1": + version: 0.24.51 + resolution: "@sinclair/typebox@npm:0.24.51" + checksum: fd0d855e748ef767eb19da1a60ed0ab928e91e0f358c1dd198d600762c0015440b15755e96d1176e2a0db7e09c6a64ed487828ee10dd0c3e22f61eb09c478cd0 + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 00bd7362a3439021aa1ea51b0e0d0a0e8ca1351a3d54c606b115fdcc49b51b16db6e5f43b4fe7a28c38688523e22a94d49dd31168868b655f0d4d50f032d07a1 + languageName: node + linkType: hard + +"@sindresorhus/is@npm:^0.14.0": + version: 0.14.0 + resolution: "@sindresorhus/is@npm:0.14.0" + checksum: 971e0441dd44ba3909b467219a5e242da0fc584048db5324cfb8048148fa8dcc9d44d71e3948972c4f6121d24e5da402ef191420d1266a95f713bb6d6e59c98a + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^3.0.0": + version: 3.0.1 + resolution: "@sinonjs/commons@npm:3.0.1" + dependencies: + type-detect: 4.0.8 + checksum: a7c3e7cc612352f4004873747d9d8b2d4d90b13a6d483f685598c945a70e734e255f1ca5dc49702515533c403b32725defff148177453b3f3915bcb60e9d4601 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^10.0.2": + version: 10.3.0 + resolution: "@sinonjs/fake-timers@npm:10.3.0" + dependencies: + "@sinonjs/commons": ^3.0.0 + checksum: 614d30cb4d5201550c940945d44c9e0b6d64a888ff2cd5b357f95ad6721070d6b8839cd10e15b76bf5e14af0bcc1d8f9ec00d49a46318f1f669a4bec1d7f3148 + languageName: node + linkType: hard + +"@smithy/abort-controller@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/abort-controller@npm:2.2.0" + dependencies: + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: d0d7fcaa7b67b04c9ad825017110cc294ff06af07f8054ac3b75d8de88ff5fbef1d08f5c1ae672db1839d14ce25f277c459d2b7b7263cbe9e6c3d4518a19230e + languageName: node + linkType: hard + +"@smithy/chunked-blob-reader-native@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/chunked-blob-reader-native@npm:2.2.0" + dependencies: + "@smithy/util-base64": ^2.3.0 + tslib: ^2.6.2 + checksum: ac619f18844e8a8288672c40b8967a82b78f5398119638b3e4fcadf451a3356139307c2d9f24c8c041530238f1ce6e0f90ce82adfcb050d08afefa2f0541c2d0 + languageName: node + linkType: hard + +"@smithy/chunked-blob-reader@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/chunked-blob-reader@npm:2.2.0" + dependencies: + tslib: ^2.6.2 + checksum: f5acb1e812f97d7c233ccf955557ac10c7e94c8c9610d2fad715d1010fe30ee686a93a5d6e589ce8ae4eb7cf201d5eab61cee5e8646bbebdfa8a5f23693d7a5a + languageName: node + linkType: hard + +"@smithy/config-resolver@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/config-resolver@npm:2.2.0" + dependencies: + "@smithy/node-config-provider": ^2.3.0 + "@smithy/types": ^2.12.0 + "@smithy/util-config-provider": ^2.3.0 + "@smithy/util-middleware": ^2.2.0 + tslib: ^2.6.2 + checksum: dcb15d40faf46c370cd83dfbf1e632fae29c64c500b33b53850a520cfb02c9fa6f7e239c07824793b47645462567d51cb1554c02f9ec4531bd51bc759aede2ed + languageName: node + linkType: hard + +"@smithy/core@npm:^1.4.2": + version: 1.4.2 + resolution: "@smithy/core@npm:1.4.2" + dependencies: + "@smithy/middleware-endpoint": ^2.5.1 + "@smithy/middleware-retry": ^2.3.1 + "@smithy/middleware-serde": ^2.3.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/smithy-client": ^2.5.1 + "@smithy/types": ^2.12.0 + "@smithy/util-middleware": ^2.2.0 + tslib: ^2.6.2 + checksum: 414ec1c392ab5346f2b833f310078d7e850df8b9e5db6fedbce65116146c2fda116d56db841401ba05b5e7399a5f5c426870d324bf6fd060143ce66e2f3eafbb + languageName: node + linkType: hard + +"@smithy/credential-provider-imds@npm:^2.3.0": + version: 2.3.0 + resolution: "@smithy/credential-provider-imds@npm:2.3.0" + dependencies: + "@smithy/node-config-provider": ^2.3.0 + "@smithy/property-provider": ^2.2.0 + "@smithy/types": ^2.12.0 + "@smithy/url-parser": ^2.2.0 + tslib: ^2.6.2 + checksum: dd57e09e60bd51ed103f7a5363a43e1373470ea3cee04ace66f5bbaafab005355ffbfa3e137e2ecac34aa28911fb5b6ecac60845846c6a4a5432f3e57a74b837 + languageName: node + linkType: hard + +"@smithy/eventstream-codec@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/eventstream-codec@npm:2.2.0" + dependencies: + "@aws-crypto/crc32": 3.0.0 + "@smithy/types": ^2.12.0 + "@smithy/util-hex-encoding": ^2.2.0 + tslib: ^2.6.2 + checksum: ae59067964e19c6728b1be74a6e19793e4d3decdcbcea546bd40f77c3cc1eacc48c30272ef68927ba477c2b6450d023474f2dec516dfd93e204150ba18cab697 + languageName: node + linkType: hard + +"@smithy/eventstream-serde-browser@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/eventstream-serde-browser@npm:2.2.0" + dependencies: + "@smithy/eventstream-serde-universal": ^2.2.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: c00bd592365f42ddafcad83f06d3c85ce8ee21bd806de903043ef132de9acca8bf1592ed811b11daba1742332928fc73a66c9032b06df2f6526da0339918f8d5 + languageName: node + linkType: hard + +"@smithy/eventstream-serde-config-resolver@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/eventstream-serde-config-resolver@npm:2.2.0" + dependencies: + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: a35dbcbc14ad1825ce22a9e7daac93067d8ade6173a3ce33b819eed61390f8d93ea63b70945f6d1bced175fad58def3d09a14ee3043c63a798ecef407b2d1701 + languageName: node + linkType: hard + +"@smithy/eventstream-serde-node@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/eventstream-serde-node@npm:2.2.0" + dependencies: + "@smithy/eventstream-serde-universal": ^2.2.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 1d4971b99654c4672716608a63e668ccefd78cc1806c0ea4df5c3cc0ca0208b7647f7914d2c77a37d0a29b31b66cff660ce2ab2f46f56d997c9a58ea6b6241b2 + languageName: node + linkType: hard + +"@smithy/eventstream-serde-universal@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/eventstream-serde-universal@npm:2.2.0" + dependencies: + "@smithy/eventstream-codec": ^2.2.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: c28038c2f57deed7b5e0e5f8ab8150d4a7947f2971241da96ef1d53b45d83dfa661717065f059099c420ee66ae2455818ae124bb8601b609558040d4a7509227 + languageName: node + linkType: hard + +"@smithy/fetch-http-handler@npm:^2.5.0": + version: 2.5.0 + resolution: "@smithy/fetch-http-handler@npm:2.5.0" + dependencies: + "@smithy/protocol-http": ^3.3.0 + "@smithy/querystring-builder": ^2.2.0 + "@smithy/types": ^2.12.0 + "@smithy/util-base64": ^2.3.0 + tslib: ^2.6.2 + checksum: 91a58ac32c6b4afc6d7fb2b9ac3e3b817171f76e09b013a6506308b044455054444a92e1acbd8f98bdd159b15fdd44b1e3fb52c21cbb2e69be8e3698d2206021 + languageName: node + linkType: hard + +"@smithy/hash-blob-browser@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/hash-blob-browser@npm:2.2.0" + dependencies: + "@smithy/chunked-blob-reader": ^2.2.0 + "@smithy/chunked-blob-reader-native": ^2.2.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 1b748b4449ccee723c8b47a412491283fa7b5a2a6c27b0b73e03d905c2af70b56b74d63a658d8ef0bd330cc4617bc11431c86e24a4932b4722aad08e1b25e576 + languageName: node + linkType: hard + +"@smithy/hash-node@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/hash-node@npm:2.2.0" + dependencies: + "@smithy/types": ^2.12.0 + "@smithy/util-buffer-from": ^2.2.0 + "@smithy/util-utf8": ^2.3.0 + tslib: ^2.6.2 + checksum: 3305b5778fa99558375b16629ad98fd00a1fb33ea905037977b0a7c93d92c8de1481756ef7dbc004e45210b23f983dec04bcd13d43c98f36a5f47291cbed9d89 + languageName: node + linkType: hard + +"@smithy/hash-stream-node@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/hash-stream-node@npm:2.2.0" + dependencies: + "@smithy/types": ^2.12.0 + "@smithy/util-utf8": ^2.3.0 + tslib: ^2.6.2 + checksum: 191d76fd1df705c32d24463794f8b8b391061c7ca7265591cd4f070259fa80395c2f115fd3d37f6bb3a4a2303b3811a31509ea767d0c3d0a9644789ae8283118 + languageName: node + linkType: hard + +"@smithy/invalid-dependency@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/invalid-dependency@npm:2.2.0" + dependencies: + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: ed17980ccdf4c564cfcb517f3959dfeb7c7dbddd76eaf2c9e10031ebd19e78e56609df3377626215e51a6c4b98db03cfa88ad46f15ba26bb55c34351f3182a98 + languageName: node + linkType: hard + +"@smithy/is-array-buffer@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/is-array-buffer@npm:2.2.0" + dependencies: + tslib: ^2.6.2 + checksum: cd12c2e27884fec89ca8966d33c9dc34d3234efe89b33a9b309c61ebcde463e6f15f6a02d31d4fddbfd6e5904743524ca5b95021b517b98fe10957c2da0cd5fc + languageName: node + linkType: hard + +"@smithy/md5-js@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/md5-js@npm:2.2.0" + dependencies: + "@smithy/types": ^2.12.0 + "@smithy/util-utf8": ^2.3.0 + tslib: ^2.6.2 + checksum: ae343c198a8d8c6689bcb1d7f766e29578d370e8d79180db9b6183b5c74ac091829e8abe3053df0589f53324c01a79c7f9e889e5cd92094e3b5c4be96fb7b970 + languageName: node + linkType: hard + +"@smithy/middleware-content-length@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/middleware-content-length@npm:2.2.0" + dependencies: + "@smithy/protocol-http": ^3.3.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 1eae8d2b6f432ce9a849e741d4f2426baee8a51f22a5262c11802e125078ee33d9d8f4183fb142043ba9d1371adad9c835c784333a394d865fb248339f7482e6 + languageName: node + linkType: hard + +"@smithy/middleware-endpoint@npm:^2.5.1": + version: 2.5.1 + resolution: "@smithy/middleware-endpoint@npm:2.5.1" + dependencies: + "@smithy/middleware-serde": ^2.3.0 + "@smithy/node-config-provider": ^2.3.0 + "@smithy/shared-ini-file-loader": ^2.4.0 + "@smithy/types": ^2.12.0 + "@smithy/url-parser": ^2.2.0 + "@smithy/util-middleware": ^2.2.0 + tslib: ^2.6.2 + checksum: 7ac2a35a6f52c33d868fc4b73330ae34fecfc43c59b8d501ee9fb81924c6747494700b55b3025b83fe7bea3d4e323c8853ec5b117c17cccf06cc27bbc4f492b2 + languageName: node + linkType: hard + +"@smithy/middleware-retry@npm:^2.3.1": + version: 2.3.1 + resolution: "@smithy/middleware-retry@npm:2.3.1" + dependencies: + "@smithy/node-config-provider": ^2.3.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/service-error-classification": ^2.1.5 + "@smithy/smithy-client": ^2.5.1 + "@smithy/types": ^2.12.0 + "@smithy/util-middleware": ^2.2.0 + "@smithy/util-retry": ^2.2.0 + tslib: ^2.6.2 + uuid: ^9.0.1 + checksum: 5eebf9d26fccc6c8c517924463e93d244edebe52d120b28d5d705904f83773da1734296b8d57b4f30a15cbf36690e508f5946dfd56749cbcda501d08cb778933 + languageName: node + linkType: hard + +"@smithy/middleware-serde@npm:^2.3.0": + version: 2.3.0 + resolution: "@smithy/middleware-serde@npm:2.3.0" + dependencies: + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 5393370c0f8a820d8ca36eccecff5b6434c4f81fbaad8800088fb4c8dad5312bf3eb47f67533784de959807bbb3379c23d81a1bcbaf8824254034dd2b83fd76b + languageName: node + linkType: hard + +"@smithy/middleware-stack@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/middleware-stack@npm:2.2.0" + dependencies: + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 293d76764e327a5ada4ea7de268f451e62a6a56983ba7dcdbc63fdbb0427c01071a9a81d7807b16586977df829ce5d9587facbd9367b089841bbc9fc329ce6af + languageName: node + linkType: hard + +"@smithy/node-config-provider@npm:^2.3.0": + version: 2.3.0 + resolution: "@smithy/node-config-provider@npm:2.3.0" + dependencies: + "@smithy/property-provider": ^2.2.0 + "@smithy/shared-ini-file-loader": ^2.4.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 9c1dc6d97e0379d947498e7d64e593ea183d5f2c89dace4561c1c613850bf264581b597105c15d64ceabdea954e57ad8e6bf9e42642ddc3f737464f350ffbb5b + languageName: node + linkType: hard + +"@smithy/node-http-handler@npm:^2.5.0": + version: 2.5.0 + resolution: "@smithy/node-http-handler@npm:2.5.0" + dependencies: + "@smithy/abort-controller": ^2.2.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/querystring-builder": ^2.2.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 2e63fafdac5bef62181994af2ec065b0f7f04eaed88fb2990a21a9925226fead5013cf4f232b527f3f4d9ffb68ccbe8cd263ad22a7351d36b0dc23e975929a0c + languageName: node + linkType: hard + +"@smithy/property-provider@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/property-provider@npm:2.2.0" + dependencies: + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 8d257cbc5222baf6706e288c3b51196588f135878141f8af76fcb3f0abafc027ed46cf4bb938266d1906111175082ee85f73806d5a2b1c929aee16ec8b5283e6 + languageName: node + linkType: hard + +"@smithy/protocol-http@npm:^3.3.0": + version: 3.3.0 + resolution: "@smithy/protocol-http@npm:3.3.0" + dependencies: + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 6c1aaaee9f6ecfb841766938312268f30cbda253f172de7467463aae7d7bfea19a801ab570f3737334e992d2d0ee7446e6af6a6fd82b08533790c489289dff76 + languageName: node + linkType: hard + +"@smithy/querystring-builder@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/querystring-builder@npm:2.2.0" + dependencies: + "@smithy/types": ^2.12.0 + "@smithy/util-uri-escape": ^2.2.0 + tslib: ^2.6.2 + checksum: db492903302a694a0e982c37b9a74314160c5ee485742f24f8b6d0da66f121e7ff8588742a3a1964f6b983c15cacd52b883c5efa714882a754f575da7a7e014d + languageName: node + linkType: hard + +"@smithy/querystring-parser@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/querystring-parser@npm:2.2.0" + dependencies: + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 9b27751c329fecc84bdfe7f128ab766c7e5f1d4bdda6184699a0df8999e95aef21fafc6179d6c693e519c78874e738fd9afb5ac4679901cb68d092a86a612419 + languageName: node + linkType: hard + +"@smithy/service-error-classification@npm:^2.1.5": + version: 2.1.5 + resolution: "@smithy/service-error-classification@npm:2.1.5" + dependencies: + "@smithy/types": ^2.12.0 + checksum: 00ac54110a258c7a47c62d4f655d4998bd40e5adb47e10281b28df7a585f2f1e960dc35325eac006636280e7fb2b81dbeb32b89e08bac87acc136c4d29a4dc53 + languageName: node + linkType: hard + +"@smithy/shared-ini-file-loader@npm:^2.4.0": + version: 2.4.0 + resolution: "@smithy/shared-ini-file-loader@npm:2.4.0" + dependencies: + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: b0c9e045bfe2150e07f4b31ae7d69d3646679337df9fec1e1201b845cc64ea2250c37db8e8d0e7573fc3c11188164adba43bbaf32275fa8a9f70e8bbc77146bf languageName: node linkType: hard -"@protobufjs/inquire@npm:^1.1.0": - version: 1.1.0 - resolution: "@protobufjs/inquire@npm:1.1.0" - checksum: ca06f02eaf65ca36fb7498fc3492b7fc087bfcc85c702bac5b86fad34b692bdce4990e0ef444c1e2aea8c034227bd1f0484be02810d5d7e931c55445555646f4 +"@smithy/signature-v4@npm:^2.2.1": + version: 2.3.0 + resolution: "@smithy/signature-v4@npm:2.3.0" + dependencies: + "@smithy/is-array-buffer": ^2.2.0 + "@smithy/types": ^2.12.0 + "@smithy/util-hex-encoding": ^2.2.0 + "@smithy/util-middleware": ^2.2.0 + "@smithy/util-uri-escape": ^2.2.0 + "@smithy/util-utf8": ^2.3.0 + tslib: ^2.6.2 + checksum: 96050956b86876d0137af9b003d0a30005766bffc730495d7c106bd2eb05c8ada2da23ceac51d56e04f98b304e0ea55d698e1a10c99cda3ade44b3ac30166a00 languageName: node linkType: hard -"@protobufjs/path@npm:^1.1.2": - version: 1.1.2 - resolution: "@protobufjs/path@npm:1.1.2" - checksum: 856eeb532b16a7aac071cacde5c5620df800db4c80cee6dbc56380524736205aae21e5ae47739114bf669ab5e8ba0e767a282ad894f3b5e124197cb9224445ee +"@smithy/smithy-client@npm:^2.5.1": + version: 2.5.1 + resolution: "@smithy/smithy-client@npm:2.5.1" + dependencies: + "@smithy/middleware-endpoint": ^2.5.1 + "@smithy/middleware-stack": ^2.2.0 + "@smithy/protocol-http": ^3.3.0 + "@smithy/types": ^2.12.0 + "@smithy/util-stream": ^2.2.0 + tslib: ^2.6.2 + checksum: 10d51793aab8f6e0ba0890a2a101216ffc3a1c43664f8ed9688dcbc174ca0f83f2d1c8d7af484c84491174067af3d6b235b765a58b12f2308a6bfe42b1d74f59 languageName: node linkType: hard -"@protobufjs/pool@npm:^1.1.0": - version: 1.1.0 - resolution: "@protobufjs/pool@npm:1.1.0" - checksum: d6a34fbbd24f729e2a10ee915b74e1d77d52214de626b921b2d77288bd8f2386808da2315080f2905761527cceffe7ec34c7647bd21a5ae41a25e8212ff79451 +"@smithy/types@npm:^2.12.0": + version: 2.12.0 + resolution: "@smithy/types@npm:2.12.0" + dependencies: + tslib: ^2.6.2 + checksum: 2dd93746624d87afbf51c22116fc69f82e95004b78cf681c4a283d908155c22a2b7a3afbd64a3aff7deefb6619276f186e212422ad200df3b42c32ef5330374e languageName: node linkType: hard -"@protobufjs/utf8@npm:^1.1.0": - version: 1.1.0 - resolution: "@protobufjs/utf8@npm:1.1.0" - checksum: f9bf3163d13aaa3b6f5e6fbf37a116e094ea021c0e1f2a7ccd0e12a29e2ce08dafba4e8b36e13f8ed7397e1591610ce880ed1289af4d66cf4ace8a36a9557278 +"@smithy/url-parser@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/url-parser@npm:2.2.0" + dependencies: + "@smithy/querystring-parser": ^2.2.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: f21f1e44bc2a4634220465990651f5ee0708cb6759b3685b8a8c00cc2cd64bbbc7807f66cd79ec6e654f7245867d4fb4ced406ad5c14612ebc47eae3f34e63c5 languageName: node linkType: hard -"@protobufs/amino@npm:^0.0.11": - version: 0.0.11 - resolution: "@protobufs/amino@npm:0.0.11" +"@smithy/util-base64@npm:^2.3.0": + version: 2.3.0 + resolution: "@smithy/util-base64@npm:2.3.0" dependencies: - "@protobufs/google": ^0.0.10 - checksum: 7edb8b2804c302055512ebe2518243ff2b1cc7701c29f1a7c940d873069bfbca831dab0c517f49b21083d729d30b0e52f4530b7bb8e2fe85c0a16aa01d5d4808 + "@smithy/util-buffer-from": ^2.2.0 + "@smithy/util-utf8": ^2.3.0 + tslib: ^2.6.2 + checksum: 2ce995c5d12037e9518bb2732f24090bc493d48118dfd6519faa41e19cd91863895bc0b5958b790d2cdeb919a8c410790dcffa3a452d560f0eeab73dc0c92cbd languageName: node linkType: hard -"@protobufs/confio@npm:^0.0.6": - version: 0.0.6 - resolution: "@protobufs/confio@npm:0.0.6" - checksum: 82bd4954e3c2f076b88dd33283aaa9f35b4d622656018c0e579fcb8225fca2c6ae72442e47ce464891b8a1988f3f37abc7bffb83ba8d3de970ccf6cf9da6acdf +"@smithy/util-body-length-browser@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/util-body-length-browser@npm:2.2.0" + dependencies: + tslib: ^2.6.2 + checksum: e9c1d16b3b95d529011476e6154eaf282d3a983204b29dcf1e7ef04a9f5c2deae30167e06190f315771c813c768f19f486d3139fe9fcaf34d12c2333350f3412 languageName: node linkType: hard -"@protobufs/cosmos@npm:^0.1.0": - version: 0.1.0 - resolution: "@protobufs/cosmos@npm:0.1.0" +"@smithy/util-body-length-node@npm:^2.3.0": + version: 2.3.0 + resolution: "@smithy/util-body-length-node@npm:2.3.0" dependencies: - "@protobufs/amino": ^0.0.11 - "@protobufs/cosmos_proto": ^0.0.10 - "@protobufs/gogoproto": ^0.0.10 - "@protobufs/google": ^0.0.10 - "@protobufs/tendermint": ^0.0.10 - checksum: 263beb8a8fad2dabb95931aa70fa83b4dd48360e8cfceb030dd0d60f4975f8a59d98bd312895b9acc167f09cd15e369c3443e1c7d2a321fe903b48f93aa7a707 + tslib: ^2.6.2 + checksum: 5d5c31b071e0b3222dcfe863ea2d179253f0dfaa30d03f40ebfa352ed292e00a451053cc523e27527e61094d5ed475069d2287ef19a857c6da0364ca71cfdf3c languageName: node linkType: hard -"@protobufs/cosmos_proto@npm:^0.0.10": - version: 0.0.10 - resolution: "@protobufs/cosmos_proto@npm:0.0.10" +"@smithy/util-buffer-from@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/util-buffer-from@npm:2.2.0" dependencies: - "@protobufs/google": ^0.0.10 - checksum: ef173097582a19c4e2a666de75338736798687f71045a91ed5329dec6d1bc0bc5a010b40060f97eb6aa16e86ff73976bf760ddff7ad14fd81148f6b9907bda8b + "@smithy/is-array-buffer": ^2.2.0 + tslib: ^2.6.2 + checksum: 424c5b7368ae5880a8f2732e298d17879a19ca925f24ca45e1c6c005f717bb15b76eb28174d308d81631ad457ea0088aab0fd3255dd42f45a535c81944ad64d3 languageName: node linkType: hard -"@protobufs/cosmwasm@npm:^0.1.1": - version: 0.1.1 - resolution: "@protobufs/cosmwasm@npm:0.1.1" +"@smithy/util-config-provider@npm:^2.3.0": + version: 2.3.0 + resolution: "@smithy/util-config-provider@npm:2.3.0" dependencies: - "@protobufs/cosmos": ^0.1.0 - "@protobufs/cosmos_proto": ^0.0.10 - "@protobufs/gogoproto": ^0.0.10 - "@protobufs/google": ^0.0.10 - checksum: ac85a9c529fdb31c530c958076f5ab2e9e80941dbea28f80bb21f90ba0ec5f71b97e5879ecd5facd3ef998df3bc7d83949d17c269aa5d0078c6c497fa0c91bf2 + tslib: ^2.6.2 + checksum: 0f3f113c2658bd5a79f98dc28d53ca9c0adf8ec3c8c86c7dd91d2cd37149b4cf83d85cc89d5fe67ffe5cd319ec85f139ef229844eb039017193b307a4c315399 languageName: node linkType: hard -"@protobufs/gogoproto@npm:^0.0.10": - version: 0.0.10 - resolution: "@protobufs/gogoproto@npm:0.0.10" +"@smithy/util-defaults-mode-browser@npm:^2.2.1": + version: 2.2.1 + resolution: "@smithy/util-defaults-mode-browser@npm:2.2.1" dependencies: - "@protobufs/google": ^0.0.10 - checksum: 732f459fe3da25bf05a3c4d01b14b1a96a3a79cc749fb4110b46f7d58668e7cca55a555d59a95c5687e003529ac9c37450d24e40b4264a3550c88441fce82906 + "@smithy/property-provider": ^2.2.0 + "@smithy/smithy-client": ^2.5.1 + "@smithy/types": ^2.12.0 + bowser: ^2.11.0 + tslib: ^2.6.2 + checksum: 286337d9165181e1df3d28d348210e88f20662ec63a9d6c1bcfce3342003de130a218dab42ce64aa4399ef345e2528414f73f399f8f4c8e9a6fcbc8e48250f98 languageName: node linkType: hard -"@protobufs/google@npm:^0.0.10": - version: 0.0.10 - resolution: "@protobufs/google@npm:0.0.10" - checksum: f00447ba6b0142cde489e6d798159169e81591bac4ea1cfbd116376b3edb6d59f59513d7beaa0fd8bd3ee5c1d788648400255c3d7e04ab0c99571a3b67a1c3b0 +"@smithy/util-defaults-mode-node@npm:^2.3.1": + version: 2.3.1 + resolution: "@smithy/util-defaults-mode-node@npm:2.3.1" + dependencies: + "@smithy/config-resolver": ^2.2.0 + "@smithy/credential-provider-imds": ^2.3.0 + "@smithy/node-config-provider": ^2.3.0 + "@smithy/property-provider": ^2.2.0 + "@smithy/smithy-client": ^2.5.1 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 7fb9d0ac8b5919955399284c1801f49a1f5275f6cf240894ba0a91a8825248bb167938647a983d89905d6bfa7b226789781e85d2ff7f27c58cdd32c2e68600ae languageName: node linkType: hard -"@protobufs/ibc@npm:^0.1.0": - version: 0.1.0 - resolution: "@protobufs/ibc@npm:0.1.0" +"@smithy/util-endpoints@npm:^1.2.0": + version: 1.2.0 + resolution: "@smithy/util-endpoints@npm:1.2.0" dependencies: - "@protobufs/amino": ^0.0.11 - "@protobufs/confio": ^0.0.6 - "@protobufs/cosmos": ^0.1.0 - "@protobufs/gogoproto": ^0.0.10 - "@protobufs/google": ^0.0.10 - "@protobufs/tendermint": ^0.0.10 - checksum: 8ee6a5205ee66c0f16efb0288e4d7f553174131757013dc9c2e6eb373568be3b2a995d9fb9c73bb7a0f9f5dd5b812fe24d6e902a25f71a30e085dcd7c690b872 + "@smithy/node-config-provider": ^2.3.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 19a59b1c9b214457371d4d7109b190c237de5ebd06f5b4f3665dddc5fe0879dbb19bcdc5dec23d1825cd04388b7f9bf7fddf354e1a23e84d9c690ad21e71cb86 languageName: node linkType: hard -"@protobufs/tendermint@npm:^0.0.10": - version: 0.0.10 - resolution: "@protobufs/tendermint@npm:0.0.10" +"@smithy/util-hex-encoding@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/util-hex-encoding@npm:2.2.0" dependencies: - "@protobufs/gogoproto": ^0.0.10 - "@protobufs/google": ^0.0.10 - checksum: b165b047aa4c683337f7afb81dd2c8224ec615edd3cdb5de08c80c1bb7d4bb320339c3759cd0dabd89e010651ab84a53a589868950b1155de9d8e25eb87c0d72 + tslib: ^2.6.2 + checksum: 7d14589bc4a44eebf878595290c53ee4d90cc6b5445b5fe130608d6dea477c292730b85e4e08190a1555ef7664214f0f00dc478ba725516787a49fff658e725e languageName: node linkType: hard -"@pyramation/json-schema-ref-parser@npm:9.0.6": - version: 9.0.6 - resolution: "@pyramation/json-schema-ref-parser@npm:9.0.6" +"@smithy/util-middleware@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/util-middleware@npm:2.2.0" dependencies: - "@jsdevtools/ono": ^7.1.3 - call-me-maybe: ^1.0.1 - js-yaml: ^3.13.1 - checksum: d3a19b72558a20b9c00819bb9be373f9ad471f024148ccde3c7fa378c70333812e8c9c1e4c8f035d6b92504fb18685ab22cacc609c62840b64e6373298908bae + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 312dc86e5415a12e2580a02311750b350aec8fb9da5a60c3010c10694990ded869b7ca5b87aa20e5facbacdd233e928e418b7765d7797019cd48177052aedd03 languageName: node linkType: hard -"@pyramation/json-schema-to-typescript@npm: 11.0.4": - version: 11.0.4 - resolution: "@pyramation/json-schema-to-typescript@npm:11.0.4" +"@smithy/util-retry@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/util-retry@npm:2.2.0" dependencies: - "@pyramation/json-schema-ref-parser": 9.0.6 - "@types/json-schema": ^7.0.11 - "@types/lodash": ^4.14.182 - "@types/prettier": ^2.6.1 - cli-color: ^2.0.2 - get-stdin: ^8.0.0 - glob: ^7.1.6 - glob-promise: ^4.2.2 - is-glob: ^4.0.3 - lodash: ^4.17.21 - minimist: ^1.2.6 - mkdirp: ^1.0.4 - mz: ^2.7.0 - prettier: ^2.6.2 - bin: - json2ts: dist/src/cli.js - checksum: 8b965d0d46551fa985ef00ba4f64c26cd1ea7f63336db6f40722c77b9ba5574a99389ca58eca2294dc62b95ac045611ff0098f1bf2c141a4faf4808112ad6e88 + "@smithy/service-error-classification": ^2.1.5 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 1a8071c8ac5a2646b3d3894e3bd9c36a9db045f52eadb194f32b02d2fdedd69fb267a2b02bcef9f91d0f8f3fe061754ac075d07ac166d90894acb27d68c62a41 languageName: node linkType: hard -"@scure/base@npm:^1.1.3": - version: 1.1.3 - resolution: "@scure/base@npm:1.1.3" - checksum: 1606ab8a4db898cb3a1ada16c15437c3bce4e25854fadc8eb03ae93cbbbac1ed90655af4b0be3da37e12056fef11c0374499f69b9e658c9e5b7b3e06353c630c +"@smithy/util-stream@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/util-stream@npm:2.2.0" + dependencies: + "@smithy/fetch-http-handler": ^2.5.0 + "@smithy/node-http-handler": ^2.5.0 + "@smithy/types": ^2.12.0 + "@smithy/util-base64": ^2.3.0 + "@smithy/util-buffer-from": ^2.2.0 + "@smithy/util-hex-encoding": ^2.2.0 + "@smithy/util-utf8": ^2.3.0 + tslib: ^2.6.2 + checksum: f0febd1a7558201d9178c0018478f89729800e9b8962dc735ec99f41ce01d1128373e3bd6008f0b4ff79b25ee4476db4fd5fa18d6feeb8b5b715d416da7027c3 languageName: node linkType: hard -"@sinclair/typebox@npm:^0.24.1": - version: 0.24.51 - resolution: "@sinclair/typebox@npm:0.24.51" - checksum: fd0d855e748ef767eb19da1a60ed0ab928e91e0f358c1dd198d600762c0015440b15755e96d1176e2a0db7e09c6a64ed487828ee10dd0c3e22f61eb09c478cd0 +"@smithy/util-uri-escape@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/util-uri-escape@npm:2.2.0" + dependencies: + tslib: ^2.6.2 + checksum: bade35312d75d1c84226f2a81b70dfef91766c02ecb6c6854b6f920cddb423e01963f7d0c183d523b5991f8e7ca93bcf73f8b3c6923979152b8350c9f3c24fd6 languageName: node linkType: hard -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 00bd7362a3439021aa1ea51b0e0d0a0e8ca1351a3d54c606b115fdcc49b51b16db6e5f43b4fe7a28c38688523e22a94d49dd31168868b655f0d4d50f032d07a1 +"@smithy/util-utf8@npm:^2.3.0": + version: 2.3.0 + resolution: "@smithy/util-utf8@npm:2.3.0" + dependencies: + "@smithy/util-buffer-from": ^2.2.0 + tslib: ^2.6.2 + checksum: 00e55d4b4e37d48be0eef3599082402b933c52a1407fed7e8e8ad76d94d81a0b30b8bfaf2047c59d9c3af31e5f20e7a8c959cb7ae270f894255e05a2229964f0 languageName: node linkType: hard -"@sindresorhus/is@npm:^0.14.0": - version: 0.14.0 - resolution: "@sindresorhus/is@npm:0.14.0" - checksum: 971e0441dd44ba3909b467219a5e242da0fc584048db5324cfb8048148fa8dcc9d44d71e3948972c4f6121d24e5da402ef191420d1266a95f713bb6d6e59c98a +"@smithy/util-waiter@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/util-waiter@npm:2.2.0" + dependencies: + "@smithy/abort-controller": ^2.2.0 + "@smithy/types": ^2.12.0 + tslib: ^2.6.2 + checksum: 303f56beb9ba4afada862eff4950a17d904a4fdfc01bd8acb932b0457e457730981162777004414252e700014c554d894a1ce9d32e0bad75e1a4a2ca6492429e languageName: node linkType: hard -"@sinonjs/commons@npm:^3.0.0": - version: 3.0.1 - resolution: "@sinonjs/commons@npm:3.0.1" +"@solana/buffer-layout@npm:^4.0.1": + version: 4.0.1 + resolution: "@solana/buffer-layout@npm:4.0.1" dependencies: - type-detect: 4.0.8 - checksum: a7c3e7cc612352f4004873747d9d8b2d4d90b13a6d483f685598c945a70e734e255f1ca5dc49702515533c403b32725defff148177453b3f3915bcb60e9d4601 + buffer: ~6.0.3 + checksum: bf846888e813187243d4008a7a9f58b49d16cbd995b9d7f1b72898aa510ed77b1ce5e8468e7b2fd26dd81e557a4e74a666e21fccb95f123c1f740d41138bbacd languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^10.0.2": - version: 10.3.0 - resolution: "@sinonjs/fake-timers@npm:10.3.0" +"@solana/wallet-adapter-base@npm:^0.9.2": + version: 0.9.23 + resolution: "@solana/wallet-adapter-base@npm:0.9.23" dependencies: - "@sinonjs/commons": ^3.0.0 - checksum: 614d30cb4d5201550c940945d44c9e0b6d64a888ff2cd5b357f95ad6721070d6b8839cd10e15b76bf5e14af0bcc1d8f9ec00d49a46318f1f669a4bec1d7f3148 + "@solana/wallet-standard-features": ^1.1.0 + "@wallet-standard/base": ^1.0.1 + "@wallet-standard/features": ^1.0.3 + eventemitter3: ^4.0.7 + peerDependencies: + "@solana/web3.js": ^1.77.3 + checksum: bd2fc54ae3d82758378c3eb92ab47b976335376082323d3e954e1c18dd35db1fa503eb8d2dd1dd6f6d7936cedfc02ff5db7a5e2f8fc00f6c7d37cf131df906cc + languageName: node + linkType: hard + +"@solana/wallet-standard-features@npm:^1.1.0": + version: 1.2.0 + resolution: "@solana/wallet-standard-features@npm:1.2.0" + dependencies: + "@wallet-standard/base": ^1.0.1 + "@wallet-standard/features": ^1.0.3 + checksum: 03ec568f9a4a945970dda57abed4c5a9f669798b272bd7c2d6c135c8baeba8fd78a5fd6d850364dba8257eaf84b7bf8578ba039666f377206c2fd89f6093fca3 + languageName: node + linkType: hard + +"@solana/web3.js@npm:^1.36.0": + version: 1.91.4 + resolution: "@solana/web3.js@npm:1.91.4" + dependencies: + "@babel/runtime": ^7.23.4 + "@noble/curves": ^1.2.0 + "@noble/hashes": ^1.3.3 + "@solana/buffer-layout": ^4.0.1 + agentkeepalive: ^4.5.0 + bigint-buffer: ^1.1.5 + bn.js: ^5.2.1 + borsh: ^0.7.0 + bs58: ^4.0.1 + buffer: 6.0.3 + fast-stable-stringify: ^1.0.0 + jayson: ^4.1.0 + node-fetch: ^2.7.0 + rpc-websockets: ^7.5.1 + superstruct: ^0.14.2 + checksum: 9f6ac2f64ac05043cb367c09d5b4f4b859060618dbffc7a27da35fccdac0be9bd84b83899c9547efedc061fa7e20af283a9bacff01972bd047089809facfbdfe languageName: node linkType: hard @@ -3787,9 +6300,9 @@ __metadata: languageName: node linkType: hard -"@subql/node-core@npm:^10.0.0": - version: 10.0.0 - resolution: "@subql/node-core@npm:10.0.0" +"@subql/node-core@npm:^10.1.0": + version: 10.1.0 + resolution: "@subql/node-core@npm:10.1.0" dependencies: "@apollo/client": ^3.8.8 "@nestjs/common": ^9.4.0 @@ -3798,10 +6311,11 @@ __metadata: "@subql/common": 3.5.1 "@subql/testing": 2.1.1 "@subql/types": 3.5.0 - "@subql/utils": 2.9.1 + "@subql/utils": 2.9.2 "@willsoto/nestjs-prometheus": ^5.4.0 async-lock: ^1.4.0 async-mutex: ^0.4.0 + cron-converter: ^2.0.1 cross-fetch: ^3.1.6 csv-stringify: ^6.4.5 dayjs: ^1.10.7 @@ -3814,7 +6328,7 @@ __metadata: toposort-class: ^1.0.1 vm2: ^3.9.19 yargs: ^16.2.0 - checksum: c52c304ea23c10a171ef411b877032c88733eb6a2262b4a167de9484f7e1fed567bdc36ad1bcb7f9a610d1774a348bd203dc82dd1f7c52f693ff7756c4097d4f + checksum: b7df8c672e93bc6339d47c4a8c806dd8fca7c1a24e0ce0ac065925928151bc476b8cf9f6149e85c472085f81800d601a79ea6fd8e1e0ca09636b09fdc3371dd0 languageName: node linkType: hard @@ -3825,6 +6339,8 @@ __metadata: "@cosmjs/cosmwasm-stargate": ^0.32.3 "@cosmjs/proto-signing": ^0.32.3 "@cosmjs/stargate": ^0.32.3 + "@kyvejs/protocol": ^1.0.12 + "@kyvejs/sdk": ^1.1.1 "@nestjs/common": ^9.4.0 "@nestjs/core": ^9.4.0 "@nestjs/event-emitter": ^2.0.0 @@ -3834,7 +6350,7 @@ __metadata: "@nestjs/testing": ^9.4.0 "@subql/common": ^3.5.1 "@subql/common-cosmos": "workspace:*" - "@subql/node-core": ^10.0.0 + "@subql/node-core": ^10.1.0 "@subql/types-cosmos": "workspace:*" "@types/express": ^4.17.13 "@types/jest": ^27.4.0 @@ -3842,17 +6358,12 @@ __metadata: "@types/pino": ^6.3.12 "@types/tar": ^6.1.1 "@types/yargs": ^16.0.4 - cron-converter: ^1.0.2 dotenv: ^15.0.1 - eventemitter2: ^6.4.5 lodash: ^4.17.21 nodemon: ^2.0.15 - pg: ^8.7.1 protobufjs: ^6.11.4 reflect-metadata: ^0.1.13 rimraf: ^3.0.2 - rxjs: ^7.5.2 - vm2: ^3.9.9 yargs: ^16.2.0 peerDependencies: "@subql/utils": "*" @@ -3901,9 +6412,9 @@ __metadata: languageName: node linkType: hard -"@subql/utils@npm:2.9.1": - version: 2.9.1 - resolution: "@subql/utils@npm:2.9.1" +"@subql/utils@npm:2.9.2": + version: 2.9.2 + resolution: "@subql/utils@npm:2.9.2" dependencies: "@polkadot/util": ^12.5.1 "@polkadot/util-crypto": ^12.5.1 @@ -3919,7 +6430,7 @@ __metadata: rotating-file-stream: ^3.0.2 semver: ^7.5.2 tar: ^6.2.1 - checksum: 555c215f44ac6f6828ade30c3643e260bf99ef3c14381d14a9e9ba3c9fa5cfd0a4e938b3a2fbd907379ad2b832bb79a5071f96966b32d751824affb9cea266c8 + checksum: fd2f32136d0324e3b19e826e4760e90db36e66b580ee244e77fa96124389d3253923c74ab98a07799803ba2421c285b68bc42b295e8a3b48376db34405adb872 languageName: node linkType: hard @@ -4055,6 +6566,13 @@ __metadata: languageName: node linkType: hard +"@supercharge/promise-pool@npm:^2.1.0": + version: 2.4.0 + resolution: "@supercharge/promise-pool@npm:2.4.0" + checksum: d21223256ba05c34a29742172e2b625627038e731f511de0b728c638531096ce12d1a4156fd04e3b34eec980ce8445a66a9d8d070fde7886c9b33a0d759ab2e9 + languageName: node + linkType: hard + "@szmarczak/http-timer@npm:^1.1.2": version: 1.1.2 resolution: "@szmarczak/http-timer@npm:1.1.2" @@ -4168,6 +6686,15 @@ __metadata: languageName: node linkType: hard +"@types/cli-progress@npm:^3.9.2": + version: 3.11.5 + resolution: "@types/cli-progress@npm:3.11.5" + dependencies: + "@types/node": "*" + checksum: 571fb3b11646415ac49c90e8003b82f3ac58d75fde5952caf40b4a079517b6e25e79ab0a7455d0ab0398d0b2de062646dba075d3d1f8d147eed2ab4d41abbf64 + languageName: node + linkType: hard + "@types/connect@npm:*": version: 3.4.36 resolution: "@types/connect@npm:3.4.36" @@ -4177,12 +6704,12 @@ __metadata: languageName: node linkType: hard -"@types/cron-converter@npm:^1": - version: 1.0.1 - resolution: "@types/cron-converter@npm:1.0.1" +"@types/connect@npm:^3.4.33": + version: 3.4.38 + resolution: "@types/connect@npm:3.4.38" dependencies: - moment: ">=2.14.0" - checksum: 93a0a81d44a12d7cc748e124e459037349863ecf10c47316c7693e96367c735fe463afb2bd22f82c5bdb2679e67f247dfca71403d3e4df0bee2d24b63698004a + "@types/node": "*" + checksum: 7eb1bc5342a9604facd57598a6c62621e244822442976c443efb84ff745246b10d06e8b309b6e80130026a396f19bf6793b7cecd7380169f369dac3bfc46fb99 languageName: node linkType: hard @@ -4337,6 +6864,15 @@ __metadata: languageName: node linkType: hard +"@types/jsonfile@npm:^6.0.1": + version: 6.1.4 + resolution: "@types/jsonfile@npm:6.1.4" + dependencies: + "@types/node": "*" + checksum: 309fda20eb5f1cf68f2df28931afdf189c5e7e6bec64ac783ce737bb98908d57f6f58757ad5da9be37b815645a6f914e2d4f3ac66c574b8fe1ba6616284d0e97 + languageName: node + linkType: hard + "@types/keyv@npm:^3.1.1": version: 3.1.4 resolution: "@types/keyv@npm:3.1.4" @@ -4428,6 +6964,34 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:10.12.18": + version: 10.12.18 + resolution: "@types/node@npm:10.12.18" + checksum: 333cedae77961347d44329d4042ab0b04569366c4659923bbc3434252d01d63a660375b4e64681336e1caf805d2ab141f08ced39b9bd2d01e30608385f46d8c1 + languageName: node + linkType: hard + +"@types/node@npm:11.11.6": + version: 11.11.6 + resolution: "@types/node@npm:11.11.6" + checksum: 075f1c011cf568e49701419acbcb55c24906b3bb5a34d9412a3b88f228a7a78401a5ad4d3e1cd6855c99aaea5ef96e37fc86ca097e50f06da92cf822befc1fff + languageName: node + linkType: hard + +"@types/node@npm:^12.12.54": + version: 12.20.55 + resolution: "@types/node@npm:12.20.55" + checksum: e4f86785f4092706e0d3b0edff8dca5a13b45627e4b36700acd8dfe6ad53db71928c8dee914d4276c7fd3b6ccd829aa919811c9eb708a2c8e4c6eb3701178c37 + languageName: node + linkType: hard + +"@types/node@npm:^13.7.0": + version: 13.13.52 + resolution: "@types/node@npm:13.13.52" + checksum: 8f1afff497ebeba209e2dc340d823284e087a47632afe99a7daa30eaff80893e520f222ad400cd1f2d3b8288e93cf3eaded52a8e64eaefb8aacfe6c35de98f42 + languageName: node + linkType: hard + "@types/node@npm:^18.16.10": version: 18.17.17 resolution: "@types/node@npm:18.17.17" @@ -4572,6 +7136,15 @@ __metadata: languageName: node linkType: hard +"@types/ws@npm:^7.4.4": + version: 7.4.7 + resolution: "@types/ws@npm:7.4.7" + dependencies: + "@types/node": "*" + checksum: b4c9b8ad209620c9b21e78314ce4ff07515c0cadab9af101c1651e7bfb992d7fd933bd8b9c99d110738fd6db523ed15f82f29f50b45510288da72e964dedb1a3 + languageName: node + linkType: hard + "@types/yargs-parser@npm:*": version: 21.0.0 resolution: "@types/yargs-parser@npm:21.0.0" @@ -4718,6 +7291,22 @@ __metadata: languageName: node linkType: hard +"@wallet-standard/base@npm:^1.0.1": + version: 1.0.1 + resolution: "@wallet-standard/base@npm:1.0.1" + checksum: 8f40bee1c69d2c3c0a4c317b3069301406025f8dc1a794b4b4b6d36d2e8e1e38193e6db1c3ac729c773d380f4e2c3a7454bfd3e138708aa6821b6e2029063590 + languageName: node + linkType: hard + +"@wallet-standard/features@npm:^1.0.3": + version: 1.0.3 + resolution: "@wallet-standard/features@npm:1.0.3" + dependencies: + "@wallet-standard/base": ^1.0.1 + checksum: 000a4087d6fd70aaed7f66b118c85097f1d75aa29b962467ee7dee179d01ce009ee685552f53caaef67fdfab63d452073f6fb3bcc0471e3c88fc7e742d2c4e05 + languageName: node + linkType: hard + "@willsoto/nestjs-prometheus@npm:^5.4.0": version: 5.5.0 resolution: "@willsoto/nestjs-prometheus@npm:5.5.0" @@ -4764,19 +7353,52 @@ __metadata: languageName: node linkType: hard -"@wry/trie@npm:^0.5.0": - version: 0.5.0 - resolution: "@wry/trie@npm:0.5.0" +"@wry/trie@npm:^0.5.0": + version: 0.5.0 + resolution: "@wry/trie@npm:0.5.0" + dependencies: + tslib: ^2.3.0 + checksum: 92aeea34152bd8485184236fe328d3d05fc98ee3b431d82ee60cf3584dbf68155419c3d65d0ff3731b204ee79c149440a9b7672784a545afddc8d4342fbf21c9 + languageName: node + linkType: hard + +"@yarnpkg/lockfile@npm:^1.1.0": + version: 1.1.0 + resolution: "@yarnpkg/lockfile@npm:1.1.0" + checksum: 05b881b4866a3546861fee756e6d3812776ea47fa6eb7098f983d6d0eefa02e12b66c3fff931574120f196286a7ad4879ce02743c8bb2be36c6a576c7852083a + languageName: node + linkType: hard + +"@yarnpkg/parsers@npm:^3.0.0-rc.18": + version: 3.0.0 + resolution: "@yarnpkg/parsers@npm:3.0.0" + dependencies: + js-yaml: ^3.10.0 + tslib: ^2.4.0 + checksum: fefe5ecafb5bfa2b678ac9ba9259810fdda40142afd9d0b7e0e5cc1cce1fd824dffc52217c5e429807481d8fd18ead074bd317e64fd626335d3c9f1a320bade2 + languageName: node + linkType: hard + +"@zkochan/js-yaml@npm:0.0.6": + version: 0.0.6 + resolution: "@zkochan/js-yaml@npm:0.0.6" dependencies: - tslib: ^2.3.0 - checksum: 92aeea34152bd8485184236fe328d3d05fc98ee3b431d82ee60cf3584dbf68155419c3d65d0ff3731b204ee79c149440a9b7672784a545afddc8d4342fbf21c9 + argparse: ^2.0.1 + bin: + js-yaml: bin/js-yaml.js + checksum: 51b81597a1d1d79c778b8fae48317eaad78d75223d0b7477ad2b35f47cf63b19504da430bb7a03b326e668b282874242cc123e323e57293be038684cb5e755f8 languageName: node linkType: hard -"@yarnpkg/lockfile@npm:^1.1.0": - version: 1.1.0 - resolution: "@yarnpkg/lockfile@npm:1.1.0" - checksum: 05b881b4866a3546861fee756e6d3812776ea47fa6eb7098f983d6d0eefa02e12b66c3fff931574120f196286a7ad4879ce02743c8bb2be36c6a576c7852083a +"JSONStream@npm:^1.3.5": + version: 1.3.5 + resolution: "JSONStream@npm:1.3.5" + dependencies: + jsonparse: ^1.2.0 + through: ">=2.2.7 <3" + bin: + JSONStream: ./bin.js + checksum: 2605fa124260c61bad38bb65eba30d2f72216a78e94d0ab19b11b4e0327d572b8d530c0c9cc3b0764f727ad26d39e00bf7ebad57781ca6368394d73169c59e46 languageName: node linkType: hard @@ -4787,6 +7409,21 @@ __metadata: languageName: node linkType: hard +"abstract-level@npm:^1.0.2, abstract-level@npm:^1.0.4": + version: 1.0.4 + resolution: "abstract-level@npm:1.0.4" + dependencies: + buffer: ^6.0.3 + catering: ^2.1.0 + is-buffer: ^2.0.5 + level-supports: ^4.0.0 + level-transcoder: ^1.0.1 + module-error: ^1.0.1 + queue-microtask: ^1.2.3 + checksum: 5b70d08926f5234c3c23ffca848542af4def780dc96d6ca35a81659af80e6439c46f5106bd14a5ea37465173d7dcc8294317048b0194fdf6480103edc4aa9e63 + languageName: node + linkType: hard + "accepts@npm:~1.3.8": version: 1.3.8 resolution: "accepts@npm:1.3.8" @@ -4829,6 +7466,13 @@ __metadata: languageName: node linkType: hard +"aes-js@npm:3.0.0": + version: 3.0.0 + resolution: "aes-js@npm:3.0.0" + checksum: 251e26d533cd1a915b44896b17d5ed68c24a02484cfdd2e74ec700a309267db96651ea4eb657bf20aac32a3baa61f6e34edf8e2fec2de440a655da9942d334b8 + languageName: node + linkType: hard + "agent-base@npm:6, agent-base@npm:^6.0.2": version: 6.0.2 resolution: "agent-base@npm:6.0.2" @@ -4838,7 +7482,7 @@ __metadata: languageName: node linkType: hard -"agentkeepalive@npm:^4.2.1": +"agentkeepalive@npm:^4.2.1, agentkeepalive@npm:^4.5.0": version: 4.5.0 resolution: "agentkeepalive@npm:4.5.0" dependencies: @@ -4895,6 +7539,31 @@ __metadata: languageName: node linkType: hard +"algo-msgpack-with-bigint@npm:^2.1.1": + version: 2.1.1 + resolution: "algo-msgpack-with-bigint@npm:2.1.1" + checksum: 81645fc1248f42b048713f2218a7e108711da34cd229b7a58d18af8c041ea1f72051437afb4fcca2d78e6960094b8a88a2e6a45b6d48bca176b5cad24703a976 + languageName: node + linkType: hard + +"algosdk@npm:^1.13.1": + version: 1.24.1 + resolution: "algosdk@npm:1.24.1" + dependencies: + algo-msgpack-with-bigint: ^2.1.1 + buffer: ^6.0.2 + cross-fetch: ^3.1.5 + hi-base32: ^0.5.1 + js-sha256: ^0.9.0 + js-sha3: ^0.8.0 + js-sha512: ^0.8.0 + json-bigint: ^1.0.0 + tweetnacl: ^1.0.3 + vlq: ^2.0.4 + checksum: 3b6960dddec3d7d37a1505dcb3c6997740c5b02fa076a140efcf51eaddd83b7a7c8f56bab3001ec0ac7b1ccdd264e5a41d051b8bf5b9b72762e338c704547203 + languageName: node + linkType: hard + "ansi-align@npm:^3.0.0": version: 3.0.1 resolution: "ansi-align@npm:3.0.1" @@ -4904,6 +7573,13 @@ __metadata: languageName: node linkType: hard +"ansi-colors@npm:^4.1.1": + version: 4.1.3 + resolution: "ansi-colors@npm:4.1.3" + checksum: a9c2ec842038a1fabc7db9ece7d3177e2fe1c5dc6f0c51ecfbf5f39911427b89c00b5dc6b8bd95f82a26e9b16aaae2e83d45f060e98070ce4d1333038edceb0e + languageName: node + linkType: hard + "ansi-escapes@npm:^2.0.0": version: 2.0.0 resolution: "ansi-escapes@npm:2.0.0" @@ -5039,6 +7715,39 @@ __metadata: languageName: node linkType: hard +"arbundles@npm:^0.6.21": + version: 0.6.23 + resolution: "arbundles@npm:0.6.23" + dependencies: + "@noble/ed25519": ^1.6.1 + "@randlabs/myalgo-connect": ^1.1.2 + "@solana/wallet-adapter-base": ^0.9.2 + algosdk: ^1.13.1 + arweave: ^1.11.4 + arweave-stream-tx: ^1.1.0 + avsc: "https://github.com/Irys-xyz/avsc#csp-fixes" + axios: ^0.21.3 + base64url: ^3.0.1 + bs58: ^4.0.1 + ethers: ^5.5.1 + keccak: ^3.0.2 + multistream: ^4.1.0 + process: ^0.11.10 + secp256k1: ^4.0.2 + tmp-promise: ^3.0.2 + checksum: 7968b998df35b12e84297310c7941665bb4be55ecc059b1f797ebe6cc90da129e20d87fda7aaa007cfe0416173a33d014aff3abf8710ec065a2f4f19f04e9a36 + languageName: node + linkType: hard + +"arconnect@npm:^0.4.2": + version: 0.4.2 + resolution: "arconnect@npm:0.4.2" + dependencies: + arweave: ^1.10.13 + checksum: 5b2f262a93a3a25d4bd6f72eb3afe4b13d0e94ed12f88b7bcf3501d25839e74c2882fa1a1a9b527ac9c6da22ca2f407c07fc49e3d898a4f24b5d66a1901173f8 + languageName: node + linkType: hard + "are-we-there-yet@npm:^3.0.0": version: 3.0.1 resolution: "are-we-there-yet@npm:3.0.1" @@ -5175,6 +7884,41 @@ __metadata: languageName: node linkType: hard +"arweave-stream-tx@npm:^1.1.0": + version: 1.2.2 + resolution: "arweave-stream-tx@npm:1.2.2" + dependencies: + exponential-backoff: ^3.1.0 + peerDependencies: + arweave: ^1.10.0 + checksum: 7db2ef3078f28d25e9be096b7680da08b6d9a3b8f44216770a2c08be90ae192569ab948fc9904b930b61f8e0fef8a4e7f77165c2e18b68f3d586274034540c5c + languageName: node + linkType: hard + +"arweave@npm:^1.10.13, arweave@npm:^1.10.17, arweave@npm:^1.11.4": + version: 1.15.0 + resolution: "arweave@npm:1.15.0" + dependencies: + arconnect: ^0.4.2 + asn1.js: ^5.4.1 + base64-js: ^1.5.1 + bignumber.js: ^9.0.2 + checksum: 05530b30a77ac16b60285d7856553d97a6e0192139cfd9fb63246160aa6179fc20e603d024a080ddb77acd1669688d098cb9f6b6d6ed9a43aa04fdce3e382144 + languageName: node + linkType: hard + +"asn1.js@npm:^5.4.1": + version: 5.4.1 + resolution: "asn1.js@npm:5.4.1" + dependencies: + bn.js: ^4.0.0 + inherits: ^2.0.1 + minimalistic-assert: ^1.0.0 + safer-buffer: ^2.1.0 + checksum: 3786a101ac6f304bd4e9a7df79549a7561950a13d4bcaec0c7790d44c80d147c1a94ba3d4e663673406064642a40b23fcd6c82a9952468e386c1a1376d747f9a + languageName: node + linkType: hard + "ast-stringify@npm:0.1.0": version: 0.1.0 resolution: "ast-stringify@npm:0.1.0" @@ -5207,6 +7951,15 @@ __metadata: languageName: node linkType: hard +"async-retry@npm:^1.3.3": + version: 1.3.3 + resolution: "async-retry@npm:1.3.3" + dependencies: + retry: 0.13.1 + checksum: 38a7152ff7265a9321ea214b9c69e8224ab1febbdec98efbbde6e562f17ff68405569b796b1c5271f354aef8783665d29953f051f68c1fc45306e61aec82fdc4 + languageName: node + linkType: hard + "async@npm:^3.2.3": version: 3.2.4 resolution: "async@npm:3.2.4" @@ -5242,6 +7995,50 @@ __metadata: languageName: node linkType: hard +"avsc@https://github.com/Irys-xyz/avsc#csp-fixes": + version: 5.4.7 + resolution: "avsc@https://github.com/Irys-xyz/avsc.git#commit=a730cc8018b79e114b6a3381bbb57760a24c6cef" + checksum: 94d2b1b20c51fecb11a2e596d042c057055c11d9275e8718b090b81a90e82134571553f2c250001770f5a92cfed4e8687fdd77b138c120eaa424db8335d4a1a9 + languageName: node + linkType: hard + +"axios@npm:0.25.0, axios@npm:^0.25.0": + version: 0.25.0 + resolution: "axios@npm:0.25.0" + dependencies: + follow-redirects: ^1.14.7 + checksum: 2a8a3787c05f2a0c9c3878f49782357e2a9f38945b93018fb0c4fd788171c43dceefbb577988628e09fea53952744d1ecebde234b561f1e703aa43e0a598a3ad + languageName: node + linkType: hard + +"axios@npm:^0.21.2, axios@npm:^0.21.3": + version: 0.21.4 + resolution: "axios@npm:0.21.4" + dependencies: + follow-redirects: ^1.14.0 + checksum: 44245f24ac971e7458f3120c92f9d66d1fc695e8b97019139de5b0cc65d9b8104647db01e5f46917728edfc0cfd88eb30fc4c55e6053eef4ace76768ce95ff3c + languageName: node + linkType: hard + +"axios@npm:^0.24.0": + version: 0.24.0 + resolution: "axios@npm:0.24.0" + dependencies: + follow-redirects: ^1.14.4 + checksum: 468cf496c08a6aadfb7e699bebdac02851e3043d4e7d282350804ea8900e30d368daa6e3cd4ab83b8ddb5a3b1e17a5a21ada13fc9cebd27b74828f47a4236316 + languageName: node + linkType: hard + +"axios@npm:^0.27.2": + version: 0.27.2 + resolution: "axios@npm:0.27.2" + dependencies: + follow-redirects: ^1.14.9 + form-data: ^4.0.0 + checksum: 38cb7540465fe8c4102850c4368053c21683af85c5fdf0ea619f9628abbcb59415d1e22ebc8a6390d2bbc9b58a9806c874f139767389c862ec9b772235f06854 + languageName: node + linkType: hard + "axios@npm:^0.28.0": version: 0.28.0 resolution: "axios@npm:0.28.0" @@ -5253,7 +8050,7 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.6.0": +"axios@npm:^1.0.0, axios@npm:^1.6.0": version: 1.6.8 resolution: "axios@npm:1.6.8" dependencies: @@ -5426,20 +8223,43 @@ __metadata: languageName: node linkType: hard -"base64-js@npm:^1.3.0, base64-js@npm:^1.3.1": +"base-x@npm:^3.0.2": + version: 3.0.9 + resolution: "base-x@npm:3.0.9" + dependencies: + safe-buffer: ^5.0.1 + checksum: 957101d6fd09e1903e846fd8f69fd7e5e3e50254383e61ab667c725866bec54e5ece5ba49ce385128ae48f9ec93a26567d1d5ebb91f4d56ef4a9cc0d5a5481e8 + languageName: node + linkType: hard + +"base64-js@npm:^1.3.0, base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 languageName: node linkType: hard -"bech32@npm:^1.1.4": +"base64url@npm:^3.0.1": + version: 3.0.1 + resolution: "base64url@npm:3.0.1" + checksum: a77b2a3a526b3343e25be424de3ae0aa937d78f6af7c813ef9020ef98001c0f4e2323afcd7d8b2d2978996bf8c42445c3e9f60c218c622593e5fdfd54a3d6e18 + languageName: node + linkType: hard + +"bech32@npm:1.1.4, bech32@npm:^1.1.4": version: 1.1.4 resolution: "bech32@npm:1.1.4" checksum: 0e98db619191548390d6f09ff68b0253ba7ae6a55db93dfdbb070ba234c1fd3308c0606fbcc95fad50437227b10011e2698b89f0181f6e7f845c499bd14d0f4b languageName: node linkType: hard +"bech32@npm:2.0.0": + version: 2.0.0 + resolution: "bech32@npm:2.0.0" + checksum: fa15acb270b59aa496734a01f9155677b478987b773bf701f465858bf1606c6a970085babd43d71ce61895f1baa594cb41a2cd1394bd2c6698f03cc2d811300e + languageName: node + linkType: hard + "before-after-hook@npm:^2.2.0": version: 2.2.3 resolution: "before-after-hook@npm:2.2.3" @@ -5447,6 +8267,37 @@ __metadata: languageName: node linkType: hard +"big-integer@npm:^1.6.48": + version: 1.6.52 + resolution: "big-integer@npm:1.6.52" + checksum: 6e86885787a20fed96521958ae9086960e4e4b5e74d04f3ef7513d4d0ad631a9f3bde2730fc8aaa4b00419fc865f6ec573e5320234531ef37505da7da192c40b + languageName: node + linkType: hard + +"bigint-buffer@npm:^1.1.5": + version: 1.1.5 + resolution: "bigint-buffer@npm:1.1.5" + dependencies: + bindings: ^1.3.0 + node-gyp: latest + checksum: d010c9f57758bcdaccb435d88b483ffcc95fe8bbc6e7fb3a44fb5221f29c894ffaf4a3c5a4a530e0e7d6608203c2cde9b79ee4f2386cd6d4462d1070bc8c9f4e + languageName: node + linkType: hard + +"bignumber.js@npm:9.0.2": + version: 9.0.2 + resolution: "bignumber.js@npm:9.0.2" + checksum: 8637b71d0a99104b20413c47578953970006fec6b4df796b9dcfd9835ea9c402ea0e727eba9a5ca9f9a393c1d88b6168c5bbe0887598b708d4f8b4870ad62e1f + languageName: node + linkType: hard + +"bignumber.js@npm:9.1.2, bignumber.js@npm:^9.0.0, bignumber.js@npm:^9.0.1, bignumber.js@npm:^9.0.2": + version: 9.1.2 + resolution: "bignumber.js@npm:9.1.2" + checksum: 582c03af77ec9cb0ebd682a373ee6c66475db94a4325f92299621d544aa4bd45cb45fd60001610e94aef8ae98a0905fa538241d9638d4422d57abbeeac6fadaf + languageName: node + linkType: hard + "binary-extensions@npm:^2.0.0": version: 2.2.0 resolution: "binary-extensions@npm:2.2.0" @@ -5454,6 +8305,15 @@ __metadata: languageName: node linkType: hard +"bindings@npm:^1.3.0": + version: 1.5.0 + resolution: "bindings@npm:1.5.0" + dependencies: + file-uri-to-path: 1.0.0 + checksum: 65b6b48095717c2e6105a021a7da4ea435aa8d3d3cd085cb9e85bcb6e5773cf318c4745c3f7c504412855940b585bdf9b918236612a1c7a7942491de176f1ae7 + languageName: node + linkType: hard + "bintrees@npm:1.0.2": version: 1.0.2 resolution: "bintrees@npm:1.0.2" @@ -5461,7 +8321,53 @@ __metadata: languageName: node linkType: hard -"bl@npm:^4.1.0": +"bip32@npm:^2.0.6": + version: 2.0.6 + resolution: "bip32@npm:2.0.6" + dependencies: + "@types/node": 10.12.18 + bs58check: ^2.1.1 + create-hash: ^1.2.0 + create-hmac: ^1.1.7 + tiny-secp256k1: ^1.1.3 + typeforce: ^1.11.5 + wif: ^2.0.6 + checksum: 1c654a93836d8ed0bf5aa18a9b7b8dc3fe65e6a607a736d2acdb7927276c03db4bf8068324b9907e362759f9307d8b2b61c2547c282a2bc5198305f5654ed554 + languageName: node + linkType: hard + +"bip39-light@npm:^1.0.7": + version: 1.0.7 + resolution: "bip39-light@npm:1.0.7" + dependencies: + create-hash: ^1.1.0 + pbkdf2: ^3.0.9 + checksum: 10ffceacc34e4d2c6449e2f45bba90a3e3455e63e51044da289f68e66cbc1727a9f489a76f199dd5ac50b6be50a7f075e546ed62ab236a50e215480a27567661 + languageName: node + linkType: hard + +"bip39@npm:3.0.2": + version: 3.0.2 + resolution: "bip39@npm:3.0.2" + dependencies: + "@types/node": 11.11.6 + create-hash: ^1.1.0 + pbkdf2: ^3.0.9 + randombytes: ^2.0.1 + checksum: 71798582b4d1cc7f20d11372413c4514f124d302e6b38e7f9126d4759fca3e9fbccb431429a6ab16130dd67193de3d781122fcd4bca0a653be654d4aa13490c5 + languageName: node + linkType: hard + +"bip39@npm:^3.0.2, bip39@npm:^3.0.3": + version: 3.1.0 + resolution: "bip39@npm:3.1.0" + dependencies: + "@noble/hashes": ^1.2.0 + checksum: 1224e763ffc6b097052ed8abd57f0e521ad6d31f1645be0d0a15f4417c13f8461f00e47e9cf7c8c784bd533f4fb1ee3ab020f258c7df45ee5dc722b4b0336cfc + languageName: node + linkType: hard + +"bl@npm:^4.0.3, bl@npm:^4.1.0": version: 4.1.0 resolution: "bl@npm:4.1.0" dependencies: @@ -5481,7 +8387,14 @@ __metadata: languageName: node linkType: hard -"bn.js@npm:^4.11.9": +"bn.js@npm:5.2.0": + version: 5.2.0 + resolution: "bn.js@npm:5.2.0" + checksum: 6117170393200f68b35a061ecbf55d01dd989302e7b3c798a3012354fa638d124f0b2f79e63f77be5556be80322a09c40339eda6413ba7468524c0b6d4b4cb7a + languageName: node + linkType: hard + +"bn.js@npm:^4.0.0, bn.js@npm:^4.11.8, bn.js@npm:^4.11.9": version: 4.12.0 resolution: "bn.js@npm:4.12.0" checksum: 39afb4f15f4ea537b55eaf1446c896af28ac948fdcf47171961475724d1bb65118cca49fa6e3d67706e4790955ec0e74de584e45c8f1ef89f46c812bee5b5a12 @@ -5542,6 +8455,35 @@ __metadata: languageName: node linkType: hard +"borsh@npm:^0.6.0": + version: 0.6.0 + resolution: "borsh@npm:0.6.0" + dependencies: + bn.js: ^5.2.0 + bs58: ^4.0.0 + text-encoding-utf-8: ^1.0.2 + checksum: 633986769e931dd9d156c0d52a315cd3bb0546c24df84e28fa04859cccbebd9107f1621bd594d4a63ba23c7cda2931a8d97e54952ee766a097d3c2434f80b009 + languageName: node + linkType: hard + +"borsh@npm:^0.7.0": + version: 0.7.0 + resolution: "borsh@npm:0.7.0" + dependencies: + bn.js: ^5.2.0 + bs58: ^4.0.0 + text-encoding-utf-8: ^1.0.2 + checksum: e98bfb5f7cfb820819c2870b884dac58dd4b4ce6a86c286c8fbf5c9ca582e73a8c6094df67e81a28c418ff07a309c6b118b2e27fdfea83fd92b8100c741da0b5 + languageName: node + linkType: hard + +"bowser@npm:^2.11.0": + version: 2.11.0 + resolution: "bowser@npm:2.11.0" + checksum: 29c3f01f22e703fa6644fc3b684307442df4240b6e10f6cfe1b61c6ca5721073189ca97cdeedb376081148c8518e33b1d818a57f781d70b0b70e1f31fb48814f + languageName: node + linkType: hard + "boxen@npm:^5.0.0, boxen@npm:^5.0.1": version: 5.1.2 resolution: "boxen@npm:5.1.2" @@ -5593,6 +8535,18 @@ __metadata: languageName: node linkType: hard +"browser-level@npm:^1.0.1": + version: 1.0.1 + resolution: "browser-level@npm:1.0.1" + dependencies: + abstract-level: ^1.0.2 + catering: ^2.1.1 + module-error: ^1.0.2 + run-parallel-limit: ^1.1.0 + checksum: 67fbc77ce832940bfa25073eccff279f512ad56f545deb996a5b23b02316f5e76f4a79d381acc27eda983f5c9a2566aaf9c97e4fdd0748288c4407307537a29b + languageName: node + linkType: hard + "browser-readablestream-to-it@npm:^1.0.0, browser-readablestream-to-it@npm:^1.0.1, browser-readablestream-to-it@npm:^1.0.3": version: 1.0.3 resolution: "browser-readablestream-to-it@npm:1.0.3" @@ -5637,6 +8591,26 @@ __metadata: languageName: node linkType: hard +"bs58@npm:^4.0.0, bs58@npm:^4.0.1": + version: 4.0.1 + resolution: "bs58@npm:4.0.1" + dependencies: + base-x: ^3.0.2 + checksum: b3c5365bb9e0c561e1a82f1a2d809a1a692059fae016be233a6127ad2f50a6b986467c3a50669ce4c18929dcccb297c5909314dd347a25a68c21b68eb3e95ac2 + languageName: node + linkType: hard + +"bs58check@npm:<3.0.0, bs58check@npm:^2.1.1, bs58check@npm:^2.1.2": + version: 2.1.2 + resolution: "bs58check@npm:2.1.2" + dependencies: + bs58: ^4.0.0 + create-hash: ^1.1.0 + safe-buffer: ^5.1.2 + checksum: 43bdf08a5dd04581b78f040bc4169480e17008da482ffe2a6507327bbc4fc5c28de0501f7faf22901cfe57fbca79cbb202ca529003fedb4cb8dccd265b38e54d + languageName: node + linkType: hard + "bser@npm:2.1.1": version: 2.1.1 resolution: "bser@npm:2.1.1" @@ -5653,10 +8627,13 @@ __metadata: languageName: node linkType: hard -"buffer-writer@npm:2.0.0": - version: 2.0.0 - resolution: "buffer-writer@npm:2.0.0" - checksum: 11736b48bb75106c52ca8ec9f025e7c1b3b25ce31875f469d7210eabd5c576c329e34f6b805d4a8d605ff3f0db1e16342328802c4c963e9c826b0e43a4e631c2 +"buffer@npm:6.0.3, buffer@npm:^6.0.1, buffer@npm:^6.0.2, buffer@npm:^6.0.3, buffer@npm:~6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: ^1.3.1 + ieee754: ^1.2.1 + checksum: 5ad23293d9a731e4318e420025800b42bf0d264004c0286c8cc010af7a270c7a0f6522e84f54b9ad65cbd6db20b8badbfd8d2ebf4f80fa03dab093b89e68c3f9 languageName: node linkType: hard @@ -5670,13 +8647,13 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^6.0.1, buffer@npm:^6.0.3": - version: 6.0.3 - resolution: "buffer@npm:6.0.3" +"bufferutil@npm:^4.0.1": + version: 4.0.8 + resolution: "bufferutil@npm:4.0.8" dependencies: - base64-js: ^1.3.1 - ieee754: ^1.2.1 - checksum: 5ad23293d9a731e4318e420025800b42bf0d264004c0286c8cc010af7a270c7a0f6522e84f54b9ad65cbd6db20b8badbfd8d2ebf4f80fa03dab093b89e68c3f9 + node-gyp: latest + node-gyp-build: ^4.3.0 + checksum: 7e9a46f1867dca72fda350966eb468eca77f4d623407b0650913fadf73d5750d883147d6e5e21c56f9d3b0bdc35d5474e80a600b9f31ec781315b4d2469ef087 languageName: node linkType: hard @@ -5752,6 +8729,19 @@ __metadata: languageName: node linkType: hard +"call-bind@npm:^1.0.7": + version: 1.0.7 + resolution: "call-bind@npm:1.0.7" + dependencies: + es-define-property: ^1.0.0 + es-errors: ^1.3.0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.4 + set-function-length: ^1.2.1 + checksum: 295c0c62b90dd6522e6db3b0ab1ce26bdf9e7404215bda13cfee25b626b5ff1a7761324d58d38b1ef1607fc65aca2d06e44d2e18d0dfc6c14b465b00d8660029 + languageName: node + linkType: hard + "call-me-maybe@npm:^1.0.1": version: 1.0.2 resolution: "call-me-maybe@npm:1.0.2" @@ -5794,6 +8784,20 @@ __metadata: languageName: node linkType: hard +"capability@npm:^0.2.5": + version: 0.2.5 + resolution: "capability@npm:0.2.5" + checksum: 59ce65958dc0f2e76e7007fe8d5a0a85801b950bb957779c11948776f0e7a1290b9638bfd2da92b4b8bebd7584f92a8c38d4e6613659c9637783a6993026b08b + languageName: node + linkType: hard + +"case-anything@npm:^2.1.13": + version: 2.1.13 + resolution: "case-anything@npm:2.1.13" + checksum: c39c69d7e418337b6006a9692f13c2b257e907e867149a102e9beb7e9d2d52da14e754da1f4e4ce82a866d86d93047e522f64360bda54e7d7c308f4cdd736c3d + languageName: node + linkType: hard + "case@npm:1.6.3": version: 1.6.3 resolution: "case@npm:1.6.3" @@ -5801,6 +8805,13 @@ __metadata: languageName: node linkType: hard +"catering@npm:^2.1.0, catering@npm:^2.1.1": + version: 2.1.1 + resolution: "catering@npm:2.1.1" + checksum: 205daefa69c935b0c19f3d8f2e0a520dd69aebe9bda55902958003f7c9cff8f967dfb90071b421bd6eb618576f657a89d2bc0986872c9bc04bbd66655e9d4bd6 + languageName: node + linkType: hard + "cborg@npm:^1.5.4, cborg@npm:^1.6.0": version: 1.10.2 resolution: "cborg@npm:1.10.2" @@ -5810,6 +8821,16 @@ __metadata: languageName: node linkType: hard +"chalk@npm:4.1.0": + version: 4.1.0 + resolution: "chalk@npm:4.1.0" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: 5561c7b4c063badee3e16d04bce50bd033e1be1bf4c6948639275683ffa7a1993c44639b43c22b1c505f0f813a24b1889037eb182546b48946f9fe7cdd0e7d13 + languageName: node + linkType: hard + "chalk@npm:^1.0.0, chalk@npm:^1.1.3": version: 1.1.3 resolution: "chalk@npm:1.1.3" @@ -5844,7 +8865,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.2": +"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -5896,6 +8917,25 @@ __metadata: languageName: node linkType: hard +"chokidar@npm:^3.5.1": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: ~3.1.2 + braces: ~3.0.2 + fsevents: ~2.3.2 + glob-parent: ~5.1.2 + is-binary-path: ~2.1.0 + is-glob: ~4.0.1 + normalize-path: ~3.0.0 + readdirp: ~3.6.0 + dependenciesMeta: + fsevents: + optional: true + checksum: d2f29f499705dcd4f6f3bbed79a9ce2388cf530460122eed3b9c48efeab7a4e28739c6551fd15bec9245c6b9eeca7a32baa64694d64d9b6faeb74ddb8c4a413d + languageName: node + linkType: hard + "chokidar@npm:^3.5.2": version: 3.5.3 resolution: "chokidar@npm:3.5.3" @@ -5943,6 +8983,16 @@ __metadata: languageName: node linkType: hard +"cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": + version: 1.0.4 + resolution: "cipher-base@npm:1.0.4" + dependencies: + inherits: ^2.0.1 + safe-buffer: ^5.0.1 + checksum: 47d3568dbc17431a339bad1fe7dff83ac0891be8206911ace3d3b818fc695f376df809bea406e759cdea07fff4b454fa25f1013e648851bec790c1d75763032e + languageName: node + linkType: hard + "cjs-module-lexer@npm:^1.0.0": version: 1.2.3 resolution: "cjs-module-lexer@npm:1.2.3" @@ -5968,6 +9018,20 @@ __metadata: languageName: node linkType: hard +"classic-level@npm:^1.2.0": + version: 1.4.1 + resolution: "classic-level@npm:1.4.1" + dependencies: + abstract-level: ^1.0.2 + catering: ^2.1.0 + module-error: ^1.0.1 + napi-macros: ^2.2.2 + node-gyp: latest + node-gyp-build: ^4.3.0 + checksum: 62e7e07297fcd656941eb88f92b91df0046ebb2b34987e98ec870cb736f096e212ef109a25541deba2f30866b9d5df550594ed04948614815dd5964933da50a9 + languageName: node + linkType: hard + "clean-stack@npm:^2.0.0": version: 2.2.0 resolution: "clean-stack@npm:2.2.0" @@ -5995,6 +9059,15 @@ __metadata: languageName: node linkType: hard +"cli-cursor@npm:3.1.0, cli-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "cli-cursor@npm:3.1.0" + dependencies: + restore-cursor: ^3.1.0 + checksum: 2692784c6cd2fd85cfdbd11f53aea73a463a6d64a77c3e098b2b4697a20443f430c220629e1ca3b195ea5ac4a97a74c2ee411f3807abf6df2b66211fec0c0a29 + languageName: node + linkType: hard + "cli-cursor@npm:^2.1.0": version: 2.1.0 resolution: "cli-cursor@npm:2.1.0" @@ -6004,15 +9077,13 @@ __metadata: languageName: node linkType: hard -"cli-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "cli-cursor@npm:3.1.0" - dependencies: - restore-cursor: ^3.1.0 - checksum: 2692784c6cd2fd85cfdbd11f53aea73a463a6d64a77c3e098b2b4697a20443f430c220629e1ca3b195ea5ac4a97a74c2ee411f3807abf6df2b66211fec0c0a29 - languageName: node - linkType: hard - +"cli-spinners@npm:2.6.1": + version: 2.6.1 + resolution: "cli-spinners@npm:2.6.1" + checksum: 423409baaa7a58e5104b46ca1745fbfc5888bbd0b0c5a626e052ae1387060839c8efd512fb127e25769b3dc9562db1dc1b5add6e0b93b7ef64f477feb6416a45 + languageName: node + linkType: hard + "cli-spinners@npm:^2.5.0": version: 2.9.1 resolution: "cli-spinners@npm:2.9.1" @@ -6047,6 +9118,13 @@ __metadata: languageName: node linkType: hard +"cli-width@npm:^3.0.0": + version: 3.0.0 + resolution: "cli-width@npm:3.0.0" + checksum: 4c94af3769367a70e11ed69aa6095f1c600c0ff510f3921ab4045af961820d57c0233acfa8b6396037391f31b4c397e1f614d234294f979ff61430a6c166c3f6 + languageName: node + linkType: hard + "cliui@npm:^7.0.2": version: 7.0.4 resolution: "cliui@npm:7.0.4" @@ -6085,6 +9163,13 @@ __metadata: languageName: node linkType: hard +"clone@npm:^2.1.2": + version: 2.1.2 + resolution: "clone@npm:2.1.2" + checksum: aaf106e9bc025b21333e2f4c12da539b568db4925c0501a1bf4070836c9e848c892fa22c35548ce0d1132b08bbbfa17a00144fe58fccdab6fa900fec4250f67d + languageName: node + linkType: hard + "co@npm:^4.6.0": version: 4.6.0 resolution: "co@npm:4.6.0" @@ -6163,7 +9248,21 @@ __metadata: languageName: node linkType: hard -"commander@npm:^9.3.0": +"commander@npm:^2.20.3": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e + languageName: node + linkType: hard + +"commander@npm:^8.2.0": + version: 8.3.0 + resolution: "commander@npm:8.3.0" + checksum: 0f82321821fc27b83bd409510bb9deeebcfa799ff0bf5d102128b500b7af22872c0c92cb6a0ebc5a4cf19c6b550fba9cedfa7329d18c6442a625f851377bacf0 + languageName: node + linkType: hard + +"commander@npm:^9.3.0, commander@npm:^9.4.1": version: 9.5.0 resolution: "commander@npm:9.5.0" checksum: c7a3e27aa59e913b54a1bafd366b88650bc41d6651f0cbe258d4ff09d43d6a7394232a4dadd0bf518b3e696fdf595db1028a0d82c785b88bd61f8a440cecfade @@ -6287,6 +9386,36 @@ __metadata: languageName: node linkType: hard +"cosmjs-types@npm:^0.4.0": + version: 0.4.1 + resolution: "cosmjs-types@npm:0.4.1" + dependencies: + long: ^4.0.0 + protobufjs: ~6.11.2 + checksum: 7921026bb7f1fef70a6d3c3cbfc71d6af21616d532e5cd9f2af15b94c53f98f8d76da65a8fd60f930df2a9ff4eebed1bb3f49baa3eac7117981fbc8f45259005 + languageName: node + linkType: hard + +"cosmjs-types@npm:^0.7.1": + version: 0.7.2 + resolution: "cosmjs-types@npm:0.7.2" + dependencies: + long: ^4.0.0 + protobufjs: ~6.11.2 + checksum: 4a0b730a7f1ae8efa8bd044f9ebdd7921f26319ff2abf36ac7e2f93ef6f3e73d90c1775ce2325611d47c4ccc72a708a63e31e89d9d80ad75c1107c7228e09bc8 + languageName: node + linkType: hard + +"cosmjs-types@npm:^0.8.0": + version: 0.8.0 + resolution: "cosmjs-types@npm:0.8.0" + dependencies: + long: ^4.0.0 + protobufjs: ~6.11.2 + checksum: 99714ec956d2cb2e521d39896c9c9a24cf9df0d370265c203646ea015b51e86472efc0cb11f67a80f0649d178b0bcff77ac659e67fdfc8b2437cd7a42018577f + languageName: node + linkType: hard + "cosmjs-types@npm:^0.9.0": version: 0.9.0 resolution: "cosmjs-types@npm:0.9.0" @@ -6294,6 +9423,33 @@ __metadata: languageName: node linkType: hard +"create-hash@npm:^1.1.0, create-hash@npm:^1.1.2, create-hash@npm:^1.2.0": + version: 1.2.0 + resolution: "create-hash@npm:1.2.0" + dependencies: + cipher-base: ^1.0.1 + inherits: ^2.0.1 + md5.js: ^1.3.4 + ripemd160: ^2.0.1 + sha.js: ^2.4.0 + checksum: 02a6ae3bb9cd4afee3fabd846c1d8426a0e6b495560a977ba46120c473cb283be6aa1cace76b5f927cf4e499c6146fb798253e48e83d522feba807d6b722eaa9 + languageName: node + linkType: hard + +"create-hmac@npm:1.1.7, create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7": + version: 1.1.7 + resolution: "create-hmac@npm:1.1.7" + dependencies: + cipher-base: ^1.0.3 + create-hash: ^1.1.0 + inherits: ^2.0.1 + ripemd160: ^2.0.0 + safe-buffer: ^5.0.1 + sha.js: ^2.4.8 + checksum: ba12bb2257b585a0396108c72830e85f882ab659c3320c83584b1037f8ab72415095167ced80dc4ce8e446a8ecc4b2acf36d87befe0707d73b26cf9dc77440ed + languageName: node + linkType: hard + "create-jest@npm:^29.7.0": version: 29.7.0 resolution: "create-jest@npm:29.7.0" @@ -6318,13 +9474,12 @@ __metadata: languageName: node linkType: hard -"cron-converter@npm:^1.0.2": - version: 1.0.2 - resolution: "cron-converter@npm:1.0.2" +"cron-converter@npm:^2.0.1": + version: 2.0.1 + resolution: "cron-converter@npm:2.0.1" dependencies: - moment-timezone: ~0.5 - sprintf-js: ~1 - checksum: 7bbd01f29a6fc5a8a8c8dabda3a6468b7040acd374beadbf103d6c86f9e85c961a0937cfa2a997e4bfcdcd6bd07cde658a3009b899130e69e6c9ceb5f0a82ac3 + luxon: ^3.1.0 + checksum: 74ef69ec7e9020183cfa8f117fe687c654ba32f863ae8cf86a834b5baafd1321ee0d9caa62cc8e6e4cfe02b255f237ed0a0f91f0da78d01eb49317d06bf76f3d languageName: node linkType: hard @@ -6337,7 +9492,7 @@ __metadata: languageName: node linkType: hard -"cross-fetch@npm:^3.1.6": +"cross-fetch@npm:^3.1.5, cross-fetch@npm:^3.1.6": version: 3.1.8 resolution: "cross-fetch@npm:3.1.8" dependencies: @@ -6357,6 +9512,13 @@ __metadata: languageName: node linkType: hard +"crypto-js@npm:^4.0.0": + version: 4.2.0 + resolution: "crypto-js@npm:4.2.0" + checksum: f051666dbc077c8324777f44fbd3aaea2986f198fe85092535130d17026c7c2ccf2d23ee5b29b36f7a4a07312db2fae23c9094b644cc35f7858b1b4fcaf27774 + languageName: node + linkType: hard + "crypto-random-string@npm:^2.0.0": version: 2.0.0 resolution: "crypto-random-string@npm:2.0.0" @@ -6371,6 +9533,20 @@ __metadata: languageName: node linkType: hard +"csv-generate@npm:^4.4.0": + version: 4.4.0 + resolution: "csv-generate@npm:4.4.0" + checksum: 03312747cda31a9805cc528b7d14265e1ced6bb86857d0c32b741755fbf8d4d6ea72c47e9f2d5a08033b17f5854e975ef4580f9839a1544525a6fe85f41bd8ba + languageName: node + linkType: hard + +"csv-parse@npm:^5.5.5": + version: 5.5.5 + resolution: "csv-parse@npm:5.5.5" + checksum: 9e76b3dc3dbbf0a9b1c3529843e3891f0da23d094bdb0540a3d8f4083d00110dd545399f9cf510498def6c1fc7012cc6bc00046d281f16d705add64099467973 + languageName: node + linkType: hard + "csv-stringify@npm:^6.4.5": version: 6.4.5 resolution: "csv-stringify@npm:6.4.5" @@ -6378,6 +9554,25 @@ __metadata: languageName: node linkType: hard +"csv-stringify@npm:^6.4.6": + version: 6.4.6 + resolution: "csv-stringify@npm:6.4.6" + checksum: cacf20b3c2e0d68272e81e8b757fbc60a546e9e7b04916019af02326eadd42c163edb9f8f52bbc2dbe5d457282d560d6954fb2ef9848a96e2e5b3241a44be8a1 + languageName: node + linkType: hard + +"csv@npm:^6.0.5": + version: 6.3.8 + resolution: "csv@npm:6.3.8" + dependencies: + csv-generate: ^4.4.0 + csv-parse: ^5.5.5 + csv-stringify: ^6.4.6 + stream-transform: ^3.3.1 + checksum: 96981b97bea35796a22af029070ea18025e362ea568bb1e931d8edd03c77d9d7d5cbcdaabad57456d9b37ce11311653dd4ae77ef016dfdb57384608f43fb010b + languageName: node + linkType: hard + "d@npm:1, d@npm:^1.0.1": version: 1.0.1 resolution: "d@npm:1.0.1" @@ -6536,6 +9731,17 @@ __metadata: languageName: node linkType: hard +"define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: ^1.0.0 + es-errors: ^1.3.0 + gopd: ^1.0.1 + checksum: 8068ee6cab694d409ac25936eb861eea704b7763f7f342adbdfe337fc27c78d7ae0eff2364b2917b58c508d723c7a074326d068eef2e45c4edcd85cf94d0313b + languageName: node + linkType: hard + "define-lazy-prop@npm:^2.0.0": version: 2.0.0 resolution: "define-lazy-prop@npm:2.0.0" @@ -6554,6 +9760,20 @@ __metadata: languageName: node linkType: hard +"delay@npm:^4.4.0": + version: 4.4.1 + resolution: "delay@npm:4.4.1" + checksum: 97b001126a3979a398b6c5f33e437d78acda3b19731d9e6f991a05e2e09e7a410d655b8fdcaedc05743928bb533c0ac9401826cccb2af71c81d2cab50e199351 + languageName: node + linkType: hard + +"delay@npm:^5.0.0": + version: 5.0.0 + resolution: "delay@npm:5.0.0" + checksum: 62f151151ecfde0d9afbb8a6be37a6d103c4cb24f35a20ef3fe56f920b0d0d0bb02bc9c0a3084d0179ef669ca332b91155f2ee4d9854622cd2cdba5fc95285f9 + languageName: node + linkType: hard + "delayed-stream@npm:~1.0.0": version: 1.0.0 resolution: "delayed-stream@npm:1.0.0" @@ -6568,13 +9788,20 @@ __metadata: languageName: node linkType: hard -"depd@npm:2.0.0": +"depd@npm:2.0.0, depd@npm:^2.0.0": version: 2.0.0 resolution: "depd@npm:2.0.0" checksum: abbe19c768c97ee2eed6282d8ce3031126662252c58d711f646921c9623f9052e3e1906443066beec1095832f534e57c523b7333f8e7e0d93051ab6baef5ab3a languageName: node linkType: hard +"depd@npm:~1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 + languageName: node + linkType: hard + "deprecation@npm:^2.0.0, deprecation@npm:^2.3.1": version: 2.3.1 resolution: "deprecation@npm:2.3.1" @@ -6589,6 +9816,15 @@ __metadata: languageName: node linkType: hard +"detect-libc@npm:^1.0.3": + version: 1.0.3 + resolution: "detect-libc@npm:1.0.3" + bin: + detect-libc: ./bin/detect-libc.js + checksum: daaaed925ffa7889bd91d56e9624e6c8033911bb60f3a50a74a87500680652969dbaab9526d1e200a4c94acf80fc862a22131841145a0a8482d60a99c24f4a3e + languageName: node + linkType: hard + "detect-newline@npm:^3.0.0": version: 3.1.0 resolution: "detect-newline@npm:3.1.0" @@ -6684,6 +9920,13 @@ __metadata: languageName: node linkType: hard +"dotenv@npm:~10.0.0": + version: 10.0.0 + resolution: "dotenv@npm:10.0.0" + checksum: f412c5fe8c24fbe313d302d2500e247ba8a1946492db405a4de4d30dd0eb186a88a43f13c958c5a7de303938949c4231c56994f97d05c4bc1f22478d631b4005 + languageName: node + linkType: hard + "dottie@npm:^2.0.2": version: 2.0.6 resolution: "dottie@npm:2.0.6" @@ -6698,6 +9941,15 @@ __metadata: languageName: node linkType: hard +"dprint-node@npm:^1.0.8": + version: 1.0.8 + resolution: "dprint-node@npm:1.0.8" + dependencies: + detect-libc: ^1.0.3 + checksum: ac53b71296d155664319877f0e8c9fe94e084457ce9aae68081b9dd7165916f2829222923c59b1399d95680362f18a8da5994e7f76a8f52035e02bbd14ba76bc + languageName: node + linkType: hard + "duplexer3@npm:^0.1.4": version: 0.1.5 resolution: "duplexer3@npm:0.1.5" @@ -6705,6 +9957,13 @@ __metadata: languageName: node linkType: hard +"duplexer@npm:^0.1.1": + version: 0.1.2 + resolution: "duplexer@npm:0.1.2" + checksum: 62ba61a830c56801db28ff6305c7d289b6dc9f859054e8c982abd8ee0b0a14d2e9a8e7d086ffee12e868d43e2bbe8a964be55ddbd8c8957714c87373c7a4f9b0 + languageName: node + linkType: hard + "eastasianwidth@npm:^0.2.0": version: 0.2.0 resolution: "eastasianwidth@npm:0.2.0" @@ -6760,7 +10019,7 @@ __metadata: languageName: node linkType: hard -"elliptic@npm:^6.5.4": +"elliptic@npm:6.5.4, elliptic@npm:^6.5.4": version: 6.5.4 resolution: "elliptic@npm:6.5.4" dependencies: @@ -6775,6 +10034,21 @@ __metadata: languageName: node linkType: hard +"elliptic@npm:^6.4.0, elliptic@npm:^6.5.3": + version: 6.5.5 + resolution: "elliptic@npm:6.5.5" + dependencies: + bn.js: ^4.11.9 + brorand: ^1.1.0 + hash.js: ^1.0.0 + hmac-drbg: ^1.0.1 + inherits: ^2.0.4 + minimalistic-assert: ^1.0.1 + minimalistic-crypto-utils: ^1.0.1 + checksum: ec9105e4469eb3b32b0ee2579756c888ddf3f99d259aa0d65fccb906ee877768aaf8880caae73e3e669c9a4adeb3eb1945703aa974ec5000d2d33a239f4567eb + languageName: node + linkType: hard + "emittery@npm:^0.13.1": version: 0.13.1 resolution: "emittery@npm:0.13.1" @@ -6812,7 +10086,7 @@ __metadata: languageName: node linkType: hard -"end-of-stream@npm:^1.1.0": +"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": version: 1.4.4 resolution: "end-of-stream@npm:1.4.4" dependencies: @@ -6831,6 +10105,15 @@ __metadata: languageName: node linkType: hard +"enquirer@npm:~2.3.6": + version: 2.3.6 + resolution: "enquirer@npm:2.3.6" + dependencies: + ansi-colors: ^4.1.1 + checksum: 1c0911e14a6f8d26721c91e01db06092a5f7675159f0261d69c403396a385afd13dd76825e7678f66daffa930cfaa8d45f506fb35f818a2788463d022af1b884 + languageName: node + linkType: hard + "env-paths@npm:^2.2.0": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -6861,6 +10144,17 @@ __metadata: languageName: node linkType: hard +"error-polyfill@npm:^0.1.3": + version: 0.1.3 + resolution: "error-polyfill@npm:0.1.3" + dependencies: + capability: ^0.2.5 + o3: ^1.0.3 + u3: ^0.1.1 + checksum: 1aee485841310e1f4d10cde0a5c8ac840311c94914bb1aed8fd71826be84dd5dba3d4ab937f39c0b970edb3d0a76cfb5d001ec979db6c68858b5f75c1f504c52 + languageName: node + linkType: hard + "es-abstract@npm:^1.22.1": version: 1.22.2 resolution: "es-abstract@npm:1.22.2" @@ -6908,6 +10202,22 @@ __metadata: languageName: node linkType: hard +"es-define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "es-define-property@npm:1.0.0" + dependencies: + get-intrinsic: ^1.2.4 + checksum: f66ece0a887b6dca71848fa71f70461357c0e4e7249696f81bad0a1f347eed7b31262af4a29f5d726dc026426f085483b6b90301855e647aa8e21936f07293c6 + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: ec1414527a0ccacd7f15f4a3bc66e215f04f595ba23ca75cdae0927af099b5ec865f9f4d33e9d7e86f512f252876ac77d4281a7871531a50678132429b1271b5 + languageName: node + linkType: hard + "es-set-tostringtag@npm:^2.0.1": version: 2.0.1 resolution: "es-set-tostringtag@npm:2.0.1" @@ -6962,6 +10272,22 @@ __metadata: languageName: node linkType: hard +"es6-promise@npm:^4.0.3": + version: 4.2.8 + resolution: "es6-promise@npm:4.2.8" + checksum: 95614a88873611cb9165a85d36afa7268af5c03a378b35ca7bda9508e1d4f1f6f19a788d4bc755b3fd37c8ebba40782018e02034564ff24c9d6fa37e959ad57d + languageName: node + linkType: hard + +"es6-promisify@npm:^5.0.0": + version: 5.0.0 + resolution: "es6-promisify@npm:5.0.0" + dependencies: + es6-promise: ^4.0.3 + checksum: fbed9d791598831413be84a5374eca8c24800ec71a16c1c528c43a98e2dadfb99331483d83ae6094ddb9b87e6f799a15d1553cebf756047e0865c753bc346b92 + languageName: node + linkType: hard + "es6-symbol@npm:^3.1.1, es6-symbol@npm:^3.1.3": version: 3.1.3 resolution: "es6-symbol@npm:3.1.3" @@ -7293,6 +10619,44 @@ __metadata: languageName: node linkType: hard +"ethers@npm:^5.5.1": + version: 5.7.2 + resolution: "ethers@npm:5.7.2" + dependencies: + "@ethersproject/abi": 5.7.0 + "@ethersproject/abstract-provider": 5.7.0 + "@ethersproject/abstract-signer": 5.7.0 + "@ethersproject/address": 5.7.0 + "@ethersproject/base64": 5.7.0 + "@ethersproject/basex": 5.7.0 + "@ethersproject/bignumber": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/constants": 5.7.0 + "@ethersproject/contracts": 5.7.0 + "@ethersproject/hash": 5.7.0 + "@ethersproject/hdnode": 5.7.0 + "@ethersproject/json-wallets": 5.7.0 + "@ethersproject/keccak256": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/networks": 5.7.1 + "@ethersproject/pbkdf2": 5.7.0 + "@ethersproject/properties": 5.7.0 + "@ethersproject/providers": 5.7.2 + "@ethersproject/random": 5.7.0 + "@ethersproject/rlp": 5.7.0 + "@ethersproject/sha2": 5.7.0 + "@ethersproject/signing-key": 5.7.0 + "@ethersproject/solidity": 5.7.0 + "@ethersproject/strings": 5.7.0 + "@ethersproject/transactions": 5.7.0 + "@ethersproject/units": 5.7.0 + "@ethersproject/wallet": 5.7.0 + "@ethersproject/web": 5.7.1 + "@ethersproject/wordlists": 5.7.0 + checksum: b7c08cf3e257185a7946117dbbf764433b7ba0e77c27298dec6088b3bc871aff711462b0621930c56880ff0a7ceb8b1d3a361ffa259f93377b48e34107f62553 + languageName: node + linkType: hard + "event-emitter@npm:^0.3.5": version: 0.3.5 resolution: "event-emitter@npm:0.3.5" @@ -7303,13 +10667,20 @@ __metadata: languageName: node linkType: hard -"eventemitter2@npm:6.4.9, eventemitter2@npm:^6.4.5": +"eventemitter2@npm:6.4.9": version: 6.4.9 resolution: "eventemitter2@npm:6.4.9" checksum: be59577c1e1c35509c7ba0e2624335c35bbcfd9485b8a977384c6cc6759341ea1a98d3cb9dbaa5cea4fff9b687e504504e3f9c2cc1674cf3bd8a43a7c74ea3eb languageName: node linkType: hard +"eventemitter3@npm:^4.0.7": + version: 4.0.7 + resolution: "eventemitter3@npm:4.0.7" + checksum: 1875311c42fcfe9c707b2712c32664a245629b42bb0a5a84439762dd0fd637fc54d078155ea83c2af9e0323c9ac13687e03cfba79b03af9f40c89b4960099374 + languageName: node + linkType: hard + "execa@npm:^4.0.0": version: 4.1.0 resolution: "execa@npm:4.1.0" @@ -7364,7 +10735,7 @@ __metadata: languageName: node linkType: hard -"exponential-backoff@npm:^3.1.1": +"exponential-backoff@npm:^3.1.0, exponential-backoff@npm:^3.1.1": version: 3.1.1 resolution: "exponential-backoff@npm:3.1.1" checksum: 3d21519a4f8207c99f7457287291316306255a328770d320b401114ec8481986e4e467e854cb9914dd965e0a1ca810a23ccb559c642c88f4c7f55c55778a9b48 @@ -7448,6 +10819,13 @@ __metadata: languageName: node linkType: hard +"eyes@npm:^0.1.8": + version: 0.1.8 + resolution: "eyes@npm:0.1.8" + checksum: c31703a92bf36ba75ee8d379ee7985c24ee6149f3a6175f44cec7a05b178c38bce9836d3ca48c9acb0329a960ac2c4b2ead4e60cdd4fe6e8c92cad7cd6913687 + languageName: node + linkType: hard + "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -7469,6 +10847,19 @@ __metadata: languageName: node linkType: hard +"fast-glob@npm:3.2.7": + version: 3.2.7 + resolution: "fast-glob@npm:3.2.7" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.2 + merge2: ^1.3.0 + micromatch: ^4.0.4 + checksum: 2f4708ff112d2b451888129fdd9a0938db88b105b0ddfd043c064e3c4d3e20eed8d7c7615f7565fee660db34ddcf08a2db1bf0ab3c00b87608e4719694642d78 + languageName: node + linkType: hard + "fast-glob@npm:^3.2.9": version: 3.3.1 resolution: "fast-glob@npm:3.3.1" @@ -7510,6 +10901,24 @@ __metadata: languageName: node linkType: hard +"fast-stable-stringify@npm:^1.0.0": + version: 1.0.0 + resolution: "fast-stable-stringify@npm:1.0.0" + checksum: ef1203d246a7e8ac15e2bfbda0a89fa375947bccf9f7910be0ea759856dbe8ea5024a0d8cc2cceabe18a9cb67e95927b78bb6173a3ae37ec55a518cf36e5244b + languageName: node + linkType: hard + +"fast-xml-parser@npm:4.2.5": + version: 4.2.5 + resolution: "fast-xml-parser@npm:4.2.5" + dependencies: + strnum: ^1.0.5 + bin: + fxparser: src/cli/cli.js + checksum: d32b22005504eeb207249bf40dc82d0994b5bb9ca9dcc731d335a1f425e47fe085b3cace3cf9d32172dd1a5544193c49e8615ca95b4bf95a4a4920a226b06d80 + languageName: node + linkType: hard + "fastq@npm:^1.6.0": version: 1.15.0 resolution: "fastq@npm:1.15.0" @@ -7528,6 +10937,15 @@ __metadata: languageName: node linkType: hard +"figures@npm:3.2.0, figures@npm:^3.0.0": + version: 3.2.0 + resolution: "figures@npm:3.2.0" + dependencies: + escape-string-regexp: ^1.0.5 + checksum: 85a6ad29e9aca80b49b817e7c89ecc4716ff14e3779d9835af554db91bac41c0f289c418923519392a1e582b4d10482ad282021330cd045bb7b80c84152f2a2b + languageName: node + linkType: hard + "figures@npm:^2.0.0": version: 2.0.0 resolution: "figures@npm:2.0.0" @@ -7546,6 +10964,13 @@ __metadata: languageName: node linkType: hard +"file-uri-to-path@npm:1.0.0": + version: 1.0.0 + resolution: "file-uri-to-path@npm:1.0.0" + checksum: b648580bdd893a008c92c7ecc96c3ee57a5e7b6c4c18a9a09b44fb5d36d79146f8e442578bc0e173dc027adf3987e254ba1dfd6e3ec998b7c282873010502144 + languageName: node + linkType: hard + "filelist@npm:^1.0.4": version: 1.0.4 resolution: "filelist@npm:1.0.4" @@ -7635,6 +11060,15 @@ __metadata: languageName: node linkType: hard +"flat@npm:^5.0.2": + version: 5.0.2 + resolution: "flat@npm:5.0.2" + bin: + flat: cli.js + checksum: 12a1536ac746db74881316a181499a78ef953632ddd28050b7a3a43c62ef5462e3357c8c29d76072bb635f147f7a9a1f0c02efef6b4be28f8db62ceb3d5c7f5d + languageName: node + linkType: hard + "flatstr@npm:^1.0.12": version: 1.0.12 resolution: "flatstr@npm:1.0.12" @@ -7649,7 +11083,7 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.15.0, follow-redirects@npm:^1.15.6": +"follow-redirects@npm:^1.14.0, follow-redirects@npm:^1.14.4, follow-redirects@npm:^1.14.7, follow-redirects@npm:^1.14.9, follow-redirects@npm:^1.15.0, follow-redirects@npm:^1.15.6": version: 1.15.6 resolution: "follow-redirects@npm:1.15.6" peerDependenciesMeta: @@ -7714,7 +11148,14 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^10.1.0": +"fs-constants@npm:^1.0.0": + version: 1.0.0 + resolution: "fs-constants@npm:1.0.0" + checksum: 18f5b718371816155849475ac36c7d0b24d39a11d91348cfcb308b4494824413e03572c403c86d3a260e049465518c4f0d5bd00f0371cdfcad6d4f30a85b350d + languageName: node + linkType: hard + +"fs-extra@npm:^10.0.1, fs-extra@npm:^10.1.0": version: 10.1.0 resolution: "fs-extra@npm:10.1.0" dependencies: @@ -7886,6 +11327,19 @@ __metadata: languageName: node linkType: hard +"get-intrinsic@npm:^1.2.4": + version: 1.2.4 + resolution: "get-intrinsic@npm:1.2.4" + dependencies: + es-errors: ^1.3.0 + function-bind: ^1.1.2 + has-proto: ^1.0.1 + has-symbols: ^1.0.3 + hasown: ^2.0.0 + checksum: 414e3cdf2c203d1b9d7d33111df746a4512a1aa622770b361dadddf8ed0b5aeb26c560f49ca077e24bfafb0acb55ca908d1f709216ccba33ffc548ec8a79a951 + languageName: node + linkType: hard + "get-iterator@npm:^1.0.2": version: 1.0.2 resolution: "get-iterator@npm:1.0.2" @@ -7999,6 +11453,20 @@ __metadata: languageName: node linkType: hard +"glob@npm:7.1.4": + version: 7.1.4 + resolution: "glob@npm:7.1.4" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.0.4 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: f52480fc82b1e66e52990f0f2e7306447d12294c83fbbee0395e761ad1178172012a7cc0673dbf4810baac400fc09bf34484c08b5778c216403fd823db281716 + languageName: node + linkType: hard + "glob@npm:8.0.3": version: 8.0.3 resolution: "glob@npm:8.0.3" @@ -8197,6 +11665,15 @@ __metadata: languageName: node linkType: hard +"has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: ^1.0.0 + checksum: fcbb246ea2838058be39887935231c6d5788babed499d0e9d0cc5737494c48aba4fe17ba1449e0d0fbbb1e36175442faa37f9c427ae357d6ccb1d895fbcd3de3 + languageName: node + linkType: hard + "has-proto@npm:^1.0.1": version: 1.0.1 resolution: "has-proto@npm:1.0.1" @@ -8243,7 +11720,18 @@ __metadata: languageName: node linkType: hard -"hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": +"hash-base@npm:^3.0.0": + version: 3.1.0 + resolution: "hash-base@npm:3.1.0" + dependencies: + inherits: ^2.0.4 + readable-stream: ^3.6.0 + safe-buffer: ^5.2.0 + checksum: 26b7e97ac3de13cb23fc3145e7e3450b0530274a9562144fc2bf5c1e2983afd0e09ed7cc3b20974ba66039fad316db463da80eb452e7373e780cbee9a0d2f2dc + languageName: node + linkType: hard + +"hash.js@npm:1.1.7, hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": version: 1.1.7 resolution: "hash.js@npm:1.1.7" dependencies: @@ -8262,6 +11750,13 @@ __metadata: languageName: node linkType: hard +"hi-base32@npm:^0.5.1": + version: 0.5.1 + resolution: "hi-base32@npm:0.5.1" + checksum: 6655682b5796d75ed3068071e61d05a490e2086c4908af3b94a730059147b8a4a5e8870e656b828d0550dcc9988d8748bda54a53e428cbce28e0d7a785b2ffde + languageName: node + linkType: hard + "hmac-drbg@npm:^1.0.1": version: 1.0.1 resolution: "hmac-drbg@npm:1.0.1" @@ -8309,6 +11804,19 @@ __metadata: languageName: node linkType: hard +"http-errors@npm:^1.7.2": + version: 1.8.1 + resolution: "http-errors@npm:1.8.1" + dependencies: + depd: ~1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: ">= 1.5.0 < 2" + toidentifier: 1.0.1 + checksum: d3c7e7e776fd51c0a812baff570bdf06fe49a5dc448b700ab6171b1250e4cf7db8b8f4c0b133e4bfe2451022a5790c1ca6c2cae4094dedd6ac8304a1267f91d2 + languageName: node + linkType: hard + "http-proxy-agent@npm:^5.0.0": version: 5.0.0 resolution: "http-proxy-agent@npm:5.0.0" @@ -8353,6 +11861,13 @@ __metadata: languageName: node linkType: hard +"humanize-number@npm:0.0.2": + version: 0.0.2 + resolution: "humanize-number@npm:0.0.2" + checksum: 9c98c9d06b0f3d801960be3957199232a5df52377e2502acae92e4f71de633fa62c315a83f24bf96bef76f47b2e3e0e1e4f4157c891e27074fd3272cad6724bb + languageName: node + linkType: hard + "husky@npm:^7.0.4": version: 7.0.4 resolution: "husky@npm:7.0.4" @@ -8394,6 +11909,13 @@ __metadata: languageName: node linkType: hard +"ignore@npm:^5.0.4": + version: 5.3.1 + resolution: "ignore@npm:5.3.1" + checksum: 71d7bb4c1dbe020f915fd881108cbe85a0db3d636a0ea3ba911393c53946711d13a9b1143c7e70db06d571a5822c0a324a6bcde5c9904e7ca5047f01f1bf8cd3 + languageName: node + linkType: hard + "ignore@npm:^5.1.4, ignore@npm:^5.2.0": version: 5.2.4 resolution: "ignore@npm:5.2.4" @@ -8461,7 +11983,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 @@ -8547,6 +12069,29 @@ __metadata: languageName: node linkType: hard +"inquirer@npm:^8.2.0": + version: 8.2.6 + resolution: "inquirer@npm:8.2.6" + dependencies: + ansi-escapes: ^4.2.1 + chalk: ^4.1.1 + cli-cursor: ^3.1.0 + cli-width: ^3.0.0 + external-editor: ^3.0.3 + figures: ^3.0.0 + lodash: ^4.17.21 + mute-stream: 0.0.8 + ora: ^5.4.1 + run-async: ^2.4.0 + rxjs: ^7.5.5 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + through: ^2.3.6 + wrap-ansi: ^6.0.1 + checksum: 387ffb0a513559cc7414eb42c57556a60e302f820d6960e89d376d092e257a919961cd485a1b4de693dbb5c0de8bc58320bfd6247dfd827a873aa82a4215a240 + languageName: node + linkType: hard + "inquirerer@npm:0.1.3": version: 0.1.3 resolution: "inquirerer@npm:0.1.3" @@ -8779,7 +12324,7 @@ __metadata: languageName: node linkType: hard -"is-buffer@npm:^2.0.0": +"is-buffer@npm:^2.0.0, is-buffer@npm:^2.0.5": version: 2.0.5 resolution: "is-buffer@npm:2.0.5" checksum: 764c9ad8b523a9f5a32af29bdf772b08eb48c04d2ad0a7240916ac2688c983bf5f8504bf25b35e66240edeb9d9085461f9b5dae1f3d2861c6b06a65fe983de42 @@ -9285,8 +12830,30 @@ __metadata: filelist: ^1.0.4 minimatch: ^3.1.2 bin: - jake: bin/cli.js - checksum: a23fd2273fb13f0d0d845502d02c791fd55ef5c6a2d207df72f72d8e1eac6d2b8ffa6caf660bc8006b3242e0daaa88a3ecc600194d72b5c6016ad56e9cd43553 + jake: bin/cli.js + checksum: a23fd2273fb13f0d0d845502d02c791fd55ef5c6a2d207df72f72d8e1eac6d2b8ffa6caf660bc8006b3242e0daaa88a3ecc600194d72b5c6016ad56e9cd43553 + languageName: node + linkType: hard + +"jayson@npm:^4.1.0": + version: 4.1.0 + resolution: "jayson@npm:4.1.0" + dependencies: + "@types/connect": ^3.4.33 + "@types/node": ^12.12.54 + "@types/ws": ^7.4.4 + JSONStream: ^1.3.5 + commander: ^2.20.3 + delay: ^5.0.0 + es6-promisify: ^5.0.0 + eyes: ^0.1.8 + isomorphic-ws: ^4.0.1 + json-stringify-safe: ^5.0.1 + uuid: ^8.3.2 + ws: ^7.4.5 + bin: + jayson: bin/jayson.js + checksum: 86464322fbdc6db65d2bb4fc278cb6c86fad5c2a506065490d39459f09ba0d30f2b4fb740b33828a1424791419b6c8bd295dc54d361a4ad959bf70cc62b1ca7e languageName: node linkType: hard @@ -9815,13 +13382,27 @@ __metadata: languageName: node linkType: hard -"js-sha3@npm:^0.8.0": +"js-sha256@npm:^0.9.0": + version: 0.9.0 + resolution: "js-sha256@npm:0.9.0" + checksum: ffad54b3373f81581e245866abfda50a62c483803a28176dd5c28fd2d313e0bdf830e77dac7ff8afd193c53031618920f3d98daf21cbbe80082753ab639c0365 + languageName: node + linkType: hard + +"js-sha3@npm:0.8.0, js-sha3@npm:^0.8.0": version: 0.8.0 resolution: "js-sha3@npm:0.8.0" checksum: 75df77c1fc266973f06cce8309ce010e9e9f07ec35ab12022ed29b7f0d9c8757f5a73e1b35aa24840dced0dea7059085aa143d817aea9e188e2a80d569d9adce languageName: node linkType: hard +"js-sha512@npm:^0.8.0": + version: 0.8.0 + resolution: "js-sha512@npm:0.8.0" + checksum: 32ca371ebd14c6c5c83360fd8b036cad2211537bef546b199ac8b901917299cab4c68f7f7c26ae72f836bbce0349cb463df9a62cdb4c90e38090fdb4db89ee87 + languageName: node + linkType: hard + "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -9829,26 +13410,26 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.13.1": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" +"js-yaml@npm:4.1.0, js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" dependencies: - argparse: ^1.0.7 - esprima: ^4.0.0 + argparse: ^2.0.1 bin: js-yaml: bin/js-yaml.js - checksum: bef146085f472d44dee30ec34e5cf36bf89164f5d585435a3d3da89e52622dff0b188a580e4ad091c3341889e14cb88cac6e4deb16dc5b1e9623bb0601fc255c + checksum: c7830dfd456c3ef2c6e355cc5a92e6700ceafa1d14bba54497b34a99f0376cecbb3e9ac14d3e5849b426d5a5140709a66237a8c991c675431271c4ce5504151a languageName: node linkType: hard -"js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" +"js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.1": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" dependencies: - argparse: ^2.0.1 + argparse: ^1.0.7 + esprima: ^4.0.0 bin: js-yaml: bin/js-yaml.js - checksum: c7830dfd456c3ef2c6e355cc5a92e6700ceafa1d14bba54497b34a99f0376cecbb3e9ac14d3e5849b426d5a5140709a66237a8c991c675431271c4ce5504151a + checksum: bef146085f472d44dee30ec34e5cf36bf89164f5d585435a3d3da89e52622dff0b188a580e4ad091c3341889e14cb88cac6e4deb16dc5b1e9623bb0601fc255c languageName: node linkType: hard @@ -9870,6 +13451,15 @@ __metadata: languageName: node linkType: hard +"json-bigint@npm:^1.0.0": + version: 1.0.0 + resolution: "json-bigint@npm:1.0.0" + dependencies: + bignumber.js: ^9.0.0 + checksum: c67bb93ccb3c291e60eb4b62931403e378906aab113ec1c2a8dd0f9a7f065ad6fd9713d627b732abefae2e244ac9ce1721c7a3142b2979532f12b258634ce6f6 + languageName: node + linkType: hard + "json-buffer@npm:3.0.0": version: 3.0.0 resolution: "json-buffer@npm:3.0.0" @@ -9931,6 +13521,13 @@ __metadata: languageName: node linkType: hard +"json-stringify-safe@npm:^5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 48ec0adad5280b8a96bb93f4563aa1667fd7a36334f79149abd42446d0989f2ddc58274b479f4819f1f00617957e6344c886c55d05a4e15ebb4ab931e4a6a8ee + languageName: node + linkType: hard + "json5@npm:^1.0.2": version: 1.0.2 resolution: "json5@npm:1.0.2" @@ -9958,7 +13555,7 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^6.0.1": +"jsonfile@npm:^6.0.1, jsonfile@npm:^6.1.0": version: 6.1.0 resolution: "jsonfile@npm:6.1.0" dependencies: @@ -9978,6 +13575,25 @@ __metadata: languageName: node linkType: hard +"jsonparse@npm:^1.2.0": + version: 1.3.1 + resolution: "jsonparse@npm:1.3.1" + checksum: 6514a7be4674ebf407afca0eda3ba284b69b07f9958a8d3113ef1005f7ec610860c312be067e450c569aab8b89635e332cee3696789c750692bb60daba627f4d + languageName: node + linkType: hard + +"keccak@npm:^3.0.2": + version: 3.0.4 + resolution: "keccak@npm:3.0.4" + dependencies: + node-addon-api: ^2.0.0 + node-gyp: latest + node-gyp-build: ^4.2.0 + readable-stream: ^3.6.0 + checksum: 2bf27b97b2f24225b1b44027de62be547f5c7326d87d249605665abd0c8c599d774671c35504c62c9b922cae02758504c6f76a73a84234d23af8a2211afaaa11 + languageName: node + linkType: hard + "keyv@npm:^3.0.0": version: 3.1.0 resolution: "keyv@npm:3.1.0" @@ -10021,6 +13637,34 @@ __metadata: languageName: node linkType: hard +"level-supports@npm:^4.0.0": + version: 4.0.1 + resolution: "level-supports@npm:4.0.1" + checksum: d4552b42bb8cdeada07b0f6356c7a90fefe76279147331f291aceae26e3e56d5f927b09ce921647c0230bfe03ddfbdcef332be921e5c2194421ae2bfa3cf6368 + languageName: node + linkType: hard + +"level-transcoder@npm:^1.0.1": + version: 1.0.1 + resolution: "level-transcoder@npm:1.0.1" + dependencies: + buffer: ^6.0.3 + module-error: ^1.0.1 + checksum: 304f08d802faf3491a533b6d87ad8be3cabfd27f2713bbe9d4c633bf50fcb9460eab5a6776bf015e101ead7ba1c1853e05e7f341112f17a9d0cb37ee5a421a25 + languageName: node + linkType: hard + +"level@npm:^8.0.0": + version: 8.0.1 + resolution: "level@npm:8.0.1" + dependencies: + abstract-level: ^1.0.4 + browser-level: ^1.0.1 + classic-level: ^1.2.0 + checksum: c5641cbba666ef9eb0292aad01d86a4f1af18e637d1fc097c65bf0109ab8d7e6fba8c8faf6c74ae4e48edac4310f7dd87def26ffeebfe395c7afd9bd2461ab97 + languageName: node + linkType: hard + "leven@npm:^3.1.0": version: 3.1.0 resolution: "leven@npm:3.1.0" @@ -10061,6 +13705,22 @@ __metadata: languageName: node linkType: hard +"libsodium-wrappers@npm:^0.7.6": + version: 0.7.13 + resolution: "libsodium-wrappers@npm:0.7.13" + dependencies: + libsodium: ^0.7.13 + checksum: d184395f7c33023414b191ef9ea2171eb1a5cb061503e886ea877590cb7adc3a4feaf794b9b08731a20515518fa23dbf1c1bfcd376e5ab01728e95cf1cb7525a + languageName: node + linkType: hard + +"libsodium@npm:^0.7.13": + version: 0.7.13 + resolution: "libsodium@npm:0.7.13" + checksum: 75a5f70e84c197d54d9b67dcbd852abbd41cca8facd510767c7c8400a52a23da293e83eebf1693831b2c0c0498f266bd9350a8c27ec66f46a055890dff758d38 + languageName: node + linkType: hard + "lilconfig@npm:2.0.5": version: 2.0.5 resolution: "lilconfig@npm:2.0.5" @@ -10217,7 +13877,7 @@ __metadata: languageName: node linkType: hard -"long@npm:^5.2.0, long@npm:^5.2.1": +"long@npm:^5.0.0, long@npm:^5.2.0, long@npm:^5.2.1, long@npm:^5.2.3": version: 5.2.3 resolution: "long@npm:5.2.3" checksum: 885ede7c3de4facccbd2cacc6168bae3a02c3e836159ea4252c87b6e34d40af819824b2d4edce330bfb5c4d6e8ce3ec5864bdcf9473fa1f53a4f8225860e5897 @@ -10304,6 +13964,13 @@ __metadata: languageName: node linkType: hard +"luxon@npm:^3.1.0": + version: 3.4.4 + resolution: "luxon@npm:3.4.4" + checksum: 36c1f99c4796ee4bfddf7dc94fa87815add43ebc44c8934c924946260a58512f0fd2743a629302885df7f35ccbd2d13f178c15df046d0e3b6eb71db178f1c60c + languageName: node + linkType: hard + "luxon@npm:^3.2.1": version: 3.4.3 resolution: "luxon@npm:3.4.3" @@ -10377,6 +14044,17 @@ __metadata: languageName: node linkType: hard +"md5.js@npm:^1.3.4": + version: 1.3.5 + resolution: "md5.js@npm:1.3.5" + dependencies: + hash-base: ^3.0.0 + inherits: ^2.0.1 + safe-buffer: ^5.1.2 + checksum: 098494d885684bcc4f92294b18ba61b7bd353c23147fbc4688c75b45cb8590f5a95fd4584d742415dcc52487f7a1ef6ea611cfa1543b0dc4492fe026357f3f0c + languageName: node + linkType: hard + "mdast-util-from-markdown@npm:^0.8.0": version: 0.8.5 resolution: "mdast-util-from-markdown@npm:0.8.5" @@ -10507,7 +14185,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.12, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.34, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -10560,6 +14238,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:3.0.5": + version: 3.0.5 + resolution: "minimatch@npm:3.0.5" + dependencies: + brace-expansion: ^1.1.7 + checksum: a3b84b426eafca947741b864502cee02860c4e7b145de11ad98775cfcf3066fef422583bc0ffce0952ddf4750c1ccf4220b1556430d4ce10139f66247d87d69e + languageName: node + linkType: hard + "minimatch@npm:5.1.0": version: 5.1.0 resolution: "minimatch@npm:5.1.0" @@ -10730,7 +14417,21 @@ __metadata: languageName: node linkType: hard -"moment-timezone@npm:^0.5.35, moment-timezone@npm:~0.5": +"mobx@npm:^6.1.7": + version: 6.12.3 + resolution: "mobx@npm:6.12.3" + checksum: 95d5a81ca80c943b0e7fe0a44cbaeb5447d1bd6be72380a3c9b22ce27dbedcf36c7597f5600d742ed3c74699e809f1d2055c26482df04c3ec4b3ac2e181414bb + 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" + checksum: 5d653e35bd55b3e95f8aee2cdac108082ea892e71b8f651be92cde43e4ee86abee4fa8bd7fc3fe5e68b63926d42f63c54cd17b87a560c31f18739295575a3962 + languageName: node + linkType: hard + +"moment-timezone@npm:^0.5.35": version: 0.5.43 resolution: "moment-timezone@npm:0.5.43" dependencies: @@ -10739,7 +14440,7 @@ __metadata: languageName: node linkType: hard -"moment@npm:>=2.14.0, moment@npm:^2.29.1, moment@npm:^2.29.4": +"moment@npm:^2.29.1, moment@npm:^2.29.4": version: 2.29.4 resolution: "moment@npm:2.29.4" checksum: 0ec3f9c2bcba38dc2451b1daed5daded747f17610b92427bebe1d08d48d8b7bdd8d9197500b072d14e326dd0ccf3e326b9e3d07c5895d3d49e39b6803b76e80e @@ -10832,6 +14533,25 @@ __metadata: languageName: node linkType: hard +"multistream@npm:^4.1.0": + version: 4.1.0 + resolution: "multistream@npm:4.1.0" + dependencies: + once: ^1.4.0 + readable-stream: ^3.6.0 + checksum: 305c49a1aadcb7f63f64d8ca2bb6e7852e5f7dba94c7329e9a72ce53cd0046686b71668dc1adbf123f17d2dd107765fc946e64c36a26b15c470a3146ea3bc923 + languageName: node + linkType: hard + +"mustache@npm:^4.0.0": + version: 4.2.0 + resolution: "mustache@npm:4.2.0" + bin: + mustache: bin/mustache + checksum: 928fcb63e3aa44a562bfe9b59ba202cccbe40a46da50be6f0dd831b495be1dd7e38ca4657f0ecab2c1a89dc7bccba0885eab7ee7c1b215830da765758c7e0506 + languageName: node + linkType: hard + "mute-stream@npm:0.0.7": version: 0.0.7 resolution: "mute-stream@npm:0.0.7" @@ -10839,6 +14559,13 @@ __metadata: languageName: node linkType: hard +"mute-stream@npm:0.0.8": + version: 0.0.8 + resolution: "mute-stream@npm:0.0.8" + checksum: ff48d251fc3f827e5b1206cda0ffdaec885e56057ee86a3155e1951bc940fd5f33531774b1cc8414d7668c10a8907f863f6561875ee6e8768931a62121a531a1 + languageName: node + linkType: hard + "mz@npm:^2.7.0": version: 2.7.0 resolution: "mz@npm:2.7.0" @@ -10850,6 +14577,15 @@ __metadata: languageName: node linkType: hard +"nan@npm:^2.13.2": + version: 2.19.0 + resolution: "nan@npm:2.19.0" + dependencies: + node-gyp: latest + checksum: 29a894a003c1954c250d690768c30e69cd91017e2e5eb21b294380f7cace425559508f5ffe3e329a751307140b0bd02f83af040740fa4def1a3869be6af39600 + languageName: node + linkType: hard + "nanoid@npm:^3.0.2, nanoid@npm:^3.1.20, nanoid@npm:^3.1.23": version: 3.3.6 resolution: "nanoid@npm:3.3.6" @@ -10859,6 +14595,13 @@ __metadata: languageName: node linkType: hard +"napi-macros@npm:^2.2.2": + version: 2.2.2 + resolution: "napi-macros@npm:2.2.2" + checksum: c6f9bd71cdbbc37ddc3535aa5be481238641d89585b8a3f4d301cb89abf459e2d294810432bb7d12056d1f9350b1a0899a5afcf460237a3da6c398cf0fec7629 + languageName: node + linkType: hard + "native-fetch@npm:^3.0.0": version: 3.0.0 resolution: "native-fetch@npm:3.0.0" @@ -10882,6 +14625,48 @@ __metadata: languageName: node linkType: hard +"near-api-js@npm:^0.44.2": + version: 0.44.2 + resolution: "near-api-js@npm:0.44.2" + dependencies: + bn.js: 5.2.0 + borsh: ^0.6.0 + bs58: ^4.0.0 + depd: ^2.0.0 + error-polyfill: ^0.1.3 + http-errors: ^1.7.2 + js-sha256: ^0.9.0 + mustache: ^4.0.0 + node-fetch: ^2.6.1 + text-encoding-utf-8: ^1.0.2 + tweetnacl: ^1.0.1 + checksum: d63625ab83d695d23a9126997355909fe141204c431a4818733050e1fcda11e5508dc70ff2e8fd55c1b2842908babd42fcf0ed4f3dc8c3fdb23ae422c497996d + languageName: node + linkType: hard + +"near-hd-key@npm:^1.2.1": + version: 1.2.1 + resolution: "near-hd-key@npm:1.2.1" + dependencies: + bip39: 3.0.2 + create-hmac: 1.1.7 + tweetnacl: 1.0.3 + checksum: 7dc652952257407dfee5207df51173a37b09cde0d99966070e0de27aa7f8113f899e56338cfdae98e939a7541bfc25d79d1587df6154ee69d122b5ad919d0ff6 + languageName: node + linkType: hard + +"near-seed-phrase@npm:^0.2.0": + version: 0.2.0 + resolution: "near-seed-phrase@npm:0.2.0" + dependencies: + bip39-light: ^1.0.7 + bs58: ^4.0.1 + near-hd-key: ^1.2.1 + tweetnacl: ^1.0.2 + checksum: 66c5a946bae107746256c590429123d9b02daf22ab1f32d12cab79414bf34d6d2de7b17896d14459fd515b42c56cd510adafedf9f69075534c6105812b4438f8 + languageName: node + linkType: hard + "negotiator@npm:0.6.3, negotiator@npm:^0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" @@ -10905,6 +14690,24 @@ __metadata: languageName: node linkType: hard +"node-addon-api@npm:^2.0.0": + version: 2.0.2 + resolution: "node-addon-api@npm:2.0.2" + dependencies: + node-gyp: latest + checksum: 31fb22d674648204f8dd94167eb5aac896c841b84a9210d614bf5d97c74ef059cc6326389cf0c54d2086e35312938401d4cc82e5fcd679202503eb8ac84814f8 + languageName: node + linkType: hard + +"node-addon-api@npm:^3.2.1": + version: 3.2.1 + resolution: "node-addon-api@npm:3.2.1" + dependencies: + node-gyp: latest + checksum: 2369986bb0881ccd9ef6bacdf39550e07e089a9c8ede1cbc5fc7712d8e2faa4d50da0e487e333d4125f8c7a616c730131d1091676c9d499af1d74560756b4a18 + languageName: node + linkType: hard + "node-fetch@npm:2.6.7": version: 2.6.7 resolution: "node-fetch@npm:2.6.7" @@ -10919,6 +14722,17 @@ __metadata: languageName: node linkType: hard +"node-gyp-build@npm:^4.2.0, node-gyp-build@npm:^4.3.0": + version: 4.8.0 + resolution: "node-gyp-build@npm:4.8.0" + bin: + node-gyp-build: bin.js + node-gyp-build-optional: optional.js + node-gyp-build-test: build-test.js + checksum: b82a56f866034b559dd3ed1ad04f55b04ae381b22ec2affe74b488d1582473ca6e7f85fccf52da085812d3de2b0bf23109e752a57709ac7b9963951c710fea40 + languageName: node + linkType: hard + "node-gyp@npm:latest": version: 9.4.0 resolution: "node-gyp@npm:9.4.0" @@ -11054,6 +14868,68 @@ __metadata: languageName: node linkType: hard +"nx@npm:14.8.9, nx@npm:^14.4.3": + version: 14.8.9 + resolution: "nx@npm:14.8.9" + dependencies: + "@nrwl/cli": 14.8.9 + "@nrwl/tao": 14.8.9 + "@parcel/watcher": 2.0.4 + "@yarnpkg/lockfile": ^1.1.0 + "@yarnpkg/parsers": ^3.0.0-rc.18 + "@zkochan/js-yaml": 0.0.6 + axios: ^1.0.0 + chalk: 4.1.0 + chokidar: ^3.5.1 + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + cliui: ^7.0.2 + dotenv: ~10.0.0 + enquirer: ~2.3.6 + fast-glob: 3.2.7 + figures: 3.2.0 + flat: ^5.0.2 + fs-extra: ^10.1.0 + glob: 7.1.4 + ignore: ^5.0.4 + js-yaml: 4.1.0 + jsonc-parser: 3.2.0 + minimatch: 3.0.5 + npm-run-path: ^4.0.1 + open: ^8.4.0 + semver: 7.3.4 + string-width: ^4.2.3 + strong-log-transformer: ^2.1.0 + tar-stream: ~2.2.0 + tmp: ~0.2.1 + tsconfig-paths: ^3.9.0 + tslib: ^2.3.0 + v8-compile-cache: 2.3.0 + yargs: ^17.4.0 + yargs-parser: 21.0.1 + peerDependencies: + "@swc-node/register": ^1.4.2 + "@swc/core": ^1.2.173 + peerDependenciesMeta: + "@swc-node/register": + optional: true + "@swc/core": + optional: true + bin: + nx: bin/nx.js + checksum: 4c661e8739c6e7d11b213c6aedc19185039b780e0257cd0068d710b688ff14e77e7747b3eb7165574b5101d63a810644fa83802db0565d9d89320ca961700faa + languageName: node + linkType: hard + +"o3@npm:^1.0.3": + version: 1.0.3 + resolution: "o3@npm:1.0.3" + dependencies: + capability: ^0.2.5 + checksum: 3b4d0686c94ac21b3c8bd66fb2c93a4daef7b8f52a20b04595754f8dc4102550de9a7b1cdffa3db2191d47a4ae70ca568f21d9f3ba29bb15c3f004dbf636c33c + languageName: node + linkType: hard + "object-assign@npm:^4, object-assign@npm:^4.0.1, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" @@ -11068,6 +14944,13 @@ __metadata: languageName: node linkType: hard +"object-inspect@npm:^1.13.1": + version: 1.13.1 + resolution: "object-inspect@npm:1.13.1" + checksum: 7d9fa9221de3311dcb5c7c307ee5dc011cdd31dc43624b7c184b3840514e118e05ef0002be5388304c416c0eb592feb46e983db12577fc47e47d5752fbbfb61f + languageName: node + linkType: hard + "object-keys@npm:^1.1.1": version: 1.1.1 resolution: "object-keys@npm:1.1.1" @@ -11167,7 +15050,7 @@ __metadata: languageName: node linkType: hard -"open@npm:^8.2.0": +"open@npm:^8.2.0, open@npm:^8.4.0": version: 8.4.2 resolution: "open@npm:8.4.2" dependencies: @@ -11204,7 +15087,7 @@ __metadata: languageName: node linkType: hard -"ora@npm:5.4.1": +"ora@npm:5.4.1, ora@npm:^5.4.1": version: 5.4.1 resolution: "ora@npm:5.4.1" dependencies: @@ -11348,13 +15231,6 @@ __metadata: languageName: node linkType: hard -"packet-reader@npm:1.0.0": - version: 1.0.0 - resolution: "packet-reader@npm:1.0.0" - checksum: 0b7516f0cbf3e322aad591bed29ba544220088c53943145c0d9121a6f59182ad811f7fd6785a8979a34356aca69d97653689029964c5998dc02645633d88ffd7 - languageName: node - linkType: hard - "pako@npm:^2.0.2": version: 2.1.0 resolution: "pako@npm:2.1.0" @@ -11543,89 +15419,26 @@ __metadata: languageName: node linkType: hard -"pg-cloudflare@npm:^1.1.1": - version: 1.1.1 - resolution: "pg-cloudflare@npm:1.1.1" - checksum: 32aac06b5dc4588bbf78801b6267781bc7e13be672009df949d08e9627ba9fdc26924916665d4de99d47f9b0495301930547488dad889d826856976c7b3f3731 +"pbkdf2@npm:^3.0.9": + version: 3.1.2 + resolution: "pbkdf2@npm:3.1.2" + dependencies: + create-hash: ^1.1.2 + create-hmac: ^1.1.4 + ripemd160: ^2.0.1 + safe-buffer: ^5.0.1 + sha.js: ^2.4.8 + checksum: 2c950a100b1da72123449208e231afc188d980177d021d7121e96a2de7f2abbc96ead2b87d03d8fe5c318face097f203270d7e27908af9f471c165a4e8e69c92 languageName: node linkType: hard -"pg-connection-string@npm:^2.5.0, pg-connection-string@npm:^2.6.2": +"pg-connection-string@npm:^2.5.0": version: 2.6.2 resolution: "pg-connection-string@npm:2.6.2" checksum: 22265882c3b6f2320785378d0760b051294a684989163d5a1cde4009e64e84448d7bf67d9a7b9e7f69440c3ee9e2212f9aa10dd17ad6773f6143c6020cebbcb5 languageName: node linkType: hard -"pg-int8@npm:1.0.1": - version: 1.0.1 - resolution: "pg-int8@npm:1.0.1" - checksum: a1e3a05a69005ddb73e5f324b6b4e689868a447c5fa280b44cd4d04e6916a344ac289e0b8d2695d66e8e89a7fba023affb9e0e94778770ada5df43f003d664c9 - languageName: node - linkType: hard - -"pg-pool@npm:^3.6.1": - version: 3.6.1 - resolution: "pg-pool@npm:3.6.1" - peerDependencies: - pg: ">=8.0" - checksum: 8a6513e6f74a794708c9dd16d2ccda0debadc56435ec2582de2b2e35b01315550c5dab8a0a9a2a16f4adce45523228f5739940fb7687ec7e9c300f284eb08fd1 - languageName: node - linkType: hard - -"pg-protocol@npm:^1.6.0": - version: 1.6.0 - resolution: "pg-protocol@npm:1.6.0" - checksum: e12662d2de2011e0c3a03f6a09f435beb1025acdc860f181f18a600a5495dc38a69d753bbde1ace279c8c442536af9c1a7c11e1d0fe3fad3aa1348b28d9d2683 - languageName: node - linkType: hard - -"pg-types@npm:^2.1.0": - version: 2.2.0 - resolution: "pg-types@npm:2.2.0" - dependencies: - pg-int8: 1.0.1 - postgres-array: ~2.0.0 - postgres-bytea: ~1.0.0 - postgres-date: ~1.0.4 - postgres-interval: ^1.1.0 - checksum: bf4ec3f594743442857fb3a8dfe5d2478a04c98f96a0a47365014557cbc0b4b0cee01462c79adca863b93befbf88f876299b75b72c665b5fb84a2c94fbd10316 - languageName: node - linkType: hard - -"pg@npm:^8.7.1": - version: 8.11.3 - resolution: "pg@npm:8.11.3" - dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-cloudflare: ^1.1.1 - pg-connection-string: ^2.6.2 - pg-pool: ^3.6.1 - pg-protocol: ^1.6.0 - pg-types: ^2.1.0 - pgpass: 1.x - peerDependencies: - pg-native: ">=3.0.1" - dependenciesMeta: - pg-cloudflare: - optional: true - peerDependenciesMeta: - pg-native: - optional: true - checksum: 8af9468b8969fa0d73a6b349216c8cbc953d938fcae5594f2d24043060e9226a072c8085fc4230172b5576fcab4c39c8563c655f271dc2a9209b6ad5370cafe5 - languageName: node - linkType: hard - -"pgpass@npm:1.x": - version: 1.0.5 - resolution: "pgpass@npm:1.0.5" - dependencies: - split2: ^4.1.0 - checksum: 947ac096c031eebdf08d989de2e9f6f156b8133d6858c7c2c06c041e1e71dda6f5f3bad3c0ec1e96a09497bbc6ef89e762eefe703b5ef9cb2804392ec52ec400 - languageName: node - linkType: hard - "picocolors@npm:^1.0.0": version: 1.0.0 resolution: "picocolors@npm:1.0.0" @@ -11713,33 +15526,10 @@ __metadata: languageName: node linkType: hard -"postgres-array@npm:~2.0.0": - version: 2.0.0 - resolution: "postgres-array@npm:2.0.0" - checksum: 0e1e659888147c5de579d229a2d95c0d83ebdbffc2b9396d890a123557708c3b758a0a97ed305ce7f58edfa961fa9f0bbcd1ea9f08b6e5df73322e683883c464 - languageName: node - linkType: hard - -"postgres-bytea@npm:~1.0.0": - version: 1.0.0 - resolution: "postgres-bytea@npm:1.0.0" - checksum: d844ae4ca7a941b70e45cac1261a73ee8ed39d72d3d74ab1d645248185a1b7f0ac91a3c63d6159441020f4e1f7fe64689ac56536a307b31cef361e5187335090 - languageName: node - linkType: hard - -"postgres-date@npm:~1.0.4": - version: 1.0.7 - resolution: "postgres-date@npm:1.0.7" - checksum: 5745001d47e51cd767e46bcb1710649cd705d91a24d42fa661c454b6dcbb7353c066a5047983c90a626cd3bbfea9e626cc6fa84a35ec57e5bbb28b49f78e13ed - languageName: node - linkType: hard - -"postgres-interval@npm:^1.1.0": - version: 1.2.0 - resolution: "postgres-interval@npm:1.2.0" - dependencies: - xtend: ^4.0.0 - checksum: 746b71f93805ae33b03528e429dc624706d1f9b20ee81bf743263efb6a0cd79ae02a642a8a480dbc0f09547b4315ab7df6ce5ec0be77ed700bac42730f5c76b2 +"prando@npm:^6.0.1": + version: 6.0.1 + resolution: "prando@npm:6.0.1" + checksum: c0c25dbb2cb92dff4b0f44781f0e2132886c34ab6a12f7f0839d6073c783d86589d4c632727819d8fb0a5a675a7e27223285c6907261d3b6a49167b4cbdc162a languageName: node linkType: hard @@ -11829,7 +15619,14 @@ __metadata: languageName: node linkType: hard -"prom-client@npm:^14.0.1": +"process@npm:^0.11.10": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: bfcce49814f7d172a6e6a14d5fa3ac92cc3d0c3b9feb1279774708a719e19acd673995226351a082a9ae99978254e320ccda4240ddc474ba31a76c79491ca7c3 + languageName: node + linkType: hard + +"prom-client@npm:^14.0.1, prom-client@npm:^14.1.0": version: 14.2.0 resolution: "prom-client@npm:14.2.0" dependencies: @@ -11858,20 +15655,64 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:^15.7.2": - version: 15.8.1 - resolution: "prop-types@npm:15.8.1" +"prop-types@npm:^15.7.2": + version: 15.8.1 + resolution: "prop-types@npm:15.8.1" + dependencies: + loose-envify: ^1.4.0 + object-assign: ^4.1.1 + react-is: ^16.13.1 + checksum: c056d3f1c057cb7ff8344c645450e14f088a915d078dcda795041765047fa080d38e5d626560ccaac94a4e16e3aa15f3557c1a9a8d1174530955e992c675e459 + languageName: node + linkType: hard + +"protobufjs@npm:^6.10.2, protobufjs@npm:^6.11.2, protobufjs@npm:^6.11.4, protobufjs@npm:^6.8.8, protobufjs@npm:~6.11.2, protobufjs@npm:~6.11.3": + version: 6.11.4 + resolution: "protobufjs@npm:6.11.4" + dependencies: + "@protobufjs/aspromise": ^1.1.2 + "@protobufjs/base64": ^1.1.2 + "@protobufjs/codegen": ^2.0.4 + "@protobufjs/eventemitter": ^1.1.0 + "@protobufjs/fetch": ^1.1.0 + "@protobufjs/float": ^1.0.2 + "@protobufjs/inquire": ^1.1.0 + "@protobufjs/path": ^1.1.2 + "@protobufjs/pool": ^1.1.0 + "@protobufjs/utf8": ^1.1.0 + "@types/long": ^4.0.1 + "@types/node": ">=13.7.0" + long: ^4.0.0 + bin: + pbjs: bin/pbjs + pbts: bin/pbts + checksum: b2fc6a01897b016c2a7e43a854ab4a3c57080f61be41e552235436e7a730711b8e89e47cb4ae52f0f065b5ab5d5989fc932f390337ce3a8ccf07203415700850 + languageName: node + linkType: hard + +"protobufjs@npm:^7.2.4": + version: 7.2.6 + resolution: "protobufjs@npm:7.2.6" dependencies: - loose-envify: ^1.4.0 - object-assign: ^4.1.1 - react-is: ^16.13.1 - checksum: c056d3f1c057cb7ff8344c645450e14f088a915d078dcda795041765047fa080d38e5d626560ccaac94a4e16e3aa15f3557c1a9a8d1174530955e992c675e459 + "@protobufjs/aspromise": ^1.1.2 + "@protobufjs/base64": ^1.1.2 + "@protobufjs/codegen": ^2.0.4 + "@protobufjs/eventemitter": ^1.1.0 + "@protobufjs/fetch": ^1.1.0 + "@protobufjs/float": ^1.0.2 + "@protobufjs/inquire": ^1.1.0 + "@protobufjs/path": ^1.1.2 + "@protobufjs/pool": ^1.1.0 + "@protobufjs/utf8": ^1.1.0 + "@types/node": ">=13.7.0" + long: ^5.0.0 + checksum: 3c62e48f7d50017ac3b0dcd2a58e617cf858f9fba56a488bd48b9aa3482893a75540052dbcb3c12dfbaab42b1d04964611175faf06bdadcd33a4ebac982a511e languageName: node linkType: hard -"protobufjs@npm:^6.10.2, protobufjs@npm:^6.11.4, protobufjs@npm:^6.8.8": - version: 6.11.4 - resolution: "protobufjs@npm:6.11.4" +"protobufjs@npm:~6.10.2": + version: 6.10.3 + resolution: "protobufjs@npm:6.10.3" dependencies: "@protobufjs/aspromise": ^1.1.2 "@protobufjs/base64": ^1.1.2 @@ -11884,12 +15725,12 @@ __metadata: "@protobufjs/pool": ^1.1.0 "@protobufjs/utf8": ^1.1.0 "@types/long": ^4.0.1 - "@types/node": ">=13.7.0" + "@types/node": ^13.7.0 long: ^4.0.0 bin: pbjs: bin/pbjs pbts: bin/pbts - checksum: b2fc6a01897b016c2a7e43a854ab4a3c57080f61be41e552235436e7a730711b8e89e47cb4ae52f0f065b5ab5d5989fc932f390337ce3a8ccf07203415700850 + checksum: 6fb9fa971b0676ea1d560748572f39bcc1cac973d9c9c5041afe1e3268f5767951465d17946757314521504f75b78d192424efbdb07daff45c6ea7836af782e8 languageName: node linkType: hard @@ -11973,6 +15814,15 @@ __metadata: languageName: node linkType: hard +"qs@npm:^6.10.5": + version: 6.12.0 + resolution: "qs@npm:6.12.0" + dependencies: + side-channel: ^1.0.6 + checksum: ba007fb2488880b9c6c3df356fe6888b9c1f4c5127552edac214486cfe83a332de09a5c40d490d79bb27bef977ba1085a8497512ff52eaac72e26564f77ce908 + languageName: node + linkType: hard + "qs@npm:^6.9.4": version: 6.11.2 resolution: "qs@npm:6.11.2" @@ -11994,7 +15844,7 @@ __metadata: languageName: node linkType: hard -"queue-microtask@npm:^1.2.2": +"queue-microtask@npm:^1.2.2, queue-microtask@npm:^1.2.3": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" checksum: b676f8c040cdc5b12723ad2f91414d267605b26419d5c821ff03befa817ddd10e238d22b25d604920340fd73efd8ba795465a0377c4adf45a4a41e4234e42dc4 @@ -12008,6 +15858,15 @@ __metadata: languageName: node linkType: hard +"randombytes@npm:^2.0.1": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: ^5.1.0 + checksum: d779499376bd4cbb435ef3ab9a957006c8682f343f14089ed5f27764e4645114196e75b7f6abf1cbd84fd247c0cb0651698444df8c9bf30e62120fbbc52269d6 + languageName: node + linkType: hard + "range-parser@npm:~1.2.1": version: 1.2.1 resolution: "range-parser@npm:1.2.1" @@ -12098,7 +15957,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": +"readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -12388,6 +16247,13 @@ __metadata: languageName: node linkType: hard +"retry@npm:0.13.1": + version: 0.13.1 + resolution: "retry@npm:0.13.1" + checksum: 47c4d5be674f7c13eee4cfe927345023972197dbbdfba5d3af7e461d13b44de1bfd663bfc80d2f601f8ef3fc8164c16dd99655a221921954a65d044a2fc1233b + languageName: node + linkType: hard + "retry@npm:^0.12.0": version: 0.12.0 resolution: "retry@npm:0.12.0" @@ -12442,6 +16308,16 @@ __metadata: 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" + dependencies: + hash-base: ^3.0.0 + inherits: ^2.0.1 + checksum: 006accc40578ee2beae382757c4ce2908a826b27e2b079efdcd2959ee544ddf210b7b5d7d5e80467807604244e7388427330f5c6d4cd61e6edaddc5773ccc393 + languageName: node + linkType: hard + "rotating-file-stream@npm:^3.0.2": version: 3.1.1 resolution: "rotating-file-stream@npm:3.1.1" @@ -12449,13 +16325,41 @@ __metadata: languageName: node linkType: hard -"run-async@npm:^2.2.0, run-async@npm:^2.3.0": +"rpc-websockets@npm:^7.5.1": + version: 7.9.0 + resolution: "rpc-websockets@npm:7.9.0" + dependencies: + "@babel/runtime": ^7.17.2 + bufferutil: ^4.0.1 + eventemitter3: ^4.0.7 + utf-8-validate: ^5.0.2 + uuid: ^8.3.2 + ws: ^8.5.0 + dependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: c3ddd79ea7cf63b7a6a8d32356c7f9b363e41f26a6a8bbe889f9d2c5267811d492e194340fbad1a21ecfa457d5d1f253af3357a94d0118f66fcdea1fd9236adc + languageName: node + linkType: hard + +"run-async@npm:^2.2.0, run-async@npm:^2.3.0, run-async@npm:^2.4.0": version: 2.4.1 resolution: "run-async@npm:2.4.1" checksum: a2c88aa15df176f091a2878eb840e68d0bdee319d8d97bbb89112223259cebecb94bc0defd735662b83c2f7a30bed8cddb7d1674eb48ae7322dc602b22d03797 languageName: node linkType: hard +"run-parallel-limit@npm:^1.1.0": + version: 1.1.0 + resolution: "run-parallel-limit@npm:1.1.0" + dependencies: + queue-microtask: ^1.2.2 + checksum: 672c3b87e7f939c684b9965222b361421db0930223ed1e43ebf0e7e48ccc1a022ea4de080bef4d5468434e2577c33b7681e3f03b7593fdc49ad250a55381123c + languageName: node + linkType: hard + "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -12481,7 +16385,7 @@ __metadata: languageName: node linkType: hard -"rxjs@npm:7.8.1, rxjs@npm:^7.5.2, rxjs@npm:^7.5.5": +"rxjs@npm:7.8.1, rxjs@npm:^7.5.5": version: 7.8.1 resolution: "rxjs@npm:7.8.1" dependencies: @@ -12511,7 +16415,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.2.1, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 @@ -12536,13 +16440,39 @@ __metadata: languageName: node linkType: hard -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.1.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 languageName: node linkType: hard +"scrypt-js@npm:3.0.1": + version: 3.0.1 + resolution: "scrypt-js@npm:3.0.1" + checksum: b7c7d1a68d6ca946f2fbb0778e0c4ec63c65501b54023b2af7d7e9f48fdb6c6580d6f7675cd53bda5944c5ebc057560d5a6365079752546865defb3b79dea454 + languageName: node + linkType: hard + +"secp256k1@npm:^4.0.2": + version: 4.0.3 + resolution: "secp256k1@npm:4.0.3" + dependencies: + elliptic: ^6.5.4 + node-addon-api: ^2.0.0 + node-gyp: latest + node-gyp-build: ^4.2.0 + checksum: 21e219adc0024fbd75021001358780a3cc6ac21273c3fcaef46943af73969729709b03f1df7c012a0baab0830fb9a06ccc6b42f8d50050c665cb98078eab477b + languageName: node + linkType: hard + +"seedrandom@npm:^3.0.5": + version: 3.0.5 + resolution: "seedrandom@npm:3.0.5" + checksum: 728b56bc3bc1b9ddeabd381e449b51cb31bdc0aa86e27fcd0190cea8c44613d5bcb2f6bb63ed79f78180cbe791c20b8ec31a9627f7b7fc7f476fd2bdb7e2da9f + languageName: node + linkType: hard + "semver-diff@npm:^3.1.1": version: 3.1.1 resolution: "semver-diff@npm:3.1.1" @@ -12552,6 +16482,17 @@ __metadata: languageName: node linkType: hard +"semver@npm:7.3.4": + version: 7.3.4 + resolution: "semver@npm:7.3.4" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: 96451bfd7cba9b60ee87571959dc47e87c95b2fe58a9312a926340fee9907fc7bc062c352efdaf5bb24b2dff59c145e14faf7eb9d718a84b4751312531b39f43 + languageName: node + linkType: hard + "semver@npm:^5.7.1": version: 5.7.2 resolution: "semver@npm:5.7.2" @@ -12661,6 +16602,20 @@ __metadata: languageName: node linkType: hard +"set-function-length@npm:^1.2.1": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" + dependencies: + define-data-property: ^1.1.4 + es-errors: ^1.3.0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.4 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.2 + checksum: a8248bdacdf84cb0fab4637774d9fb3c7a8e6089866d04c817583ff48e14149c87044ce683d7f50759a8c50fb87c7a7e173535b06169c87ef76f5fb276dfff72 + languageName: node + linkType: hard + "set-function-name@npm:^2.0.0": version: 2.0.1 resolution: "set-function-name@npm:2.0.1" @@ -12679,6 +16634,18 @@ __metadata: languageName: node linkType: hard +"sha.js@npm:^2.4.0, sha.js@npm:^2.4.11, sha.js@npm:^2.4.8": + version: 2.4.11 + resolution: "sha.js@npm:2.4.11" + dependencies: + inherits: ^2.0.1 + safe-buffer: ^5.0.1 + bin: + sha.js: ./bin.js + checksum: ebd3f59d4b799000699097dadb831c8e3da3eb579144fd7eb7a19484cbcbb7aca3c68ba2bb362242eb09e33217de3b4ea56e4678184c334323eca24a58e3ad07 + languageName: node + linkType: hard + "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -12719,6 +16686,18 @@ __metadata: languageName: node linkType: hard +"side-channel@npm:^1.0.6": + version: 1.0.6 + resolution: "side-channel@npm:1.0.6" + dependencies: + call-bind: ^1.0.7 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.4 + object-inspect: ^1.13.1 + checksum: bfc1afc1827d712271453e91b7cd3878ac0efd767495fd4e594c4c2afaa7963b7b510e249572bfd54b0527e66e4a12b61b80c061389e129755f34c493aad9b97 + languageName: node + linkType: hard + "signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" @@ -12863,6 +16842,16 @@ __metadata: languageName: node linkType: hard +"source-map-support@npm:^0.5.21": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: ^1.0.0 + source-map: ^0.6.0 + checksum: 43e98d700d79af1d36f859bdb7318e601dfc918c7ba2e98456118ebc4c4872b327773e5a1df09b0524e9e5063bb18f0934538eace60cca2710d1fa687645d137 + languageName: node + linkType: hard + "source-map@npm:0.7.4, source-map@npm:^0.7.4": version: 0.7.4 resolution: "source-map@npm:0.7.4" @@ -12884,20 +16873,6 @@ __metadata: languageName: node linkType: hard -"split2@npm:^4.1.0": - version: 4.2.0 - resolution: "split2@npm:4.2.0" - checksum: 05d54102546549fe4d2455900699056580cca006c0275c334611420f854da30ac999230857a85fdd9914dc2109ae50f80fda43d2a445f2aa86eccdc1dfce779d - languageName: node - linkType: hard - -"sprintf-js@npm:~1": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: a3fdac7b49643875b70864a9d9b469d87a40dfeaf5d34d9d0c5b1cda5fd7d065531fcb43c76357d62254c57184a7b151954156563a4d6a747015cfb41021cad0 - languageName: node - linkType: hard - "sprintf-js@npm:~1.0.2": version: 1.0.3 resolution: "sprintf-js@npm:1.0.3" @@ -12930,6 +16905,13 @@ __metadata: languageName: node linkType: hard +"statuses@npm:>= 1.5.0 < 2": + version: 1.5.0 + resolution: "statuses@npm:1.5.0" + checksum: c469b9519de16a4bb19600205cffb39ee471a5f17b82589757ca7bd40a8d92ebb6ed9f98b5a540c5d302ccbc78f15dc03cc0280dd6e00df1335568a5d5758a5c + languageName: node + linkType: hard + "stream-to-it@npm:^0.2.2": version: 0.2.4 resolution: "stream-to-it@npm:0.2.4" @@ -12939,6 +16921,13 @@ __metadata: languageName: node linkType: hard +"stream-transform@npm:^3.3.1": + version: 3.3.1 + resolution: "stream-transform@npm:3.3.1" + checksum: ed8a9c9fc208c293539fc303c1232bf7e3a33ee005864ad9179db413eb52dc34d40e79f51f7db49515775eeeb6ec10d10934a24a256f4eadc1a57acf7e354403 + languageName: node + linkType: hard + "streamsearch@npm:^1.1.0": version: 1.1.0 resolution: "streamsearch@npm:1.1.0" @@ -13133,6 +17122,26 @@ __metadata: languageName: node linkType: hard +"strnum@npm:^1.0.5": + version: 1.0.5 + resolution: "strnum@npm:1.0.5" + checksum: 651b2031db5da1bf4a77fdd2f116a8ac8055157c5420f5569f64879133825915ad461513e7202a16d7fec63c54fd822410d0962f8ca12385c4334891b9ae6dd2 + languageName: node + linkType: hard + +"strong-log-transformer@npm:^2.1.0": + version: 2.1.0 + resolution: "strong-log-transformer@npm:2.1.0" + dependencies: + duplexer: ^0.1.1 + minimist: ^1.2.0 + through: ^2.3.4 + bin: + sl-log-transformer: bin/sl-log-transformer.js + checksum: abf9a4ac143118f26c3a0771b204b02f5cf4fa80384ae158f25e02bfbff761038accc44a7f65869ccd5a5995a7f2c16b1466b83149644ba6cecd3072a8927297 + languageName: node + linkType: hard + "subql-mono@workspace:.": version: 0.0.0-use.local resolution: "subql-mono@workspace:." @@ -13141,7 +17150,6 @@ __metadata: "@babel/preset-env": ^7.16.11 "@geut/chan": ^3.2.9 "@octokit/request": ^5.6.3 - "@types/cron-converter": ^1 "@types/node": ^18.16.10 "@types/node-fetch": 2.6.2 "@typescript-eslint/eslint-plugin": ^5.10.2 @@ -13170,6 +17178,13 @@ __metadata: languageName: unknown linkType: soft +"superstruct@npm:^0.14.2": + version: 0.14.2 + resolution: "superstruct@npm:0.14.2" + checksum: c5c4840f432da82125b923ec45faca5113217e83ae416e314d80eae012b8bb603d2e745025d173450758d116348820bc7028157f8c9a72b6beae879f94b837c0 + languageName: node + linkType: hard + "supports-color@npm:^2.0.0": version: 2.0.0 resolution: "supports-color@npm:2.0.0" @@ -13239,6 +17254,19 @@ __metadata: languageName: node linkType: hard +"tar-stream@npm:~2.2.0": + version: 2.2.0 + resolution: "tar-stream@npm:2.2.0" + dependencies: + bl: ^4.0.3 + end-of-stream: ^1.4.1 + fs-constants: ^1.0.0 + inherits: ^2.0.3 + readable-stream: ^3.1.1 + checksum: 699831a8b97666ef50021c767f84924cfee21c142c2eb0e79c63254e140e6408d6d55a065a2992548e72b06de39237ef2b802b99e3ece93ca3904a37622a66f3 + languageName: node + linkType: hard + "tar@npm:^6.1.11, tar@npm:^6.1.2, tar@npm:^6.2.1": version: 6.2.1 resolution: "tar@npm:6.2.1" @@ -13290,6 +17318,13 @@ __metadata: languageName: node linkType: hard +"text-encoding-utf-8@npm:^1.0.2": + version: 1.0.2 + resolution: "text-encoding-utf-8@npm:1.0.2" + checksum: ec4c15d50e738c5dba7327ad432ebf0725ec75d4d69c0bd55609254c5a3bc5341272d7003691084a0a73d60d981c8eb0e87603676fdb6f3fed60f4c9192309f9 + languageName: node + linkType: hard + "text-table@npm:^0.2.0": version: 0.2.0 resolution: "text-table@npm:0.2.0" @@ -13315,7 +17350,7 @@ __metadata: languageName: node linkType: hard -"through@npm:^2.3.6, through@npm:^2.3.8": +"through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6, through@npm:^2.3.8": version: 2.3.8 resolution: "through@npm:2.3.8" checksum: a38c3e059853c494af95d50c072b83f8b676a9ba2818dcc5b108ef252230735c54e0185437618596c790bbba8fcdaef5b290405981ffa09dce67b1f1bf190cbd @@ -13341,6 +17376,29 @@ __metadata: languageName: node linkType: hard +"tiny-secp256k1@npm:^1.1.3": + version: 1.1.6 + resolution: "tiny-secp256k1@npm:1.1.6" + dependencies: + bindings: ^1.3.0 + bn.js: ^4.11.8 + create-hmac: ^1.1.7 + elliptic: ^6.4.0 + nan: ^2.13.2 + node-gyp: latest + checksum: f8f705f8a76dc9ccc9aa46f7bc353c00be63940c0a1198175fd77c9b85bdf24eb6db3d72c4756d24af320900290313c580c07695cda645d98410822f94ee01f5 + languageName: node + linkType: hard + +"tmp-promise@npm:^3.0.2": + version: 3.0.3 + resolution: "tmp-promise@npm:3.0.3" + dependencies: + tmp: ^0.2.0 + checksum: f854f5307dcee6455927ec3da9398f139897faf715c5c6dcee6d9471ae85136983ea06662eba2edf2533bdcb0fca66d16648e79e14381e30c7fb20be9c1aa62c + languageName: node + linkType: hard + "tmp@npm:^0.0.33": version: 0.0.33 resolution: "tmp@npm:0.0.33" @@ -13350,6 +17408,13 @@ __metadata: languageName: node linkType: hard +"tmp@npm:^0.2.0, tmp@npm:~0.2.1": + version: 0.2.3 + resolution: "tmp@npm:0.2.3" + checksum: 73b5c96b6e52da7e104d9d44afb5d106bb1e16d9fa7d00dbeb9e6522e61b571fbdb165c756c62164be9a3bbe192b9b268c236d370a2a0955c7689cd2ae377b95 + languageName: node + linkType: hard + "tmpl@npm:1.0.5": version: 1.0.5 resolution: "tmpl@npm:1.0.5" @@ -13524,6 +17589,39 @@ __metadata: languageName: node linkType: hard +"ts-poet@npm:^6.7.0": + version: 6.8.1 + resolution: "ts-poet@npm:6.8.1" + dependencies: + dprint-node: ^1.0.8 + checksum: 834a2afd04c47f355598564a85d9dbaabf09f05d0c0ed3a33a875518194c633fbd650d361bd0d9cfb9a33f8d68b3e6a163ad5a360a9f36ff9fa0f84bc76f2cd8 + languageName: node + linkType: hard + +"ts-proto-descriptors@npm:1.15.0": + version: 1.15.0 + resolution: "ts-proto-descriptors@npm:1.15.0" + dependencies: + long: ^5.2.3 + protobufjs: ^7.2.4 + checksum: 50e77d7c89dc52e9e74ee859e3232cece527d59ddcce515852059df70b4d80b49e73eb65166ec87f6f9238cadc2c77eb05695724f82aa4501bc2378fb2457643 + languageName: node + linkType: hard + +"ts-proto@npm:^1.115.4": + version: 1.171.0 + resolution: "ts-proto@npm:1.171.0" + dependencies: + case-anything: ^2.1.13 + protobufjs: ^7.2.4 + ts-poet: ^6.7.0 + ts-proto-descriptors: 1.15.0 + bin: + protoc-gen-ts_proto: protoc-gen-ts_proto + checksum: 65f91560f75f1ea6b946b1942bb020533f059673e54e96937ce6b079e8aca6faa922ade3c38a9d2aa5e6c4908e35c4d53abea3f303b80768620d0ce626caa9ce + languageName: node + linkType: hard + "tsconfig-paths@npm:^3.12.0, tsconfig-paths@npm:^3.14.2": version: 3.14.2 resolution: "tsconfig-paths@npm:3.14.2" @@ -13536,6 +17634,18 @@ __metadata: languageName: node linkType: hard +"tsconfig-paths@npm:^3.9.0": + version: 3.15.0 + resolution: "tsconfig-paths@npm:3.15.0" + dependencies: + "@types/json5": ^0.0.29 + json5: ^1.0.2 + minimist: ^1.2.6 + strip-bom: ^3.0.0 + checksum: 59f35407a390d9482b320451f52a411a256a130ff0e7543d18c6f20afab29ac19fbe55c360a93d6476213cc335a4d76ce90f67df54c4e9037f7d240920832201 + languageName: node + linkType: hard + "tslib@npm:2.5.3": version: 2.5.3 resolution: "tslib@npm:2.5.3" @@ -13543,20 +17653,29 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^1.8.1, tslib@npm:^1.9.0": +"tslib@npm:^1.11.1, tslib@npm:^1.8.1, tslib@npm:^1.9.0": version: 1.14.1 resolution: "tslib@npm:1.14.1" checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd languageName: node linkType: hard -"tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.6.1, tslib@npm:^2.6.2": +"tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.6.1, tslib@npm:^2.6.2": version: 2.6.2 resolution: "tslib@npm:2.6.2" checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad languageName: node linkType: hard +"tslog@npm:^3.2.2": + version: 3.3.4 + resolution: "tslog@npm:3.3.4" + dependencies: + source-map-support: ^0.5.21 + checksum: c830921239dfb0e1fd8b4733710b6d3a7e49d1c2890481a49b0f3396c86e913a2db2bbafc6be7afcc305ef4e8503b5cb58817bc770c969fef67758a1f764871b + languageName: node + linkType: hard + "tsutils@npm:^3.21.0": version: 3.21.0 resolution: "tsutils@npm:3.21.0" @@ -13575,6 +17694,13 @@ __metadata: languageName: node linkType: hard +"tweetnacl@npm:1.0.3, tweetnacl@npm:^1.0.1, tweetnacl@npm:^1.0.2, tweetnacl@npm:^1.0.3": + version: 1.0.3 + resolution: "tweetnacl@npm:1.0.3" + checksum: e4a57cac188f0c53f24c7a33279e223618a2bfb5fea426231991652a13247bea06b081fd745d71291fcae0f4428d29beba1b984b1f1ce6f66b06a6d1ab90645c + languageName: node + linkType: hard + "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -13699,6 +17825,13 @@ __metadata: languageName: node linkType: hard +"typeforce@npm:^1.11.5": + version: 1.18.0 + resolution: "typeforce@npm:1.18.0" + checksum: e3b21e27e76cb05f32285bef7c30a29760e79c622cfe4aa3c179ce49d1c7895b7154c8deedb9fe4599b1fd0428d35860d43e0776da1c04861168f3ad7ed99c70 + languageName: node + linkType: hard + "typescript@npm:^4.9.5": version: 4.9.5 resolution: "typescript@npm:4.9.5" @@ -13719,6 +17852,13 @@ __metadata: languageName: node linkType: hard +"u3@npm:^0.1.1": + version: 0.1.1 + resolution: "u3@npm:0.1.1" + checksum: d55f396c607b0a2340d6165526b5143a29b369e7e0397b04f79633db77cd668f2da713feb7adb4f93a588e82a388ff995d9a2b16123d0cb02fe394fd2f26b529 + languageName: node + linkType: hard + "uid@npm:2.0.2": version: 2.0.2 resolution: "uid@npm:2.0.2" @@ -13810,6 +17950,13 @@ __metadata: languageName: node linkType: hard +"unique-names-generator@npm:^4.6.0": + version: 4.7.1 + resolution: "unique-names-generator@npm:4.7.1" + checksum: 81b58efee72458fd0c84f54a89d731b2570305d331ce62c4156273e54ece77b6488fc6c607169f4b8f6644fa48b42aef8689dbe7e310ae2c4bafbd5c0a625354 + languageName: node + linkType: hard + "unique-slug@npm:^4.0.0": version: 4.0.0 resolution: "unique-slug@npm:4.0.0" @@ -14030,6 +18177,16 @@ __metadata: languageName: node linkType: hard +"utf-8-validate@npm:^5.0.2": + version: 5.0.10 + resolution: "utf-8-validate@npm:5.0.10" + dependencies: + node-gyp: latest + node-gyp-build: ^4.3.0 + checksum: 5579350a023c66a2326752b6c8804cc7b39dcd251bb088241da38db994b8d78352e388dcc24ad398ab98385ba3c5ffcadb6b5b14b2637e43f767869055e46ba6 + languageName: node + linkType: hard + "util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" @@ -14046,6 +18203,13 @@ __metadata: languageName: node linkType: hard +"utility-types@npm:^3.10.0": + version: 3.11.0 + resolution: "utility-types@npm:3.11.0" + checksum: 35a4866927bbea5d037726744028d05c6e37772ded2aabaca21480ce9380185436aef586ead525e327c7f3c640b1a3287769a12ef269c7b165a2ddd50ea6ad61 + languageName: node + linkType: hard + "utils-merge@npm:1.0.1": version: 1.0.1 resolution: "utils-merge@npm:1.0.1" @@ -14071,6 +18235,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:^9.0.0, uuid@npm:^9.0.1": + version: 9.0.1 + resolution: "uuid@npm:9.0.1" + bin: + uuid: dist/bin/uuid + checksum: 39931f6da74e307f51c0fb463dc2462807531dc80760a9bff1e35af4316131b4fc3203d16da60ae33f07fdca5b56f3f1dd662da0c99fea9aaeab2004780cc5f4 + languageName: node + linkType: hard + "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" @@ -14078,6 +18251,13 @@ __metadata: languageName: node linkType: hard +"v8-compile-cache@npm:2.3.0": + version: 2.3.0 + resolution: "v8-compile-cache@npm:2.3.0" + checksum: adb0a271eaa2297f2f4c536acbfee872d0dd26ec2d76f66921aa7fc437319132773483344207bdbeee169225f4739016d8d2dbf0553913a52bb34da6d0334f8e + languageName: node + linkType: hard + "v8-to-istanbul@npm:^9.0.1": version: 9.2.0 resolution: "v8-to-istanbul@npm:9.2.0" @@ -14132,7 +18312,14 @@ __metadata: languageName: node linkType: hard -"vm2@npm:^3.9.19, vm2@npm:^3.9.9": +"vlq@npm:^2.0.4": + version: 2.0.4 + resolution: "vlq@npm:2.0.4" + checksum: b2ed0d3a5423f34bba98a18250f8b13a96eebff9c8f9427fa9cd78065d31f35641f6fd659c5642253b79532000a37aec0582abac95d1ef4af2cd0c96a716f1b6 + languageName: node + linkType: hard + +"vm2@npm:^3.9.19": version: 3.9.19 resolution: "vm2@npm:3.9.19" dependencies: @@ -14262,6 +18449,15 @@ __metadata: languageName: node linkType: hard +"wif@npm:^2.0.6": + version: 2.0.6 + resolution: "wif@npm:2.0.6" + dependencies: + bs58check: <3.0.0 + checksum: 8c3147ef98d56f394d66f0477f699fba7fc18dd0d1c2c5d0f8408be41acffed589fa82447d80eae5afc9a3cbd943bc3eebb337b9f114955adeaad02a244f4f9a + languageName: node + linkType: hard + "wkx@npm:^0.5.0": version: 0.5.0 resolution: "wkx@npm:0.5.0" @@ -14282,7 +18478,7 @@ __metadata: languageName: node linkType: hard -"wrap-ansi@npm:^6.2.0": +"wrap-ansi@npm:^6.0.1, wrap-ansi@npm:^6.2.0": version: 6.2.0 resolution: "wrap-ansi@npm:6.2.0" dependencies: @@ -14333,7 +18529,22 @@ __metadata: languageName: node linkType: hard -"ws@npm:^7": +"ws@npm:7.4.6": + version: 7.4.6 + resolution: "ws@npm:7.4.6" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 3a990b32ed08c72070d5e8913e14dfcd831919205be52a3ff0b4cdd998c8d554f167c9df3841605cde8b11d607768cacab3e823c58c96a5c08c987e093eb767a + languageName: node + linkType: hard + +"ws@npm:^7, ws@npm:^7.4.5": version: 7.5.9 resolution: "ws@npm:7.5.9" peerDependencies: @@ -14348,6 +18559,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^8.5.0": + version: 8.16.0 + resolution: "ws@npm:8.16.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: feb3eecd2bae82fa8a8beef800290ce437d8b8063bdc69712725f21aef77c49cb2ff45c6e5e7fce622248f9c7abaee506bae0a9064067ffd6935460c7357321b + languageName: node + linkType: hard + "xdg-basedir@npm:^4.0.0": version: 4.0.0 resolution: "xdg-basedir@npm:4.0.0" @@ -14407,6 +18633,13 @@ __metadata: languageName: node linkType: hard +"yargs-parser@npm:21.0.1": + version: 21.0.1 + resolution: "yargs-parser@npm:21.0.1" + checksum: c3ea2ed12cad0377ce3096b3f138df8267edf7b1aa7d710cd502fe16af417bafe4443dd71b28158c22fcd1be5dfd0e86319597e47badf42ff83815485887323a + languageName: node + linkType: hard + "yargs-parser@npm:^20.2.2": version: 20.2.9 resolution: "yargs-parser@npm:20.2.9" @@ -14436,7 +18669,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^17.0.1, yargs@npm:^17.3.1": +"yargs@npm:^17.0.1, yargs@npm:^17.3.1, yargs@npm:^17.4.0": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies: