diff --git a/package.json b/package.json index f38b8f7..dee3076 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,12 @@ }, "dependencies": { "@godaddy/terminus": "^4.6.0", - "@kiltprotocol/sdk-js": "^0.19.1-8", + "@kiltprotocol/core": "^0.20.0-rc.2", + "@kiltprotocol/utils": "^0.20.0-rc.2", + "@kiltprotocol/config": "^0.20.0-rc.2", + "@kiltprotocol/chain-helpers": "^0.20.0-rc.2", + "@kiltprotocol/messaging": "^0.20.0-rc.2", + "@kiltprotocol/types": "^0.20.0-rc.2", "@nestjs/common": "^7.6.6", "@nestjs/core": "^7.6.6", "@nestjs/mongoose": "^7.2.2", diff --git a/src/blockchain/interfaces/blockchain.interfaces.ts b/src/blockchain/interfaces/blockchain.interfaces.ts index c88463a..cc51986 100644 --- a/src/blockchain/interfaces/blockchain.interfaces.ts +++ b/src/blockchain/interfaces/blockchain.interfaces.ts @@ -1,4 +1,4 @@ -import { Blockchain } from '@kiltprotocol/sdk-js' +import { Blockchain } from '@kiltprotocol/chain-helpers' export declare interface BlockchainService { connect(): Promise diff --git a/src/blockchain/universal-blockchain.service.ts b/src/blockchain/universal-blockchain.service.ts index 923e276..11c3456 100644 --- a/src/blockchain/universal-blockchain.service.ts +++ b/src/blockchain/universal-blockchain.service.ts @@ -1,4 +1,6 @@ -import Kilt, { Blockchain } from '@kiltprotocol/sdk-js' +import { config as SDKConfig, connect as SDKConnect } from '@kiltprotocol/core' +import { Blockchain } from '@kiltprotocol/chain-helpers' + import { Inject, Injectable, OnApplicationBootstrap } from '@nestjs/common' import { ConfigService } from '../config/config.service' import { BlockchainService } from './interfaces/blockchain.interfaces' @@ -13,9 +15,10 @@ export class UniversalBlockchainService public async connect(): Promise { const bootNodeAddress = this.configService.get('BOOT_NODE_ADDRESS') + SDKConfig({ address: bootNodeAddress }) console.log(`Connecting to ${bootNodeAddress}`) if (!UniversalBlockchainService.instance) { - UniversalBlockchainService.instance = Kilt.connect(bootNodeAddress) + UniversalBlockchainService.instance = SDKConnect() } return Promise.resolve(UniversalBlockchainService.instance) } diff --git a/src/contacts/contacts.controller.ts b/src/contacts/contacts.controller.ts index 445f402..0e1c69b 100644 --- a/src/contacts/contacts.controller.ts +++ b/src/contacts/contacts.controller.ts @@ -11,10 +11,9 @@ import { UseGuards, } from '@nestjs/common' import { Contact, ContactsService } from './interfaces/contacts.interfaces' -import { Did } from '@kiltprotocol/sdk-js' +import { Did, IDidDocumentSigned } from '@kiltprotocol/core' import { Optional } from 'typescript-optional' import { AuthGuard } from '../auth/auth.guard' -import { IDidDocumentSigned } from '@kiltprotocol/sdk-js/build/did/Did' @Controller('contacts') export class ContactsController { diff --git a/src/contacts/contacts.module.spec.ts b/src/contacts/contacts.module.spec.ts index 9216977..f32155f 100644 --- a/src/contacts/contacts.module.spec.ts +++ b/src/contacts/contacts.module.spec.ts @@ -13,12 +13,10 @@ import { } from './interfaces/contacts.interfaces' import { MongoDbMContactsService } from './mongodb-contacts.service' import { Optional } from 'typescript-optional' -import { - IDidDocumentSigned, - IDENTIFIER_PREFIX, -} from '@kiltprotocol/sdk-js/build/did/Did' +import { IDidDocumentSigned } from '@kiltprotocol/core' +const IDENTIFIER_PREFIX = 'did:kilt:' -jest.mock('@kiltprotocol/sdk-js/build/did/Did', () => { +jest.mock('@kiltprotocol/core/lib/did/Did', () => { return { verifyDidDocumentSignature: jest.fn((): boolean => true), getIdentifierFromAddress: jest.fn( @@ -97,7 +95,7 @@ describe('Contact Module', () => { let contactsController: ContactsController let contactsService: ContactsService - const mockedVerifyDidDocumentSignature = require('@kiltprotocol/sdk-js/build/did/Did') + const mockedVerifyDidDocumentSignature = require('@kiltprotocol/core/lib/did/Did') .verifyDidDocumentSignature const fakeContactService: ContactsService = { add: jest.fn( diff --git a/src/contacts/interfaces/contacts.interfaces.ts b/src/contacts/interfaces/contacts.interfaces.ts index 8395ccb..4ce65a9 100644 --- a/src/contacts/interfaces/contacts.interfaces.ts +++ b/src/contacts/interfaces/contacts.interfaces.ts @@ -1,5 +1,4 @@ -import { PublicIdentity } from '@kiltprotocol/sdk-js' -import { IDidDocumentSigned } from '@kiltprotocol/sdk-js/build/did/Did' +import { PublicIdentity, IDidDocumentSigned } from '@kiltprotocol/core' import { Document } from 'mongoose' import { Optional } from 'typescript-optional' diff --git a/src/contacts/mongodb-contacts.service.ts b/src/contacts/mongodb-contacts.service.ts index 34e4b05..a02b7c4 100644 --- a/src/contacts/mongodb-contacts.service.ts +++ b/src/contacts/mongodb-contacts.service.ts @@ -1,4 +1,4 @@ -import { PublicIdentity } from '@kiltprotocol/sdk-js' +import { PublicIdentity } from '@kiltprotocol/core' import { Injectable } from '@nestjs/common' import { InjectModel } from '@nestjs/mongoose' import { Model } from 'mongoose' diff --git a/src/ctypes/ctypes.controller.ts b/src/ctypes/ctypes.controller.ts index aaed96e..ebc07a4 100644 --- a/src/ctypes/ctypes.controller.ts +++ b/src/ctypes/ctypes.controller.ts @@ -1,5 +1,4 @@ -import { CType as SDKCtype } from '@kiltprotocol/sdk-js' -import { getOwner } from '@kiltprotocol/sdk-js/build/ctype/CType.chain' +import { CType as SDKCType } from '@kiltprotocol/core' import { Body, Controller, @@ -46,43 +45,39 @@ export class CTypesController { @Post() public async register(@Body() cTypeInput: CType) { - return this.verifyCTypeAndReturnChainOwner(cTypeInput).then( - async verified => { - if (verified) { - console.log( - `All valid => registering cType ` + - JSON.stringify({ ...cTypeInput.cType, owner: verified }, null, 4) + const verified = await this.verifyCType(cTypeInput) + if (verified) { + console.log( + `All valid => registering cType ` + + JSON.stringify( + { ...cTypeInput.cType, owner: cTypeInput.cType.owner }, + null, + 4 ) + ) + } else { + throw new CTypeNotOnChainException() + } - const result = await this.cTypesService.register({ - ...cTypeInput, - cType: { ...cTypeInput.cType, owner: verified }, - }) + const result = await this.cTypesService.register({ + ...cTypeInput, + }) - if (!result) { - console.log( - `The CType with hash: ${ - cTypeInput.cType.hash - } already exists in this DB!` - ) - throw new AlreadyRegisteredException() - } - } else { - throw new CTypeNotOnChainException() - } - } - ) + if (!result) { + console.log( + `The CType with hash: ${ + cTypeInput.cType.hash + } already exists in this DB!` + ) + throw new AlreadyRegisteredException() + } } - private async verifyCTypeAndReturnChainOwner( - cTypeInput: CType - ): Promise { + private async verifyCType(cTypeInput: CType) { try { - const cType = new SDKCtype(cTypeInput.cType) - - return getOwner(cType.hash) - } catch (e) { - console.log('error: ' + e) + const ctype = new SDKCType(cTypeInput.cType) + return ctype.verifyStored() + } catch { throw new InvalidCtypeDefinitionException() } } diff --git a/src/ctypes/ctypes.module.spec.ts b/src/ctypes/ctypes.module.spec.ts index 1a377eb..802e1da 100644 --- a/src/ctypes/ctypes.module.spec.ts +++ b/src/ctypes/ctypes.module.spec.ts @@ -1,6 +1,7 @@ import { CType, CTypeService, CTypeDB } from './interfaces/ctype.interfaces' import { Optional } from 'typescript-optional' -import { Blockchain, CType as SDKCType, CTypeMetadata, Identity} from '@kiltprotocol/sdk-js' +import { CType as SDKCType, CTypeMetadata, Identity } from '@kiltprotocol/core' +import { Blockchain } from '@kiltprotocol/chain-helpers' import { Test } from '@nestjs/testing' import { CTypesController } from './ctypes.controller' import { AuthGuard } from '../auth/auth.guard' @@ -10,8 +11,9 @@ import { AlreadyRegisteredException } from './exceptions/already-registered.exce import { NotFoundException } from '@nestjs/common/exceptions' import { getModelToken } from '@nestjs/mongoose' import { MongoDbCTypesService } from './mongodb-ctypes.service' +import { cryptoWaitReady } from '@polkadot/util-crypto' -jest.mock('@kiltprotocol/sdk-js/build/ctype/CType.chain', () => { +jest.mock('@kiltprotocol/core/lib/ctype/CType.chain', () => { return { getOwner: jest.fn(async (): Promise => null), } @@ -72,9 +74,9 @@ describe('CType Module', () => { let ctypesService: CTypeService let aliceAddress: string - const blockchainApi = require('@kiltprotocol/sdk-js/build/blockchainApiConnection/BlockchainApiConnection') + const blockchainApi = require('@kiltprotocol/chain-helpers/lib/blockchainApiConnection/BlockchainApiConnection') - const mockedGetOwner = require('@kiltprotocol/sdk-js/build/ctype/CType.chain') + const mockedGetOwner = require('@kiltprotocol/core/lib/ctype/CType.chain') .getOwner const fakeCTypeService: CTypeService = { @@ -91,8 +93,10 @@ describe('CType Module', () => { } beforeAll( - async () => - (aliceAddress = (await Identity.buildFromURI('//Alice')).address) + async () => ( + await cryptoWaitReady(), + (aliceAddress = Identity.buildFromURI('//Alice').address) + ) ) beforeEach(async () => { @@ -120,14 +124,14 @@ describe('CType Module', () => { }) afterEach(() => jest.clearAllMocks()) - describe('verifyCTypeAndReturnChainOwner', () => { + describe('verifyCType', () => { it('valid CType', async () => { mockedGetOwner.mockResolvedValue(aliceAddress) const testCType = { ...SDKCTypeA, owner: aliceAddress } const serviceCType: CType = { cType: testCType, metaData: metaDataA } await expect( - ctypesController['verifyCTypeAndReturnChainOwner'](serviceCType) - ).resolves.toEqual(aliceAddress) + ctypesController['verifyCType'](serviceCType) + ).resolves.toEqual(true) }) it('invalid CType', async () => { mockedGetOwner.mockResolvedValue(aliceAddress) @@ -135,7 +139,7 @@ describe('CType Module', () => { const serviceCType: CType = { cType: testCType, metaData: metaDataA } await expect( - ctypesController['verifyCTypeAndReturnChainOwner'](serviceCType) + ctypesController['verifyCType'](serviceCType) ).rejects.toThrow(new InvalidCtypeDefinitionException()) }) it('offChain CType', async () => { @@ -143,8 +147,8 @@ describe('CType Module', () => { const testCType = { ...SDKCTypeA, owner: aliceAddress } const serviceCType: CType = { cType: testCType, metaData: metaDataA } await expect( - ctypesController['verifyCTypeAndReturnChainOwner'](serviceCType) - ).resolves.toBeNull() + ctypesController['verifyCType'](serviceCType) + ).resolves.toEqual(false) }) }) describe('register', () => { @@ -245,8 +249,10 @@ describe('CType Module', () => { let aliceAddress: string beforeAll( - async () => - (aliceAddress = (await Identity.buildFromURI('//Alice')).address) + async () => ( + await cryptoWaitReady(), + (aliceAddress = Identity.buildFromURI('//Alice').address) + ) ) beforeEach(async () => { diff --git a/src/ctypes/interfaces/ctype.interfaces.ts b/src/ctypes/interfaces/ctype.interfaces.ts index 3c5ff74..d1bcb86 100644 --- a/src/ctypes/interfaces/ctype.interfaces.ts +++ b/src/ctypes/interfaces/ctype.interfaces.ts @@ -1,4 +1,4 @@ -import { ICType, ICTypeMetadata } from '@kiltprotocol/sdk-js' +import { ICType, ICTypeMetadata } from '@kiltprotocol/types' import { Document } from 'mongoose' import { Optional } from 'typescript-optional' diff --git a/src/ctypes/mongodb-ctypes.service.ts b/src/ctypes/mongodb-ctypes.service.ts index 40db94a..c9e598b 100644 --- a/src/ctypes/mongodb-ctypes.service.ts +++ b/src/ctypes/mongodb-ctypes.service.ts @@ -1,4 +1,4 @@ -import { ICType } from '@kiltprotocol/sdk-js' +import { ICType } from '@kiltprotocol/types' import { Injectable } from '@nestjs/common' import { InjectModel } from '@nestjs/mongoose' import { Model } from 'mongoose' diff --git a/src/faucet/faucet.controller.ts b/src/faucet/faucet.controller.ts index cd80a11..de9c8c4 100644 --- a/src/faucet/faucet.controller.ts +++ b/src/faucet/faucet.controller.ts @@ -1,4 +1,5 @@ -import { Balance, Identity, BlockchainUtils } from '@kiltprotocol/sdk-js' +import { Balance, Identity } from '@kiltprotocol/core' +import { BlockchainUtils } from '@kiltprotocol/chain-helpers' import { Controller, Inject, @@ -36,7 +37,7 @@ export class FaucetController { throw new BadRequestException('no target address') } console.log(`Faucet drop requested for ${address} from ${request.ip}`) - if (!checkAddress(address, 42)[0]) { + if (!checkAddress(address, 38)[0]) { throw new FaucetDropInvalidAddressException() } @@ -66,7 +67,7 @@ export class FaucetController { private async transferTokens(address: string): Promise { try { console.log(`Transfer tokens from faucet to ${address}`) - const faucetAccount: Identity = await Identity.buildFromSeed( + const faucetAccount: Identity = Identity.buildFromSeed( hexToU8a(process.env.FAUCET_ACCOUNT) ) const tx = await Balance.makeTransfer( diff --git a/src/faucet/faucet.module.spec.ts b/src/faucet/faucet.module.spec.ts index a49d6ee..9d94bb0 100644 --- a/src/faucet/faucet.module.spec.ts +++ b/src/faucet/faucet.module.spec.ts @@ -3,11 +3,8 @@ import { FaucetDropDB, FaucetDrop, } from './interfaces/faucet.interfaces' -import { - Identity, - SubmittableExtrinsic, - SubmittableResult, -} from '@kiltprotocol/sdk-js' +import { Identity } from '@kiltprotocol/core' +import { ISubmittableResult, SubmittableExtrinsic } from '@kiltprotocol/types' import { Test } from '@nestjs/testing' import { FaucetController } from './faucet.controller' import { @@ -22,8 +19,11 @@ import { BadRequestException } from '@nestjs/common' import { MongoDbFaucetService } from './mongodb-faucet.service' import { getModelToken } from '@nestjs/mongoose' import { AuthGuard } from '../auth/auth.guard' +import { cryptoWaitReady } from '@polkadot/util-crypto' + +jest.useFakeTimers() -jest.mock('@kiltprotocol/sdk-js/build/balance/Balance.chain', () => { +jest.mock('@kiltprotocol/core/lib/balance/Balance.chain', () => { return { makeTransfer: jest.fn( async (): Promise => { @@ -33,45 +33,54 @@ jest.mock('@kiltprotocol/sdk-js/build/balance/Balance.chain', () => { } }) -jest.mock('@kiltprotocol/sdk-js/build/blockchain/Blockchain.utils', () => { +jest.mock('@kiltprotocol/chain-helpers/lib/blockchain/Blockchain.utils', () => { return { __esModule: true, submitSignedTx: jest.fn().mockImplementation( - async (): Promise => { - return { isInBlock: true } as SubmittableResult + async (): Promise => { + return { isInBlock: true } as ISubmittableResult } ), } }) describe('Faucet Module', () => { - const claimerAddress = '5Ded9KnRSDY9zc3QafT7dyueTqgZdqYK43cc5TcSwqACM1dL' - const invalidAddress = claimerAddress.replace('5', '7') - const testFaucetDrop: FaucetDrop = { - amount: 500, - address: claimerAddress, - requestip: '::ffff:127.0.0.1', - dropped: true, - error: 0, - created: 1598628768759, - } + let claimerAddress: string + let invalidAddress: string + let testFaucetDrop: FaucetDrop const FAUCET_SEED = '0xcdfd6024d2b0eba27d54cc92a44cd9a627c69b2dbda15ed7e58085425119ae03' let faucetIdentity: Identity - const faucetRequest = { - ip: testFaucetDrop.requestip, - } as Request + let faucetRequest: Request + const KILT_FEMTO_COIN = '1000000000000000' const DEFAULT_TOKEN_AMOUNT = 500 + beforeAll(async () => { + await cryptoWaitReady() + claimerAddress = Identity.buildFromURI('//Bob').address + invalidAddress = claimerAddress.replace('4', '7') + testFaucetDrop = { + amount: 500, + address: claimerAddress, + requestip: '::ffff:127.0.0.1', + dropped: true, + error: 0, + created: 1598628768759, + } + faucetRequest = { + ip: testFaucetDrop.requestip, + } as Request + }) + describe('Controller', () => { let faucetController: FaucetController let faucetService: FaucetService - const mockedMakeTransfer = require('@kiltprotocol/sdk-js/build/balance/Balance.chain') + const mockedMakeTransfer = require('@kiltprotocol/core/lib/balance/Balance.chain') .makeTransfer - const mockedsubmitSignedTx = require('@kiltprotocol/sdk-js/build/blockchain/Blockchain.utils') + const mockedsubmitSignedTx = require('@kiltprotocol/chain-helpers/lib/blockchain/Blockchain.utils') .submitSignedTx const fakeFaucetService: FaucetService = { @@ -88,7 +97,8 @@ describe('Faucet Module', () => { ), } beforeAll(async () => { - faucetIdentity = await Identity.buildFromSeed(hexToU8a(FAUCET_SEED)) + await cryptoWaitReady() + faucetIdentity = Identity.buildFromSeed(hexToU8a(FAUCET_SEED)) process.env['FAUCET_ACCOUNT'] = FAUCET_SEED }) beforeEach(async () => { @@ -114,7 +124,7 @@ describe('Faucet Module', () => { const dropSpy = jest.spyOn(fakeFaucetService, 'drop') const buildSpy = jest .spyOn(Identity, 'buildFromSeed') - .mockResolvedValue(faucetIdentity) + .mockReturnValue(faucetIdentity) expect( await faucetController.drop(claimerAddress, faucetRequest) ).toEqual(undefined) @@ -133,10 +143,10 @@ describe('Faucet Module', () => { it('updates the database on unsuccessful transfer and throws exception', async () => { const buildSpy = jest .spyOn(Identity, 'buildFromSeed') - .mockResolvedValue(faucetIdentity) + .mockReturnValue(faucetIdentity) mockedsubmitSignedTx.mockResolvedValue({ isInBlock: false, - } as SubmittableResult) + } as ISubmittableResult) const updateSpy = jest.spyOn( fakeFaucetService, 'updateOnTransactionFailure' @@ -199,10 +209,10 @@ describe('Faucet Module', () => { it('builds faucet Id and tries to transfer default amount to the given address', async () => { const buildSpy = jest .spyOn(Identity, 'buildFromSeed') - .mockResolvedValue(faucetIdentity) + .mockReturnValue(faucetIdentity) mockedsubmitSignedTx.mockResolvedValue({ isInBlock: true, - } as SubmittableResult) + } as ISubmittableResult) expect( await faucetController['transferTokens'](claimerAddress) ).toEqual(true) @@ -230,7 +240,7 @@ describe('Faucet Module', () => { hexToU8a(process.env.FAUCET_ACCOUNT) ) expect(mockedMakeTransfer).not.toHaveBeenCalled() - buildSpy.mockResolvedValue(faucetIdentity) + buildSpy.mockReturnValue(faucetIdentity) mockedMakeTransfer.mockImplementation(() => { throw new Error('makeTransfer failed') }) @@ -248,7 +258,7 @@ describe('Faucet Module', () => { ) mockedsubmitSignedTx.mockResolvedValue({ isInBlock: false, - } as SubmittableResult) + } as ISubmittableResult) expect( await faucetController['transferTokens'](claimerAddress) ).toEqual(false) diff --git a/src/health/bc.health.ts b/src/health/bc.health.ts index 3a44f96..5fc1597 100644 --- a/src/health/bc.health.ts +++ b/src/health/bc.health.ts @@ -1,4 +1,4 @@ -import { BlockchainApiConnection } from '@kiltprotocol/sdk-js' +import { BlockchainApiConnection } from '@kiltprotocol/chain-helpers' import { Injectable } from '@nestjs/common' import { HealthCheckError, @@ -22,7 +22,7 @@ export class KiltChainConnectionIndicator extends HealthIndicator { ) ) try { - const bc = await BlockchainApiConnection.getCached() + const bc = await BlockchainApiConnection.getConnectionOrConnect() const stats = await bc.api.rpc.system.health() resolve(this.getStatus(key, true, stats)) } catch (e) { diff --git a/src/messaging/interfaces/messaging.interfaces.ts b/src/messaging/interfaces/messaging.interfaces.ts index 240a4eb..1c3f84d 100644 --- a/src/messaging/interfaces/messaging.interfaces.ts +++ b/src/messaging/interfaces/messaging.interfaces.ts @@ -1,6 +1,6 @@ import { Document } from 'mongoose' import { Contact } from '../../contacts/interfaces/contacts.interfaces' -import { IEncryptedMessage } from '@kiltprotocol/sdk-js' +import { IEncryptedMessage } from '@kiltprotocol/types' import { Optional } from 'typescript-optional' export interface MessageDB extends Document, IEncryptedMessage {} diff --git a/src/messaging/messaging.controller.ts b/src/messaging/messaging.controller.ts index 4b7d1f3..cb64f5e 100644 --- a/src/messaging/messaging.controller.ts +++ b/src/messaging/messaging.controller.ts @@ -11,9 +11,9 @@ import { UseGuards, } from '@nestjs/common' import { MessagingService } from './interfaces/messaging.interfaces' -import { IEncryptedMessage } from '@kiltprotocol/sdk-js' +import { IEncryptedMessage } from '@kiltprotocol/types' +import { Crypto } from '@kiltprotocol/utils' import { AuthGuard } from '../auth/auth.guard' -import { verify } from '@kiltprotocol/sdk-js/build/crypto' import { ForbiddenMessageAccessException } from './exceptions/message-forbidden.exception' import { MessageNotFoundException } from './exceptions/message-not-found.exception' @@ -45,7 +45,7 @@ export class MessagingController { if (!signature) { throw new BadRequestException('No signature provided') - } else if (!verify(id, signature, receiverAddress)) { + } else if (!Crypto.verify(id, signature, receiverAddress)) { throw new ForbiddenMessageAccessException() } console.log(`Remove message for id ${id} with signature ${signature}`) diff --git a/src/messaging/messaging.module.spec.ts b/src/messaging/messaging.module.spec.ts index 79ad28c..345a454 100644 --- a/src/messaging/messaging.module.spec.ts +++ b/src/messaging/messaging.module.spec.ts @@ -4,12 +4,14 @@ import { BadRequestException } from '@nestjs/common/exceptions' import { getModelToken } from '@nestjs/mongoose' import { MessagingController } from './messaging.controller' import { MessagingService, MessageDB } from './interfaces/messaging.interfaces' -import { IEncryptedMessage, Identity } from '@kiltprotocol/sdk-js' +import { Identity } from '@kiltprotocol/core' +import { IEncryptedMessage } from '@kiltprotocol/types' import * as Controller from './messaging.controller' import { MongoDbMessagingService } from './mongodb-messaging.service' import { Optional } from 'typescript-optional' import { ForbiddenMessageAccessException } from './exceptions/message-forbidden.exception' import { MessageNotFoundException } from './exceptions/message-not-found.exception' +import { cryptoWaitReady } from '@polkadot/util-crypto' describe('Messaging Module', () => { const encryptedMessage: IEncryptedMessage = { @@ -77,8 +79,10 @@ describe('Messaging Module', () => { }) afterEach(() => jest.clearAllMocks()) beforeAll(async () => { - receiverIdentity = await Identity.buildFromMnemonic( - 'layer donor village public cruel caution learn bronze fish come embrace hurt' + await cryptoWaitReady() + receiverIdentity = Identity.buildFromMnemonic( + 'layer donor village public cruel caution learn bronze fish come embrace hurt', + { signingKeyPairType: 'ed25519' } ) receiverSignature = receiverIdentity.signStr(encryptedMessage.messageId) }) diff --git a/src/messaging/mongodb-messaging.service.ts b/src/messaging/mongodb-messaging.service.ts index e5c3141..551863c 100644 --- a/src/messaging/mongodb-messaging.service.ts +++ b/src/messaging/mongodb-messaging.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common' import { InjectModel } from '@nestjs/mongoose' import { Model } from 'mongoose' import { MessageDB, MessagingService } from './interfaces/messaging.interfaces' -import { IEncryptedMessage } from '@kiltprotocol/sdk-js' +import { IEncryptedMessage } from '@kiltprotocol/types' import { Optional } from 'typescript-optional' @Injectable() diff --git a/test/app.e2e-spec.ts b/test/app.e2e-spec.ts index f9303d6..294ded8 100644 --- a/test/app.e2e-spec.ts +++ b/test/app.e2e-spec.ts @@ -1,14 +1,15 @@ import { INestApplication } from '@nestjs/common' import { Test } from '@nestjs/testing' import request from 'supertest' -import { Identity } from '@kiltprotocol/sdk-js' +import { Identity } from '@kiltprotocol/core' import { MockMongooseModule, mongodbInstance } from './MockMongooseModule' import { AppModule } from '../src/app.module' import { HealthIndicatorResult } from '@nestjs/terminus' import { KiltChainConnectionIndicator } from '../src/health/bc.health' +import { cryptoWaitReady } from '@polkadot/util-crypto' jest.mock( - '@kiltprotocol/sdk-js/build/blockchainApiConnection/BlockchainApiConnection' + '@kiltprotocol/chain-helpers/lib/blockchainApiConnection/BlockchainApiConnection' ) jest.mock('../src/mongoose/mongoose.module', () => ({ MyMongooseModule: MockMongooseModule, @@ -21,6 +22,7 @@ describe('AppController availability (e2e)', () => { } beforeAll(async () => { + await cryptoWaitReady() const moduleFixture = await Test.createTestingModule({ imports: [AppModule], }) @@ -57,15 +59,15 @@ describe('AppController availability (e2e)', () => { .expect(400) }) - it('message inbox endpoint available (GET)', async () => { - const idAlice = await Identity.buildFromURI('//Alice') + it('message inbox endpoint available (GET)', () => { + const idAlice = Identity.buildFromURI('//Alice') return request(app.getHttpServer()) .get(`/messaging/inbox/${idAlice.address}`) .expect(200, []) }) - it('message outbox endpoint available (GET)', async () => { - const idAlice = await Identity.buildFromURI('//Alice') + it('message outbox endpoint available (GET)', () => { + const idAlice = Identity.buildFromURI('//Alice') return request(app.getHttpServer()) .get(`/messaging/sent/${idAlice.address}`) .expect(200, []) diff --git a/test/contacts.e2e-spec.ts b/test/contacts.e2e-spec.ts index 4327b50..94f8b73 100644 --- a/test/contacts.e2e-spec.ts +++ b/test/contacts.e2e-spec.ts @@ -7,8 +7,8 @@ import { Contact, } from '../src/contacts/interfaces/contacts.interfaces' import { ContactsModule } from '../src/contacts/contacts.module' -import Did, { IDidDocumentSigned } from '@kiltprotocol/sdk-js/build/did/Did' -import { Identity } from '@kiltprotocol/sdk-js' +import { IDidDocumentSigned, Did, Identity } from '@kiltprotocol/core' +import { cryptoWaitReady } from '@polkadot/util-crypto' describe('contacts endpoint (e2e)', () => { let app: INestApplication @@ -19,6 +19,7 @@ describe('contacts endpoint (e2e)', () => { let contactB: Contact beforeAll(async () => { + await cryptoWaitReady() const moduleFixture = await Test.createTestingModule({ imports: [ContactsModule, MockMongooseModule], }).compile() @@ -27,8 +28,8 @@ describe('contacts endpoint (e2e)', () => { await app.init() contactsService = app.get('ContactsService') - idAlice = await Identity.buildFromURI('//Alice') - idBob = await Identity.buildFromURI('//Bob') + idAlice = Identity.buildFromURI('//Alice') + idBob = Identity.buildFromURI('//Bob') contactA = { publicIdentity: idAlice.getPublicIdentity(), diff --git a/test/ctypes.e2e-spec.ts b/test/ctypes.e2e-spec.ts index 2cbf551..ca1d42c 100644 --- a/test/ctypes.e2e-spec.ts +++ b/test/ctypes.e2e-spec.ts @@ -5,15 +5,16 @@ import { MockMongooseModule, mongodbInstance } from './MockMongooseModule' import { CTypesModule } from '../src/ctypes/ctypes.module' import { CType, CTypeService } from '../src/ctypes/interfaces/ctype.interfaces' import { BlockchainModule } from '../src/blockchain/blockchain.module' -import { CType as SDKCType, Identity } from '@kiltprotocol/sdk-js' +import { CType as SDKCType, Identity } from '@kiltprotocol/core' +import { cryptoWaitReady } from '@polkadot/util-crypto' -jest.mock('@kiltprotocol/sdk-js/build/ctype/CType.chain', () => { +jest.mock('@kiltprotocol/core/lib/ctype/CType.chain', () => { return { getOwner: jest.fn(async () => null), } }) jest.mock( - '@kiltprotocol/sdk-js/build/blockchainApiConnection/BlockchainApiConnection' + '@kiltprotocol/chain-helpers/lib/blockchainApiConnection/BlockchainApiConnection' ) describe('ctypes endpoint (e2e)', () => { @@ -76,6 +77,7 @@ describe('ctypes endpoint (e2e)', () => { } beforeAll(async () => { + await cryptoWaitReady() const moduleFixture = await Test.createTestingModule({ imports: [CTypesModule, BlockchainModule, MockMongooseModule], }).compile() @@ -84,7 +86,7 @@ describe('ctypes endpoint (e2e)', () => { await app.init() ctypeService = app.get('CTypeService') - idAlice = await Identity.buildFromURI('//Alice') + idAlice = Identity.buildFromURI('//Alice') }, 30000) beforeEach(async () => { @@ -131,7 +133,7 @@ describe('ctypes endpoint (e2e)', () => { }) describe('add', () => { - const mockedGetOwner = require('@kiltprotocol/sdk-js/build/ctype/CType.chain') + const mockedGetOwner = require('@kiltprotocol/core/lib/ctype/CType.chain') .getOwner beforeEach(() => { @@ -153,29 +155,7 @@ describe('ctypes endpoint (e2e)', () => { // it overwrites ctype owner with actual owner expect(storedCtypes[0]).toMatchObject({ ...cTypeRecordA, - cType: { ...kiltCTypeA, owner: idAlice.address }, - }) - }) - - it('overwrites owner with chain owner', async () => { - mockedGetOwner.mockResolvedValue('new-owner') - const cTypeRecordWithOwner = { - ...cTypeRecordA, - cType: SDKCType.fromSchema(kiltCTypeA.schema, idAlice.address), - } - await request(app.getHttpServer()) - .post(`/ctype`) - .send(cTypeRecordWithOwner) - .expect(201) - - expect(mockedGetOwner).toHaveBeenCalledWith(kiltCTypeA.hash) - const storedCtypes = await ctypeService.findAll() - expect(storedCtypes).toBeInstanceOf(Array) - expect(storedCtypes).toHaveLength(1) - // it overwrites ctype owner with actual owner - expect(storedCtypes[0]).toMatchObject({ - ...cTypeRecordWithOwner, - cType: { ...kiltCTypeA, owner: 'new-owner' }, + cType: { ...kiltCTypeA }, }) }) @@ -251,7 +231,7 @@ describe('ctypes endpoint (e2e)', () => { }) it('register -> get -> reset', async () => { - require('@kiltprotocol/sdk-js/build/ctype/CType.chain').getOwner.mockResolvedValue( + require('@kiltprotocol/core/lib/ctype/CType.chain').getOwner.mockResolvedValue( idAlice.address ) @@ -266,8 +246,7 @@ describe('ctypes endpoint (e2e)', () => { .expect(response => { expect(response.body).toMatchObject({ ...cTypeRecordA, - // it overwrites ctype owner with actual owner - cType: { ...kiltCTypeA, owner: idAlice.address }, + cType: { ...kiltCTypeA }, }) }) diff --git a/test/faucet.e2e-spec.ts b/test/faucet.e2e-spec.ts index 96703bb..015c931 100644 --- a/test/faucet.e2e-spec.ts +++ b/test/faucet.e2e-spec.ts @@ -1,19 +1,19 @@ import { INestApplication } from '@nestjs/common' import { Test } from '@nestjs/testing' import request from 'supertest' -import { Identity, Balance } from '@kiltprotocol/sdk-js' +import { Identity, Balance } from '@kiltprotocol/core' import BN from 'bn.js' import { FaucetService } from '../src/faucet/interfaces/faucet.interfaces' import { MockMongooseModule, mongodbInstance } from './MockMongooseModule' import { FaucetModule } from '../src/faucet/faucet.module' -jest.mock('@kiltprotocol/sdk-js/build/balance/Balance.chain', () => { +jest.mock('@kiltprotocol/core/lib/balance/Balance.chain', () => { return { makeTransfer: jest.fn(() => Promise.resolve({})), } }) -jest.mock('@kiltprotocol/sdk-js/build/blockchain/Blockchain.utils', () => { +jest.mock('@kiltprotocol/chain-helpers/lib/blockchain/Blockchain.utils', () => { return { __esModules: true, submitSignedTx: jest.fn(() => Promise.resolve({ isInBlock: true })), @@ -37,17 +37,17 @@ describe('faucet endpoint (e2e)', () => { await app.init() faucetService = app.get('FaucetService') - idAlice = await Identity.buildFromURI('//Alice') + idAlice = Identity.buildFromURI('//Alice') process.env['FAUCET_ACCOUNT'] = FAUCET_SEED }, 30000) beforeEach(async () => { await faucetService.reset() - require('@kiltprotocol/sdk-js/build/blockchain/Blockchain.utils').submitSignedTx.mockResolvedValue( + require('@kiltprotocol/chain-helpers/lib/blockchain/Blockchain.utils').submitSignedTx.mockResolvedValue( { isInBlock: true } ) - require('@kiltprotocol/sdk-js/build/balance/Balance.chain').makeTransfer.mockResolvedValue( + require('@kiltprotocol/core/lib/balance/Balance.chain').makeTransfer.mockResolvedValue( {} ) }) @@ -60,7 +60,7 @@ describe('faucet endpoint (e2e)', () => { }) it('handles invalid destination address / public key', async () => { - require('@kiltprotocol/sdk-js/build/balance/Balance.chain').makeTransfer.mockRejectedValue( + require('@kiltprotocol/core/lib/balance/Balance.chain').makeTransfer.mockRejectedValue( 'transfer destination invalid' ) await request(app.getHttpServer()) @@ -71,9 +71,10 @@ describe('faucet endpoint (e2e)', () => { it('accepts first valid request', async () => { const spy = jest.spyOn(Balance, 'makeTransfer') + const { address } = idAlice await request(app.getHttpServer()) .post(`/faucet/drop`) - .send(`address=${idAlice.address}`) + .send({ address }) .expect(201) expect(spy).toHaveBeenCalledWith( diff --git a/test/messaging.e2e-spec.ts b/test/messaging.e2e-spec.ts index 37a1d93..74161f2 100644 --- a/test/messaging.e2e-spec.ts +++ b/test/messaging.e2e-spec.ts @@ -1,15 +1,13 @@ import { INestApplication } from '@nestjs/common' import { Test } from '@nestjs/testing' -import { - Identity, - Message, - MessageBodyType, - IEncryptedMessage, -} from '@kiltprotocol/sdk-js' +import { Identity } from '@kiltprotocol/core' +import { MessageBodyType, IEncryptedMessage } from '@kiltprotocol/types' +import Message from '@kiltprotocol/messaging' import supertest from 'supertest' import { MessagingService } from '../src/messaging/interfaces/messaging.interfaces' import { MessagingModule } from '../src/messaging/messaging.module' import { MockMongooseModule, mongodbInstance } from './MockMongooseModule' +import { cryptoWaitReady } from '@polkadot/util-crypto' function assertErrorMessageIs( message: string, @@ -44,8 +42,9 @@ describe('messaging (e2e)', () => { let message: Message beforeAll(async () => { - sender = await Identity.buildFromURI('//Alice') - recipient = await Identity.buildFromURI('//Bob') + await cryptoWaitReady() + sender = Identity.buildFromURI('//Alice') + recipient = Identity.buildFromURI('//Bob') message = new Message( { type: MessageBodyType.REQUEST_TERMS, diff --git a/tsconfig.json b/tsconfig.json index 01b97ac..f68ab2f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,7 +12,8 @@ "sourceMap": true, "outDir": "./dist", "baseUrl": "./", - "esModuleInterop": true + "esModuleInterop": true, + "resolveJsonModule": true }, "include": [ "src/**/*" diff --git a/yarn.lock b/yarn.lock index 3d33e7a..dc5c261 100644 --- a/yarn.lock +++ b/yarn.lock @@ -241,7 +241,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5": +"@babel/runtime@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.13.tgz#0a21452352b02542db0ffb928ac2d3ca7cb6d66d" + integrity sha512-8+3UMPBrjFa/6TtKi/7sehPKqfAm4g6K+YQjyyFOLUTxzOngcRZTlAVY8sc2CORJYqdHQY8gRPHmn+qo15rCBw== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.12.5": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== @@ -498,40 +505,96 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" -"@kiltprotocol/portablegabi@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@kiltprotocol/portablegabi/-/portablegabi-0.4.0.tgz#b6a337834c1d832c24443bb29bc9df09f72bb5f7" - integrity sha512-fyxBnLrPpyCGmfBBlzKjhT/X9IQjpmoCmMOQmk/DnUlWa8Areo2SiGhCP1G/DPxUK6fsZOlPk2X6xrtR1FJ6ow== - dependencies: - "@polkadot/api" "^2.0.1" - "@polkadot/keyring" "^3.5.1" - "@polkadot/rpc-provider" "^2.0.1" - "@polkadot/types" "^2.0.1" - "@polkadot/util" "^3.5.1" - "@polkadot/util-crypto" "^3.5.1" - -"@kiltprotocol/sdk-js@^0.19.1-8": - version "0.19.1-8" - resolved "https://registry.yarnpkg.com/@kiltprotocol/sdk-js/-/sdk-js-0.19.1-8.tgz#7842283d79e587f3d9d48558093c796c83eabb97" - integrity sha512-EL8pWG3dgZByedxwPnEGnE//ENw7xaiJasq2x3Qust5qz59PBGUMvUnt4UPa8tBSJ/UTFG9BLXu2twtHoagFzQ== - dependencies: - "@kiltprotocol/portablegabi" "^0.4.0" - "@polkadot/api" "^2.0.1" - "@polkadot/keyring" "^3.5.1" - "@polkadot/types" "^2.0.1" - "@polkadot/types-known" "^2.0.1" - "@polkadot/util" "^3.5.1" - "@polkadot/util-crypto" "^3.5.1" +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@kiltprotocol/chain-helpers@0.20.0-rc.2", "@kiltprotocol/chain-helpers@^0.20.0-rc.2": + version "0.20.0-rc.2" + resolved "https://registry.yarnpkg.com/@kiltprotocol/chain-helpers/-/chain-helpers-0.20.0-rc.2.tgz#84e3c295fed5997071a79c7234d422c3cb141e4d" + integrity sha512-bYL31zy7x7b2Px+w567NM5muFUDnT1fKmV03xR7lrfxrsi7XRBia9wjep6Td/3JPhHwCrgd0m6Pl7ARMVVeTEg== + dependencies: + "@kiltprotocol/config" "0.20.0-rc.2" + "@kiltprotocol/types" "0.20.0-rc.2" + "@kiltprotocol/utils" "0.20.0-rc.2" + "@polkadot/api" "^3.7.3" + "@polkadot/keyring" "^5.5.2" + "@polkadot/types" "^3.7.3" + bn.js "^5.1.3" + typescript-logging "^0.6.4" + +"@kiltprotocol/config@0.20.0-rc.2", "@kiltprotocol/config@^0.20.0-rc.2": + version "0.20.0-rc.2" + resolved "https://registry.yarnpkg.com/@kiltprotocol/config/-/config-0.20.0-rc.2.tgz#6a45805df72c4a9ee33877674cf8544e9197e924" + integrity sha512-qsNw9lf9YgBlR2LTJwRZZx84k30EP+1QqV9AV35BenHB3z6G1x0VtQrQ5KEZyJQJcWxyLGdKDL+BIgRmf56fZg== + dependencies: + "@kiltprotocol/utils" "0.20.0-rc.2" + typescript-logging "^0.6.4" + +"@kiltprotocol/core@0.20.0-rc.2", "@kiltprotocol/core@^0.20.0-rc.2": + version "0.20.0-rc.2" + resolved "https://registry.yarnpkg.com/@kiltprotocol/core/-/core-0.20.0-rc.2.tgz#e7285f3a814fca4fd28cbac786c220abefd57404" + integrity sha512-2xV2SrhmG+rOrN7TiXSbMEvnelqFu2MdRry2ByhYZtRQpWCXBqMng1pT03+qqIuB+/DjJGKquwtQdKBhJDAcgg== + dependencies: + "@kiltprotocol/chain-helpers" "0.20.0-rc.2" + "@kiltprotocol/config" "0.20.0-rc.2" + "@kiltprotocol/types" "0.20.0-rc.2" + "@kiltprotocol/utils" "0.20.0-rc.2" + "@polkadot/api" "^3.7.3" + "@polkadot/keyring" "^5.5.2" + "@polkadot/types" "^3.7.3" + "@polkadot/types-known" "^3.7.3" + "@polkadot/util" "^5.5.2" + "@polkadot/util-crypto" "^5.5.2" ajv "^6.12.5" bn.js "^5.1.3" tweetnacl "^1.0.3" typescript-logging "^0.6.4" + +"@kiltprotocol/messaging@^0.20.0-rc.2": + version "0.20.0-rc.2" + resolved "https://registry.yarnpkg.com/@kiltprotocol/messaging/-/messaging-0.20.0-rc.2.tgz#bb3f36a8b22cbdd84f5f0ddf432bf38e7e6361bf" + integrity sha512-S1vDIwXQztivty5ihYkvup99NzhVTwdd9510Vvaxcd1D7sSAJ5xD/NH15QJfXB9u84QOmxW0B5Ywmb3Xpai5YA== + dependencies: + "@kiltprotocol/core" "0.20.0-rc.2" + "@kiltprotocol/types" "0.20.0-rc.2" + "@kiltprotocol/utils" "0.20.0-rc.2" + +"@kiltprotocol/types@0.20.0-rc.2", "@kiltprotocol/types@^0.20.0-rc.2": + version "0.20.0-rc.2" + resolved "https://registry.yarnpkg.com/@kiltprotocol/types/-/types-0.20.0-rc.2.tgz#0298b1734170a81ef07aeb133ac4e43c631473c5" + integrity sha512-QjywqUlCTXYGR+I0SeGTkgEWShMVttxf18u6qpkMmSjQ7Qf4abocqkx5DxWOU/TwMh2+M3UNvz6G/TbRkQWWcg== + dependencies: + "@polkadot/api" "^3.7.3" + "@polkadot/keyring" "^5.5.2" + "@polkadot/types" "^3.7.3" + bn.js "^5.1.3" + tweetnacl "^1.0.3" + +"@kiltprotocol/utils@0.20.0-rc.2", "@kiltprotocol/utils@^0.20.0-rc.2": + version "0.20.0-rc.2" + resolved "https://registry.yarnpkg.com/@kiltprotocol/utils/-/utils-0.20.0-rc.2.tgz#0a73c45a535c2a7c569fdda120a0253ae8277aee" + integrity sha512-dCtLjpCx2gG8uS6DP+4qfsgGiiB9CtxEmYIHgL4ctcJytFc//Fb5/gHyOGO3Yn+4dvV+DpuIozUuyTyZNCZ6Bw== + dependencies: + "@kiltprotocol/types" "0.20.0-rc.2" + "@polkadot/keyring" "^5.4.4" + "@polkadot/types" "^3.6.4" + "@polkadot/util" "^5.4.4" + "@polkadot/util-crypto" "^5.4.4" + tweetnacl "^1.0.3" uuid "^8.1.0" "@nestjs/common@^7.6.6": - version "7.6.6" - resolved "https://registry.yarnpkg.com/@nestjs/common/-/common-7.6.6.tgz#e75b207cb41f9b7480e6b5ad805d6b22188e78fd" - integrity sha512-aKnNzqHmIhvbHpG2lTBEiJ6gPFWeBGoTl93TOTKyQJtpUPMNZkVERnVIWpAceDitHx2xSVnCiU3Uo1xt5B4y8w== + version "7.6.13" + resolved "https://registry.yarnpkg.com/@nestjs/common/-/common-7.6.13.tgz#597558afedfddeb5021fe8a154327ee082279ab8" + integrity sha512-xijw6so4yA8Ywi8mnrA7Kz97ZC36u20Eyb5/XvmokdLcgTcTyHVdE39r44JYnjHPf8SKZoJ965zdu/fKl4s4GQ== dependencies: axios "0.21.1" iterare "1.2.1" @@ -539,9 +602,9 @@ uuid "8.3.2" "@nestjs/core@^7.6.6": - version "7.6.6" - resolved "https://registry.yarnpkg.com/@nestjs/core/-/core-7.6.6.tgz#84f070375840e3efdefd17a4530f26e52ecbb8d6" - integrity sha512-e7dY4HICvhzJmwS7DJ6UHuXkb7oAowzd37nqZIgtW3d0dYv7Fg6AGwwAiQlJInefDTjHeK3Fv3n2gK/KBSVHTw== + version "7.6.13" + resolved "https://registry.yarnpkg.com/@nestjs/core/-/core-7.6.13.tgz#b7518dceb436e6ed2c1fad2cff86ddf69b143e73" + integrity sha512-8oY8yZSgri2DngqmvBMtwYw1GIAaXbUXS7Y0mp/iSZ6jP7CQqYCybdcMPneunrt5PG8rtJsq6n+4JNRvxXrVmA== dependencies: "@nuxtjs/opencollective" "0.3.2" fast-safe-stringify "2.0.7" @@ -552,14 +615,14 @@ uuid "8.3.2" "@nestjs/mongoose@^7.2.2": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@nestjs/mongoose/-/mongoose-7.2.2.tgz#6922373a0469eb3ecad0cd6dbb4ae18f2dde4b16" - integrity sha512-Ubl3uEczpM8GMebOBpBPx3oGj5Nea3SUAoKh4L6u41HE+JuAcaJz9uY/1Advh/9qXGmWOgO4nXoDLAazMvR41A== + version "7.2.4" + resolved "https://registry.yarnpkg.com/@nestjs/mongoose/-/mongoose-7.2.4.tgz#60a50532a244279703344368d74ecd802aeda4a4" + integrity sha512-NTE/IwijFUEJytPHLoHRYe0X5p16W1Awf8tm6I3mWsIUuBnSDfMyN0fy30uVaM/exYvCkMwEsAVpeSeKVPMHxg== "@nestjs/platform-express@^7.6.6": - version "7.6.6" - resolved "https://registry.yarnpkg.com/@nestjs/platform-express/-/platform-express-7.6.6.tgz#c2e2c7b67dc1d9a9ea086d7c6eb593373703c03e" - integrity sha512-5MjPeoMoXbshxdkeCs6vS5yPBeiOAnrb2BBl+nmbEPuFYwGfBgbVqGijOeSNMcjcVM34KwxYTdl/YWeiD1MXNA== + version "7.6.13" + resolved "https://registry.yarnpkg.com/@nestjs/platform-express/-/platform-express-7.6.13.tgz#6154bff51cc33ac16080922975ae10ccf6e91177" + integrity sha512-o9h6MJJccr+yR9FoAX4Cz/GrxNTeQAfHGSHkzPxElhph5QR23tWuwy9jvgUOCfxaH7T5hgg50R025b5XuGhozg== dependencies: body-parser "1.19.0" cors "2.8.5" @@ -568,17 +631,17 @@ tslib "2.1.0" "@nestjs/terminus@^7.0.1": - version "7.0.1" - resolved "https://registry.yarnpkg.com/@nestjs/terminus/-/terminus-7.0.1.tgz#7d748f8c18973d60023a8ab16760d0adab145b8b" - integrity sha512-OKg1QQDb+whHJM3Xt+3RRUPiyZSyD0qLacfldK0TXcFpKyexA0yyY3GKeaBNApf01FEzJgkK3ARCUoELnAfXDA== + version "7.1.0" + resolved "https://registry.yarnpkg.com/@nestjs/terminus/-/terminus-7.1.0.tgz#fa9666e903a405541fe431a709690b678a24d8cb" + integrity sha512-5C6ZpC7DU9HunPmRwYZVK/DiQaNjQfH/KiDMKBLzWTiVG5cVaV+II5eTr0cdhmaaJk58u54S/5eb7lGaK5MGHQ== dependencies: check-disk-space "2.1.0" deprecate "^1.1.1" "@nestjs/testing@^7.6.6": - version "7.6.6" - resolved "https://registry.yarnpkg.com/@nestjs/testing/-/testing-7.6.6.tgz#5b907582a862d2de0cec049cd14d827f6a6a84ff" - integrity sha512-RNPv+/f/ANdPkAqTPQ0jXG/WIOOVbbCMyvo4LrYa+l3QXiaX1M+vOJt6YURe3f/JADBmfum9mi44JikEyJw7ug== + version "7.6.13" + resolved "https://registry.yarnpkg.com/@nestjs/testing/-/testing-7.6.13.tgz#a0cd208fb541aa9084eb55cdd120d1e67eec49c1" + integrity sha512-HQx6xarUoDImpoF/rPzZ1yewkNURrx7sIeOQqmC+5Jx5DO8bk7qvz3bEnhIsGaM4G782MkMUD6qj1vPMcBU+zg== dependencies: optional "0.1.4" tslib "2.1.0" @@ -592,264 +655,235 @@ consola "^2.15.0" node-fetch "^2.6.1" -"@polkadot/api-derive@2.7.1": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-2.7.1.tgz#d4927e2e9579074466da8613953fd460b1f33466" - integrity sha512-tQboJ7VgbHU2lMGxxbsWVZjzS5735cFQKRB036d7or1m4sgyD8cPWopPOo3jyytPmHfuYF0Ni44ZppQeapDxGg== - dependencies: - "@babel/runtime" "^7.12.5" - "@polkadot/api" "2.7.1" - "@polkadot/rpc-core" "2.7.1" - "@polkadot/types" "2.7.1" - "@polkadot/util" "^4.1.1" - "@polkadot/util-crypto" "^4.1.1" - bn.js "^5.1.3" - memoizee "^0.4.14" - rxjs "^6.6.3" - -"@polkadot/api@2.7.1", "@polkadot/api@^2.0.1": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-2.7.1.tgz#3eb0ae7eecd342a68a68ed6cf082d6c73d0b6281" - integrity sha512-xgaLsv/qRTjRfSvFBgm9h9+gXK5pYn2iqlWPndvYSM/IaUZWAQPVWL1uGnrEbEFjHvpi6Fe28wsw+QCM8rBxew== - dependencies: - "@babel/runtime" "^7.12.5" - "@polkadot/api-derive" "2.7.1" - "@polkadot/keyring" "^4.1.1" - "@polkadot/metadata" "2.7.1" - "@polkadot/rpc-core" "2.7.1" - "@polkadot/rpc-provider" "2.7.1" - "@polkadot/types" "2.7.1" - "@polkadot/types-known" "2.7.1" - "@polkadot/util" "^4.1.1" - "@polkadot/util-crypto" "^4.1.1" - bn.js "^5.1.3" +"@polkadot/api-derive@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-3.8.1.tgz#24dbbed16e016d8d6cc58b6e16495dd4c1f6871a" + integrity sha512-F9HAPNz7MtK5EPhn/2nI3Gu4xQuLDX0rnv+v5K6LZybCPxh9ei3na56PCeCkG5kruoILtSnXecTuSrPyE1EWJA== + dependencies: + "@babel/runtime" "^7.12.13" + "@polkadot/api" "3.8.1" + "@polkadot/rpc-core" "3.8.1" + "@polkadot/types" "3.8.1" + "@polkadot/util" "^5.6.1" + "@polkadot/util-crypto" "^5.6.1" + "@polkadot/x-rxjs" "^5.6.1" + bn.js "^4.11.9" + +"@polkadot/api@3.8.1", "@polkadot/api@^3.7.3": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-3.8.1.tgz#32d6d4efde1f76b170ba2985f136be4fd52ab1b8" + integrity sha512-5ayXsixyEL7A/ljFBCJReYfn9KAxfTJRTymDVf4S3aOwll0WRtvb0Vhy8nQa9H9RQleQ2Bk5JL5zx4EgAy01dg== + dependencies: + "@babel/runtime" "^7.12.13" + "@polkadot/api-derive" "3.8.1" + "@polkadot/keyring" "^5.6.1" + "@polkadot/metadata" "3.8.1" + "@polkadot/rpc-core" "3.8.1" + "@polkadot/rpc-provider" "3.8.1" + "@polkadot/types" "3.8.1" + "@polkadot/types-known" "3.8.1" + "@polkadot/util" "^5.6.1" + "@polkadot/util-crypto" "^5.6.1" + "@polkadot/x-rxjs" "^5.6.1" + bn.js "^4.11.9" eventemitter3 "^4.0.7" - rxjs "^6.6.3" - -"@polkadot/keyring@^3.5.1": - version "3.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-3.7.1.tgz#91c17ed9824d6ed3f909ab43565f8e34bfbe321c" - integrity sha512-Tohw67R8gnQXV4W3FoVr7akGtT59thNzutiQf+5DBV2GRf4Vin97XT4LV2VPHLbk5ACDryBv7lomSiHfSvsUJQ== - dependencies: - "@babel/runtime" "^7.12.1" - "@polkadot/util" "^3.7.1" - "@polkadot/util-crypto" "^3.7.1" -"@polkadot/keyring@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-4.1.1.tgz#bc5e66a42df4146bb67581665afee637df7fba12" - integrity sha512-qKNdaqaohIFwarJEU9XIium5ObzbFCi4Y5cO4JmVfWf+hwcAkeVOEFcz/cGkpIVUQhEHDlvEEoqesd5c1+LC4A== - dependencies: - "@babel/runtime" "^7.12.5" - "@polkadot/util" "4.1.1" - "@polkadot/util-crypto" "4.1.1" - -"@polkadot/metadata@2.7.1": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-2.7.1.tgz#ad2daf41e2efc21c6c83b2a15469ac40ccb896e7" - integrity sha512-lrBYZApKW9iCrZjrfrcuVjM857YIHdmHwJa/Z6QgS7MTGR+8modEKBKs+4hoyMN+NumYAYrHBwzcE2B3mINDyA== - dependencies: - "@babel/runtime" "^7.12.5" - "@polkadot/types" "2.7.1" - "@polkadot/types-known" "2.7.1" - "@polkadot/util" "^4.1.1" - "@polkadot/util-crypto" "^4.1.1" - bn.js "^5.1.3" - -"@polkadot/networks@4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-4.1.1.tgz#26a10d58117a2a9e0e538a040446056e43352424" - integrity sha512-OqV4YCiWmUZIm82TdKDbjAhTF+paxko5k7bw0OGRIizmA00CNNRLR2q9SI9ux1InvYuL+zZsTOJAoJ5FxMHzgA== - dependencies: - "@babel/runtime" "^7.12.5" - -"@polkadot/networks@^3.7.1": - version "3.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-3.7.1.tgz#01e568e0f7791c22eb896ffabc23e936ede57c43" - integrity sha512-kBPUxt3d1xXeJaFilyVI717TKOZJko/3pvFIDqbSc0i2qdXv8bmRR5r7KMnEB7MvTeMPKHVhcesWksAIdsYRew== - dependencies: - "@babel/runtime" "^7.12.1" - -"@polkadot/rpc-core@2.7.1": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-2.7.1.tgz#4a51f2099019faeaf8d710d02a7855ec58f3f378" - integrity sha512-5TA+EZ1sWDwgrfFoMc4SsEwHo9ivO/wfPZsxNixHw1wL68y+3G4pG1YLztcKF//Qp35nOz4JGyX+lNuU3BPXdw== - dependencies: - "@babel/runtime" "^7.12.5" - "@polkadot/metadata" "2.7.1" - "@polkadot/rpc-provider" "2.7.1" - "@polkadot/types" "2.7.1" - "@polkadot/util" "^4.1.1" - memoizee "^0.4.14" - rxjs "^6.6.3" - -"@polkadot/rpc-provider@2.7.1", "@polkadot/rpc-provider@^2.0.1": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-2.7.1.tgz#dd2515648a70665ecd2b56adcc30e8804ed225d4" - integrity sha512-AOS9RfYm8aFuvYo1Bd/SX9eHQJlWbW9IYwNqHLOfXmLRxbIkfVzsc49tCsr+Zy1Ctt/d5bA86P5cUdH0LI0acg== - dependencies: - "@babel/runtime" "^7.12.5" - "@polkadot/types" "2.7.1" - "@polkadot/util" "^4.1.1" - "@polkadot/util-crypto" "^4.1.1" - "@polkadot/x-fetch" "^4.1.1" - "@polkadot/x-ws" "^4.1.1" - bn.js "^5.1.3" +"@polkadot/keyring@^5.4.4", "@polkadot/keyring@^5.5.2", "@polkadot/keyring@^5.6.1": + version "5.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-5.6.2.tgz#9335d7cf21df10ad99580d8f070bfaa63327f797" + integrity sha512-LqN/ziJ3Nbpn1hiaGVc5DRKDxfbdY1kjTO9W8P4XENrGQmKzr+iBucNv/8KoFgKcwqksbVAQdvoiUhBkcQLtiw== + dependencies: + "@babel/runtime" "^7.12.13" + "@polkadot/util" "5.6.2" + "@polkadot/util-crypto" "5.6.2" + +"@polkadot/metadata@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-3.8.1.tgz#bfef0381b79166dc84f673ff86e3baec4344aa28" + integrity sha512-bx+cg/BsjkRzuPEOdvhO62/2+mLJPGxohZL/Uuf1W4hgv/dBYvV/48wSCcpFNIeiJr40Zy2QPD5uiOXfncOtqA== + dependencies: + "@babel/runtime" "^7.12.13" + "@polkadot/types" "3.8.1" + "@polkadot/types-known" "3.8.1" + "@polkadot/util" "^5.6.1" + "@polkadot/util-crypto" "^5.6.1" + bn.js "^4.11.9" + +"@polkadot/networks@5.6.2", "@polkadot/networks@^5.6.1": + version "5.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-5.6.2.tgz#acc62fb581adaa606908207fc8d0585112e513d1" + integrity sha512-DI70uSFLUmiVhn8LvoXSfMIbI2/+ikVQydD567QtIsH9uDF2VE4XtdSvykCv5Em3WKs1Wlu1/ylPukKk+2ZEhw== + dependencies: + "@babel/runtime" "^7.12.13" + +"@polkadot/rpc-core@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-3.8.1.tgz#bcd1bc1d287d6f25ff5a7cf02b970a41e0ccfef2" + integrity sha512-QBOZKjOMO6FM0xF4SKwPRk3rOSVM9+h7VoJa4BRdoiFjlgLfbIFl7g4mfNQVHqHjpAIR9ZeE5T6zU9bWIr3uog== + dependencies: + "@babel/runtime" "^7.12.13" + "@polkadot/metadata" "3.8.1" + "@polkadot/rpc-provider" "3.8.1" + "@polkadot/types" "3.8.1" + "@polkadot/util" "^5.6.1" + "@polkadot/x-rxjs" "^5.6.1" + +"@polkadot/rpc-provider@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-3.8.1.tgz#ebe51ddc0db4b20d8852bf1425f994f83836461d" + integrity sha512-1U0A9OxQ2B2ABNFWaporuIaNxMrHqVbWJgpOoRSf8lbnwuHWQClRIljlxBp9TT3S7RKC3XXegQi8zpl22ZEorQ== + dependencies: + "@babel/runtime" "^7.12.13" + "@polkadot/types" "3.8.1" + "@polkadot/util" "^5.6.1" + "@polkadot/util-crypto" "^5.6.1" + "@polkadot/x-fetch" "^5.6.1" + "@polkadot/x-global" "^5.6.1" + "@polkadot/x-ws" "^5.6.1" + bn.js "^4.11.9" eventemitter3 "^4.0.7" -"@polkadot/types-known@2.7.1", "@polkadot/types-known@^2.0.1": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-2.7.1.tgz#bb6edef252a6ab83cf4088848d68fa56d004902c" - integrity sha512-cnrRJ7HV/ICWwoxNv0cKZZ5EVmPMOnLrcoC1SQYANkOjpxVdloxPdkr+1i6trPJhXntxwRvdFIYqKiAtsfMrGw== - dependencies: - "@babel/runtime" "^7.12.5" - "@polkadot/types" "2.7.1" - "@polkadot/util" "^4.1.1" - bn.js "^5.1.3" - -"@polkadot/types@2.7.1", "@polkadot/types@^2.0.1": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-2.7.1.tgz#f3cac7bba7fa7d1d3d7bd3e474b4ef776526e82f" - integrity sha512-v7vHozNZxz+pSlQnjogtUwzsNU3E5sZ7+oQipFS/S2zXz2Q8K1QOUE08thZTqR5M4cyPDbbD5sHBaSNOMk5X1Q== - dependencies: - "@babel/runtime" "^7.12.5" - "@polkadot/metadata" "2.7.1" - "@polkadot/util" "^4.1.1" - "@polkadot/util-crypto" "^4.1.1" +"@polkadot/types-known@3.8.1", "@polkadot/types-known@^3.7.3": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-3.8.1.tgz#408e6165a1ddff484689fb0b252ef62960297b7e" + integrity sha512-mGQNaFzMImMwU5ahT6QEySkREy++Dt6c2VAf+CuvYKqORQWODM/95cveJdVdypi36iohW0SJc4UCXupicVey7Q== + dependencies: + "@babel/runtime" "^7.12.13" + "@polkadot/networks" "^5.6.1" + "@polkadot/types" "3.8.1" + "@polkadot/util" "^5.6.1" + bn.js "^4.11.9" + +"@polkadot/types@3.8.1", "@polkadot/types@^3.6.4", "@polkadot/types@^3.7.3": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-3.8.1.tgz#e1c59016bc91c3b25d925837f3781811aff616a1" + integrity sha512-ONqae9KD2N/HsSfPB6ZmRh6cuUvrfmhHORNl7ciTzM4Q6MnK1r+66N5wg1wZpadkCIl8eeMzRre065aTKGrm3Q== + dependencies: + "@babel/runtime" "^7.12.13" + "@polkadot/metadata" "3.8.1" + "@polkadot/util" "^5.6.1" + "@polkadot/util-crypto" "^5.6.1" + "@polkadot/x-rxjs" "^5.6.1" "@types/bn.js" "^4.11.6" - bn.js "^5.1.3" - memoizee "^0.4.14" - rxjs "^6.6.3" - -"@polkadot/util-crypto@4.1.1", "@polkadot/util-crypto@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-4.1.1.tgz#b3f9a03c7ad785e72d7a777cdfd76193635f290a" - integrity sha512-LuA75GZqT1Lpx+RwMljoqNl0lPrfyDt9hUByGhzHQ0OjcaOzrcrzsmDYqFgz0ec8dg9KpNcbZM9CMI7r7mZ9cg== - dependencies: - "@babel/runtime" "^7.12.5" - "@polkadot/networks" "4.1.1" - "@polkadot/util" "4.1.1" - "@polkadot/wasm-crypto" "^2.0.1" - "@polkadot/x-randomvalues" "4.1.1" + bn.js "^4.11.9" + +"@polkadot/util-crypto@5.6.2", "@polkadot/util-crypto@^5.4.4", "@polkadot/util-crypto@^5.5.2", "@polkadot/util-crypto@^5.6.1": + version "5.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-5.6.2.tgz#5703afdfe93d15cd16b90b47ffc1a83625c176ec" + integrity sha512-cdwyPrfqYWJP2A4/jUnQIlCkMYl6saZR9jlke4PmCva0oYKdJjVCEu2g/caOoLH+wb+w29ulHzKzNRlyswSl0A== + dependencies: + "@babel/runtime" "^7.12.13" + "@polkadot/networks" "5.6.2" + "@polkadot/util" "5.6.2" + "@polkadot/wasm-crypto" "^3.2.2" + "@polkadot/x-randomvalues" "5.6.2" base-x "^3.0.8" blakejs "^1.1.0" - bn.js "^5.1.3" + bn.js "^4.11.9" create-hash "^1.2.0" - elliptic "^6.5.3" + elliptic "^6.5.4" hash.js "^1.1.7" js-sha3 "^0.8.0" scryptsy "^2.1.0" tweetnacl "^1.0.3" xxhashjs "^0.2.2" -"@polkadot/util-crypto@^3.5.1", "@polkadot/util-crypto@^3.7.1": - version "3.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-3.7.1.tgz#69e1cca5adc521cf0880b244dc1ae0d086c42e4c" - integrity sha512-ZxQa10bo85YlxfS8ieDUzmFZMkKWwOp2dGQ0Xy94e4VBkWVPq9JjAfm8RnLy6D7k5KvMhzKuzJk7IcBDDdXGSw== - dependencies: - "@babel/runtime" "^7.12.1" - "@polkadot/networks" "^3.7.1" - "@polkadot/util" "^3.7.1" - "@polkadot/wasm-crypto" "^1.4.1" - base-x "^3.0.8" - blakejs "^1.1.0" - bn.js "^5.1.3" - create-hash "^1.2.0" - elliptic "^6.5.3" - js-sha3 "^0.8.0" - pbkdf2 "^3.1.1" - scryptsy "^2.1.0" - tweetnacl "^1.0.3" - xxhashjs "^0.2.2" - -"@polkadot/util@4.1.1", "@polkadot/util@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-4.1.1.tgz#76668d5f0e00c396d6b6f4ba652348d287ad49c2" - integrity sha512-bmXMXq4WKKkowgzgRzCgkWNzu8tT/F4P+cBBlVReOH1UD1AmUG80coD/uIL+kUhLpQVN3xXtdXHIxFQcfK3qKA== +"@polkadot/util@5.6.2", "@polkadot/util@^5.4.4", "@polkadot/util@^5.5.2", "@polkadot/util@^5.6.1": + version "5.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-5.6.2.tgz#c85ee096a8137d7005c16a26b242f932dcd9f242" + integrity sha512-SgwSmLf6YgLFwLUsVYHiqeheGWRtSBwD76zX+H6rj+qb31V+idtKpa0mxODrZ06x9fRg1erJbxvffya34KuYAQ== dependencies: - "@babel/runtime" "^7.12.5" - "@polkadot/x-textdecoder" "4.1.1" - "@polkadot/x-textencoder" "4.1.1" + "@babel/runtime" "^7.12.13" + "@polkadot/x-textdecoder" "5.6.2" + "@polkadot/x-textencoder" "5.6.2" "@types/bn.js" "^4.11.6" - bn.js "^5.1.3" + bn.js "^4.11.9" camelcase "^5.3.1" - ip-regex "^4.2.0" + ip-regex "^4.3.0" -"@polkadot/util@^3.5.1", "@polkadot/util@^3.7.1": - version "3.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-3.7.1.tgz#b7585380a6177814f7e28dc2165814864ef2c67b" - integrity sha512-nvgzAbT/a213mpUd56YwK/zgbGKcQoMNLTmqcBHn1IP9u5J9XJcb1zPzqmCTg6mqnjrsgzJsWml9OpQftrcB6g== +"@polkadot/wasm-crypto-asmjs@^3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-3.2.2.tgz#b18af677764d6943cba3c225ba28e9626760704c" + integrity sha512-OD6Ejzq0II+VuMLbs7nvGILO9b7PbK8F74uglDXQIaAl2YXuSEWbpE4S3RY7mRp+1Xg0igeNBhgMdRRUg5vDVg== dependencies: - "@babel/runtime" "^7.12.1" - "@polkadot/x-textdecoder" "^3.7.1" - "@polkadot/x-textencoder" "^3.7.1" - "@types/bn.js" "^4.11.6" - bn.js "^5.1.3" - camelcase "^5.3.1" - ip-regex "^4.2.0" - -"@polkadot/wasm-crypto@^1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto/-/wasm-crypto-1.4.1.tgz#0a053d0c2587da30fb5313cef81f8d9a52029c68" - integrity sha512-GPBCh8YvQmA5bobI4rqRkUhrEHkEWU1+lcJVPbZYsa7jiHFaZpzCLrGQfiqW/vtbU1aBS2wmJ0x1nlt33B9QqQ== + "@babel/runtime" "^7.12.5" -"@polkadot/wasm-crypto@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto/-/wasm-crypto-2.0.1.tgz#cf7384385f832f6389520cc00e52a87fda6f29b6" - integrity sha512-Vb0q4NToCRHXYJwhLWc4NTy77+n1dtJmkiE1tt8j1pmY4IJ4UL25yBxaS8NCS1LGqofdUYK1wwgrHiq5A78PFA== +"@polkadot/wasm-crypto-wasm@^3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-3.2.2.tgz#44f8713d1db19efe13ea4c598f13a8495b24b49f" + integrity sha512-kU0m5X68NA8g7OKu0f0C+M1TmTy+hBEmGZ+7jbGBdDqkogc01sUR6qNtmPiT9g9Qsi1bhCoYVaVqtetpiD+CUw== + dependencies: + "@babel/runtime" "^7.12.5" -"@polkadot/x-fetch@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-4.1.1.tgz#b03083d926da42596fb01871f17912308a34529e" - integrity sha512-pja/3bVqppEh/c/Dv9fXTeVDpsRPr7Il8ADw8qyHKQzYhE3qfrcnje1XV78xiaeCwBJMXL33KbaI/Vs0hc/eSw== +"@polkadot/wasm-crypto@^3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto/-/wasm-crypto-3.2.2.tgz#732d36f2dcd4c327696d078ad2efc64b70ca8586" + integrity sha512-dffdBQvFHbP0WLvpCf2fJ5mEWavXj75ykuFR16WIduhTRnI7fVYqYRaiJioUHWvPR34ik/VKlATWG7WPYiF5ZQ== dependencies: "@babel/runtime" "^7.12.5" - "@types/node-fetch" "^2.5.7" + "@polkadot/wasm-crypto-asmjs" "^3.2.2" + "@polkadot/wasm-crypto-wasm" "^3.2.2" + +"@polkadot/x-fetch@^5.6.1": + version "5.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-5.6.2.tgz#36052a0c5a5308c4c0ac14889725584996b22556" + integrity sha512-pAOaD24opprqIKfYdnRsf5aJ7XEnz1ryk2nQ67Ypv4BXQt+pih4kI9mVhZeAoK+yWpX3S6JjZkkkEYQ2lcqbZQ== + dependencies: + "@babel/runtime" "^7.12.13" + "@polkadot/x-global" "5.6.2" + "@types/node-fetch" "^2.5.8" node-fetch "^2.6.1" -"@polkadot/x-randomvalues@4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-4.1.1.tgz#cbcd5b591a3d5c7dc3853e51edc5e20239bf3b25" - integrity sha512-q1UCOYmYSOIjp97qH+Jw6mtaoaqb65I2R/aKOtd5NDyls0lLq4ctv5YQ8jLTvNrGum8aEKE8ZmYuBuZSQXICPw== +"@polkadot/x-global@5.6.2", "@polkadot/x-global@^5.6.1": + version "5.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-5.6.2.tgz#14a0f0422232899d3b03e9668b014792b5460506" + integrity sha512-oAj0gf3HtWrxMEpjQPKZ1hlTKw4qMrMXB6lCls+jCK+TfLrwcMLOsYJsqt/RJoNIXyTxnWRgCktOt5UYgWLTGQ== dependencies: - "@babel/runtime" "^7.12.5" + "@babel/runtime" "^7.12.13" + "@types/node-fetch" "^2.5.8" + node-fetch "^2.6.1" -"@polkadot/x-textdecoder@4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-4.1.1.tgz#9bdc94ca962b6f7d931c827e8316cd09fc751aff" - integrity sha512-I0u3ymy2wAoi3zaycmBu8HqGudp4nMGKqSGasSB1ko9SKtB++JsWKH99it721rpeSdFXJOpBERQjvapCQXK6sQ== +"@polkadot/x-randomvalues@5.6.2": + version "5.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-5.6.2.tgz#2a7092811992b95a0090332681d986d2e6996f85" + integrity sha512-+DjkwgmKFTfM8IOY1YvBI0duwuKzOeG/CWR8XuLyE3PnSnTn7eHXUGhtx6LHJPyMg9vHMs34ircYEVmhBKBvbA== dependencies: - "@babel/runtime" "^7.12.5" + "@babel/runtime" "^7.12.13" + "@polkadot/x-global" "5.6.2" -"@polkadot/x-textdecoder@^3.7.1": - version "3.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-3.7.1.tgz#2d02bd33df0e5d4818b8d96892a5c8290e967573" - integrity sha512-GztrO7O880GR7C64PK30J7oLm+88OMxAUVW35njE+9qFUH6MGEKbtaLGUSn0JLCCtSme2f1i7DZ+1Pdbqowtnw== +"@polkadot/x-rxjs@^5.6.1": + version "5.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-rxjs/-/x-rxjs-5.6.2.tgz#8a1770af2cf7abb9bcc4f4173f4f4a3e1c694130" + integrity sha512-PNifEC0N8e8bxNY/aWkHnWESjvWt8zepavo3xoG/rJ4hTAHRKjtpG9Gv16RCG1QQPiaX38VKHVxeUVqcp5Grcw== dependencies: - "@babel/runtime" "^7.12.1" + "@babel/runtime" "^7.12.13" + rxjs "^6.6.3" -"@polkadot/x-textencoder@4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-4.1.1.tgz#828e08895fbb7c29db7ce81d63e2d93ca7750660" - integrity sha512-yhDwo2Dy835+OYk5clNVJ0VGGtu6zC9Uw0tDp9BSDSVrb1gZGrhAEGTtvTG8JM4qPJ/XBTaaN9Ul2rnk0VIiOA== +"@polkadot/x-textdecoder@5.6.2": + version "5.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-5.6.2.tgz#64ce45f9e2ced992785ac909da16d7db759630aa" + integrity sha512-kgZM+HwQSPVXjEJyOZulACHiPctCLsClgOrzsismm6UPPrsoweXFOlLIkK1K7VjloJFzi0uw0TCJxLtjzd24Jw== dependencies: - "@babel/runtime" "^7.12.5" + "@babel/runtime" "^7.12.13" + "@polkadot/x-global" "5.6.2" -"@polkadot/x-textencoder@^3.7.1": - version "3.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-3.7.1.tgz#1fe1884821f255565735b1b5dbb17ee61de51fa3" - integrity sha512-39jwEu+gok8hFl/UqBr6WDhSeSr4qblriwM++2Vwrw/298hd5uQ7xtJNZKdrbrPCkExPZhrxwVg/mJTHBpwSng== +"@polkadot/x-textencoder@5.6.2": + version "5.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-5.6.2.tgz#71b4f94aedd17e1ef64e1cf2d5fc6f148b02e06a" + integrity sha512-3ln2vwzRi0qH1zHl+MltfX9f3zuQVaYLFHSyfr7FvlJ4mXIXslCjqsgIvmGuyyY50naD2nOd1IWg1uGlNhZLJA== dependencies: - "@babel/runtime" "^7.12.1" + "@babel/runtime" "^7.12.13" + "@polkadot/x-global" "5.6.2" -"@polkadot/x-ws@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-4.1.1.tgz#b5ba15d5f0cd36d1a8cc03c15d4ce661633c55be" - integrity sha512-SgNOgxOLsxCUC5g/G7j11rJfHuFkHR3LIMniB1GvkS87SWkbhftwPPgWOwdGOxxy2L3Ud7t4/4wnlUV+cmRcDA== +"@polkadot/x-ws@^5.6.1": + version "5.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-5.6.2.tgz#18620e71c41eb6b69992a46916bea3283ac7e33f" + integrity sha512-HihaUsxceC6KH5PGErugKs/V5sSzGDnmOrCTQ6g8XJ8Ob2CLixyzgF0L7+SUL1PbuvIRsVOJY/jcy2ThHk4OXg== dependencies: - "@babel/runtime" "^7.12.5" + "@babel/runtime" "^7.12.13" + "@polkadot/x-global" "5.6.2" "@types/websocket" "^1.0.1" - websocket "^1.0.32" + websocket "^1.0.33" "@sinonjs/commons@^1.7.0": version "1.8.1" @@ -906,9 +940,9 @@ "@types/node" "*" "@types/body-parser@*": - version "1.17.0" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.17.0.tgz#9f5c9d9bd04bb54be32d5eb9fc0d8c974e6cf58c" - integrity sha512-a2+YeUjPkztKJu5aIF2yArYFQQp8d51wZ7DavSHjFuY1mqVgidGyzEQ41JIVNy82fXj8yPgy2vJmfIywgESW6w== + version "1.19.0" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f" + integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== dependencies: "@types/connect" "*" "@types/node" "*" @@ -921,16 +955,16 @@ "@types/node" "*" "@types/connect@*": - version "3.4.32" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.32.tgz#aa0e9616b9435ccad02bc52b5b454ffc2c70ba28" - integrity sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg== + version "3.4.34" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.34.tgz#170a40223a6d666006d93ca128af2beb1d9b1901" + integrity sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ== dependencies: "@types/node" "*" "@types/cookiejar@*": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.1.tgz#90b68446364baf9efd8e8349bb36bd3852b75b80" - integrity sha512-aRnpPa7ysx3aNW60hTiCtLHlQaIFsXFCgQlpakNgDNVFzbtusSY8PwjAQgRWfSk0ekNoBjO51eQRB6upA9uuyw== + version "2.1.2" + resolved "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.2.tgz#66ad9331f63fe8a3d3d9d8c6e3906dd10f6446e8" + integrity sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog== "@types/cross-spawn@^6.0.2": version "6.0.2" @@ -949,21 +983,23 @@ resolved "https://registry.yarnpkg.com/@types/dedent/-/dedent-0.7.0.tgz#155f339ca404e6dd90b9ce46a3f78fd69ca9b050" integrity sha512-EGlKlgMhnLt/cM4DbUSafFdrkeJoC9Mvnj0PUCU7tFmTjMjNRT957kXCx0wYm3JuEq4o4ZsS5vG+NlkM2DMd2A== -"@types/express-serve-static-core@*": - version "4.16.3" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.16.3.tgz#49d9cea50e801f8bf757702060752fe65f169ba7" - integrity sha512-HFgBmRDTvdnrRFXqBr2NM2NUCu6fIpzJsUTlRVENF8lxvstof7cl9Fxfwq5S0kJbO/FsPVcjlxpOM3ZxIkn7Rw== +"@types/express-serve-static-core@^4.17.18": + version "4.17.18" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz#8371e260f40e0e1ca0c116a9afcd9426fa094c40" + integrity sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA== dependencies: "@types/node" "*" + "@types/qs" "*" "@types/range-parser" "*" "@types/express@^4.16.0": - version "4.16.1" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.16.1.tgz#d756bd1a85c34d87eaf44c888bad27ba8a4b7cf0" - integrity sha512-V0clmJow23WeyblmACoxbHBu2JKlE5TiIme6Lem14FnPW9gsttyHtk6wq7njcdIWH1njAaFgR8gW09lgY98gQg== + version "4.17.11" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.11.tgz#debe3caa6f8e5fcda96b47bd54e2f40c4ee59545" + integrity sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg== dependencies: "@types/body-parser" "*" - "@types/express-serve-static-core" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" "@types/serve-static" "*" "@types/find-cache-dir@^3.2.0": @@ -1012,7 +1048,7 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@26.x", "@types/jest@^26.0.13": +"@types/jest@26.x": version "26.0.13" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.13.tgz#5a7b9d5312f5dd521a38329c38ee9d3802a0b85e" integrity sha512-sCzjKow4z9LILc6DhBvn5AkIfmQzDZkgtVVKmGwVrs5tuid38ws281D4l+7x1kP487+FlKDh5kfMZ8WSPAdmdA== @@ -1020,6 +1056,14 @@ jest-diff "^25.2.1" pretty-format "^25.2.1" +"@types/jest@^26.0.13": + version "26.0.20" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.20.tgz#cd2f2702ecf69e86b586e1f5223a60e454056307" + integrity sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA== + dependencies: + jest-diff "^26.0.0" + pretty-format "^26.0.0" + "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" @@ -1035,10 +1079,10 @@ resolved "https://registry.yarnpkg.com/@types/md5-file/-/md5-file-4.0.2.tgz#c7241e88f4aa17218c774befb0fc34f33f21fe36" integrity sha512-8gacRfEqLrmZ6KofpFfxyjsm/LYepeWUWUJGaf5A9W9J5B2/dRZMdkDqFDL6YDa9IweH12IO76jO7mpsK2B3wg== -"@types/mime@*": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.1.tgz#dc488842312a7f075149312905b5e3c0b054c79d" - integrity sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw== +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== "@types/mkdirp@^1.0.1": version "1.0.1" @@ -1055,23 +1099,23 @@ "@types/bson" "*" "@types/node" "*" -"@types/node-fetch@^2.5.7": - version "2.5.7" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.7.tgz#20a2afffa882ab04d44ca786449a276f9f6bbf3c" - integrity sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw== +"@types/node-fetch@^2.5.8": + version "2.5.8" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.8.tgz#e199c835d234c7eb0846f6618012e558544ee2fb" + integrity sha512-fbjI6ja0N5ZA8TV53RUqzsKNkl9fv8Oj3T7zxW7FGv1GSH7gwJaNF8dzCjrqKaxKeUpTz4yT1DaJFq/omNpGfw== dependencies: "@types/node" "*" form-data "^3.0.0" "@types/node@*": - version "14.14.22" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.22.tgz#0d29f382472c4ccf3bd96ff0ce47daf5b7b84b18" - integrity sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw== + version "14.14.31" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.31.tgz#72286bd33d137aa0d152d47ec7c1762563d34055" + integrity sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g== "@types/node@^10.7.1": - version "10.14.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.5.tgz#27733a949f5d9972d87109297cffb62207ace70f" - integrity sha512-Ja7d4s0qyGFxjGeDq5S7Si25OFibSAHUi6i17UWnwNnpitADN7hah9q0Tl25gxuV5R1u2Bx+np6w4LHXfHyj/g== + version "10.17.54" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.54.tgz#a737488631aca3ec7bd9f6229d77f1079e444793" + integrity sha512-c8Lm7+hXdSPmWH4B9z/P/xIXhFK3mCQin4yCYMd2p1qpMG5AfgyJuYZ+3q2dT7qLiMMMGMd5dnkFpdqJARlvtQ== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -1083,18 +1127,23 @@ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.0.tgz#5f96562c1075ee715a5b138f0b7f591c1f40f6b8" integrity sha512-hiYA88aHiEIgDmeKlsyVsuQdcFn3Z2VuFd/Xm/HCnGnPD8UFU5BM128uzzRVVGEzKDKYUrRsRH9S2o+NUy/3IA== +"@types/qs@*": + version "6.9.5" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.5.tgz#434711bdd49eb5ee69d90c1d67c354a9a8ecb18b" + integrity sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ== + "@types/range-parser@*": version "1.2.3" resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== "@types/serve-static@*": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.2.tgz#f5ac4d7a6420a99a6a45af4719f4dcd8cd907a48" - integrity sha512-/BZ4QRLpH/bNYgZgwhKEh+5AsboDBcUdlBYgzoLX0fpj3Y2gp6EApyOlM3bK53wQS/OE1SrdSYBAbux2D1528Q== + version "1.13.9" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.9.tgz#aacf28a85a05ee29a11fb7c3ead935ac56f33e4e" + integrity sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA== dependencies: - "@types/express-serve-static-core" "*" - "@types/mime" "*" + "@types/mime" "^1" + "@types/node" "*" "@types/stack-utils@^1.0.1": version "1.0.1" @@ -1102,17 +1151,17 @@ integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== "@types/superagent@*": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-4.1.1.tgz#61f0b43d7db93a3c286c124512b7c228183c32fa" - integrity sha512-NetXrraTWPcdGG6IwYJhJ5esUGx8AYNiozbc1ENWEsF6BsD4JmNODJczI6Rm1xFPVp6HZESds9YCfqz4zIsM6A== + version "4.1.10" + resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-4.1.10.tgz#5e2cc721edf58f64fe9b819f326ee74803adee86" + integrity sha512-xAgkb2CMWUMCyVc/3+7iQfOEBE75NvuZeezvmixbUw3nmENf2tCnQkW5yQLTYqvXUQ+R6EXxdqKKbal2zM5V/g== dependencies: "@types/cookiejar" "*" "@types/node" "*" "@types/supertest@^2.0.5": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@types/supertest/-/supertest-2.0.7.tgz#46ff6508075cd4519736be060f0d6331a5c8ca7b" - integrity sha512-GibTh4OTkal71btYe2fpZP/rVHIPnnUsYphEaoywVHo+mo2a/LhlOFkIm5wdN0H0DA0Hx8x+tKgCYMD9elHu5w== + version "2.0.10" + resolved "https://registry.yarnpkg.com/@types/supertest/-/supertest-2.0.10.tgz#630d79b4d82c73e043e43ff777a9ca98d457cab7" + integrity sha512-Xt8TbEyZTnD5Xulw95GLMOkmjGICrOQyJ2jqgkSjAUR3mm7pAIzSR0NFBaMcwlzVvlpCjNwbATcWWwjNiZiFrQ== dependencies: "@types/superagent" "*" @@ -1134,14 +1183,14 @@ "@types/node" "*" "@types/yargs-parser@*": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" - integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== + version "20.2.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== "@types/yargs@^15.0.0": - version "15.0.5" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz#947e9a6561483bdee9adffc983e91a6902af8b79" - integrity sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w== + version "15.0.13" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" + integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== dependencies: "@types/yargs-parser" "*" @@ -1513,10 +1562,10 @@ bluebird@3.5.1: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" integrity sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== -bn.js@^4.4.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== +bn.js@^4.11.9: + version "4.11.9" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" + integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== bn.js@^5.1.3: version "5.1.3" @@ -1583,7 +1632,7 @@ braces@^3.0.1: dependencies: fill-range "^7.0.1" -brorand@^1.0.1: +brorand@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= @@ -1776,7 +1825,7 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== -cipher-base@^1.0.1, cipher-base@^1.0.3: +cipher-base@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== @@ -1912,9 +1961,9 @@ configstore@^3.0.0: xdg-basedir "^3.0.0" consola@^2.15.0: - version "2.15.0" - resolved "https://registry.yarnpkg.com/consola/-/consola-2.15.0.tgz#40fc4eefa4d2f8ef2e2806147f056ea207fcc0e9" - integrity sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ== + version "2.15.3" + resolved "https://registry.yarnpkg.com/consola/-/consola-2.15.3.tgz#2e11f98d6a4be71ff72e0bdf07bd23e12cb61550" + integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" @@ -1987,7 +2036,7 @@ create-error-class@^3.0.0: dependencies: capture-stack-trace "^1.0.0" -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: +create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== @@ -1998,18 +2047,6 @@ create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: ripemd160 "^2.0.1" sha.js "^2.4.0" -create-hmac@^1.1.4: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - 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" - cross-spawn@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" @@ -2252,6 +2289,11 @@ diff-sequences@^26.3.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.3.0.tgz#62a59b1b29ab7fd27cef2a33ae52abe73042d0a2" integrity sha512-5j5vdRcw3CNctePNYN0Wy2e/JbWT6cAYnXv5OuqPhDpyCGc0uLu2TK0zOCJWNB9kOIfYMSpIulRaDgIi4HJ6Ig== +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + diff@^3.1.0, diff@^3.2.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -2294,18 +2336,18 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -elliptic@^6.5.3: - version "6.5.3" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" - integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== +elliptic@^6.5.4: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" + bn.js "^4.11.9" + brorand "^1.1.0" hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" emittery@^0.7.1: version "0.7.1" @@ -2364,7 +2406,7 @@ error-stack-parser@^1.3.6: dependencies: stackframe "^0.3.1" -es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: +es5-ext@^0.10.35, es5-ext@^0.10.50: version "0.10.53" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== @@ -2373,7 +2415,7 @@ es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@ es6-symbol "~3.1.3" next-tick "~1.0.0" -es6-iterator@^2.0.3, es6-iterator@~2.0.3: +es6-iterator@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= @@ -2390,16 +2432,6 @@ es6-symbol@^3.1.1, es6-symbol@~3.1.3: d "^1.0.1" ext "^1.1.2" -es6-weak-map@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" - integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== - dependencies: - d "1" - es5-ext "^0.10.46" - es6-iterator "^2.0.3" - es6-symbol "^3.1.1" - escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -2455,14 +2487,6 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= -event-emitter@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= - dependencies: - d "1" - es5-ext "~0.10.14" - eventemitter3@^4.0.7: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" @@ -3011,7 +3035,7 @@ hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: inherits "^2.0.3" minimalistic-assert "^1.0.1" -hmac-drbg@^1.0.0: +hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= @@ -3156,10 +3180,10 @@ ip-regex@^2.1.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= -ip-regex@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.2.0.tgz#a03f5eb661d9a154e3973a03de8b23dd0ad6892e" - integrity sha512-n5cDDeTWWRwK1EBoWwRti+8nP4NbytBBY0pldmnIkq6Z55KNFmWofh4rl9dPZpj+U/nVq7gweR3ylrvMt4YZ5A== +ip-regex@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== ipaddr.js@1.9.1: version "1.9.1" @@ -3350,11 +3374,6 @@ is-potential-custom-element-name@^1.0.0: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= -is-promise@^2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" - integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== - is-redirect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" @@ -3532,6 +3551,16 @@ jest-diff@^25.2.1: jest-get-type "^25.2.6" pretty-format "^25.5.0" +jest-diff@^26.0.0: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + jest-diff@^26.4.2: version "26.4.2" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.4.2.tgz#a1b7b303bcc534aabdb3bd4a7caf594ac059f5aa" @@ -4089,13 +4118,6 @@ lru-cache@^4.0.1: pseudomap "^1.0.2" yallist "^2.1.2" -lru-queue@0.1: - version "0.1.0" - resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" - integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM= - dependencies: - es5-ext "~0.10.2" - make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -4153,20 +4175,6 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -memoizee@^0.4.14: - version "0.4.14" - resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57" - integrity sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg== - dependencies: - d "1" - es5-ext "^0.10.45" - es6-weak-map "^2.0.2" - event-emitter "^0.3.5" - is-promise "^2.1" - lru-queue "0.1" - next-tick "1" - timers-ext "^0.1.5" - memory-fs@^0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" @@ -4261,7 +4269,7 @@ minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: +minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= @@ -4493,11 +4501,6 @@ negotiator@0.6.2: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -next-tick@1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - next-tick@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" @@ -4867,17 +4870,6 @@ path-to-regexp@3.2.0: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-3.2.0.tgz#fa7877ecbc495c601907562222453c43cc204a5f" integrity sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA== -pbkdf2@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" - integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== - 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" - pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" @@ -4942,6 +4934,16 @@ pretty-format@^25.2.1, pretty-format@^25.5.0: ansi-styles "^4.0.0" react-is "^16.12.0" +pretty-format@^26.0.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + pretty-format@^26.4.2: version "26.4.2" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.4.2.tgz#d081d032b398e801e2012af2df1214ef75a81237" @@ -5046,6 +5048,11 @@ react-is@^16.12.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== +react-is@^17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" + integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== + read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" @@ -5287,7 +5294,7 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -ripemd160@^2.0.0, ripemd160@^2.0.1: +ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== @@ -5454,7 +5461,7 @@ setprototypeof@1.1.1: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== -sha.js@^2.4.0, sha.js@^2.4.8: +sha.js@^2.4.0: version "2.4.11" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== @@ -5937,14 +5944,6 @@ timed-out@^4.0.0: resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= -timers-ext@^0.1.5: - version "0.1.7" - resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" - integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== - dependencies: - es5-ext "~0.10.46" - next-tick "1" - tmp@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" @@ -6410,10 +6409,10 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== -websocket@^1.0.32: - version "1.0.32" - resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.32.tgz#1f16ddab3a21a2d929dec1687ab21cfdc6d3dbb1" - integrity sha512-i4yhcllSP4wrpoPMU2N0TQ/q0O94LRG/eUQjEAamRltjQ1oT1PFFKOG4i877OlJgCG8rw6LrrowJp+TYCEWF7Q== +websocket@^1.0.33: + version "1.0.33" + resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.33.tgz#407f763fc58e74a3fa41ca3ae5d78d3f5e3b82a5" + integrity sha512-XwNqM2rN5eh3G2CUQE3OHZj+0xfdH42+OFK6LdC2yqiC0YU8e5UK0nYre220T0IyyN031V/XOvtHvXozvJYFWA== dependencies: bufferutil "^4.0.1" debug "^2.2.0"