diff --git a/__tests__/initial.migration.test.ts b/__tests__/initial.migration.test.ts index c75898502..a3d4e2816 100644 --- a/__tests__/initial.migration.test.ts +++ b/__tests__/initial.migration.test.ts @@ -1,3 +1,8 @@ +/** + * This suite runs through a few agent operations using data that was created before + * TypeORM migrations were available (before Veramo 3.0.0) + */ + import { createAgent, TAgent, IDIDManager, IResolver, IKeyManager, IDataStore } from '../packages/core/src' import { DIDResolverPlugin } from '../packages/did-resolver/src' import { EthrDIDProvider } from '../packages/did-provider-ethr/src' diff --git a/__tests__/localAgent.test.ts b/__tests__/localAgent.test.ts index 0c66acca2..b1cd47902 100644 --- a/__tests__/localAgent.test.ts +++ b/__tests__/localAgent.test.ts @@ -1,3 +1,10 @@ +/** + * This runs a suite of ./shared tests using an agent configured for local operations, + * using a SQLite db for storage of credentials, presentations, messages as well as keys and DIDs. + * + * This suite also runs a ganache local blockchain to run through some examples of DIDComm using did:ethr identifiers. + */ + import { createAgent, TAgent, @@ -41,6 +48,7 @@ import { import { createConnection, Connection } from 'typeorm' import { FakeDidProvider, FakeDidResolver } from './utils/fake-did' +import { createGanacheProvider } from './utils/ganache-provider' import { Resolver } from 'did-resolver' import { getResolver as ethrDidResolver } from 'ethr-did-resolver' import { getResolver as webDidResolver } from 'web-did-resolver' @@ -57,10 +65,11 @@ import saveClaims from './shared/saveClaims' import documentationExamples from './shared/documentationExamples' import keyManager from './shared/keyManager' import didManager from './shared/didManager' -import didComm from './shared/didcomm' +import didCommPacking from './shared/didCommPacking' import messageHandler from './shared/messageHandler' import didDiscovery from './shared/didDiscovery' import dbInitOptions from './shared/dbInitOptions' +import didCommWithEthrDidFlow from './shared/didCommWithEthrDidFlow' const infuraProjectId = '3586660d179141e3801c3895de1c2eba' const secretKey = '29739248cad1bd1a0fc4d9b75cd4d2990de535baf5caadfdf8d8f86664aa830c' @@ -81,7 +90,7 @@ let dbConnection: Promise let databaseFile: string const setup = async (options?: IAgentOptions): Promise => { - databaseFile = options?.context?.databaseFile || 'local-database.sqlite' + databaseFile = options?.context?.databaseFile || `./tmp/local-database-${Math.random().toPrecision(5)}.sqlite` dbConnection = createConnection({ name: options?.context?.['dbName'] || 'test', type: 'sqlite', @@ -95,6 +104,8 @@ const setup = async (options?: IAgentOptions): Promise => { ...options?.context?.dbConnectionOptions, }) + const { provider, registry } = await createGanacheProvider() + agent = createAgent< IDIDManager & IKeyManager & @@ -142,6 +153,12 @@ const setup = async (options?: IAgentOptions): Promise => { rpcUrl: 'https://arbitrum-rinkeby.infura.io/v3/' + infuraProjectId, registry: '0x8f54f62CA28D481c3C30b1914b52ef935C1dF820', }), + 'did:ethr:ganache': new EthrDIDProvider({ + defaultKms: 'local', + network: 1337, + web3Provider: provider, + registry, + }), 'did:web': new WebDIDProvider({ defaultKms: 'local', }), @@ -153,7 +170,17 @@ const setup = async (options?: IAgentOptions): Promise => { }), new DIDResolverPlugin({ resolver: new Resolver({ - ...ethrDidResolver({ infuraProjectId }), + ...ethrDidResolver({ + infuraProjectId, + networks: [ + { + name: 'ganache', + chainId: 1337, + provider, + registry, + }, + ], + }), ...webDidResolver(), ...getDidKeyResolver(), ...new FakeDidResolver(() => agent).getDidFakeResolver(), @@ -210,7 +237,8 @@ describe('Local integration tests', () => { keyManager(testContext) didManager(testContext) messageHandler(testContext) - didComm(testContext) + didCommPacking(testContext) didDiscovery(testContext) dbInitOptions(testContext) + didCommWithEthrDidFlow(testContext) }) diff --git a/__tests__/localMemoryStoreAgent.test.ts b/__tests__/localMemoryStoreAgent.test.ts index b9f4d3e59..82146d484 100644 --- a/__tests__/localMemoryStoreAgent.test.ts +++ b/__tests__/localMemoryStoreAgent.test.ts @@ -1,3 +1,8 @@ +/** + * This runs a suite of ./shared tests using an agent configured for local operations, + * using a SQLite db for storage of credentials and an in-memory store for keys and DIDs. + * + */ import { createAgent, TAgent, @@ -45,10 +50,10 @@ import saveClaims from './shared/saveClaims' import documentationExamples from './shared/documentationExamples' import keyManager from './shared/keyManager' import didManager from './shared/didManager' -import didComm from './shared/didcomm' +import didCommPacking from './shared/didCommPacking' import messageHandler from './shared/messageHandler' -const databaseFile = 'local-database2.sqlite' +const databaseFile = `./tmp/local-database2-${Math.random().toPrecision(5)}.sqlite` const infuraProjectId = '3586660d179141e3801c3895de1c2eba' let agent: TAgent< @@ -187,5 +192,5 @@ describe('Local in-memory integration tests', () => { keyManager(testContext) didManager(testContext) messageHandler(testContext) - didComm(testContext) + didCommPacking(testContext) }) diff --git a/__tests__/restAgent.test.ts b/__tests__/restAgent.test.ts index 66b05f2fa..03499b8d1 100644 --- a/__tests__/restAgent.test.ts +++ b/__tests__/restAgent.test.ts @@ -1,3 +1,10 @@ +/** + * This runs a suite of ./shared tests using an agent configured for remote operations. + * There is a local agent that only uses @veramo/remove-client and a remote agent that provides the actual functionality. + * + * This suite also runs a messaging server to run through some examples of DIDComm using did:fake identifiers. + * See didWithFakeDidFlow() for more details. + */ import 'cross-fetch/polyfill' import { Agent, @@ -62,12 +69,12 @@ import webDidFlow from './shared/webDidFlow' import documentationExamples from './shared/documentationExamples' import keyManager from './shared/keyManager' import didManager from './shared/didManager' -import didComm from './shared/didcomm' -import didCommRemote from './shared/didcommRemote' +import didCommPacking from './shared/didCommPacking' +import didWithFakeDidFlow from './shared/didCommWithFakeDidFlow' import messageHandler from './shared/messageHandler' import didDiscovery from './shared/didDiscovery' -const databaseFile = 'rest-database.sqlite' +const databaseFile = `./tmp/rest-database-${Math.random().toPrecision(5)}.sqlite` const infuraProjectId = '3586660d179141e3801c3895de1c2eba' const secretKey = '29739248cad1bd1a0fc4d9b75cd4d2990de535baf5caadfdf8d8f86664aa830c' const port = 3002 @@ -234,7 +241,7 @@ describe('REST integration tests', () => { keyManager(testContext) didManager(testContext) messageHandler(testContext) - didComm(testContext) - didCommRemote(testContext) + didCommPacking(testContext) + didWithFakeDidFlow(testContext) didDiscovery(testContext) }) diff --git a/__tests__/shared/didcomm.ts b/__tests__/shared/didCommPacking.ts similarity index 100% rename from __tests__/shared/didcomm.ts rename to __tests__/shared/didCommPacking.ts diff --git a/__tests__/shared/didCommWithEthrDidFlow.ts b/__tests__/shared/didCommWithEthrDidFlow.ts new file mode 100644 index 000000000..083dcdd2a --- /dev/null +++ b/__tests__/shared/didCommWithEthrDidFlow.ts @@ -0,0 +1,413 @@ +import { + TAgent, + IDIDManager, + IKeyManager, + IIdentifier, + IResolver, + IKey, + IEventListener, + IAgentOptions, + IMessageHandler, +} from '../../packages/core/src' +import { IDIDComm } from '../../packages/did-comm/src' +import { MessagingRouter, RequestWithAgentRouter } from '../../packages/remote-server/src' +import * as u8a from 'uint8arrays' +import express from 'express' +import { Server } from 'http' + +type ConfiguredAgent = TAgent + +const DIDCommEventSniffer: IEventListener = { + eventTypes: ['DIDCommV2Message-sent', 'DIDCommV2Message-received'], + onEvent: jest.fn(), +} + +export default (testContext: { + getAgent: () => ConfiguredAgent + setup: (options?: IAgentOptions) => Promise + tearDown: () => Promise +}) => { + describe('DIDComm using did:ethr:ganache flow', () => { + let agent: ConfiguredAgent + + let alice: IIdentifier + let bob: IIdentifier + + let didCommEndpointServer: Server + let listeningPort = Math.round(Math.random() * 32000 + 2048) + + beforeAll(async () => { + await testContext.setup({ plugins: [DIDCommEventSniffer] }) + agent = testContext.getAgent() + + alice = await agent.didManagerImport({ + controllerKeyId: 'alice-controller-key', + did: 'did:ethr:ganache:0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798', + provider: 'did:ethr:ganache', + alias: 'alice-did-ethr', + keys: [ + { + privateKeyHex: '0000000000000000000000000000000000000000000000000000000000000001', + kms: 'local', + type: 'Secp256k1', + kid: 'alice-controller-key', + }, + ], + }) + + bob = await agent.didManagerImport({ + controllerKeyId: 'bob-controller-key', + did: 'did:ethr:ganache:0x02c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5', + provider: 'did:ethr:ganache', + alias: 'bob-did-ethr', + keys: [ + { + privateKeyHex: '0000000000000000000000000000000000000000000000000000000000000002', + kms: 'local', + type: 'Secp256k1', + kid: 'bob-controller-key', + }, + ], + }) + + const requestWithAgent = RequestWithAgentRouter({ agent }) + + await new Promise((resolve) => { + //setup a server to receive HTTP messages and forward them to this agent to be processed as DIDComm messages + const app = express() + // app.use(requestWithAgent) + app.use( + '/messaging', + requestWithAgent, + MessagingRouter({ + metaData: { type: 'DIDComm', value: 'integration test' }, + }), + ) + didCommEndpointServer = app.listen(listeningPort, () => { + resolve(true) + }) + }) + }) + + afterAll(async () => { + try { + await new Promise((resolve, reject) => didCommEndpointServer?.close(resolve)) + } catch (e) { + //nop + } + testContext.tearDown() + }) + + it('should add dummy service to identifier', async () => { + const result = await agent.didManagerAddService({ + did: alice.did, + service: { + id: 'localhost-useless-endpoint', + type: 'DIDComm', + serviceEndpoint: `http://localhost:${listeningPort}/foobar`, + description: 'this endpoint will be removed', + }, + }) + expect(result.substr(0, 2)).toEqual('0x') + + const resolution = await agent.resolveDid({ didUrl: alice.did }) + + expect(resolution?.didDocument?.service?.[0].serviceEndpoint).toEqual( + `http://localhost:${listeningPort}/foobar`, + ) + }) + + it('should remove dummy service from identifier', async () => { + const result = await agent.didManagerRemoveService({ + did: alice.did, + id: 'localhost-useless-endpoint', + }) + + expect(result.substr(0, 2)).toEqual('0x') + + const resolution = await agent.resolveDid({ didUrl: alice.did }) + + expect(resolution?.didDocument).not.toBeNull() + expect([...(resolution?.didDocument?.service || [])]).toEqual([]) + }) + + let dummyKey: IKey + + it('should add dummy key to identifier', async () => { + dummyKey = await agent.keyManagerCreate({ + kms: 'local', + type: 'Secp256k1', + }) + + const result = await agent.didManagerAddKey({ + did: alice.did, + key: dummyKey, + }) + + expect(result.substr(0, 2)).toEqual('0x') + const resolution = await agent.resolveDid({ didUrl: alice.did }) + expect(resolution?.didDocument?.verificationMethod?.[2].publicKeyHex).toEqual(dummyKey.publicKeyHex) + }) + + it('should remove dummy key from identifier', async () => { + const result = await agent.didManagerRemoveKey({ + did: alice.did, + kid: dummyKey.kid, + }) + + expect(result.substr(0, 2)).toEqual('0x') + const resolution = await agent.resolveDid({ didUrl: alice.did }) + expect(resolution?.didDocument?.verificationMethod?.length).toEqual(2) + }) + + it('should add DIDComm service to receiver DID', async () => { + const result = await agent.didManagerAddService({ + did: alice.did, + service: { + id: 'alice-didcomm-endpoint', + type: 'DIDCommMessaging', + serviceEndpoint: `http://localhost:${listeningPort}/messaging`, + description: 'handles DIDComm messages', + }, + }) + expect(result.substr(0, 2)).toEqual('0x') + + const resolution = await agent.resolveDid({ didUrl: alice.did }) + + expect(resolution?.didDocument?.service?.[0].serviceEndpoint).toEqual( + `http://localhost:${listeningPort}/messaging`, + ) + }) + + it('should send an signed message from bob to alice', async () => { + expect.assertions(3) + + const message = { + type: 'test', + to: alice.did, + from: bob.did, + id: 'test-jws-success', + body: { hello: 'world' }, + } + const packedMessage = await agent.packDIDCommMessage({ + packing: 'jws', + message, + }) + const result = await agent.sendDIDCommMessage({ + messageId: 'test-jws-success', + packedMessage, + recipientDidUrl: alice.did, + }) + + expect(result).toBeTruthy() + expect(DIDCommEventSniffer.onEvent).toHaveBeenCalledWith( + { data: 'test-jws-success', type: 'DIDCommV2Message-sent' }, + expect.anything(), + ) + // in our case, it is the same agent that is receiving the messages + expect(DIDCommEventSniffer.onEvent).toHaveBeenCalledWith( + { + data: { + message: { + body: { hello: 'world' }, + from: bob.did, + id: 'test-jws-success', + to: alice.did, + type: 'test', + }, + metaData: { packing: 'jws' }, + }, + type: 'DIDCommV2Message-received', + }, + expect.anything(), + ) + }) + + it('should fail to pack an anoncrypt message from bob to alice (no receiver key)', async () => { + expect.assertions(1) + + const message = { + type: 'test', + to: alice.did, + from: bob.did, + id: 'test-anoncrypt-fail', + body: { hello: 'world' }, + } + await expect( + agent.packDIDCommMessage({ + packing: 'anoncrypt', + message, + }), + ).rejects.toThrowError(/^key_not_found: no key agreement keys found for recipient/) + }) + + it('should add encryption key to receiver DID', async () => { + const newKey = await agent.keyManagerCreate({ + kms: 'local', + type: 'X25519', + }) + + const result = await agent.didManagerAddKey({ + did: alice.did, + key: newKey, + }) + + expect(result.substr(0, 2)).toEqual('0x') + const resolution = await agent.resolveDid({ didUrl: alice.did }) + const expectedBase58Key = u8a.toString(u8a.fromString(newKey.publicKeyHex, 'base16'), 'base58btc') + expect(resolution?.didDocument?.verificationMethod?.[2].publicKeyBase58).toEqual(expectedBase58Key) + expect(resolution?.didDocument?.keyAgreement?.[0]).toEqual( + resolution?.didDocument?.verificationMethod?.[2].id, + ) + }) + + it('should send an anoncrypt message from bob to alice', async () => { + expect.assertions(3) + + const message = { + type: 'test', + to: alice.did, + from: bob.did, + id: 'test-anoncrypt-success', + body: { hello: 'world' }, + } + const packedMessage = await agent.packDIDCommMessage({ + packing: 'anoncrypt', + message, + }) + const result = await agent.sendDIDCommMessage({ + messageId: 'test-anoncrypt-success', + packedMessage, + recipientDidUrl: alice.did, + }) + + expect(result).toBeTruthy() + expect(DIDCommEventSniffer.onEvent).toHaveBeenCalledWith( + { data: 'test-anoncrypt-success', type: 'DIDCommV2Message-sent' }, + expect.anything(), + ) + // in our case, it is the same agent that is receiving the messages + expect(DIDCommEventSniffer.onEvent).toHaveBeenCalledWith( + { + data: { + message: { + body: { hello: 'world' }, + from: 'did:ethr:ganache:0x02c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5', + id: 'test-anoncrypt-success', + to: 'did:ethr:ganache:0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798', + type: 'test', + }, + metaData: { packing: 'anoncrypt' }, + }, + type: 'DIDCommV2Message-received', + }, + expect.anything(), + ) + }) + + it('should fail to send jws message from alice to bob (no service endpoint)', async () => { + expect.assertions(1) + + const message = { + type: 'test', + to: bob.did, + from: alice.did, + id: 'test-endpoint-fail', + body: { hello: 'world' }, + } + const packedMessage = await agent.packDIDCommMessage({ + packing: 'jws', + message, + }) + await expect( + agent.sendDIDCommMessage({ + messageId: 'test-endpoint-fail', + packedMessage, + recipientDidUrl: bob.did, + }), + ).rejects.toThrowError(/^not_found: could not find DIDComm Messaging service in DID document for/) + }) + + it('should fail to pack an authcrypt message from bob to alice (no skid)', async () => { + expect.assertions(1) + + const message = { + type: 'test', + to: alice.did, + from: bob.did, + id: 'test-authcrypt-fail', + body: { hello: 'world' }, + } + const packedMessage = await await expect( + agent.packDIDCommMessage({ + packing: 'authcrypt', + message, + }), + ).rejects.toThrowError(/^key_not_found: could not map an agent key to an skid for/) + }) + + it('should add encryption key to sender DID', async () => { + const newKey = await agent.keyManagerCreate({ + kms: 'local', + type: 'X25519', + }) + + const result = await agent.didManagerAddKey({ + did: bob.did, + key: newKey, + }) + + expect(result.substr(0, 2)).toEqual('0x') + const resolution = await agent.resolveDid({ didUrl: bob.did }) + const expectedBase58Key = u8a.toString(u8a.fromString(newKey.publicKeyHex, 'base16'), 'base58btc') + expect(resolution?.didDocument?.verificationMethod?.[2].publicKeyBase58).toEqual(expectedBase58Key) + expect(resolution?.didDocument?.keyAgreement?.[0]).toEqual( + resolution?.didDocument?.verificationMethod?.[2].id, + ) + }) + + it('should send an authcrypt message from bob to alice', async () => { + expect.assertions(3) + + const message = { + type: 'test', + to: alice.did, + from: bob.did, + id: 'test-authcrypt-success', + body: { hello: 'world' }, + } + const packedMessage = await agent.packDIDCommMessage({ + packing: 'authcrypt', + message, + }) + const result = await agent.sendDIDCommMessage({ + messageId: 'test-authcrypt-success', + packedMessage, + recipientDidUrl: alice.did, + }) + + expect(result).toBeTruthy() + expect(DIDCommEventSniffer.onEvent).toHaveBeenCalledWith( + { data: 'test-authcrypt-success', type: 'DIDCommV2Message-sent' }, + expect.anything(), + ) + // in our case, it is the same agent that is receiving the messages + expect(DIDCommEventSniffer.onEvent).toHaveBeenCalledWith( + { + data: { + message: { + body: { hello: 'world' }, + from: bob.did, + id: 'test-authcrypt-success', + to: alice.did, + type: 'test', + }, + metaData: { packing: 'authcrypt' }, + }, + type: 'DIDCommV2Message-received', + }, + expect.anything(), + ) + }) + }) +} diff --git a/__tests__/shared/didcommRemote.ts b/__tests__/shared/didCommWithFakeDidFlow.ts similarity index 98% rename from __tests__/shared/didcommRemote.ts rename to __tests__/shared/didCommWithFakeDidFlow.ts index 1dcbc533d..ca7f992f7 100644 --- a/__tests__/shared/didcommRemote.ts +++ b/__tests__/shared/didCommWithFakeDidFlow.ts @@ -21,7 +21,7 @@ export default (testContext: { setup: (options?: IAgentOptions) => Promise tearDown: () => Promise }) => { - describe('DID comm remote', () => { + describe('DID comm using did:fake flow', () => { let agent: ConfiguredAgent let sender: IIdentifier let receiver: IIdentifier diff --git a/__tests__/shared/didManager.ts b/__tests__/shared/didManager.ts index d87f38676..74f583b2a 100644 --- a/__tests__/shared/didManager.ts +++ b/__tests__/shared/didManager.ts @@ -17,18 +17,6 @@ export default (testContext: { }) afterAll(testContext.tearDown) - it('should get providers', async () => { - const providers = await agent.didManagerGetProviders() - expect(providers).toEqual([ - 'did:ethr', - 'did:ethr:rinkeby', - 'did:ethr:421611', - 'did:web', - 'did:key', - 'did:fake', - ]) - }) - let identifier: IIdentifier it('should create identifier', async () => { identifier = await agent.didManagerCreate({ @@ -335,10 +323,5 @@ export default (testContext: { expect(identifier2).toEqual({ ...identifier, alias: 'dave' }) }) - - it.todo('should add key for did:ethr') - it.todo('should remove key for did:ethr') - it.todo('should add service for did:ethr') - it.todo('should remove service for did:ethr') }) } diff --git a/__tests__/shared/documentationExamples.ts b/__tests__/shared/documentationExamples.ts index 34b65fadb..78873dfc7 100644 --- a/__tests__/shared/documentationExamples.ts +++ b/__tests__/shared/documentationExamples.ts @@ -1,3 +1,10 @@ +/** + * This test suite runs the examples from the documentation in various test contexts. + * + * Documentation examples are extracted from the tsdoc of the relevant source code. + * To document a new package, add it to docsconfig.json array and have it processed with `extract-api` or `generate-plugin-schema`. + */ + import { TAgent, IDIDManager, IDataStore, IMessageHandler } from '../../packages/core/src' import { ICredentialIssuer } from '../../packages/credential-w3c/src' import { ISelectiveDisclosure } from '../../packages/selective-disclosure/src' @@ -15,8 +22,8 @@ export default (testContext: { describe('Documentation examples', () => { let agent: ConfiguredAgent - beforeAll(() => { - testContext.setup() + beforeAll(async () => { + await testContext.setup() agent = testContext.getAgent() }) afterAll(testContext.tearDown) diff --git a/__tests__/shared/handleSdrMessage.ts b/__tests__/shared/handleSdrMessage.ts index 1605c807f..6a022b596 100644 --- a/__tests__/shared/handleSdrMessage.ts +++ b/__tests__/shared/handleSdrMessage.ts @@ -19,8 +19,8 @@ export default (testContext: { let originalRequestSender: string let sdr: SelectiveDisclosure - beforeAll(() => { - testContext.setup() + beforeAll(async () => { + await testContext.setup() agent = testContext.getAgent() }) afterAll(testContext.tearDown) diff --git a/__tests__/shared/saveClaims.ts b/__tests__/shared/saveClaims.ts index 22d7ceaa4..3cdd5e4c6 100644 --- a/__tests__/shared/saveClaims.ts +++ b/__tests__/shared/saveClaims.ts @@ -17,8 +17,8 @@ export default (testContext: { let agent: ConfiguredAgent let identifier: IIdentifier - beforeAll(() => { - testContext.setup() + beforeAll(async () => { + await testContext.setup() agent = testContext.getAgent() }) afterAll(testContext.tearDown) diff --git a/__tests__/shared/verifiableData.ts b/__tests__/shared/verifiableData.ts index 55c3e51f1..0a2188ecc 100644 --- a/__tests__/shared/verifiableData.ts +++ b/__tests__/shared/verifiableData.ts @@ -14,8 +14,8 @@ export default (testContext: { let agent: ConfiguredAgent let identifier: IIdentifier - beforeAll(() => { - testContext.setup() + beforeAll(async () => { + await testContext.setup() agent = testContext.getAgent() }) afterAll(testContext.tearDown) diff --git a/__tests__/shared/webDidFlow.ts b/__tests__/shared/webDidFlow.ts index d2d308167..9e5ad0cf3 100644 --- a/__tests__/shared/webDidFlow.ts +++ b/__tests__/shared/webDidFlow.ts @@ -15,8 +15,8 @@ export default (testContext: { let alice: IIdentifier let bob: IIdentifier - beforeAll(() => { - testContext.setup() + beforeAll(async () => { + await testContext.setup() agent = testContext.getAgent() }) afterAll(testContext.tearDown) diff --git a/__tests__/utils/ganache-provider.ts b/__tests__/utils/ganache-provider.ts new file mode 100644 index 000000000..25f0bde50 --- /dev/null +++ b/__tests__/utils/ganache-provider.ts @@ -0,0 +1,68 @@ +import { JsonRpcProvider, Web3Provider } from '@ethersproject/providers' +import { Contract, ContractFactory } from '@ethersproject/contracts' +import DidRegistryContract from 'ethr-did-registry' +import ganache from 'ganache-cli' + +/** + * Creates a Web3Provider that connects to a local ganache instance with a bunch of known keys and an ERC1056 contract. + * + * This provider can only be used in a single test suite, because of some concurrency issues with ganache. + */ +export async function createGanacheProvider(): Promise<{ provider: JsonRpcProvider; registry: string }> { + const provider = new Web3Provider( + ganache.provider({ + accounts: [ + { + secretKey: '0x278a5de700e29faae8e40e366ec5012b5ec63d36ec77e8a2417154cc1d25383f', + // address: '0xf3beac30c498d9e26865f34fcaa57dbb935b0d74', + // publicKey: '03fdd57adec3d438ea237fe46b33ee1e016eda6b585c3e27ea66686c2ea5358479' + balance: '0x1000000000000000000000', + }, + { + secretKey: '0x0000000000000000000000000000000000000000000000000000000000000001', + // address: '0x7e5f4552091a69125d5dfcb7b8c2659029395bdf', + // publicKey: '0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798' + balance: '0x1000000000000000000000', + }, + { + secretKey: '0x0000000000000000000000000000000000000000000000000000000000000002', + // address: '0x2b5ad5c4795c026514f8317c7a215e218dccd6cf', + // publicKey: '02c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5' + balance: '0x1000000000000000000000', + }, + { + secretKey: '0x0000000000000000000000000000000000000000000000000000000000000003', + // address: '0x6813eb9362372eef6200f3b1dbc3f819671cba69', + // publicKey: '02f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9' + balance: '0x1000000000000000000000', + }, + { + secretKey: '0x0000000000000000000000000000000000000000000000000000000000000004', + // address: '0x1eff47bc3a10a45d4b230b5d10e37751fe6aa718', + // publicKey: '02e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13' + balance: '0x1000000000000000000000', + }, + { + secretKey: '0x0000000000000000000000000000000000000000000000000000000000000005', + // address: '0xe1ab8145f7e55dc933d51a18c793f901a3a0b276' + // publicKey: '022f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4' + balance: '0x1000000000000000000000', + }, + { + secretKey: '0x0000000000000000000000000000000000000000000000000000000000000006', + balance: `0x1000000000000000000000`, + }, + ], + }), + ) + await provider.ready + const factory = ContractFactory.fromSolidity(DidRegistryContract).connect(provider.getSigner(0)) + + let registryContract: Contract = await factory.deploy() + registryContract = await registryContract.deployed() + + await registryContract.deployTransaction.wait() + + const registry = registryContract.address + return { provider, registry } +} diff --git a/jest.json b/jest.json index 0170cd7cf..0dec51d95 100644 --- a/jest.json +++ b/jest.json @@ -5,7 +5,6 @@ "packages/**/src/**/*.ts", "!**/examples/**", "!packages/cli/**", - "!packages/kms-local-react-native/**", "!**/types/**", "!**/build/**", "!**/node_modules/**" diff --git a/package.json b/package.json index 0bfd988cb..cf5c46d11 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,8 @@ "@types/jest": "27.0.2", "codecov": "3.8.3", "cross-fetch": "3.1.4", + "ethr-did-registry": "^0.0.3", + "ganache-cli": "^6.12.2", "jest": "27.2.2", "jest-fetch-mock": "3.0.3", "json-schema": "0.3.0", diff --git a/packages/cli/package.json b/packages/cli/package.json index 1ced23abe..499d62724 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -45,7 +45,7 @@ "debug": "^4.1.1", "did-resolver": "3.1.3", "dotenv": "^10.0.0", - "ethr-did-resolver": "4.3.4", + "ethr-did-resolver": "5.0.2", "express": "^4.17.1", "express-handlebars": "^5.2.0", "fuzzy": "^0.1.3", @@ -65,7 +65,7 @@ "ts-json-schema-generator": "^0.97.0", "typeorm": "0.2.38", "url-parse": "^1.5.1", - "web-did-resolver": "2.0.7", + "web-did-resolver": "2.0.8", "ws": "^8.0.0", "yaml": "^1.10.0" }, diff --git a/packages/core/package.json b/packages/core/package.json index 7ae70fd21..97bd3fb78 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -25,7 +25,7 @@ }, "devDependencies": { "@types/debug": "4.1.7", - "did-resolver": "3.1.0", + "did-resolver": "3.1.3", "typescript": "4.4.3" }, "files": [ diff --git a/packages/core/plugin.schema.json b/packages/core/plugin.schema.json index 6a2aab1f9..8469249bf 100644 --- a/packages/core/plugin.schema.json +++ b/packages/core/plugin.schema.json @@ -27,51 +27,6 @@ "DIDDocument": { "type": "object", "properties": { - "@context": { - "anyOf": [ - { - "type": "string", - "const": "https://www.w3.org/ns/did/v1" - }, - { - "type": "string" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - }, - "id": { - "type": "string" - }, - "alsoKnownAs": { - "type": "array", - "items": { - "type": "string" - } - }, - "controller": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - }, - "verificationMethod": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VerificationMethod" - } - }, "authentication": { "type": "array", "items": { @@ -137,6 +92,51 @@ ] } }, + "@context": { + "anyOf": [ + { + "type": "string", + "const": "https://www.w3.org/ns/did/v1" + }, + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "id": { + "type": "string" + }, + "alsoKnownAs": { + "type": "array", + "items": { + "type": "string" + } + }, + "controller": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "verificationMethod": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VerificationMethod" + } + }, "service": { "type": "array", "items": { @@ -170,6 +170,9 @@ "publicKeyBase58": { "type": "string" }, + "publicKeyBase64": { + "type": "string" + }, "publicKeyJwk": { "type": "object", "properties": { @@ -217,6 +220,9 @@ "publicKeyHex": { "type": "string" }, + "publicKeyMultibase": { + "type": "string" + }, "blockchainAccountId": { "type": "string" }, diff --git a/packages/data-store/src/__tests__/data-store-orm.test.ts b/packages/data-store/src/__tests__/data-store-orm.test.ts index 0312bf2a2..b8dc844c4 100644 --- a/packages/data-store/src/__tests__/data-store-orm.test.ts +++ b/packages/data-store/src/__tests__/data-store-orm.test.ts @@ -108,9 +108,9 @@ async function populateDB(agent: TAgent) { await agent.dataStoreSaveMessage({ message: m4 }) } -describe('@veramo/data-store entities', () => { +describe('@veramo/data-store queries', () => { let dbConnection: Promise - const databaseFile = './test-db2.sqlite' + const databaseFile = './tmp/test-db2.sqlite' function makeAgent(context?: Record): TAgent { //@ts-ignore diff --git a/packages/data-store/src/__tests__/entities.test.ts b/packages/data-store/src/__tests__/entities.test.ts index 9d23e122d..5d957e027 100644 --- a/packages/data-store/src/__tests__/entities.test.ts +++ b/packages/data-store/src/__tests__/entities.test.ts @@ -6,9 +6,9 @@ import { Entities } from '../index' import { blake2bHex } from 'blakejs' import fs from 'fs' -describe('veramo core', () => { +describe('DB entities test', () => { let connection: Connection - const databaseFile = './test-db.sqlite' + const databaseFile = './tmp/test-db.sqlite' beforeAll( async () => diff --git a/packages/did-comm/package.json b/packages/did-comm/package.json index 6b3381223..8490346e4 100644 --- a/packages/did-comm/package.json +++ b/packages/did-comm/package.json @@ -14,14 +14,15 @@ } }, "dependencies": { + "@ethersproject/signing-key": "^5.5.0", "@stablelib/ed25519": "^1.0.2", "@veramo/core": "^3.0.0", "@veramo/message-handler": "^3.0.0", "cross-fetch": "^3.1.4", "debug": "^4.1.1", - "did-jwt": "5.10.0", - "did-resolver": "^3.1.0", - "uint8arrays": "^3.0.0", + "did-jwt": "5.11.1", + "did-resolver": "3.1.3", + "uint8arrays": "3.0.0", "uuid": "^8.3.0" }, "devDependencies": { diff --git a/packages/did-comm/src/didcomm.ts b/packages/did-comm/src/didcomm.ts index 600b9283d..2332ca0fa 100644 --- a/packages/did-comm/src/didcomm.ts +++ b/packages/did-comm/src/didcomm.ts @@ -278,11 +278,19 @@ export class DIDComm implements IAgentPlugin { context, ) + if (keyAgreementKeys.length === 0) { + throw new Error(`key_not_found: no key agreement keys found for recipient ${args?.message?.to}`) + } + // 2.2 get public key bytes and key IDs for supported recipient keys const recipients: { kid: string; publicKeyBytes: Uint8Array }[] = keyAgreementKeys .map((pk) => ({ kid: pk.id, publicKeyBytes: u8a.fromString(pk.publicKeyHex!, 'base16') })) .filter(isDefined) + if (recipients.length === 0) { + throw new Error(`not_supported: no compatible key agreement keys found for recipient ${args?.message?.to}`) + } + // 3. create Encrypter for each recipient const encrypters: Encrypter[] = recipients.map((recipient) => { if (args.packing === 'authcrypt') { @@ -290,7 +298,11 @@ export class DIDComm implements IAgentPlugin { } else { return createAnonEncrypter(recipient.publicKeyBytes, { kid: recipient.kid }) } - }) + }).filter(isDefined) + + if (encrypters.length === 0) { + throw new Error(`not_supported: could not create suitable encryption for recipient ${args?.message?.to}`) + } // 4. createJWE const messageBytes = u8a.fromString(JSON.stringify(args.message), 'utf-8') diff --git a/packages/did-comm/src/utils.ts b/packages/did-comm/src/utils.ts index eb0105dd0..e8be49eee 100644 --- a/packages/did-comm/src/utils.ts +++ b/packages/did-comm/src/utils.ts @@ -1,4 +1,5 @@ import { convertPublicKeyToX25519, convertSecretKeyToX25519 } from '@stablelib/ed25519' +import { computePublicKey } from '@ethersproject/signing-key' import { DIDDocumentSection, IAgentContext, @@ -139,6 +140,19 @@ export function convertIdentifierEncryptionKeys(identifier: IIdentifier): IKey[] .filter(isDefined) } +export function compressIdentifierSecp256k1Keys(identifier: IIdentifier): IKey[] { + return identifier.keys + .map((key) => { + if (key.type === 'Secp256k1') { + const publicBytes = u8a.fromString(key.publicKeyHex, 'base16') + const compressedKey = computePublicKey(publicBytes, true).substring(2) + key.publicKeyHex = compressedKey + } + return key + }) + .filter(isDefined) +} + export async function mapRecipientsToLocalKeys( managedKeys: { recipient: any; kid: string; identifier: IIdentifier }[], context: IAgentContext, @@ -176,6 +190,8 @@ export async function mapIdentifierKeysToDoc( let localKeys = identifier.keys.filter(isDefined) if (section === 'keyAgreement') { localKeys = convertIdentifierEncryptionKeys(identifier) + } else { + localKeys = compressIdentifierSecp256k1Keys(identifier) } // finally map the didDocument keys to the identifier keys by comparing `publicKeyHex` const extendedKeys: _ExtendedIKey[] = keyAgreementKeys @@ -193,7 +209,10 @@ export async function mapIdentifierKeysToDoc( return extendedKeys } -export async function resolveDidOrThrow(didUrl: string, context: IAgentContext): Promise { +export async function resolveDidOrThrow( + didUrl: string, + context: IAgentContext, +): Promise { // TODO: add caching const docResult = await context.agent.resolveDid({ didUrl: didUrl }) const err = docResult?.didResolutionMetadata?.error diff --git a/packages/did-jwt/package.json b/packages/did-jwt/package.json index ad6eaf90b..a13c1dd97 100644 --- a/packages/did-jwt/package.json +++ b/packages/did-jwt/package.json @@ -12,7 +12,7 @@ "@veramo/core": "^3.0.0", "@veramo/message-handler": "^3.0.0", "debug": "^4.1.1", - "did-jwt": "5.10.0", + "did-jwt": "5.11.1", "did-resolver": "3.1.3" }, "devDependencies": { diff --git a/packages/did-provider-ethr/package.json b/packages/did-provider-ethr/package.json index 7d66d8af8..4d4d6a2e4 100644 --- a/packages/did-provider-ethr/package.json +++ b/packages/did-provider-ethr/package.json @@ -9,17 +9,17 @@ "extract-api": "yarn veramo dev extract-api" }, "dependencies": { - "@ethersproject/abstract-provider": "^5.1.0", - "@ethersproject/abstract-signer": "^5.1.0", - "@ethersproject/address": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/signing-key": "^5.1.0", - "@ethersproject/transactions": "^5.1.1", + "@ethersproject/abstract-provider": "5.5.1", + "@ethersproject/abstract-signer": "5.5.0", + "@ethersproject/address": "5.5.0", + "@ethersproject/bytes": "5.5.0", + "@ethersproject/properties": "5.5.0", + "@ethersproject/signing-key": "5.5.0", + "@ethersproject/transactions": "5.5.0", "@veramo/core": "^3.0.0", "@veramo/did-manager": "^3.0.0", "debug": "^4.1.1", - "ethr-did": "2.1.4" + "ethr-did": "2.1.5" }, "devDependencies": { "@types/debug": "4.1.7", diff --git a/packages/did-provider-ethr/src/ethr-did-provider.ts b/packages/did-provider-ethr/src/ethr-did-provider.ts index 3bd5c2e5e..32dd833b5 100644 --- a/packages/did-provider-ethr/src/ethr-did-provider.ts +++ b/packages/did-provider-ethr/src/ethr-did-provider.ts @@ -100,15 +100,23 @@ export class EthrDIDProvider extends AbstractIdentifierProvider { context: IRequiredContext, ): Promise { const ethrDid = await this.getEthrDidController(identifier, context) - const usg = 'veriKey' - const attribute = 'did/pub/' + key.type + '/' + usg + '/hex' - const value = '0x' + key.publicKeyHex + const usg = key.type === 'X25519' ? 'enc' : 'veriKey' + const encoding = key.type === 'X25519' ? 'base58' : options?.encoding || 'hex' + const attrName = `did/pub/${key.type}/${usg}/${encoding}` + const attrValue = '0x' + key.publicKeyHex const ttl = options?.ttl || this.ttl const gasLimit = options?.gas || this.gas - - debug('ethrDid.setAttribute %o', { attribute, value, ttl, gas: gasLimit }) - - const txHash = await ethrDid.setAttribute(attribute, value, ttl, gasLimit) + debug('ethrDid.setAttribute %o', { attrName, attrValue, ttl, gasLimit }) + const txHash = await ethrDid.setAttribute(attrName, attrValue, ttl, undefined, { + gasLimit, + gasPrice: options?.gasPrice, + maxFeePerGas: options?.maxFeePerGas, + maxPriorityFeePerGas: options?.maxPriorityFeePerGas, + // from: options?.from, + nonce: options?.nonce, + accessList: options?.accessList, + type: options?.type, + }) debug({ txHash }) return txHash } @@ -119,14 +127,23 @@ export class EthrDIDProvider extends AbstractIdentifierProvider { ): Promise { const ethrDid = await this.getEthrDidController(identifier, context) - const attribute = 'did/svc/' + service.type - const value = service.serviceEndpoint + const attrName = 'did/svc/' + service.type + const attrValue = service.serviceEndpoint const ttl = options?.ttl || this.ttl - const gas = options?.gas || this.gas - - debug('ethrDid.setAttribute %o', { attribute, value, ttl, gas }) + const gasLimit = options?.gas || this.gas - const txHash = await ethrDid.setAttribute(attribute, value, ttl, gas) + debug('ethrDid.setAttribute %o', { attrName, attrValue, ttl, gasLimit }) + + const txHash = await ethrDid.setAttribute(attrName, attrValue, ttl, undefined, { + gasLimit, + gasPrice: options?.gasPrice, + maxFeePerGas: options?.maxFeePerGas, + maxPriorityFeePerGas: options?.maxPriorityFeePerGas, + // from: options?.from, + nonce: options?.nonce, + accessList: options?.accessList, + type: options?.type, + }) debug({ txHash }) return txHash } @@ -140,13 +157,24 @@ export class EthrDIDProvider extends AbstractIdentifierProvider { const key = args.identifier.keys.find((k) => k.kid === args.kid) if (!key) throw Error('Key not found') - const usg = 'veriKey' - const attribute = 'did/pub/' + key.type + '/' + usg + '/hex' - const value = '0x' + key.publicKeyHex - const gas = args.options?.gas || this.gas + const usg = key.type === 'X25519' ? 'enc' : 'veriKey' + const encoding = key.type === 'X25519' ? 'base58' : args.options?.encoding || 'hex' + const attrName = `did/pub/${key.type}/${usg}/${encoding}` + const attrValue = '0x' + key.publicKeyHex + const gasLimit = args.options?.gas || this.gas + + debug('ethrDid.revokeAttribute', { attrName, attrValue, gasLimit }) + const txHash = await ethrDid.revokeAttribute(attrName, attrValue, undefined, { + gasLimit, + gasPrice: args.options?.gasPrice, + maxFeePerGas: args.options?.maxFeePerGas, + maxPriorityFeePerGas: args.options?.maxPriorityFeePerGas, + // from: options?.from, + nonce: args.options?.nonce, + accessList: args.options?.accessList, + type: args.options?.type, + }) - debug('ethrDid.revokeAttribute', { attribute, value, gas }) - const txHash = await ethrDid.revokeAttribute(attribute, value, gas) return txHash } @@ -159,12 +187,21 @@ export class EthrDIDProvider extends AbstractIdentifierProvider { const service = args.identifier.services.find((s) => s.id === args.id) if (!service) throw Error('Service not found') - const attribute = 'did/svc/' + service.type - const value = service.serviceEndpoint - const gas = args.options?.gas || this.gas - - debug('ethrDid.revokeAttribute', { attribute, value, gas }) - const txHash = await ethrDid.revokeAttribute(attribute, value, gas) + const attrName = 'did/svc/' + service.type + const attrValue = service.serviceEndpoint + const gasLimit = args.options?.gas || this.gas + + debug('ethrDid.revokeAttribute', { attrName, attrValue, gasLimit }) + const txHash = await ethrDid.revokeAttribute(attrName, attrValue, undefined, { + gasLimit, + gasPrice: args.options?.gasPrice, + maxFeePerGas: args.options?.maxFeePerGas, + maxPriorityFeePerGas: args.options?.maxPriorityFeePerGas, + // from: options?.from, + nonce: args.options?.nonce, + accessList: args.options?.accessList, + type: args.options?.type, + }) return txHash } } diff --git a/packages/did-resolver/package.json b/packages/did-resolver/package.json index b32e978e1..a1c1288bc 100644 --- a/packages/did-resolver/package.json +++ b/packages/did-resolver/package.json @@ -15,10 +15,10 @@ }, "devDependencies": { "@types/debug": "4.1.7", - "did-resolver": "3.1.0", - "ethr-did-resolver": "4.3.4", + "did-resolver": "3.1.3", + "ethr-did-resolver": "5.0.2", "typescript": "4.4.3", - "web-did-resolver": "2.0.4" + "web-did-resolver": "2.0.8" }, "files": [ "build/**/*", diff --git a/packages/did-resolver/src/__tests__/integration.test.ts b/packages/did-resolver/src/__tests__/integration.test.ts index ce12c8e85..06085a68d 100644 --- a/packages/did-resolver/src/__tests__/integration.test.ts +++ b/packages/did-resolver/src/__tests__/integration.test.ts @@ -136,5 +136,4 @@ describe('@veramo/did-resolver', () => { }) }) - it.todo('should resolve ethr-did with custom web3 provider') }) diff --git a/packages/key-manager/package.json b/packages/key-manager/package.json index ca33fa426..7007e6184 100644 --- a/packages/key-manager/package.json +++ b/packages/key-manager/package.json @@ -9,13 +9,13 @@ "extract-api": "yarn veramo dev generate-plugin-schema" }, "dependencies": { - "@ethersproject/bytes": "^5.4.0", - "@ethersproject/strings": "^5.4.0", - "@ethersproject/transactions": "^5.4.0", + "@ethersproject/bytes": "5.5.0", + "@ethersproject/strings": "5.5.0", + "@ethersproject/transactions": "5.5.0", "@stablelib/ed25519": "^1.0.2", "@veramo/core": "^3.0.0", - "did-jwt": "^5.6.2", - "uint8arrays": "2.1.10" + "did-jwt": "5.11.1", + "uint8arrays": "3.0.0" }, "devDependencies": { "typescript": "4.4.3" diff --git a/packages/kms-local/package.json b/packages/kms-local/package.json index 929f3a097..4b470a552 100644 --- a/packages/kms-local/package.json +++ b/packages/kms-local/package.json @@ -9,22 +9,22 @@ "extract-api": "yarn veramo dev extract-api" }, "dependencies": { - "@ethersproject/abstract-provider": "^5.1.0", - "@ethersproject/abstract-signer": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/random": "^5.3.0", - "@ethersproject/signing-key": "^5.3.0", - "@ethersproject/strings": "^5.1.0", - "@ethersproject/transactions": "^5.1.1", - "@ethersproject/wallet": "^5.1.0", + "@ethersproject/abstract-provider": "5.5.1", + "@ethersproject/abstract-signer": "5.5.0", + "@ethersproject/bytes": "5.5.0", + "@ethersproject/random": "5.5.0", + "@ethersproject/signing-key": "5.5.0", + "@ethersproject/strings": "5.5.0", + "@ethersproject/transactions": "5.5.0", + "@ethersproject/wallet": "5.5.0", "@stablelib/ed25519": "^1.0.2", "@stablelib/nacl": "^1.0.2", "@veramo/core": "^3.0.0", "@veramo/key-manager": "^3.0.0", "base-58": "^0.0.1", "debug": "^4.1.1", - "did-jwt": "5.10.0", - "uint8arrays": "^3.0.0" + "did-jwt": "5.11.1", + "uint8arrays": "3.0.0" }, "devDependencies": { "@types/debug": "4.1.7", diff --git a/packages/remote-server/package.json b/packages/remote-server/package.json index cf5ff5953..519921c8c 100644 --- a/packages/remote-server/package.json +++ b/packages/remote-server/package.json @@ -19,7 +19,7 @@ "devDependencies": { "@types/debug": "4.1.7", "@types/express": "4.17.13", - "did-resolver": "^3.1.2", + "did-resolver": "3.1.3", "express": "4.17.1", "typescript": "4.4.3" }, diff --git a/packages/selective-disclosure/package.json b/packages/selective-disclosure/package.json index 93934aefe..2e569baf2 100644 --- a/packages/selective-disclosure/package.json +++ b/packages/selective-disclosure/package.json @@ -21,7 +21,7 @@ "@veramo/message-handler": "^3.0.0", "blakejs": "^1.1.0", "debug": "^4.1.1", - "did-jwt": "5.10.0" + "did-jwt": "5.11.1" }, "devDependencies": { "@types/debug": "4.1.7", diff --git a/packages/third.party.types.d.ts b/packages/third.party.types.d.ts new file mode 100644 index 000000000..155544cfe --- /dev/null +++ b/packages/third.party.types.d.ts @@ -0,0 +1,2 @@ +declare module 'ganache-cli' +declare module 'ethr-did-registry' \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 3ddb9806c..310c62483 100644 --- a/yarn.lock +++ b/yarn.lock @@ -334,324 +334,324 @@ "@transmute/did-context" "^0.6.1-unstable.25" jsonld-checker "^0.1.6" -"@ethersproject/abi@^5.1.0", "@ethersproject/abi@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.4.0.tgz#a6d63bdb3672f738398846d4279fa6b6c9818242" - integrity sha512-9gU2H+/yK1j2eVMdzm6xvHSnMxk8waIHQGYCZg5uvAyH0rsAzxkModzBSpbAkAuhKFEovC2S9hM4nPuLym8IZw== - dependencies: - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/hash" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - -"@ethersproject/abstract-provider@^5.1.0", "@ethersproject/abstract-provider@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.4.0.tgz#415331031b0f678388971e1987305244edc04e1d" - integrity sha512-vPBR7HKUBY0lpdllIn7tLIzNN7DrVnhCLKSzY0l8WAwxz686m/aL7ASDzrVxV93GJtIub6N2t4dfZ29CkPOxgA== - dependencies: - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/networks" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - "@ethersproject/web" "^5.4.0" - -"@ethersproject/abstract-signer@^5.1.0", "@ethersproject/abstract-signer@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.4.0.tgz#cd5f50b93141ee9f9f49feb4075a0b3eafb57d65" - integrity sha512-AieQAzt05HJZS2bMofpuxMEp81AHufA5D6M4ScKwtolj041nrfIbIi8ciNW7+F59VYxXq+V4c3d568Q6l2m8ew== - dependencies: - "@ethersproject/abstract-provider" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - -"@ethersproject/address@^5.1.0", "@ethersproject/address@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.4.0.tgz#ba2d00a0f8c4c0854933b963b9a3a9f6eb4a37a3" - integrity sha512-SD0VgOEkcACEG/C6xavlU1Hy3m5DGSXW3CUHkaaEHbAPPsgi0coP5oNPsxau8eTlZOk/bpa/hKeCNoK5IzVI2Q== - dependencies: - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/rlp" "^5.4.0" - -"@ethersproject/base64@^5.1.0", "@ethersproject/base64@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.4.0.tgz#7252bf65295954c9048c7ca5f43e5c86441b2a9a" - integrity sha512-CjQw6E17QDSSC5jiM9YpF7N1aSCHmYGMt9bWD8PWv6YPMxjsys2/Q8xLrROKI3IWJ7sFfZ8B3flKDTM5wlWuZQ== - dependencies: - "@ethersproject/bytes" "^5.4.0" - -"@ethersproject/basex@^5.1.0", "@ethersproject/basex@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.4.0.tgz#0a2da0f4e76c504a94f2b21d3161ed9438c7f8a6" - integrity sha512-J07+QCVJ7np2bcpxydFVf/CuYo9mZ7T73Pe7KQY4c1lRlrixMeblauMxHXD0MPwFmUHZIILDNViVkykFBZylbg== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - -"@ethersproject/bignumber@^5.1.0", "@ethersproject/bignumber@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.4.0.tgz#be8dea298c0ec71208ee60f0b245be0761217ad9" - integrity sha512-OXUu9f9hO3vGRIPxU40cignXZVaYyfx6j9NNMjebKdnaCL3anCLSSy8/b8d03vY6dh7duCC0kW72GEC4tZer2w== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" +"@ethersproject/abi@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.5.0.tgz#fb52820e22e50b854ff15ce1647cc508d6660613" + integrity sha512-loW7I4AohP5KycATvc0MgujU6JyCHPqHdeoo9z3Nr9xEiNioxa65ccdm1+fsoJhkuhdRtfcL8cfyGamz2AxZ5w== + dependencies: + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/hash" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + +"@ethersproject/abstract-provider@5.5.1", "@ethersproject/abstract-provider@^5.5.0": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.5.1.tgz#2f1f6e8a3ab7d378d8ad0b5718460f85649710c5" + integrity sha512-m+MA/ful6eKbxpr99xUYeRvLkfnlqzrF8SZ46d/xFB1A7ZVknYc/sXJG0RcufF52Qn2jeFj1hhcoQ7IXjNKUqg== + dependencies: + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/networks" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/web" "^5.5.0" + +"@ethersproject/abstract-signer@5.5.0", "@ethersproject/abstract-signer@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz#590ff6693370c60ae376bf1c7ada59eb2a8dd08d" + integrity sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA== + dependencies: + "@ethersproject/abstract-provider" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + +"@ethersproject/address@5.5.0", "@ethersproject/address@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.5.0.tgz#bcc6f576a553f21f3dd7ba17248f81b473c9c78f" + integrity sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw== + dependencies: + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/rlp" "^5.5.0" + +"@ethersproject/base64@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.5.0.tgz#881e8544e47ed976930836986e5eb8fab259c090" + integrity sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA== + dependencies: + "@ethersproject/bytes" "^5.5.0" + +"@ethersproject/basex@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.5.0.tgz#e40a53ae6d6b09ab4d977bd037010d4bed21b4d3" + integrity sha512-ZIodwhHpVJ0Y3hUCfUucmxKsWQA5TMnavp5j/UOuDdzZWzJlRmuOjcTMIGgHCYuZmHt36BfiSyQPSRskPxbfaQ== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + +"@ethersproject/bignumber@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.5.0.tgz#875b143f04a216f4f8b96245bde942d42d279527" + integrity sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" bn.js "^4.11.9" -"@ethersproject/bytes@^5.1.0", "@ethersproject/bytes@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.4.0.tgz#56fa32ce3bf67153756dbaefda921d1d4774404e" - integrity sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA== - dependencies: - "@ethersproject/logger" "^5.4.0" - -"@ethersproject/constants@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.4.0.tgz#ee0bdcb30bf1b532d2353c977bf2ef1ee117958a" - integrity sha512-tzjn6S7sj9+DIIeKTJLjK9WGN2Tj0P++Z8ONEIlZjyoTkBuODN+0VfhAyYksKi43l1Sx9tX2VlFfzjfmr5Wl3Q== - dependencies: - "@ethersproject/bignumber" "^5.4.0" - -"@ethersproject/contracts@^5.1.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.4.0.tgz#e05fe6bd33acc98741e27d553889ec5920078abb" - integrity sha512-hkO3L3IhS1Z3ZtHtaAG/T87nQ7KiPV+/qnvutag35I0IkiQ8G3ZpCQ9NNOpSCzn4pWSW4CfzmtE02FcqnLI+hw== - dependencies: - "@ethersproject/abi" "^5.4.0" - "@ethersproject/abstract-provider" "^5.4.0" - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - -"@ethersproject/hash@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.4.0.tgz#d18a8e927e828e22860a011f39e429d388344ae0" - integrity sha512-xymAM9tmikKgbktOCjW60Z5sdouiIIurkZUr9oW5NOex5uwxrbsYG09kb5bMcNjlVeJD3yPivTNzViIs1GCbqA== - dependencies: - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - -"@ethersproject/hdnode@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.4.0.tgz#4bc9999b9a12eb5ce80c5faa83114a57e4107cac" - integrity sha512-pKxdS0KAaeVGfZPp1KOiDLB0jba11tG6OP1u11QnYfb7pXn6IZx0xceqWRr6ygke8+Kw74IpOoSi7/DwANhy8Q== - dependencies: - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/basex" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/pbkdf2" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/sha2" "^5.4.0" - "@ethersproject/signing-key" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - "@ethersproject/wordlists" "^5.4.0" - -"@ethersproject/json-wallets@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.4.0.tgz#2583341cfe313fc9856642e8ace3080154145e95" - integrity sha512-igWcu3fx4aiczrzEHwG1xJZo9l1cFfQOWzTqwRw/xcvxTk58q4f9M7cjh51EKphMHvrJtcezJ1gf1q1AUOfEQQ== - dependencies: - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/hdnode" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/pbkdf2" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/random" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" +"@ethersproject/bytes@5.5.0", "@ethersproject/bytes@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.5.0.tgz#cb11c526de657e7b45d2e0f0246fb3b9d29a601c" + integrity sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog== + dependencies: + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/constants@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.5.0.tgz#d2a2cd7d94bd1d58377d1d66c4f53c9be4d0a45e" + integrity sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ== + dependencies: + "@ethersproject/bignumber" "^5.5.0" + +"@ethersproject/contracts@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.5.0.tgz#b735260d4bd61283a670a82d5275e2a38892c197" + integrity sha512-2viY7NzyvJkh+Ug17v7g3/IJC8HqZBDcOjYARZLdzRxrfGlRgmYgl6xPRKVbEzy1dWKw/iv7chDcS83pg6cLxg== + dependencies: + "@ethersproject/abi" "^5.5.0" + "@ethersproject/abstract-provider" "^5.5.0" + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + +"@ethersproject/hash@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.5.0.tgz#7cee76d08f88d1873574c849e0207dcb32380cc9" + integrity sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg== + dependencies: + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + +"@ethersproject/hdnode@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.5.0.tgz#4a04e28f41c546f7c978528ea1575206a200ddf6" + integrity sha512-mcSOo9zeUg1L0CoJH7zmxwUG5ggQHU1UrRf8jyTYy6HxdZV+r0PBoL1bxr+JHIPXRzS6u/UW4mEn43y0tmyF8Q== + dependencies: + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/basex" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/pbkdf2" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/sha2" "^5.5.0" + "@ethersproject/signing-key" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/wordlists" "^5.5.0" + +"@ethersproject/json-wallets@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.5.0.tgz#dd522d4297e15bccc8e1427d247ec8376b60e325" + integrity sha512-9lA21XQnCdcS72xlBn1jfQdj2A1VUxZzOzi9UkNdnokNKke/9Ya2xA9aIK1SC3PQyBDLt4C+dfps7ULpkvKikQ== + dependencies: + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/hdnode" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/pbkdf2" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/random" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" aes-js "3.0.0" scrypt-js "3.0.1" -"@ethersproject/keccak256@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.4.0.tgz#7143b8eea4976080241d2bd92e3b1f1bf7025318" - integrity sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A== +"@ethersproject/keccak256@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.5.0.tgz#e4b1f9d7701da87c564ffe336f86dcee82983492" + integrity sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg== dependencies: - "@ethersproject/bytes" "^5.4.0" - js-sha3 "0.5.7" + "@ethersproject/bytes" "^5.5.0" + js-sha3 "0.8.0" -"@ethersproject/logger@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.4.0.tgz#f39adadf62ad610c420bcd156fd41270e91b3ca9" - integrity sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ== +"@ethersproject/logger@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.5.0.tgz#0c2caebeff98e10aefa5aef27d7441c7fd18cf5d" + integrity sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg== -"@ethersproject/networks@^5.4.0": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.4.1.tgz#2ce83b8e42aa85216e5d277a7952d97b6ce8d852" - integrity sha512-8SvowCKz9Uf4xC5DTKI8+il8lWqOr78kmiqAVLYT9lzB8aSmJHQMD1GSuJI0CW4hMAnzocpGpZLgiMdzsNSPig== +"@ethersproject/networks@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.5.0.tgz#babec47cab892c51f8dd652ce7f2e3e14283981a" + integrity sha512-KWfP3xOnJeF89Uf/FCJdV1a2aDJe5XTN2N52p4fcQ34QhDqQFkgQKZ39VGtiqUgHcLI8DfT0l9azC3KFTunqtA== dependencies: - "@ethersproject/logger" "^5.4.0" + "@ethersproject/logger" "^5.5.0" -"@ethersproject/pbkdf2@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.4.0.tgz#ed88782a67fda1594c22d60d0ca911a9d669641c" - integrity sha512-x94aIv6tiA04g6BnazZSLoRXqyusawRyZWlUhKip2jvoLpzJuLb//KtMM6PEovE47pMbW+Qe1uw+68ameJjB7g== +"@ethersproject/pbkdf2@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.5.0.tgz#e25032cdf02f31505d47afbf9c3e000d95c4a050" + integrity sha512-SaDvQFvXPnz1QGpzr6/HToLifftSXGoXrbpZ6BvoZhmx4bNLHrxDe8MZisuecyOziP1aVEwzC2Hasj+86TgWVg== dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/sha2" "^5.4.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/sha2" "^5.5.0" -"@ethersproject/properties@^5.1.0", "@ethersproject/properties@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.4.0.tgz#38ba20539b44dcc5d5f80c45ad902017dcdbefe7" - integrity sha512-7jczalGVRAJ+XSRvNA6D5sAwT4gavLq3OXPuV/74o3Rd2wuzSL035IMpIMgei4CYyBdialJMrTqkOnzccLHn4A== +"@ethersproject/properties@5.5.0", "@ethersproject/properties@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.5.0.tgz#61f00f2bb83376d2071baab02245f92070c59995" + integrity sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA== dependencies: - "@ethersproject/logger" "^5.4.0" + "@ethersproject/logger" "^5.5.0" -"@ethersproject/providers@^5.1.0", "@ethersproject/providers@^5.1.2": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.4.1.tgz#654267b563b833046b9c9647647cfc8267cb93b4" - integrity sha512-p06eiFKz8nu/5Ju0kIX024gzEQIgE5pvvGrBCngpyVjpuLtUIWT3097Agw4mTn9/dEA0FMcfByzFqacBMSgCVg== - dependencies: - "@ethersproject/abstract-provider" "^5.4.0" - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/basex" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/hash" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/networks" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/random" "^5.4.0" - "@ethersproject/rlp" "^5.4.0" - "@ethersproject/sha2" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - "@ethersproject/web" "^5.4.0" +"@ethersproject/providers@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.5.0.tgz#bc2876a8fe5e0053ed9828b1f3767ae46e43758b" + integrity sha512-xqMbDnS/FPy+J/9mBLKddzyLLAQFjrVff5g00efqxPzcAwXiR+SiCGVy6eJ5iAIirBOATjx7QLhDNPGV+AEQsw== + dependencies: + "@ethersproject/abstract-provider" "^5.5.0" + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/basex" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/hash" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/networks" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/random" "^5.5.0" + "@ethersproject/rlp" "^5.5.0" + "@ethersproject/sha2" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/web" "^5.5.0" bech32 "1.1.4" ws "7.4.6" -"@ethersproject/random@^5.3.0", "@ethersproject/random@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.4.0.tgz#9cdde60e160d024be39cc16f8de3b9ce39191e16" - integrity sha512-pnpWNQlf0VAZDEOVp1rsYQosmv2o0ITS/PecNw+mS2/btF8eYdspkN0vIXrCMtkX09EAh9bdk8GoXmFXM1eAKw== +"@ethersproject/random@5.5.0", "@ethersproject/random@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.5.0.tgz#305ed9e033ca537735365ac12eed88580b0f81f9" + integrity sha512-egGYZwZ/YIFKMHcoBUo8t3a8Hb/TKYX8BCBoLjudVCZh892welR3jOxgOmb48xznc9bTcMm7Tpwc1gHC1PFNFQ== dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" -"@ethersproject/rlp@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.4.0.tgz#de61afda5ff979454e76d3b3310a6c32ad060931" - integrity sha512-0I7MZKfi+T5+G8atId9QaQKHRvvasM/kqLyAH4XxBCBchAooH2EX5rL9kYZWwcm3awYV+XC7VF6nLhfeQFKVPg== +"@ethersproject/rlp@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.5.0.tgz#530f4f608f9ca9d4f89c24ab95db58ab56ab99a0" + integrity sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA== dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" -"@ethersproject/sha2@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.4.0.tgz#c9a8db1037014cbc4e9482bd662f86c090440371" - integrity sha512-siheo36r1WD7Cy+bDdE1BJ8y0bDtqXCOxRMzPa4bV1TGt/eTUUt03BHoJNB6reWJD8A30E/pdJ8WFkq+/uz4Gg== +"@ethersproject/sha2@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.5.0.tgz#a40a054c61f98fd9eee99af2c3cc6ff57ec24db7" + integrity sha512-B5UBoglbCiHamRVPLA110J+2uqsifpZaTmid2/7W5rbtYVz6gus6/hSDieIU/6gaKIDcOj12WnOdiymEUHIAOA== dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" hash.js "1.1.7" -"@ethersproject/signing-key@^5.1.0", "@ethersproject/signing-key@^5.3.0", "@ethersproject/signing-key@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.4.0.tgz#2f05120984e81cf89a3d5f6dec5c68ee0894fbec" - integrity sha512-q8POUeywx6AKg2/jX9qBYZIAmKSB4ubGXdQ88l40hmATj29JnG5pp331nAWwwxPn2Qao4JpWHNZsQN+bPiSW9A== +"@ethersproject/signing-key@5.5.0", "@ethersproject/signing-key@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.5.0.tgz#2aa37169ce7e01e3e80f2c14325f624c29cedbe0" + integrity sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng== dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" bn.js "^4.11.9" elliptic "6.5.4" hash.js "1.1.7" -"@ethersproject/strings@^5.1.0", "@ethersproject/strings@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.4.0.tgz#fb12270132dd84b02906a8d895ae7e7fa3d07d9a" - integrity sha512-k/9DkH5UGDhv7aReXLluFG5ExurwtIpUfnDNhQA29w896Dw3i4uDTz01Quaptbks1Uj9kI8wo9tmW73wcIEaWA== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - -"@ethersproject/transactions@^5.1.0", "@ethersproject/transactions@^5.1.1", "@ethersproject/transactions@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.4.0.tgz#a159d035179334bd92f340ce0f77e83e9e1522e0" - integrity sha512-s3EjZZt7xa4BkLknJZ98QGoIza94rVjaEed0rzZ/jB9WrIuu/1+tjvYCWzVrystXtDswy7TPBeIepyXwSYa4WQ== - dependencies: - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/rlp" "^5.4.0" - "@ethersproject/signing-key" "^5.4.0" - -"@ethersproject/wallet@^5.1.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.4.0.tgz#fa5b59830b42e9be56eadd45a16a2e0933ad9353" - integrity sha512-wU29majLjM6AjCjpat21mPPviG+EpK7wY1+jzKD0fg3ui5fgedf2zEu1RDgpfIMsfn8fJHJuzM4zXZ2+hSHaSQ== - dependencies: - "@ethersproject/abstract-provider" "^5.4.0" - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/hash" "^5.4.0" - "@ethersproject/hdnode" "^5.4.0" - "@ethersproject/json-wallets" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/random" "^5.4.0" - "@ethersproject/signing-key" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - "@ethersproject/wordlists" "^5.4.0" - -"@ethersproject/web@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.4.0.tgz#49fac173b96992334ed36a175538ba07a7413d1f" - integrity sha512-1bUusGmcoRLYgMn6c1BLk1tOKUIFuTg8j+6N8lYlbMpDesnle+i3pGSagGNvwjaiLo4Y5gBibwctpPRmjrh4Og== - dependencies: - "@ethersproject/base64" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - -"@ethersproject/wordlists@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.4.0.tgz#f34205ec3bbc9e2c49cadaee774cf0b07e7573d7" - integrity sha512-FemEkf6a+EBKEPxlzeVgUaVSodU7G0Na89jqKjmWMlDB0tomoU8RlEMgUvXyqtrg8N4cwpLh8nyRnm1Nay1isA== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/hash" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/strings" "^5.4.0" +"@ethersproject/strings@5.5.0", "@ethersproject/strings@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.5.0.tgz#e6784d00ec6c57710755699003bc747e98c5d549" + integrity sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/transactions@5.5.0", "@ethersproject/transactions@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.5.0.tgz#7e9bf72e97bcdf69db34fe0d59e2f4203c7a2908" + integrity sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA== + dependencies: + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/rlp" "^5.5.0" + "@ethersproject/signing-key" "^5.5.0" + +"@ethersproject/wallet@5.5.0", "@ethersproject/wallet@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.5.0.tgz#322a10527a440ece593980dca6182f17d54eae75" + integrity sha512-Mlu13hIctSYaZmUOo7r2PhNSd8eaMPVXe1wxrz4w4FCE4tDYBywDH+bAR1Xz2ADyXGwqYMwstzTrtUVIsKDO0Q== + dependencies: + "@ethersproject/abstract-provider" "^5.5.0" + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/hash" "^5.5.0" + "@ethersproject/hdnode" "^5.5.0" + "@ethersproject/json-wallets" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/random" "^5.5.0" + "@ethersproject/signing-key" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/wordlists" "^5.5.0" + +"@ethersproject/web@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.5.0.tgz#0e5bb21a2b58fb4960a705bfc6522a6acf461e28" + integrity sha512-BEgY0eL5oH4mAo37TNYVrFeHsIXLRxggCRG/ksRIxI2X5uj5IsjGmcNiRN/VirQOlBxcUhCgHhaDLG4m6XAVoA== + dependencies: + "@ethersproject/base64" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + +"@ethersproject/wordlists@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.5.0.tgz#aac74963aa43e643638e5172353d931b347d584f" + integrity sha512-bL0UTReWDiaQJJYOC9sh/XcRu/9i2jMrzf8VLRmPKx58ckSlOJiohODkECCO50dtLZHcGU6MLXQ4OOrgBwP77Q== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/hash" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" "@hutson/parse-repository-url@^3.0.0": version "3.0.2" @@ -2484,6 +2484,13 @@ dependencies: "@types/node" "*" +"@types/bn.js@^4.11.3": + version "4.11.6" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" + integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== + dependencies: + "@types/node" "*" + "@types/body-parser@*": version "1.19.1" resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.1.tgz#0c0174c42a7d017b818303d4b5d969cb0b75929c" @@ -2691,6 +2698,13 @@ dependencies: "@types/express" "*" +"@types/pbkdf2@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" + integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== + dependencies: + "@types/node" "*" + "@types/prettier@^2.1.5": version "2.3.2" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.2.tgz#fc8c2825e4ed2142473b4a81064e6e081463d1b3" @@ -2711,6 +2725,13 @@ resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.1.tgz#d8f1c0d0dc23afad6dc16a9e993a0865774b4065" integrity sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== +"@types/secp256k1@^4.0.1": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c" + integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w== + dependencies: + "@types/node" "*" + "@types/serve-static@*": version "1.13.10" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" @@ -2912,6 +2933,11 @@ ansi-regex@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + ansi-regex@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" @@ -2927,7 +2953,7 @@ ansi-styles@^2.2.1: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= -ansi-styles@^3.1.0, ansi-styles@^3.2.1: +ansi-styles@^3.1.0, ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== @@ -3212,6 +3238,11 @@ bech32@1.1.4: resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== +bech32@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-2.0.0.tgz#078d3686535075c8c79709f054b1b226a133b355" + integrity sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg== + before-after-hook@^2.2.0: version "2.2.2" resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e" @@ -3265,11 +3296,16 @@ block-stream@*: dependencies: inherits "~2.0.0" -bn.js@^4.11.9: +bn.js@^4.11.0, bn.js@^4.11.9: version "4.12.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== +bn.js@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== + body-parser@1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" @@ -3316,6 +3352,18 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== +browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + browserslist@^4.16.6: version "4.16.6" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" @@ -3334,13 +3382,22 @@ bs-logger@0.x: dependencies: fast-json-stable-stringify "2.x" -bs58@4.0.1: +bs58@4.0.1, bs58@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= dependencies: base-x "^3.0.2" +bs58check@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" + integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== + dependencies: + bs58 "^4.0.0" + create-hash "^1.1.0" + safe-buffer "^5.1.2" + bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -3358,6 +3415,11 @@ buffer-writer@2.0.0: resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04" integrity sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw== +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" @@ -3584,6 +3646,14 @@ cidr-regex@^3.1.1: dependencies: ip-regex "^4.1.0" +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + cjs-module-lexer@^1.0.0: version "1.2.1" resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz#2fd46d9906a126965aa541345c499aaa18e8cd73" @@ -3660,6 +3730,15 @@ cli-width@^3.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -4017,6 +4096,29 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" +create-hash@^1.1.0, create-hash@^1.1.2, 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== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.4, create-hmac@^1.1.7: + 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" + create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -4265,39 +4367,24 @@ did-jwt-vc@2.1.7: did-jwt "^5.7.0" did-resolver "^3.1.0" -did-jwt@5.10.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/did-jwt/-/did-jwt-5.10.0.tgz#4ae876a0cbbb94c63d0f9fcc82c8010e52b98162" - integrity sha512-1rE94ynofE6tNfwa4wcVoWpOv7LKd8armrY4Ixh5novCXvGlOb58NfiBVbesY4Q/KhbkARFx0GIm93lKPbZcuA== +did-jwt@5.11.1, did-jwt@^5.11.1: + version "5.11.1" + resolved "https://registry.yarnpkg.com/did-jwt/-/did-jwt-5.11.1.tgz#d7202dc1bfe067e2b3f7378b2346aee5ced9c9ea" + integrity sha512-2ObDArhxUP/hgkc1j/yelP8z4hOSUC3vnepUvpcwMXxYLYgiyR0BkidCmYmj3Mgj4BS/5cYhLBFlpaaQt4kAFA== dependencies: "@stablelib/ed25519" "^1.0.2" "@stablelib/random" "^1.0.1" "@stablelib/sha256" "^1.0.1" "@stablelib/x25519" "^1.0.1" "@stablelib/xchacha20poly1305" "^1.0.1" + bech32 "^2.0.0" canonicalize "^1.0.5" - did-resolver "^3.1.1" + did-resolver "^3.1.3" elliptic "^6.5.4" js-sha3 "^0.8.0" - multiformats "^9.4.8" + multiformats "^9.4.10" uint8arrays "^3.0.0" -did-jwt@^5.4.0, did-jwt@^5.6.2: - version "5.6.2" - resolved "https://registry.yarnpkg.com/did-jwt/-/did-jwt-5.6.2.tgz#6b84f91db614bd844b58b45e94fb93ac748bdcd1" - integrity sha512-WNX6haTfgNZZrOLxyeGdxKUh7tQJ07jJCcWIvXaq+wms0UxA7XGbdcEuz9h3uJsuIE+/7a3HgAy1FjD1DTcfww== - dependencies: - "@stablelib/ed25519" "^1.0.2" - "@stablelib/random" "^1.0.1" - "@stablelib/sha256" "^1.0.1" - "@stablelib/x25519" "^1.0.1" - "@stablelib/xchacha20poly1305" "^1.0.1" - canonicalize "^1.0.5" - did-resolver "^3.1.0" - elliptic "^6.5.4" - js-sha3 "^0.8.0" - uint8arrays "^2.1.5" - did-jwt@^5.7.0: version "5.7.0" resolved "https://registry.yarnpkg.com/did-jwt/-/did-jwt-5.7.0.tgz#7c5284daece5c86388db90e1274d0df63bb20f52" @@ -4314,20 +4401,15 @@ did-jwt@^5.7.0: js-sha3 "^0.8.0" uint8arrays "^3.0.0" -did-resolver@3.1.0, did-resolver@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/did-resolver/-/did-resolver-3.1.0.tgz#84f0e3d16abe9711dc04c34a5a0e2f63868c9611" - integrity sha512-uf3/4LfHoDn3Ek8bFegO72OemHMytBhAkud6CA1HlB5I0iVwrCpG4oh+DA6DXUuBdhrA0cY4cGz1D0VNDTlgnw== - -did-resolver@3.1.3: +did-resolver@3.1.3, did-resolver@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/did-resolver/-/did-resolver-3.1.3.tgz#ed530c9daa2c9925f85e9eabf258e51960db7e70" integrity sha512-ab8y90tSiDkTdfddXRC9Qcb1QSd568aC6+OgFTrcE4rs1vQAZOil+VqXHDu+Ff/UvhxlckPO8oJtp86iICZG0w== -did-resolver@^3.1.1, did-resolver@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/did-resolver/-/did-resolver-3.1.2.tgz#9ea891a6cc01ab0ea0a2fdd15effbc1e637466e5" - integrity sha512-z0F571S95ZKES452sLyFSfUtQrvcW5OgZVCFq7D6gKReonTflgzdD6dcs27HbjUPXwTaXR9lzGFrA3mUd2K6uw== +did-resolver@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/did-resolver/-/did-resolver-3.1.0.tgz#84f0e3d16abe9711dc04c34a5a0e2f63868c9611" + integrity sha512-uf3/4LfHoDn3Ek8bFegO72OemHMytBhAkud6CA1HlB5I0iVwrCpG4oh+DA6DXUuBdhrA0cY4cGz1D0VNDTlgnw== diff-sequences@^27.0.6: version "27.0.6" @@ -4430,6 +4512,11 @@ emittery@^0.8.1: resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -4584,45 +4671,87 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= +ethereum-cryptography@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== + dependencies: + "@types/pbkdf2" "^3.0.0" + "@types/secp256k1" "^4.0.1" + blakejs "^1.1.0" + browserify-aes "^1.2.0" + bs58check "^2.1.2" + create-hash "^1.2.0" + create-hmac "^1.1.7" + hash.js "^1.1.7" + keccak "^3.0.0" + pbkdf2 "^3.0.17" + randombytes "^2.1.0" + safe-buffer "^5.1.2" + scrypt-js "^3.0.0" + secp256k1 "^4.0.1" + setimmediate "^1.0.5" + +ethereumjs-util@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69" + integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw== + dependencies: + "@types/bn.js" "^4.11.3" + bn.js "^4.11.0" + create-hash "^1.1.2" + elliptic "^6.5.2" + ethereum-cryptography "^0.1.3" + ethjs-util "0.1.6" + rlp "^2.2.3" + +ethjs-util@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" + integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== + dependencies: + is-hex-prefixed "1.0.0" + strip-hex-prefix "1.0.0" + ethr-did-registry@^0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/ethr-did-registry/-/ethr-did-registry-0.0.3.tgz#f363d2c73cb9572b57bd7a5c9c90c88485feceb5" integrity sha512-4BPvMGkxAK9vTduCq6D5b8ZqjteD2cvDIPPriXP6nnmPhWKFSxypo+AFvyQ0omJGa0cGTR+dkdI/8jiF7U/qaw== -ethr-did-resolver@4.3.4, ethr-did-resolver@^4.3.3: - version "4.3.4" - resolved "https://registry.yarnpkg.com/ethr-did-resolver/-/ethr-did-resolver-4.3.4.tgz#f3e9e51a450abb0fe77d12fa36e9f120b5b94f6b" - integrity sha512-xx9rjjBf8t2pSUyciDDXv99D66YIpKH29bufbEYyOds6IJSa5C7xeql4MSYz6zNtAAtvNoj9AYhg6FbBkeQmxg== - dependencies: - "@ethersproject/abi" "^5.1.0" - "@ethersproject/abstract-signer" "^5.1.0" - "@ethersproject/address" "^5.1.0" - "@ethersproject/basex" "^5.1.0" - "@ethersproject/bignumber" "^5.1.0" - "@ethersproject/contracts" "^5.1.0" - "@ethersproject/providers" "^5.1.0" - "@ethersproject/transactions" "^5.1.0" - did-resolver "^3.1.0" +ethr-did-resolver@5.0.2, ethr-did-resolver@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/ethr-did-resolver/-/ethr-did-resolver-5.0.2.tgz#6196df7ef4267feca67402f8d84c945493741dfd" + integrity sha512-Mtlcu/5JLdJ+eQv4SX61iWfBgL474yW2qnHu15A9Yz9y7iVH411VkMpljvkGEwtDCTQM3WXmpPDXBxeZwcPqPg== + dependencies: + "@ethersproject/abi" "^5.5.0" + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/basex" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/contracts" "^5.5.0" + "@ethersproject/providers" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + did-resolver "^3.1.3" ethr-did-registry "^0.0.3" querystring "^0.2.1" -ethr-did@2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/ethr-did/-/ethr-did-2.1.4.tgz#62fec99511cb6c35c4fa5f9fd2daf84ac9700911" - integrity sha512-k+Fc+Ko1UrFslElhkztDOcNfD2nHO2CX2TJXpFNDcfyPO06AV4bUNOqDjciXUNr2qAMfDJefA5pER6N/9bkH6A== - dependencies: - "@ethersproject/abstract-signer" "^5.1.0" - "@ethersproject/base64" "^5.1.0" - "@ethersproject/basex" "^5.1.0" - "@ethersproject/bytes" "^5.1.0" - "@ethersproject/providers" "^5.1.2" - "@ethersproject/signing-key" "^5.1.0" - "@ethersproject/strings" "^5.1.0" - "@ethersproject/transactions" "^5.1.1" - "@ethersproject/wallet" "^5.1.0" - did-jwt "^5.4.0" - did-resolver "^3.1.0" - ethr-did-resolver "^4.3.3" +ethr-did@2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/ethr-did/-/ethr-did-2.1.5.tgz#b8d0d2cae43edfb8bbb87ec2892dfe85a19d77a1" + integrity sha512-Q9CWn3iKm9zACPspUWq0CyJNagYx39ZVwjv4x/2+XwwG9fvpfPvJKFL016qe8SRHyE+3GuGKDP1X4HZxlChtGw== + dependencies: + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/base64" "^5.5.0" + "@ethersproject/basex" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/providers" "^5.5.0" + "@ethersproject/signing-key" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/wallet" "^5.5.0" + did-jwt "^5.11.1" + did-resolver "^3.1.3" + ethr-did-resolver "^5.0.2" eventemitter3@^4.0.4: version "4.0.7" @@ -4634,6 +4763,14 @@ events@^3.2.0: resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== +evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -4903,6 +5040,13 @@ find-up@^2.0.0: dependencies: locate-path "^2.0.0" +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -5041,6 +5185,15 @@ fuzzy@^0.1.3: resolved "https://registry.yarnpkg.com/fuzzy/-/fuzzy-0.1.3.tgz#4c76ec2ff0ac1a36a9dccf9a00df8623078d4ed8" integrity sha1-THbsL/CsGjap3M+aAN+GIweNTtg= +ganache-cli@^6.12.2: + version "6.12.2" + resolved "https://registry.yarnpkg.com/ganache-cli/-/ganache-cli-6.12.2.tgz#c0920f7db0d4ac062ffe2375cb004089806f627a" + integrity sha512-bnmwnJDBDsOWBUP8E/BExWf85TsdDEFelQSzihSJm9VChVO1SHp94YXLP5BlA4j/OTxp0wR4R1Tje9OHOuAJVw== + dependencies: + ethereumjs-util "6.2.1" + source-map-support "0.5.12" + yargs "13.2.4" + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -5060,7 +5213,7 @@ gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@^2.0.5: +get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== @@ -5315,7 +5468,16 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== @@ -5666,6 +5828,11 @@ into-stream@^6.0.0: from2 "^2.3.0" p-is-promise "^3.0.0" +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== + ip-regex@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" @@ -5770,6 +5937,11 @@ is-glob@^4.0.1: dependencies: is-extglob "^2.1.1" +is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= + is-interactive@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" @@ -6414,12 +6586,7 @@ jju@~1.4.0: resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo= -js-sha3@0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" - integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= - -js-sha3@^0.8.0: +js-sha3@0.8.0, js-sha3@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== @@ -6616,6 +6783,15 @@ just-diff@^3.0.1: resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-3.1.1.tgz#d50c597c6fd4776495308c63bdee1b6839082647" integrity sha512-sdMWKjRq8qWZEjDcVA6llnUT8RDEBIfOiGpYFPYa9u+2c39JCsejktSP7mj5eRid5EIvTzIpQ2kDOCw1Nq9BjQ== +keccak@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0" + integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" @@ -6626,6 +6802,13 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== + dependencies: + invert-kv "^2.0.0" + lerna-changelog@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/lerna-changelog/-/lerna-changelog-2.1.0.tgz#71208c121648e345877b64edef275b0d6f0c211b" @@ -6820,6 +7003,14 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -7015,6 +7206,13 @@ makeerror@1.0.x: dependencies: tmpl "1.0.x" +map-age-cleaner@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + map-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" @@ -7042,11 +7240,29 @@ marked@^2.0.0: resolved "https://registry.yarnpkg.com/marked/-/marked-2.1.3.tgz#bd017cef6431724fd4b27e0657f5ceb14bff3753" integrity sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA== +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= +mem@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" + integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^2.0.0" + p-is-promise "^2.0.0" + meow@^7.0.0: version "7.1.1" resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" @@ -7136,7 +7352,7 @@ mimic-fn@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== -mimic-fn@^2.1.0: +mimic-fn@^2.0.0, mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== @@ -7332,16 +7548,16 @@ multicodec@^3.0.0: uint8arrays "^2.1.5" varint "^6.0.0" +multiformats@^9.4.10: + version "9.4.10" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.4.10.tgz#d654d06b28cc066506e4e59b246d65267fb6b93b" + integrity sha512-BwWGvgqB/5J/cnWaOA0sXzJ+UGl+kyFAw3Sw1L6TN4oad34C9OpW+GCpYTYPDp4pUaXDC1EjvB3yv9Iodo1EhA== + multiformats@^9.4.2: version "9.4.5" resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.4.5.tgz#9ac47bbc87aadb09d4bd05e9cd3da6f4436414f6" integrity sha512-zQxukxsHM34EJi3yT3MkUlycY9wEouyrAz0PSN+CyCj6cYchJZ4LrTH74YtlsxVyAK6waz/gnVLmJwi3P0knKg== -multiformats@^9.4.8: - version "9.4.8" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.4.8.tgz#46f74ec116f7871f2a334cc6d4ad3d810dbac341" - integrity sha512-EOJL02/kv+FD5hoItMhKgkYUUruJYMYFq4NQ6YkCh3jVQ5CuHo+OKdHeR50hAxEQmXQ9yvrM9BxLIk42xtfwnQ== - multimatch@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-4.0.0.tgz#8c3c0f6e3e8449ada0af3dd29efb491a375191b3" @@ -7997,6 +8213,15 @@ os-homedir@^1.0.0: resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= +os-locale@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== + dependencies: + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" + os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -8010,6 +8235,11 @@ osenv@0, osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + p-each-series@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" @@ -8027,6 +8257,11 @@ p-finally@^1.0.0: resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= +p-is-promise@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + p-is-promise@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-3.0.0.tgz#58e78c7dfe2e163cf2a04ff869e7c1dba64a5971" @@ -8039,7 +8274,7 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.2.0: +p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== @@ -8053,6 +8288,13 @@ p-locate@^2.0.0: dependencies: p-limit "^1.1.0" +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" @@ -8317,6 +8559,17 @@ pause@0.0.1: resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d" integrity sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10= +pbkdf2@^3.0.17: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + 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" + performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -8667,6 +8920,13 @@ quickly-copy-file@^1.0.0: dependencies: mkdirp "~0.5.0" +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" @@ -8803,7 +9063,7 @@ read@1, read@^1.0.7, read@~1.0.1, read@~1.0.7: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.4.0: +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -8890,6 +9150,11 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" @@ -8990,6 +9255,21 @@ rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rlp@^2.2.3: + version "2.2.7" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" + integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== + dependencies: + bn.js "^5.2.0" + rsvp@^3.5.0: version "3.6.2" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" @@ -9050,7 +9330,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -9077,12 +9357,12 @@ saxes@^5.0.1: dependencies: xmlchars "^2.2.0" -scrypt-js@3.0.1: +scrypt-js@3.0.1, scrypt-js@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== -secp256k1@^4.0.2: +secp256k1@^4.0.1, secp256k1@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.2.tgz#15dd57d0f0b9fdb54ac1fa1694f40e5e9a54f4a1" integrity sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg== @@ -9188,7 +9468,7 @@ serve-static@1.14.1: parseurl "~1.3.3" send "0.17.1" -set-blocking@~2.0.0: +set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= @@ -9203,7 +9483,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.11: +sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8: version "2.4.11" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== @@ -9337,6 +9617,14 @@ sort-keys@^4.0.0: dependencies: is-plain-obj "^2.0.0" +source-map-support@0.5.12: + version "0.5.12" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" + integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + source-map-support@^0.5.19, source-map-support@^0.5.6: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" @@ -9524,6 +9812,15 @@ string-width@^1.0.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + string-width@^4.1.0, string-width@^4.2.0: version "4.2.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" @@ -9582,6 +9879,13 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + strip-ansi@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" @@ -9609,6 +9913,13 @@ strip-final-newline@^2.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== +strip-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + integrity sha1-DF8VX+8RUTczd96du1iNoFUA428= + dependencies: + is-hex-prefixed "1.0.0" + strip-indent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" @@ -10154,10 +10465,10 @@ uid-number@0.0.6: resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" integrity sha1-DqEOgDXo61uOREnwbaHHMGY7qoE= -uint8arrays@2.1.10: - version "2.1.10" - resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-2.1.10.tgz#34d023c843a327c676e48576295ca373c56e286a" - integrity sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A== +uint8arrays@3.0.0, uint8arrays@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.0.0.tgz#260869efb8422418b6f04e3fac73a3908175c63b" + integrity sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA== dependencies: multiformats "^9.4.2" @@ -10168,13 +10479,6 @@ uint8arrays@^2.1.5: dependencies: multibase "^4.0.1" -uint8arrays@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.0.0.tgz#260869efb8422418b6f04e3fac73a3908175c63b" - integrity sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA== - dependencies: - multiformats "^9.4.2" - umask@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" @@ -10376,21 +10680,13 @@ wcwidth@^1.0.0, wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -web-did-resolver@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/web-did-resolver/-/web-did-resolver-2.0.4.tgz#5a26cc96b1c6924191687ecc8cdb2ce5ef66805b" - integrity sha512-PORpoA4P0I3m0cLJX2IIDZ0gMKgC1PjS8DuDeg9/JCdIlFiXrZCyTG1hxvw4a4vhDKr0sZKSZL1pQDXTgqLm8w== - dependencies: - cross-fetch "^3.1.2" - did-resolver "^3.1.0" - -web-did-resolver@2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/web-did-resolver/-/web-did-resolver-2.0.7.tgz#caab60c6d37cd3c0e563da8918cbe27b51710935" - integrity sha512-/wCbUt9O5H+mpkWuQDGGMr9vaNm2TEamKOFf5RoGkEhLzb6zRqS0H+mHtqSk5U1JEknSviomqkEhp7XM7jMleQ== +web-did-resolver@2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/web-did-resolver/-/web-did-resolver-2.0.8.tgz#9863cb873b10667a72673f571fa48e6bcecc3e11" + integrity sha512-K85NgK3nto5awjBX/5uD9+ZSIMbWIqUoD64G+5NC9EU0OgtV81YcS/++oWVmkOZoH/MVYGLuqajQBx3pQOa29w== dependencies: cross-fetch "^3.1.2" - did-resolver "^3.1.0" + did-resolver "^3.1.3" web-streams-polyfill@^3.0.3: version "3.1.0" @@ -10450,6 +10746,11 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + which@1, which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -10489,6 +10790,15 @@ wordwrapjs@^3.0.0: reduce-flatten "^1.0.1" typical "^2.6.1" +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" @@ -10603,6 +10913,11 @@ xtend@^4.0.0, xtend@~4.0.1: resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" @@ -10642,6 +10957,14 @@ yargs-parser@20.x, yargs-parser@^20.2.2, yargs-parser@^20.2.3: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== +yargs-parser@^13.1.0: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^18.1.3: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" @@ -10650,6 +10973,23 @@ yargs-parser@^18.1.3: camelcase "^5.0.0" decamelize "^1.2.0" +yargs@13.2.4: + version "13.2.4" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83" + integrity sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + os-locale "^3.1.0" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.0" + yargs@^16.0.0, yargs@^16.0.3, yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"