From beda14ffae493cd69dec4ceb92d18576f44506b3 Mon Sep 17 00:00:00 2001 From: lukeg90 Date: Tue, 30 Jan 2024 12:00:42 +0100 Subject: [PATCH] KILT SDK 1.0.0-alpha --- package.json | 10 +- scripts/loadTest/apis.ts | 11 +- scripts/loadTest/encryptedMessage.ts | 44 +- scripts/loadTest/loadTest.ts | 76 +- .../didConfiguration/didConfigResource.ts | 60 +- .../didConfiguration/domainLinkageCType.ts | 57 -- .../domainLinkageCredential.ts | 70 -- src/backend/discord/confirmDiscord.ts | 6 +- src/backend/discord/discordCType.ts | 5 +- src/backend/email/confirmEmail.ts | 3 +- src/backend/email/emailCType.ts | 5 +- src/backend/email/sendEmail.ts | 2 +- src/backend/endpoints/attest.ts | 3 +- src/backend/endpoints/confirm.ts | 4 +- src/backend/endpoints/quote.ts | 3 +- src/backend/endpoints/requestAttestation.ts | 5 +- src/backend/endpoints/session.ts | 45 +- src/backend/github/confirmGithub.ts | 6 +- src/backend/github/githubCType.ts | 6 +- src/backend/revoker/batchQueryRevoked.ts | 10 +- .../revoker/getExpiredAttestations.test.ts | 6 +- src/backend/revoker/scanAttestations.test.ts | 6 +- src/backend/revoker/scanAttestations.ts | 8 +- src/backend/revoker/subScan.ts | 4 +- src/backend/server.ts | 2 - src/backend/telegram/confirmTelegram.ts | 3 +- src/backend/telegram/telegramCType.ts | 5 +- src/backend/twitch/confirmTwitch.ts | 6 +- src/backend/twitch/twitchCType.ts | 5 +- src/backend/twitter/claimTwitter.ts | 2 +- src/backend/twitter/confirmTwitter.ts | 2 +- src/backend/twitter/twitterCType.ts | 5 +- src/backend/utilities/attestClaim.ts | 13 +- .../batchSignAndSubmitAttestation.ts | 24 +- src/backend/utilities/cTypeIsStored.ts | 5 +- src/backend/utilities/configuration.ts | 5 +- src/backend/utilities/cryptoCallbacks.ts | 37 +- src/backend/utilities/decryptMessage.ts | 13 +- src/backend/utilities/encryptMessage.ts | 15 +- src/backend/utilities/fullDid.ts | 114 ++- src/backend/utilities/isDidResourceUri.ts | 10 - src/backend/utilities/isDidUrl.ts | 12 + src/backend/utilities/keypairs.ts | 11 +- src/backend/utilities/reportBalance.ts | 5 +- src/backend/utilities/sessionStorage.ts | 22 +- src/backend/utilities/signAndSubmit.ts | 16 +- src/backend/utilities/supportedCTypes.ts | 2 +- .../utilities/validateEncryptedMessage.ts | 9 +- src/backend/verifier/rejectAttestation.ts | 2 +- src/backend/verifier/requestCredential.ts | 4 +- src/backend/verifier/verify.ts | 13 +- src/backend/youtube/confirmYoutube.ts | 6 +- src/backend/youtube/youtubeCType.ts | 6 +- .../OAuthTemplate/useOAuthState.test.tsx | 3 +- .../components/OAuthTemplate/useOAuthState.ts | 3 +- src/frontend/utilities/session.ts | 7 +- src/frontend/views/Email/Email.test.tsx | 3 +- src/frontend/views/Email/Email.tsx | 3 +- src/frontend/views/Telegram/Telegram.test.tsx | 3 +- src/frontend/views/Telegram/Telegram.tsx | 3 +- src/frontend/views/Twitter/Twitter.test.tsx | 3 +- src/frontend/views/Twitter/Twitter.tsx | 3 +- src/frontend/views/Youtube/Youtube.test.tsx | 3 +- src/frontend/views/Youtube/Youtube.tsx | 3 +- yarn.lock | 826 +++++------------- 65 files changed, 660 insertions(+), 1032 deletions(-) delete mode 100644 src/backend/didConfiguration/domainLinkageCType.ts delete mode 100644 src/backend/didConfiguration/domainLinkageCredential.ts delete mode 100644 src/backend/utilities/isDidResourceUri.ts create mode 100644 src/backend/utilities/isDidUrl.ts diff --git a/package.json b/package.json index 81ecb08b1..c714e4d22 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,14 @@ "@hapi/boom": "^10.0.1", "@hapi/hapi": "^21.3.2", "@hapi/inert": "^7.1.0", - "@kiltprotocol/sdk-js": "^0.34.0", - "@kiltprotocol/vc-export": "^0.34.0", + "@kiltprotocol/chain-helpers": "0.100.0-alpha.1", + "@kiltprotocol/credentials": "0.100.0-alpha.1", + "@kiltprotocol/did": "0.100.0-alpha.1", + "@kiltprotocol/extension-api": "KILTprotocol/kilt-extension-api#rf-sdk-1-alpha", + "@kiltprotocol/legacy-credentials": "0.100.0-alpha.1", + "@kiltprotocol/sdk-js": "1.0.0-alpha.1", + "@kiltprotocol/types": "0.100.0-alpha.1", + "@kiltprotocol/utils": "0.100.0-alpha.1", "@polkadot/keyring": "^12.6.2", "@polkadot/util": "^12.6.2", "@polkadot/util-crypto": "^12.6.2", diff --git a/scripts/loadTest/apis.ts b/scripts/loadTest/apis.ts index 3cc1c83c2..17e722b62 100644 --- a/scripts/loadTest/apis.ts +++ b/scripts/loadTest/apis.ts @@ -1,15 +1,16 @@ -import got from 'got'; +import type { DidUrl } from '@kiltprotocol/types'; +import type { IEncryptedMessage } from '@kiltprotocol/extension-api/types'; -import { DidResourceUri, IEncryptedMessage } from '@kiltprotocol/sdk-js'; +import got from 'got'; -import { CheckSessionInput } from './loadTest'; +import { Challenge } from './loadTest'; const sessionHeader = 'x-session-id'; const api = got.extend({ prefixUrl: process.env.URL }); export async function getSessionFromEndpoint(): Promise<{ - dAppEncryptionKeyUri: DidResourceUri; + dAppEncryptionKeyUri: DidUrl; sessionId: string; challenge: string; }> { @@ -17,7 +18,7 @@ export async function getSessionFromEndpoint(): Promise<{ } export async function checkSession( - encryptionChallenge: CheckSessionInput, + encryptionChallenge: Challenge, sessionId: string, ) { await api diff --git a/scripts/loadTest/encryptedMessage.ts b/scripts/loadTest/encryptedMessage.ts index 6df8d96de..72e4a2513 100644 --- a/scripts/loadTest/encryptedMessage.ts +++ b/scripts/loadTest/encryptedMessage.ts @@ -1,23 +1,23 @@ -import { - Credential, - Did, - DidResourceUri, - IRequestAttestation, +import type { + DidUrl, KiltEncryptionKeypair, - Message, PartialClaim, -} from '@kiltprotocol/sdk-js'; +} from '@kiltprotocol/types'; +import type { IRequestAttestation } from '@kiltprotocol/extension-api/types'; -import { naclSeal } from '@polkadot/util-crypto'; +import { parse } from '@kiltprotocol/did'; +import * as Message from '@kiltprotocol/extension-api/messaging'; +import { Credential as LegacyCredential } from '@kiltprotocol/legacy-credentials'; +import { Crypto } from '@kiltprotocol/utils'; export async function getEncryptedMessage( claim: PartialClaim & Required>, - dAppEncryptionKeyUri: DidResourceUri, - keyAgreementKeyUri: DidResourceUri, - keyAgreement: KiltEncryptionKeypair, + receiverEncryptionKeyUri: DidUrl, + senderEncryptionKeyUri: DidUrl, + senderKeypair: KiltEncryptionKeypair, ) { - const owner = Did.parse(keyAgreementKeyUri).did; - const credential = Credential.fromClaim({ ...claim, owner }); + const sender = parse(senderEncryptionKeyUri).did; + const credential = LegacyCredential.fromClaim({ ...claim, owner: sender }); const requestForAttestationBody: IRequestAttestation = { content: { credential }, @@ -26,17 +26,21 @@ export async function getEncryptedMessage( const message = Message.fromBody( requestForAttestationBody, - owner, - Did.parse(dAppEncryptionKeyUri).did, + sender, + parse(receiverEncryptionKeyUri).did, ); return Message.encrypt( message, - async function decrypt({ data, peerPublicKey }) { - const { secretKey } = keyAgreement; - const { sealed, nonce } = naclSeal(data, secretKey, peerPublicKey); - return { nonce, data: sealed, keyUri: keyAgreementKeyUri }; + async function encrypt({ data, peerPublicKey }) { + const { secretKey } = senderKeypair; + const { nonce, box } = Crypto.encryptAsymmetric( + data, + peerPublicKey, + secretKey, + ); + return { nonce, data: box, keyUri: senderEncryptionKeyUri }; }, - dAppEncryptionKeyUri, + receiverEncryptionKeyUri, ); } diff --git a/scripts/loadTest/loadTest.ts b/scripts/loadTest/loadTest.ts index d0ce6cfb3..b07369fb8 100644 --- a/scripts/loadTest/loadTest.ts +++ b/scripts/loadTest/loadTest.ts @@ -1,16 +1,20 @@ -import { naclSeal, randomAsNumber } from '@polkadot/util-crypto'; -import { HexString } from '@polkadot/util/types'; -import { - connect, - CType, - Did, +import type { DidDocument, - DidEncryptionKey, - DidResourceUri, - disconnect, + DidUrl, ICType, - Utils, -} from '@kiltprotocol/sdk-js'; + VerificationMethod, +} from '@kiltprotocol/types'; + +import { DidResolver, connect, disconnect } from '@kiltprotocol/sdk-js'; +import { Crypto } from '@kiltprotocol/utils'; +import { CType } from '@kiltprotocol/credentials'; +import { + createLightDidDocument, + isFailedDereferenceMetadata, + multibaseKeyToDidKey, +} from '@kiltprotocol/did'; + +import { randomAsNumber } from '@polkadot/util-crypto'; import { getEncryptedMessage } from './encryptedMessage.js'; import { @@ -24,10 +28,10 @@ import { sendEmailApi, } from './apis.js'; -export type CheckSessionInput = { - encryptionKeyUri: DidResourceUri; - encryptedChallenge: HexString; - nonce: HexString; +export type Challenge = { + encryptionKeyUri: DidUrl; + encryptedChallenge: string; + nonce: string; }; const emailCType: ICType = { @@ -42,8 +46,8 @@ const emailCType: ICType = { type: 'object', }; -function getDidEncryptionKey(details: DidDocument): DidEncryptionKey { - const { keyAgreement } = details; +function getDidEncryptionKey(document: DidDocument) { + const { keyAgreement } = document; if (!keyAgreement?.[0]) { throw new Error('encryptionKey is not defined somehow'); } @@ -51,15 +55,15 @@ function getDidEncryptionKey(details: DidDocument): DidEncryptionKey { } export function createDid() { - const authentication = Utils.Crypto.makeKeypairFromSeed(); - const keyAgreement = Utils.Crypto.makeEncryptionKeypairFromSeed(); + const authentication = Crypto.makeKeypairFromSeed(); + const keyAgreement = Crypto.makeEncryptionKeypairFromSeed(); - const document = Did.createLightDidDocument({ + const document = createLightDidDocument({ authentication: [authentication], keyAgreement: [keyAgreement], }); - const { id } = getDidEncryptionKey(document); - const keyAgreementKeyUri: DidResourceUri = `${document.uri}${id}`; + const fragment = getDidEncryptionKey(document); + const keyAgreementKeyUri = `${document.id}${fragment}` as DidUrl; return { document, @@ -70,23 +74,33 @@ export function createDid() { async function produceEncryptedChallenge( challenge: string, - dAppEncryptionKeyUri: DidResourceUri, -): Promise { - const dAppEncryptionDidKey = await Did.resolveKey(dAppEncryptionKeyUri); - + receiverKeyUri: DidUrl, +): Promise { const temporaryChannelDid = createDid(); const { keyAgreementKeyUri, keyAgreement } = temporaryChannelDid; - const { sealed, nonce } = naclSeal( - Utils.Crypto.coToUInt8(challenge), + const { dereferencingMetadata, contentStream } = + await DidResolver.dereference(receiverKeyUri, {}); + + if (isFailedDereferenceMetadata(dereferencingMetadata)) { + throw new Error(dereferencingMetadata.error); + } + + const verificationMethod = contentStream as VerificationMethod; + const { publicKey } = multibaseKeyToDidKey( + verificationMethod.publicKeyMultibase, + ); + + const { nonce, box } = Crypto.encryptAsymmetricAsStr( + Crypto.coToUInt8(challenge), + publicKey, keyAgreement.secretKey, - dAppEncryptionDidKey.publicKey, ); return { encryptionKeyUri: keyAgreementKeyUri, - encryptedChallenge: Utils.Crypto.u8aToHex(sealed), - nonce: Utils.Crypto.u8aToHex(nonce), + encryptedChallenge: box, + nonce, }; } diff --git a/src/backend/didConfiguration/didConfigResource.ts b/src/backend/didConfiguration/didConfigResource.ts index 9295bc845..8858c8934 100644 --- a/src/backend/didConfiguration/didConfigResource.ts +++ b/src/backend/didConfiguration/didConfigResource.ts @@ -1,60 +1,32 @@ import { - Claim, - Credential, - ICredentialPresentation, -} from '@kiltprotocol/sdk-js'; + createCredential, + didConfigResourceFromCredentials, +} from '@kiltprotocol/extension-api/wellKnownDidConfiguration'; import { configuration } from '../utilities/configuration'; -import { fullDidPromise } from '../utilities/fullDid'; -import { signWithAssertionMethod } from '../utilities/cryptoCallbacks'; +import { + fullDidPromise, + getAssertionMethodSigners, +} from '../utilities/fullDid'; import { exitOnError } from '../utilities/exitOnError'; -import { domainLinkageCType } from './domainLinkageCType'; -import { fromCredential } from './domainLinkageCredential'; - -async function attestDomainLinkage(): Promise { - const claimContents = { - id: configuration.did, - origin: configuration.baseUri, - }; +export const didConfigResourcePromise = (async () => { + await fullDidPromise; if (configuration.did === 'pending') { throw new Error('Own DID not found'); } - const claim = Claim.fromCTypeAndClaimContents( - domainLinkageCType, - claimContents, + const signers = await getAssertionMethodSigners(); + + const domainLinkageCredential = await createCredential( + signers, + configuration.baseUri, configuration.did, + { proofType: 'KILTSelfSigned2020' }, ); - const credential = Credential.fromClaim(claim); - - const { fullDid } = await fullDidPromise; - - const attestationKey = fullDid.assertionMethod?.[0]; - if (!attestationKey) { - throw new Error('The attestation key is not defined?!?'); - } - - return Credential.createPresentation({ - credential, - // the domain linkage credential is special in that it is signed with the assertionMethod key - signCallback: signWithAssertionMethod, - }); -} - -export const didConfigResourcePromise = (async () => { - await fullDidPromise; - - const credential = await attestDomainLinkage(); - - const domainLinkageCredential = fromCredential(credential); - - return { - '@context': 'https://identity.foundation/.well-known/did-configuration/v1', - linked_dids: [domainLinkageCredential], - }; + return didConfigResourceFromCredentials([domainLinkageCredential]); })(); didConfigResourcePromise.catch(exitOnError); diff --git a/src/backend/didConfiguration/domainLinkageCType.ts b/src/backend/didConfiguration/domainLinkageCType.ts deleted file mode 100644 index 1f70c432d..000000000 --- a/src/backend/didConfiguration/domainLinkageCType.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { ConfigService, CType, ICType } from '@kiltprotocol/sdk-js'; - -import { signAndSubmit } from '../utilities/signAndSubmit'; -import { logger } from '../utilities/logger'; -import { configuration } from '../utilities/configuration'; -import { cTypeIsStored } from '../utilities/cTypeIsStored'; - -/** Run this function once to store the CType */ -export async function testDomainLinkageCType(): Promise { - const draft = CType.fromProperties( - 'Domain Linkage Credential', - { - id: { - type: 'string', - }, - origin: { - type: 'string', - }, - }, - 'draft-01', - ); - - if (await cTypeIsStored(draft)) { - if (configuration.storeDidAndCTypes) { - logger.info('Domain Linkage CType is already on the blockchain'); - } - return; - } - - if (!configuration.storeDidAndCTypes) { - throw new Error('Domain Linkage CType missing, cannot add it'); - } - - logger.warn('Storing Domain Linkage CType on the blockchain'); - - const api = ConfigService.get('api'); - const tx = api.tx.ctype.add(CType.toChain(draft)); - await signAndSubmit(tx); - - logger.warn(draft, 'Domain linkage CType'); -} - -// This object was logged by storeDomainLinkageCType() -export const domainLinkageCType: ICType = { - $schema: 'http://kilt-protocol.org/draft-01/ctype#', - title: 'Domain Linkage Credential', - properties: { - id: { - type: 'string', - }, - origin: { - type: 'string', - }, - }, - type: 'object', - $id: 'kilt:ctype:0x9d271c790775ee831352291f01c5d04c7979713a5896dcf5e81708184cc5c643', -}; diff --git a/src/backend/didConfiguration/domainLinkageCredential.ts b/src/backend/didConfiguration/domainLinkageCredential.ts deleted file mode 100644 index 7062f5b0b..000000000 --- a/src/backend/didConfiguration/domainLinkageCredential.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { IClaimContents, ICredentialPresentation } from '@kiltprotocol/sdk-js'; -import { - constants, - Proof, - VerifiableCredential, -} from '@kiltprotocol/vc-export'; - -const { - DEFAULT_VERIFIABLECREDENTIAL_CONTEXT, - DEFAULT_VERIFIABLECREDENTIAL_TYPE, - KILT_SELF_SIGNED_PROOF_TYPE, - KILT_VERIFIABLECREDENTIAL_TYPE, -} = constants; - -const context = [ - DEFAULT_VERIFIABLECREDENTIAL_CONTEXT, - 'https://identity.foundation/.well-known/did-configuration/v1', -]; - -interface DomainLinkageCredential - extends Omit< - VerifiableCredential, - '@context' | 'id' | 'legitimationIds' | 'credentialSubject' | 'proof' - > { - '@context': typeof context; - credentialSubject: IClaimContents; - proof: Proof; -} - -export function fromCredential( - input: ICredentialPresentation, -): DomainLinkageCredential { - const credentialSubject = { - ...input.claim.contents, - rootHash: input.rootHash, - }; - const issuer = input.claim.owner; - - // add current date bc we have no issuance date on credential - // TODO: could we get this from block time or something? - const issuanceDate = new Date().toISOString(); - const expirationDate = new Date( - Date.now() + 1000 * 60 * 60 * 24 * 365 * 5, - ).toISOString(); // 5 years - - const { claimerSignature } = input; - - // add self-signed proof - const proof = { - type: KILT_SELF_SIGNED_PROOF_TYPE, - proofPurpose: 'assertionMethod', - verificationMethod: claimerSignature.keyUri, - signature: claimerSignature.signature, - challenge: claimerSignature.challenge, - }; - - return { - '@context': context, - issuer, - issuanceDate, - expirationDate, - type: [ - DEFAULT_VERIFIABLECREDENTIAL_TYPE, - 'DomainLinkageCredential', - KILT_VERIFIABLECREDENTIAL_TYPE, - ], - credentialSubject, - proof, - }; -} diff --git a/src/backend/discord/confirmDiscord.ts b/src/backend/discord/confirmDiscord.ts index 74047f6b9..35f146cda 100644 --- a/src/backend/discord/confirmDiscord.ts +++ b/src/backend/discord/confirmDiscord.ts @@ -1,7 +1,9 @@ +import type { Did } from '@kiltprotocol/types'; import type { BaseLogger } from 'pino'; import got from 'got'; -import { CType, DidUri } from '@kiltprotocol/sdk-js'; + +import { CType } from '@kiltprotocol/credentials'; import { configuration } from '../utilities/configuration'; import { ContentfulClaim } from '../utilities/sessionStorage'; @@ -17,7 +19,7 @@ export interface Output { export async function confirmDiscord( code: string, - did: DidUri, + did: Did, logger: BaseLogger, ) { logger.debug('Exchanging code for access token'); diff --git a/src/backend/discord/discordCType.ts b/src/backend/discord/discordCType.ts index 140c7575f..a8a8224ba 100644 --- a/src/backend/discord/discordCType.ts +++ b/src/backend/discord/discordCType.ts @@ -1,4 +1,7 @@ -import { ConfigService, CType, ICType } from '@kiltprotocol/sdk-js'; +import type { ICType } from '@kiltprotocol/types'; + +import { ConfigService } from '@kiltprotocol/sdk-js'; +import { CType } from '@kiltprotocol/credentials'; import { signAndSubmit } from '../utilities/signAndSubmit'; import { logger } from '../utilities/logger'; diff --git a/src/backend/email/confirmEmail.ts b/src/backend/email/confirmEmail.ts index cc17bb028..467c6b90a 100644 --- a/src/backend/email/confirmEmail.ts +++ b/src/backend/email/confirmEmail.ts @@ -5,9 +5,10 @@ import { ServerRoute, } from '@hapi/hapi'; import * as Boom from '@hapi/boom'; -import { CType } from '@kiltprotocol/sdk-js'; import { z } from 'zod'; +import { CType } from '@kiltprotocol/credentials'; + import { deleteSecret, getSessionBySecret, diff --git a/src/backend/email/emailCType.ts b/src/backend/email/emailCType.ts index c48d8b8cd..058456336 100644 --- a/src/backend/email/emailCType.ts +++ b/src/backend/email/emailCType.ts @@ -1,4 +1,7 @@ -import { ConfigService, CType, ICType } from '@kiltprotocol/sdk-js'; +import type { ICType } from '@kiltprotocol/types'; + +import { ConfigService } from '@kiltprotocol/sdk-js'; +import { CType } from '@kiltprotocol/credentials'; import { signAndSubmit } from '../utilities/signAndSubmit'; import { logger } from '../utilities/logger'; diff --git a/src/backend/email/sendEmail.ts b/src/backend/email/sendEmail.ts index 48f718eb0..23259c5d7 100644 --- a/src/backend/email/sendEmail.ts +++ b/src/backend/email/sendEmail.ts @@ -15,7 +15,7 @@ import * as Boom from '@hapi/boom'; import { RateLimiterMemory } from 'rate-limiter-flexible'; import { z } from 'zod'; -import { CType } from '@kiltprotocol/sdk-js'; +import { CType } from '@kiltprotocol/credentials'; import { configuration } from '../utilities/configuration'; import { diff --git a/src/backend/endpoints/attest.ts b/src/backend/endpoints/attest.ts index d7c8f201e..be4631c6f 100644 --- a/src/backend/endpoints/attest.ts +++ b/src/backend/endpoints/attest.ts @@ -1,4 +1,5 @@ -import { IEncryptedMessage } from '@kiltprotocol/sdk-js'; +import type { IEncryptedMessage } from '@kiltprotocol/extension-api/types'; + import { Request, ResponseObject, diff --git a/src/backend/endpoints/confirm.ts b/src/backend/endpoints/confirm.ts index 731033620..a9a01658b 100644 --- a/src/backend/endpoints/confirm.ts +++ b/src/backend/endpoints/confirm.ts @@ -1,4 +1,4 @@ -import type { DidUri } from '@kiltprotocol/sdk-js'; +import type { Did } from '@kiltprotocol/types'; import type { Request, ResponseObject, @@ -28,7 +28,7 @@ type ConfirmType = 'discord' | 'github' | 'twitch' | 'youtube'; const confirmationsForType: Record< ConfirmType, - (code: string, did: DidUri, logger: BaseLogger) => Promise + (code: string, did: Did, logger: BaseLogger) => Promise > = { github, discord, diff --git a/src/backend/endpoints/quote.ts b/src/backend/endpoints/quote.ts index e37561337..ca022e6be 100644 --- a/src/backend/endpoints/quote.ts +++ b/src/backend/endpoints/quote.ts @@ -1,3 +1,5 @@ +import type { IEncryptedMessage } from '@kiltprotocol/extension-api/types'; + import { Request, ResponseObject, @@ -5,7 +7,6 @@ import { ServerRoute, } from '@hapi/hapi'; import * as Boom from '@hapi/boom'; -import { IEncryptedMessage } from '@kiltprotocol/sdk-js'; import { z } from 'zod'; import { encryptMessageBody } from '../utilities/encryptMessage'; diff --git a/src/backend/endpoints/requestAttestation.ts b/src/backend/endpoints/requestAttestation.ts index 88fe1356c..12ed2433e 100644 --- a/src/backend/endpoints/requestAttestation.ts +++ b/src/backend/endpoints/requestAttestation.ts @@ -7,10 +7,11 @@ import type { import type { SupportedCType } from '../utilities/supportedCType'; import { StatusCodes } from 'http-status-codes'; -import { Credential } from '@kiltprotocol/sdk-js'; import { z } from 'zod'; import * as Boom from '@hapi/boom'; +import { Credential as LegacyCredential } from '@kiltprotocol/legacy-credentials'; + import { getSession, setSession } from '../utilities/sessionStorage'; import { validateEncryptedMessage } from '../utilities/validateEncryptedMessage'; import { decryptRequestAttestation } from '../utilities/decryptMessage'; @@ -49,7 +50,7 @@ async function handler( }; const ctype = supportedCTypes[type]; - Credential.verifyWellFormed(credential, { ctype }); + LegacyCredential.verifyWellFormed(credential, { ctype }); logger.debug(`Request attestation verified for ${type}`); setSession({ ...session, credential }); diff --git a/src/backend/endpoints/session.ts b/src/backend/endpoints/session.ts index 77812ae57..fea2d748f 100644 --- a/src/backend/endpoints/session.ts +++ b/src/backend/endpoints/session.ts @@ -1,3 +1,5 @@ +import type { DidUrl, VerificationMethod } from '@kiltprotocol/types'; + import { Request, ResponseObject, @@ -8,25 +10,32 @@ import * as Boom from '@hapi/boom'; import { z } from 'zod'; import { StatusCodes } from 'http-status-codes'; -import { Did, DidResourceUri, Utils } from '@kiltprotocol/sdk-js'; import { randomAsHex } from '@polkadot/util-crypto'; +import { DidResolver } from '@kiltprotocol/sdk-js'; + +import { + isFailedDereferenceMetadata, + multibaseKeyToDidKey, +} from '@kiltprotocol/did'; +import { Crypto } from '@kiltprotocol/utils'; + import { fullDidPromise } from '../utilities/fullDid'; import { decrypt } from '../utilities/cryptoCallbacks'; import { getBasicSession, setSession } from '../utilities/sessionStorage'; -import { isDidResourceUri } from '../utilities/isDidResourceUri'; +import { isDidUrl } from '../utilities/isDidUrl'; import { paths } from './paths'; const zodPayload = z.object({ - encryptionKeyUri: z.string().refine(isDidResourceUri), + encryptionKeyUri: z.string().refine(isDidUrl), encryptedChallenge: z.string(), nonce: z.string(), }); export interface GetSessionOutput { - dAppEncryptionKeyUri: DidResourceUri; + dAppEncryptionKeyUri: DidUrl; sessionId: string; challenge: string; } @@ -46,21 +55,29 @@ async function handler( const { encryptionKeyUri, encryptedChallenge, nonce } = payload; const session = getBasicSession(request.headers); - const encryptionKey = await Did.resolveKey(encryptionKeyUri); + const { dereferencingMetadata, contentStream } = + await DidResolver.dereference(encryptionKeyUri, {}); - logger.debug('Session confirmation resolved DID encryption key'); + if (isFailedDereferenceMetadata(dereferencingMetadata)) { + throw new Error(dereferencingMetadata.error); + } - const { keyAgreementKey, fullDid } = await fullDidPromise; + const verificationMethod = contentStream as VerificationMethod; + const { publicKey } = multibaseKeyToDidKey( + verificationMethod.publicKeyMultibase, + ); + + logger.debug('Session confirmation resolved DID encryption key'); const { data } = await decrypt({ - data: Utils.Crypto.coToUInt8(encryptedChallenge), - nonce: Utils.Crypto.coToUInt8(nonce), - keyUri: `${fullDid.uri}${keyAgreementKey.id}`, - peerPublicKey: encryptionKey.publicKey, + data: Crypto.coToUInt8(encryptedChallenge), + nonce: Crypto.coToUInt8(nonce), + peerPublicKey: publicKey, + keyUri: encryptionKeyUri, }); logger.debug('Session confirmation decrypted challenge'); - const decryptedChallenge = Utils.Crypto.u8aToHex(data); + const decryptedChallenge = Crypto.u8aToHex(data); const originalChallenge = session.didChallenge; if (decryptedChallenge !== originalChallenge) { @@ -69,7 +86,7 @@ async function handler( setSession({ ...session, - did: encryptionKey.controller, + did: verificationMethod.controller, encryptionKeyUri, didConfirmed: true, }); @@ -98,7 +115,7 @@ export const session: ServerRoute[] = [ path, handler: async () => { const { fullDid, keyAgreementKey } = await fullDidPromise; - const dAppEncryptionKeyUri: DidResourceUri = `${fullDid.uri}${keyAgreementKey.id}`; + const dAppEncryptionKeyUri: DidUrl = `${fullDid.id}${keyAgreementKey}`; return { dAppEncryptionKeyUri, ...startSession(), diff --git a/src/backend/github/confirmGithub.ts b/src/backend/github/confirmGithub.ts index 732c9f8f2..1e173f90e 100644 --- a/src/backend/github/confirmGithub.ts +++ b/src/backend/github/confirmGithub.ts @@ -1,7 +1,9 @@ +import type { Did } from '@kiltprotocol/types'; import type { BaseLogger } from 'pino'; import got from 'got'; -import { CType, DidUri } from '@kiltprotocol/sdk-js'; + +import { CType } from '@kiltprotocol/credentials'; import { configuration } from '../utilities/configuration'; import { ContentfulClaim } from '../utilities/sessionStorage'; @@ -16,7 +18,7 @@ export interface Output { export async function confirmGithub( code: string, - did: DidUri, + did: Did, logger: BaseLogger, ) { logger.debug('Exchanging code for access token'); diff --git a/src/backend/github/githubCType.ts b/src/backend/github/githubCType.ts index f8360d5cb..ecc301284 100644 --- a/src/backend/github/githubCType.ts +++ b/src/backend/github/githubCType.ts @@ -1,4 +1,8 @@ -import { ConfigService, CType, ICType } from '@kiltprotocol/sdk-js'; +import type { ICType } from '@kiltprotocol/types'; + +import { ConfigService } from '@kiltprotocol/sdk-js'; + +import { CType } from '@kiltprotocol/credentials'; import { signAndSubmit } from '../utilities/signAndSubmit'; import { logger } from '../utilities/logger'; diff --git a/src/backend/revoker/batchQueryRevoked.ts b/src/backend/revoker/batchQueryRevoked.ts index a7433c1f1..71391cac5 100644 --- a/src/backend/revoker/batchQueryRevoked.ts +++ b/src/backend/revoker/batchQueryRevoked.ts @@ -1,8 +1,8 @@ -import { - Attestation, - ConfigService, - type HexString, -} from '@kiltprotocol/sdk-js'; +import type { HexString } from '@kiltprotocol/types'; + +import { ConfigService } from '@kiltprotocol/sdk-js'; + +import { Attestation } from '@kiltprotocol/credentials'; import { initKilt } from '../utilities/initKilt'; diff --git a/src/backend/revoker/getExpiredAttestations.test.ts b/src/backend/revoker/getExpiredAttestations.test.ts index 8ab8c3091..7e19cd17e 100644 --- a/src/backend/revoker/getExpiredAttestations.test.ts +++ b/src/backend/revoker/getExpiredAttestations.test.ts @@ -1,9 +1,9 @@ /** * @jest-environment node */ +import type { Did } from '@kiltprotocol/types'; import { describe, it, expect, jest } from '@jest/globals'; -import { type DidUri } from '@kiltprotocol/sdk-js'; import { configuration } from '../utilities/configuration'; @@ -22,7 +22,7 @@ describe('getExpiredAttestations', () => { cTypeHash: '0x32', claimHash: '0x01', createdAt: new Date('2020-01-01'), - owner: configuration.did as DidUri, + owner: configuration.did as Did, delegationId: null, revoked: false, }; @@ -56,7 +56,7 @@ describe('getExpiredAttestations', () => { cTypeHash: '0x32', claimHash: '0x01', createdAt: new Date('2020-01-01'), - owner: configuration.did as DidUri, + owner: configuration.did as Did, delegationId: null, revoked: null, }; diff --git a/src/backend/revoker/scanAttestations.test.ts b/src/backend/revoker/scanAttestations.test.ts index 574bb9d65..6e17ec83e 100644 --- a/src/backend/revoker/scanAttestations.test.ts +++ b/src/backend/revoker/scanAttestations.test.ts @@ -1,9 +1,11 @@ /** * @jest-environment node */ +import type { HexString } from '@kiltprotocol/types'; import { describe, it, jest } from '@jest/globals'; -import { Did, type HexString } from '@kiltprotocol/sdk-js'; + +import { toChain } from '@kiltprotocol/did'; import { batchQueryRevoked } from './batchQueryRevoked'; import { subScanEventGenerator } from './subScan'; @@ -77,7 +79,7 @@ describe('scanAttestations', () => { blockTimestampMs: createdAt.getTime(), extrinsicHash: '0x01' as HexString, params: [ - { type_name: 'AttesterOf', value: Did.toChain(owner) }, + { type_name: 'AttesterOf', value: toChain(owner) }, { type_name: 'ClaimHashOf', value: '0x02' }, { type_name: 'CTypeHashOf', value: '0x03' }, { type_name: 'DelegationNodeIdOf', value: null }, diff --git a/src/backend/revoker/scanAttestations.ts b/src/backend/revoker/scanAttestations.ts index b719da937..4dbd1110a 100644 --- a/src/backend/revoker/scanAttestations.ts +++ b/src/backend/revoker/scanAttestations.ts @@ -1,4 +1,6 @@ -import { Did, type HexString, type IAttestation } from '@kiltprotocol/sdk-js'; +import type { HexString, IAttestation } from '@kiltprotocol/types'; + +import { fromChain } from '@kiltprotocol/did'; import { logger } from '../utilities/logger'; @@ -7,7 +9,7 @@ import { shouldBeRevoked } from './shouldBeExpired'; import { batchQueryRevoked } from './batchQueryRevoked'; export type EventParams = [ - { type_name: 'AttesterOf'; value: Parameters[0] }, + { type_name: 'AttesterOf'; value: Parameters[0] }, { type_name: 'ClaimHashOf'; value: HexString }, { type_name: 'CTypeHashOf'; value: HexString }, { type_name: 'DelegationNodeIdOf'; value: HexString | null }, @@ -52,7 +54,7 @@ export async function* scanAttestations() { fromBlock = block; const params = event.params as EventParams; - const owner = Did.fromChain(params[0].value); + const owner = fromChain(params[0].value); const claimHash = params[1].value; const cTypeHash = params[2].value; const delegationId = params[3].value; diff --git a/src/backend/revoker/subScan.ts b/src/backend/revoker/subScan.ts index 7414c37c8..18f3a42e2 100644 --- a/src/backend/revoker/subScan.ts +++ b/src/backend/revoker/subScan.ts @@ -1,6 +1,8 @@ +import type { HexString } from '@kiltprotocol/types'; + import got from 'got'; -import { ConfigService, type HexString } from '@kiltprotocol/sdk-js'; +import { ConfigService } from '@kiltprotocol/sdk-js'; import { configuration } from '../utilities/configuration'; import { logger } from '../utilities/logger'; diff --git a/src/backend/server.ts b/src/backend/server.ts index 43e4418b6..0be2c1dd3 100644 --- a/src/backend/server.ts +++ b/src/backend/server.ts @@ -7,7 +7,6 @@ import { getSecret } from './endpoints/getSecret'; import { fullDidPromise } from './utilities/fullDid'; import { testTwitterCType } from './twitter/twitterCType'; import { testEmailCType } from './email/emailCType'; -import { testDomainLinkageCType } from './didConfiguration/domainLinkageCType'; import { testDiscordCType } from './discord/discordCType'; import { testGithubCType } from './github/githubCType'; import { testTwitchCType } from './twitch/twitchCType'; @@ -112,7 +111,6 @@ const logger = { await fullDidPromise; server.logger.info('Blockchain connection initialized'); - await testDomainLinkageCType(); await testEmailCType(); await testTwitterCType(); await testDiscordCType(); diff --git a/src/backend/telegram/confirmTelegram.ts b/src/backend/telegram/confirmTelegram.ts index fc5424f7d..cb153d929 100644 --- a/src/backend/telegram/confirmTelegram.ts +++ b/src/backend/telegram/confirmTelegram.ts @@ -9,7 +9,8 @@ import type { import { z } from 'zod'; import * as Boom from '@hapi/boom'; -import { CType } from '@kiltprotocol/sdk-js'; + +import { CType } from '@kiltprotocol/credentials'; import { ContentfulClaim, diff --git a/src/backend/telegram/telegramCType.ts b/src/backend/telegram/telegramCType.ts index 996c88e31..44c22d47e 100644 --- a/src/backend/telegram/telegramCType.ts +++ b/src/backend/telegram/telegramCType.ts @@ -1,4 +1,7 @@ -import { ConfigService, CType, ICType } from '@kiltprotocol/sdk-js'; +import type { ICType } from '@kiltprotocol/types'; + +import { ConfigService } from '@kiltprotocol/sdk-js'; +import { CType } from '@kiltprotocol/credentials'; import { signAndSubmit } from '../utilities/signAndSubmit'; import { logger } from '../utilities/logger'; diff --git a/src/backend/twitch/confirmTwitch.ts b/src/backend/twitch/confirmTwitch.ts index 3c7754638..00b173f9c 100644 --- a/src/backend/twitch/confirmTwitch.ts +++ b/src/backend/twitch/confirmTwitch.ts @@ -1,7 +1,9 @@ +import type { Did } from '@kiltprotocol/types'; import type { BaseLogger } from 'pino'; import got from 'got'; -import { CType, DidUri } from '@kiltprotocol/sdk-js'; + +import { CType } from '@kiltprotocol/credentials'; import { configuration } from '../utilities/configuration'; import { ContentfulClaim } from '../utilities/sessionStorage'; @@ -16,7 +18,7 @@ export interface Output { export async function confirmTwitch( code: string, - did: DidUri, + did: Did, logger: BaseLogger, ) { logger.debug('Exchanging code for access token'); diff --git a/src/backend/twitch/twitchCType.ts b/src/backend/twitch/twitchCType.ts index 3be154a35..1e4628f23 100644 --- a/src/backend/twitch/twitchCType.ts +++ b/src/backend/twitch/twitchCType.ts @@ -1,4 +1,7 @@ -import { ConfigService, CType, ICType } from '@kiltprotocol/sdk-js'; +import type { ICType } from '@kiltprotocol/types'; + +import { ConfigService } from '@kiltprotocol/sdk-js'; +import { CType } from '@kiltprotocol/credentials'; import { signAndSubmit } from '../utilities/signAndSubmit'; import { logger } from '../utilities/logger'; diff --git a/src/backend/twitter/claimTwitter.ts b/src/backend/twitter/claimTwitter.ts index 074a28cf2..17cacd6df 100644 --- a/src/backend/twitter/claimTwitter.ts +++ b/src/backend/twitter/claimTwitter.ts @@ -1,7 +1,7 @@ import type { Request, ResponseObject, ServerRoute } from '@hapi/hapi'; import { z } from 'zod'; -import { CType } from '@kiltprotocol/sdk-js'; +import { CType } from '@kiltprotocol/credentials'; import { ContentfulClaim, diff --git a/src/backend/twitter/confirmTwitter.ts b/src/backend/twitter/confirmTwitter.ts index ca9a47651..cf4e28a01 100644 --- a/src/backend/twitter/confirmTwitter.ts +++ b/src/backend/twitter/confirmTwitter.ts @@ -5,7 +5,7 @@ import { ServerRoute, } from '@hapi/hapi'; import * as Boom from '@hapi/boom'; -import { CType } from '@kiltprotocol/sdk-js'; +import { CType } from '@kiltprotocol/credentials'; import { getSession, setSession } from '../utilities/sessionStorage'; diff --git a/src/backend/twitter/twitterCType.ts b/src/backend/twitter/twitterCType.ts index 0f99bc095..3882d483a 100644 --- a/src/backend/twitter/twitterCType.ts +++ b/src/backend/twitter/twitterCType.ts @@ -1,4 +1,7 @@ -import { ConfigService, CType, ICType } from '@kiltprotocol/sdk-js'; +import type { ICType } from '@kiltprotocol/types'; + +import { ConfigService } from '@kiltprotocol/sdk-js'; +import { CType } from '@kiltprotocol/credentials'; import { signAndSubmit } from '../utilities/signAndSubmit'; import { logger } from '../utilities/logger'; diff --git a/src/backend/utilities/attestClaim.ts b/src/backend/utilities/attestClaim.ts index 94c9103b2..4a7988f5e 100644 --- a/src/backend/utilities/attestClaim.ts +++ b/src/backend/utilities/attestClaim.ts @@ -1,12 +1,11 @@ +import type { IAttestation, ICredential } from '@kiltprotocol/types'; +import type { IEncryptedMessage } from '@kiltprotocol/extension-api/types'; + import * as Boom from '@hapi/boom'; import { Logger } from 'pino'; -import { - Attestation, - ConfigService, - IAttestation, - ICredential, - IEncryptedMessage, -} from '@kiltprotocol/sdk-js'; +import { ConfigService } from '@kiltprotocol/sdk-js'; + +import { Attestation } from '@kiltprotocol/credentials'; import { attestSuccess, diff --git a/src/backend/utilities/batchSignAndSubmitAttestation.ts b/src/backend/utilities/batchSignAndSubmitAttestation.ts index 2e17ab3bf..1b003b7e1 100644 --- a/src/backend/utilities/batchSignAndSubmitAttestation.ts +++ b/src/backend/utilities/batchSignAndSubmitAttestation.ts @@ -1,9 +1,10 @@ -import { - Blockchain, - Did, - ConfigService, - IAttestation, -} from '@kiltprotocol/sdk-js'; +import type { IAttestation } from '@kiltprotocol/types'; + +import { ConfigService } from '@kiltprotocol/sdk-js'; + +import { Blockchain } from '@kiltprotocol/chain-helpers'; + +import { authorizeBatch } from '@kiltprotocol/did'; import { attestationsToRemove, @@ -13,9 +14,8 @@ import { import { AttestationInfo } from '../revoker/scanAttestations'; import { logger } from './logger'; -import { fullDidPromise } from './fullDid'; +import { fullDidPromise, getAssertionMethodSigners } from './fullDid'; import { keypairsPromise } from './keypairs'; -import { signWithAssertionMethod } from './cryptoCallbacks'; import { signAndSubmit } from './signAndSubmit'; const TRANSACTION_TIMEOUT = 5 * 60 * 1000; @@ -122,11 +122,13 @@ async function createPendingTransaction() { const { fullDid } = await fullDidPromise; const { identity } = await keypairsPromise; - const authorized = await Did.authorizeBatch({ + const signers = await getAssertionMethodSigners(); + + const authorized = await authorizeBatch({ batchFunction: api.tx.utility.forceBatch, - did: fullDid.uri, + did: fullDid.id, extrinsics, - sign: signWithAssertionMethod, + signers, submitter: identity.address, }); diff --git a/src/backend/utilities/cTypeIsStored.ts b/src/backend/utilities/cTypeIsStored.ts index 93a2c57b9..aca860637 100644 --- a/src/backend/utilities/cTypeIsStored.ts +++ b/src/backend/utilities/cTypeIsStored.ts @@ -1,4 +1,7 @@ -import { ConfigService, CType, ICType } from '@kiltprotocol/sdk-js'; +import type { ICType } from '@kiltprotocol/types'; + +import { CType } from '@kiltprotocol/credentials'; +import { ConfigService } from '@kiltprotocol/sdk-js'; export async function cTypeIsStored({ $id }: ICType): Promise { const api = ConfigService.get('api'); diff --git a/src/backend/utilities/configuration.ts b/src/backend/utilities/configuration.ts index c587db6bc..6982bd5ba 100644 --- a/src/backend/utilities/configuration.ts +++ b/src/backend/utilities/configuration.ts @@ -1,9 +1,10 @@ import { cwd } from 'node:process'; import path from 'node:path'; +import type { Did } from '@kiltprotocol/types'; + import { config } from 'dotenv'; import { pino } from 'pino'; -import { DidUri } from '@kiltprotocol/sdk-js'; config(); @@ -35,7 +36,7 @@ if (!baseUri) { throw new ConfigurationError('No base URI provided'); } -const did = (env.DID || 'pending') as DidUri | 'pending'; +const did = (env.DID || 'pending') as Did | 'pending'; const storeDidAndCTypes = env.STORE_DID_AND_CTYPES === 'true'; if (did === 'pending' && !storeDidAndCTypes) { throw new ConfigurationError('Neither DID nor STORE_DID_AND_CTYPES provided'); diff --git a/src/backend/utilities/cryptoCallbacks.ts b/src/backend/utilities/cryptoCallbacks.ts index e71299104..9c85274c4 100644 --- a/src/backend/utilities/cryptoCallbacks.ts +++ b/src/backend/utilities/cryptoCallbacks.ts @@ -1,33 +1,20 @@ +import type { DidUrl } from '@kiltprotocol/types'; + +import { Crypto } from '@kiltprotocol/utils'; + import { - DecryptCallback, - DidResourceUri, - EncryptCallback, - Utils, -} from '@kiltprotocol/sdk-js'; + DecryptRequestData, + EncryptRequestData, +} from '@kiltprotocol/extension-api/types'; import { keypairsPromise } from './keypairs'; import { fullDidPromise } from './fullDid'; -export async function signWithAssertionMethod({ data }: { data: Uint8Array }) { - const { assertionMethod } = await keypairsPromise; - const { fullDid } = await fullDidPromise; - - return { - signature: assertionMethod.sign(data, { withType: false }), - keyType: assertionMethod.type, - keyUri: - `${fullDid.uri}${fullDid.assertionMethod?.[0].id}` as DidResourceUri, - }; -} - -export async function encrypt({ - data, - peerPublicKey, -}: Parameters[0]) { +export async function encrypt({ data, peerPublicKey }: EncryptRequestData) { const { keyAgreement } = await keypairsPromise; const { keyAgreementKey, fullDid } = await fullDidPromise; - const { box, nonce } = Utils.Crypto.encryptAsymmetric( + const { box, nonce } = Crypto.encryptAsymmetric( data, peerPublicKey, keyAgreement.secretKey, @@ -36,7 +23,7 @@ export async function encrypt({ return { data: box, nonce, - keyUri: `${fullDid.uri}${keyAgreementKey.id}` as DidResourceUri, + keyUri: `${fullDid.id}${keyAgreementKey}` as DidUrl, }; } @@ -44,10 +31,10 @@ export async function decrypt({ data, nonce, peerPublicKey, -}: Parameters[0]) { +}: DecryptRequestData) { const { keyAgreement } = await keypairsPromise; - const decrypted = Utils.Crypto.decryptAsymmetric( + const decrypted = Crypto.decryptAsymmetric( { box: data, nonce }, peerPublicKey, keyAgreement.secretKey, diff --git a/src/backend/utilities/decryptMessage.ts b/src/backend/utilities/decryptMessage.ts index ee8cb57dc..d9b75b3c5 100644 --- a/src/backend/utilities/decryptMessage.ts +++ b/src/backend/utilities/decryptMessage.ts @@ -1,13 +1,13 @@ import type { Request } from '@hapi/hapi'; - import type { EncryptedMessageInput } from './validateEncryptedMessage'; +import type { + IRequestAttestationContent, + MessageBodyType, +} from '@kiltprotocol/extension-api/types'; + +import * as Message from '@kiltprotocol/extension-api/messaging'; import * as Boom from '@hapi/boom'; -import { - Message, - MessageBodyType, - IRequestAttestationContent, -} from '@kiltprotocol/sdk-js'; import { decrypt } from './cryptoCallbacks'; @@ -24,7 +24,6 @@ export async function decryptMessageContent( logger.debug('Message decrypted'); const messageBody = message.body; - Message.verifyMessageBody(messageBody); const { type } = messageBody; if (type === rejectionType || type === 'reject') { diff --git a/src/backend/utilities/encryptMessage.ts b/src/backend/utilities/encryptMessage.ts index e7d3b0047..7c9ff6173 100644 --- a/src/backend/utilities/encryptMessage.ts +++ b/src/backend/utilities/encryptMessage.ts @@ -1,19 +1,20 @@ -import { - Did, - DidResourceUri, +import type { DidUrl } from '@kiltprotocol/types'; +import type { IEncryptedMessage, - Message, MessageBody, -} from '@kiltprotocol/sdk-js'; +} from '@kiltprotocol/extension-api/types'; + +import { parse } from '@kiltprotocol/did'; +import * as Message from '@kiltprotocol/extension-api/messaging'; import { encrypt } from './cryptoCallbacks'; import { configuration } from './configuration'; export async function encryptMessageBody( - encryptionKeyUri: DidResourceUri, + encryptionKeyUri: DidUrl, messageBody: MessageBody, ): Promise { - const { did } = Did.parse(encryptionKeyUri); + const { did } = parse(encryptionKeyUri); if (configuration.did === 'pending') { throw new Error('Own DID not found'); diff --git a/src/backend/utilities/fullDid.ts b/src/backend/utilities/fullDid.ts index 35c94e003..4c66594f7 100644 --- a/src/backend/utilities/fullDid.ts +++ b/src/backend/utilities/fullDid.ts @@ -1,14 +1,24 @@ -import { Keypair } from '@polkadot/util-crypto/types'; -import { - Blockchain, +import type { Did, DidDocument, - DidKey, - DidUri, - KeyRelationship, + DidUrl, KeyringPair, - Utils, -} from '@kiltprotocol/sdk-js'; + VerificationMethod, + VerificationRelationship, +} from '@kiltprotocol/types'; +import type { Keypair } from '@polkadot/util-crypto/types'; + +import { + createLightDidDocument, + getFullDid, + getStoreTx, + isFailedDereferenceMetadata, + multibaseKeyToDidKey, +} from '@kiltprotocol/did'; + +import { Crypto, Signers } from '@kiltprotocol/utils'; + +import { DidResolver, signAndSubmitTx } from '@kiltprotocol/sdk-js'; import { initKilt } from './initKilt'; import { keypairsPromise } from './keypairs'; @@ -16,25 +26,33 @@ import { configuration } from './configuration'; import { exitOnError } from './exitOnError'; import { logger } from './logger'; -export async function createFullDid(): Promise { +export async function createFullDid(): Promise { const { assertionMethod, authentication, identity, keyAgreement } = await keypairsPromise; - const did = Did.getFullDidUriFromKey(authentication); - const extrinsic = await Did.getStoreTx( + const lightDidDocument = createLightDidDocument({ + authentication: [authentication], + keyAgreement: [keyAgreement], + }); + + const did = getFullDid(lightDidDocument.id); + + const signers = await Signers.getSignersForKeypair({ + keypair: authentication, + id: authentication.address, + }); + + const extrinsic = await getStoreTx( { authentication: [authentication], assertionMethod: [assertionMethod], keyAgreement: [keyAgreement], }, identity.address, - async ({ data }) => ({ - signature: authentication.sign(data, { withType: false }), - keyType: authentication.type, - }), + signers, ); - await Blockchain.signAndSubmitTx(extrinsic, identity); + await signAndSubmitTx(extrinsic, identity); logger.warn(did, 'This is your generated DID:'); @@ -43,17 +61,24 @@ export async function createFullDid(): Promise { async function compareKeys( derived: KeyringPair | Keypair, - resolved: DidKey | undefined, - relationship: KeyRelationship, + keyUrl: DidUrl, + relationship: VerificationRelationship, ): Promise { - if (!resolved) { - throw new Error(`Resolved key for ${relationship} is undefined`); + const { dereferencingMetadata, contentStream } = + await DidResolver.dereference(keyUrl, {}); + + if (isFailedDereferenceMetadata(dereferencingMetadata)) { + throw new Error(dereferencingMetadata.error); } - const derivedHex = Utils.Crypto.u8aToHex(derived.publicKey); - const resolvedHex = Utils.Crypto.u8aToHex(resolved.publicKey); + + const { publicKeyMultibase } = contentStream as VerificationMethod; + const { publicKey } = multibaseKeyToDidKey(publicKeyMultibase); + + const derivedHex = Crypto.u8aToHex(derived.publicKey); + const resolvedHex = Crypto.u8aToHex(publicKey); if (derivedHex !== resolvedHex) { throw new Error( - `Derived key for ${relationship} does not match resolved one ${resolved.id}`, + `Derived key for ${relationship} does not match resolved one ${keyUrl}`, ); } } @@ -63,28 +88,38 @@ async function compareAllKeys(fullDid: DidDocument): Promise { await compareKeys( keypairs.authentication, - fullDid.authentication[0], + `${fullDid.id}${fullDid.authentication?.[0]}` as DidUrl, 'authentication', ); await compareKeys( keypairs.assertionMethod, - fullDid.assertionMethod?.[0], + `${fullDid.id}${fullDid.assertionMethod?.[0]}` as DidUrl, 'assertionMethod', ); await compareKeys( keypairs.keyAgreement, - fullDid.keyAgreement?.[0], + `${fullDid.id}${fullDid.keyAgreement?.[0]}` as DidUrl, 'keyAgreement', ); } +export async function getAssertionMethodSigners() { + const { assertionMethod } = await keypairsPromise; + const { fullDid } = await fullDidPromise; + + return await Signers.getSignersForKeypair({ + keypair: assertionMethod, + id: `${fullDid.id}${fullDid.assertionMethod?.[0]}`, + }); +} + export const fullDidPromise = (async () => { await initKilt(); if (configuration.storeDidAndCTypes) { if ( configuration.did !== 'pending' && - (await Did.resolve(configuration.did)) + (await DidResolver.resolve(configuration.did, {})) ) { logger.info('DID is already on the blockchain'); } else { @@ -97,18 +132,31 @@ export const fullDidPromise = (async () => { throw new Error('Own DID not found'); } - const fullDid = await Did.resolve(configuration.did); - if (!fullDid || !fullDid.document) { - throw new Error(`Could not resolve the own DID ${configuration.did}`); + const { + didResolutionMetadata: { error }, + didDocument, + } = await DidResolver.resolve(configuration.did, {}); + + if (error || !didDocument) { + throw new Error( + `Could not resolve the own DID ${configuration.did}: ${error}`, + ); } - await compareAllKeys(fullDid.document); - const { keyAgreement } = fullDid.document; + await compareAllKeys(didDocument); + const { keyAgreement, id, authentication } = didDocument; if (!keyAgreement) { throw new Error('Key agreement key not found'); } - return { fullDid: fullDid.document, keyAgreementKey: keyAgreement[0] }; + const { authentication: authenticationKeypair } = await keypairsPromise; + + const signers = await Signers.getSignersForKeypair({ + keypair: authenticationKeypair, + id: `${id}${authentication?.[0]}`, + }); + + return { fullDid: didDocument, keyAgreementKey: keyAgreement[0], signers }; })(); fullDidPromise.catch(exitOnError); diff --git a/src/backend/utilities/isDidResourceUri.ts b/src/backend/utilities/isDidResourceUri.ts deleted file mode 100644 index dd92ffd72..000000000 --- a/src/backend/utilities/isDidResourceUri.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Did, DidResourceUri } from '@kiltprotocol/sdk-js'; - -export function isDidResourceUri(input: string): input is DidResourceUri { - try { - Did.validateUri(input, 'ResourceUri'); - return true; - } catch { - return false; - } -} diff --git a/src/backend/utilities/isDidUrl.ts b/src/backend/utilities/isDidUrl.ts new file mode 100644 index 000000000..7897b8f38 --- /dev/null +++ b/src/backend/utilities/isDidUrl.ts @@ -0,0 +1,12 @@ +import type { DidUrl } from '@kiltprotocol/types'; + +import { validateDid } from '@kiltprotocol/did'; + +export function isDidUrl(input: string): input is DidUrl { + try { + validateDid(input, 'DidUrl'); + return true; + } catch { + return false; + } +} diff --git a/src/backend/utilities/keypairs.ts b/src/backend/utilities/keypairs.ts index ca013b9aa..4e489254d 100644 --- a/src/backend/utilities/keypairs.ts +++ b/src/backend/utilities/keypairs.ts @@ -1,4 +1,3 @@ -import { Utils } from '@kiltprotocol/sdk-js'; import { blake2AsU8a, ed25519PairFromSeed, @@ -7,6 +6,8 @@ import { mnemonicToMiniSecret, } from '@polkadot/util-crypto'; +import { Crypto } from '@kiltprotocol/utils'; + import { initKilt } from './initKilt'; import { configuration } from './configuration'; import { exitOnError } from './exitOnError'; @@ -16,12 +17,12 @@ export const keypairsPromise = (async () => { const { backupPhrase } = configuration; - const identity = Utils.Crypto.makeKeypairFromUri(backupPhrase, 'sr25519'); - const authentication = Utils.Crypto.makeKeypairFromUri( + const identity = Crypto.makeKeypairFromUri(backupPhrase, 'sr25519'); + const authentication = Crypto.makeKeypairFromUri( `${backupPhrase}//did//0`, 'sr25519', ); - const assertionMethod = Utils.Crypto.makeKeypairFromUri( + const assertionMethod = Crypto.makeKeypairFromUri( `${backupPhrase}//did//assertion//0`, 'sr25519', ); @@ -29,7 +30,7 @@ export const keypairsPromise = (async () => { const edKeypair = ed25519PairFromSeed(mnemonicToMiniSecret(backupPhrase)); const { path } = keyExtractPath('//did//keyAgreement//0'); const { secretKey } = keyFromPath(edKeypair, path, 'ed25519'); - const keyAgreement = Utils.Crypto.makeEncryptionKeypairFromSeed( + const keyAgreement = Crypto.makeEncryptionKeypairFromSeed( blake2AsU8a(secretKey), ); diff --git a/src/backend/utilities/reportBalance.ts b/src/backend/utilities/reportBalance.ts index 01a90dbf5..d57319751 100644 --- a/src/backend/utilities/reportBalance.ts +++ b/src/backend/utilities/reportBalance.ts @@ -1,4 +1,7 @@ -import { BalanceUtils, ConfigService, KiltAddress } from '@kiltprotocol/sdk-js'; +import type { KiltAddress } from '@kiltprotocol/types'; + +import { ConfigService } from '@kiltprotocol/sdk-js'; +import { BalanceUtils } from '@kiltprotocol/chain-helpers'; import { SendEmailCommand } from '@aws-sdk/client-ses'; diff --git a/src/backend/utilities/sessionStorage.ts b/src/backend/utilities/sessionStorage.ts index c67a31654..523a99d55 100644 --- a/src/backend/utilities/sessionStorage.ts +++ b/src/backend/utilities/sessionStorage.ts @@ -1,12 +1,14 @@ -import NodeCache from 'node-cache'; -import * as Boom from '@hapi/boom'; -import { - DidResourceUri, - DidUri, +import type { + Did, + DidUrl, IAttestation, ICredential, PartialClaim, -} from '@kiltprotocol/sdk-js'; +} from '@kiltprotocol/types'; + +import NodeCache from 'node-cache'; +import * as Boom from '@hapi/boom'; + import { randomAsNumber } from '@polkadot/util-crypto'; import { sessionHeader } from '../endpoints/sessionHeader'; @@ -16,8 +18,8 @@ export type ContentfulClaim = PartialClaim & export interface BasicSession { sessionId: string; - did?: DidUri; - encryptionKeyUri?: DidResourceUri; + did?: Did; + encryptionKeyUri?: DidUrl; didChallenge?: string; didConfirmed?: boolean; claim?: ContentfulClaim; @@ -29,8 +31,8 @@ export interface BasicSession { } export type Session = BasicSession & { - did: DidUri; - encryptionKeyUri: DidResourceUri; + did: Did; + encryptionKeyUri: DidUrl; }; export interface PayloadWithSession { diff --git a/src/backend/utilities/signAndSubmit.ts b/src/backend/utilities/signAndSubmit.ts index aedb20f6c..9ef3f81c6 100644 --- a/src/backend/utilities/signAndSubmit.ts +++ b/src/backend/utilities/signAndSubmit.ts @@ -1,17 +1,21 @@ -import { Blockchain, Did, SubmittableExtrinsic } from '@kiltprotocol/sdk-js'; +import type { SubmittableExtrinsic } from '@kiltprotocol/types'; -import { fullDidPromise } from './fullDid'; +import { authorizeTx } from '@kiltprotocol/did'; +import { Blockchain } from '@kiltprotocol/chain-helpers'; + +import { fullDidPromise, getAssertionMethodSigners } from './fullDid'; import { keypairsPromise } from './keypairs'; -import { signWithAssertionMethod } from './cryptoCallbacks'; export async function signAndSubmit(tx: SubmittableExtrinsic): Promise { const { fullDid } = await fullDidPromise; const { identity } = await keypairsPromise; - const extrinsic = await Did.authorizeTx( - fullDid.uri, + const signers = await getAssertionMethodSigners(); + + const extrinsic = await authorizeTx( + fullDid.id, tx, - signWithAssertionMethod, + signers, identity.address, ); diff --git a/src/backend/utilities/supportedCTypes.ts b/src/backend/utilities/supportedCTypes.ts index f99add004..b60b6c33e 100644 --- a/src/backend/utilities/supportedCTypes.ts +++ b/src/backend/utilities/supportedCTypes.ts @@ -1,4 +1,4 @@ -import type { ICType } from '@kiltprotocol/sdk-js'; +import type { ICType } from '@kiltprotocol/types'; import type { SupportedCType } from './supportedCType'; export type { SupportedCType } from './supportedCType'; diff --git a/src/backend/utilities/validateEncryptedMessage.ts b/src/backend/utilities/validateEncryptedMessage.ts index dae9df6a1..0f61dd3f4 100644 --- a/src/backend/utilities/validateEncryptedMessage.ts +++ b/src/backend/utilities/validateEncryptedMessage.ts @@ -1,12 +1,13 @@ -import { DidResourceUri } from '@kiltprotocol/sdk-js'; +import type { DidUrl } from '@kiltprotocol/types'; + import { z } from 'zod'; -import { isDidResourceUri } from './isDidResourceUri'; +import { isDidUrl } from './isDidUrl'; const zodPayload = z.object({ message: z.object({ - receiverKeyUri: z.string().refine(isDidResourceUri), - senderKeyUri: z.string().refine(isDidResourceUri), + receiverKeyUri: z.string().refine(isDidUrl), + senderKeyUri: z.string().refine(isDidUrl), ciphertext: z.string(), nonce: z.string(), receivedAt: z.number().optional(), diff --git a/src/backend/verifier/rejectAttestation.ts b/src/backend/verifier/rejectAttestation.ts index 2f2aecb17..53946a917 100644 --- a/src/backend/verifier/rejectAttestation.ts +++ b/src/backend/verifier/rejectAttestation.ts @@ -4,7 +4,7 @@ import type { ResponseToolkit, ServerRoute, } from '@hapi/hapi'; -import type { IEncryptedMessage } from '@kiltprotocol/sdk-js'; +import type { IEncryptedMessage } from '@kiltprotocol/extension-api/types'; import type { HexString } from '@polkadot/util/types'; import { z } from 'zod'; diff --git a/src/backend/verifier/requestCredential.ts b/src/backend/verifier/requestCredential.ts index 21adf15a7..b94c6798d 100644 --- a/src/backend/verifier/requestCredential.ts +++ b/src/backend/verifier/requestCredential.ts @@ -4,10 +4,12 @@ import type { ResponseToolkit, ServerRoute, } from '@hapi/hapi'; +import type { IEncryptedMessage } from '@kiltprotocol/extension-api/types'; import { z } from 'zod'; import { randomAsHex } from '@polkadot/util-crypto'; -import { CType, IEncryptedMessage } from '@kiltprotocol/sdk-js'; + +import { CType } from '@kiltprotocol/credentials'; import { supportedCTypes } from '../utilities/supportedCTypes'; import { supportedCTypeKeys } from '../utilities/supportedCType'; diff --git a/src/backend/verifier/verify.ts b/src/backend/verifier/verify.ts index 1a19f4966..c5cdd3e94 100644 --- a/src/backend/verifier/verify.ts +++ b/src/backend/verifier/verify.ts @@ -5,12 +5,11 @@ import type { ServerRoute, } from '@hapi/hapi'; +import type { Did, ICredentialPresentation } from '@kiltprotocol/types'; + import * as Boom from '@hapi/boom'; -import { - Credential, - DidUri, - ICredentialPresentation, -} from '@kiltprotocol/sdk-js'; + +import { Credential as LegacyCredential } from '@kiltprotocol/legacy-credentials'; import { decryptMessageContent } from '../utilities/decryptMessage'; import { validateEncryptedMessage } from '../utilities/validateEncryptedMessage'; @@ -21,7 +20,7 @@ export interface Output { presentation: ICredentialPresentation; isAttested: boolean; revoked?: boolean; - attester?: DidUri; + attester?: Did; } async function handler( @@ -46,7 +45,7 @@ async function handler( logger.debug('Verification credential constructed'); try { - const { revoked, attester } = await Credential.verifyPresentation( + const { revoked, attester } = await LegacyCredential.verifyPresentation( presentation, { challenge }, ); diff --git a/src/backend/youtube/confirmYoutube.ts b/src/backend/youtube/confirmYoutube.ts index 54ac0a4a4..66ca94a9a 100644 --- a/src/backend/youtube/confirmYoutube.ts +++ b/src/backend/youtube/confirmYoutube.ts @@ -1,8 +1,10 @@ +import type { Did } from '@kiltprotocol/types'; import type { BaseLogger } from 'pino'; import got from 'got'; import * as Boom from '@hapi/boom'; -import { CType, DidUri } from '@kiltprotocol/sdk-js'; + +import { CType } from '@kiltprotocol/credentials'; import { configuration } from '../utilities/configuration'; import { ContentfulClaim } from '../utilities/sessionStorage'; @@ -21,7 +23,7 @@ async function revokeAccessToken(token: string): Promise { export async function confirmYoutube( code: string, - did: DidUri, + did: Did, logger: BaseLogger, ) { logger.debug('Exchanging code for access token'); diff --git a/src/backend/youtube/youtubeCType.ts b/src/backend/youtube/youtubeCType.ts index 7d44e81e9..38592e036 100644 --- a/src/backend/youtube/youtubeCType.ts +++ b/src/backend/youtube/youtubeCType.ts @@ -1,4 +1,8 @@ -import { ConfigService, CType, ICType } from '@kiltprotocol/sdk-js'; +import type { ICType } from '@kiltprotocol/types'; + +import { ConfigService } from '@kiltprotocol/sdk-js'; + +import { CType } from '@kiltprotocol/credentials'; import { signAndSubmit } from '../utilities/signAndSubmit'; import { logger } from '../utilities/logger'; diff --git a/src/frontend/components/OAuthTemplate/useOAuthState.test.tsx b/src/frontend/components/OAuthTemplate/useOAuthState.test.tsx index 085d72845..bd252c897 100644 --- a/src/frontend/components/OAuthTemplate/useOAuthState.test.tsx +++ b/src/frontend/components/OAuthTemplate/useOAuthState.test.tsx @@ -1,7 +1,8 @@ +import type { IEncryptedMessage } from '@kiltprotocol/extension-api/types'; + // expect cannot be imported because of https://github.com/testing-library/jest-dom/issues/426 import { afterEach, beforeEach, describe, it, jest } from '@jest/globals'; import { userEvent } from '@testing-library/user-event'; -import { IEncryptedMessage } from '@kiltprotocol/sdk-js'; import { JSX } from 'react'; import { diff --git a/src/frontend/components/OAuthTemplate/useOAuthState.ts b/src/frontend/components/OAuthTemplate/useOAuthState.ts index 89c7cf46b..087ff955a 100644 --- a/src/frontend/components/OAuthTemplate/useOAuthState.ts +++ b/src/frontend/components/OAuthTemplate/useOAuthState.ts @@ -1,5 +1,6 @@ +import type { IEncryptedMessage } from '@kiltprotocol/extension-api/types'; + import { FormEvent, useCallback, useEffect, useState } from 'react'; -import { IEncryptedMessage } from '@kiltprotocol/sdk-js'; import { Rejection, Session } from '../../utilities/session'; import { useValuesFromRedirectUri } from '../../utilities/useValuesFromRedirectUri'; diff --git a/src/frontend/utilities/session.ts b/src/frontend/utilities/session.ts index 42f543585..c3f3835d2 100644 --- a/src/frontend/utilities/session.ts +++ b/src/frontend/utilities/session.ts @@ -1,4 +1,5 @@ -import { DidResourceUri, IEncryptedMessage } from '@kiltprotocol/sdk-js'; +import type { DidUrl } from '@kiltprotocol/types'; +import type { IEncryptedMessage } from '@kiltprotocol/extension-api/types'; import { checkSession, @@ -13,7 +14,7 @@ interface PubSubSession { ) => Promise; close: () => Promise; send: (message: IEncryptedMessage) => Promise; - encryptionKeyUri: DidResourceUri; + encryptionKeyUri: DidUrl; encryptedChallenge: string; nonce: string; } @@ -21,7 +22,7 @@ interface PubSubSession { interface InjectedWindowProvider { startSession: ( dAppName: string, - dAppEncryptionKeyUri: DidResourceUri, + dAppEncryptionKeyUri: DidUrl, challenge: string, ) => Promise; name: string; diff --git a/src/frontend/views/Email/Email.test.tsx b/src/frontend/views/Email/Email.test.tsx index 71df24b23..dbace1e71 100644 --- a/src/frontend/views/Email/Email.test.tsx +++ b/src/frontend/views/Email/Email.test.tsx @@ -1,7 +1,8 @@ +import type { IEncryptedMessage } from '@kiltprotocol/extension-api/types'; + // expect cannot be imported because of https://github.com/testing-library/jest-dom/issues/426 import { afterEach, beforeEach, describe, it, jest } from '@jest/globals'; import { userEvent } from '@testing-library/user-event'; -import { IEncryptedMessage } from '@kiltprotocol/sdk-js'; import { act, diff --git a/src/frontend/views/Email/Email.tsx b/src/frontend/views/Email/Email.tsx index 5ce00ee3f..0e054a1e8 100644 --- a/src/frontend/views/Email/Email.tsx +++ b/src/frontend/views/Email/Email.tsx @@ -1,5 +1,6 @@ +import type { IEncryptedMessage } from '@kiltprotocol/extension-api/types'; + import { FormEvent, useCallback, useEffect, useState } from 'react'; -import { IEncryptedMessage } from '@kiltprotocol/sdk-js'; import { Rejection, Session } from '../../utilities/session'; import { useValuesFromRedirectUri } from '../../utilities/useValuesFromRedirectUri'; diff --git a/src/frontend/views/Telegram/Telegram.test.tsx b/src/frontend/views/Telegram/Telegram.test.tsx index edb50b1b1..4a5975598 100644 --- a/src/frontend/views/Telegram/Telegram.test.tsx +++ b/src/frontend/views/Telegram/Telegram.test.tsx @@ -1,7 +1,8 @@ +import type { IEncryptedMessage } from '@kiltprotocol/extension-api/types'; + // expect cannot be imported because of https://github.com/testing-library/jest-dom/issues/426 import { afterEach, beforeEach, describe, it, jest } from '@jest/globals'; import { userEvent } from '@testing-library/user-event'; -import { IEncryptedMessage } from '@kiltprotocol/sdk-js'; import { act, diff --git a/src/frontend/views/Telegram/Telegram.tsx b/src/frontend/views/Telegram/Telegram.tsx index 44044089d..fdc3d06b2 100644 --- a/src/frontend/views/Telegram/Telegram.tsx +++ b/src/frontend/views/Telegram/Telegram.tsx @@ -1,5 +1,6 @@ +import type { IEncryptedMessage } from '@kiltprotocol/extension-api/types'; + import { FormEvent, Fragment, useCallback, useEffect, useState } from 'react'; -import { IEncryptedMessage } from '@kiltprotocol/sdk-js'; import * as styles from './Telegram.module.css'; diff --git a/src/frontend/views/Twitter/Twitter.test.tsx b/src/frontend/views/Twitter/Twitter.test.tsx index 0465d7d0e..956899006 100644 --- a/src/frontend/views/Twitter/Twitter.test.tsx +++ b/src/frontend/views/Twitter/Twitter.test.tsx @@ -1,7 +1,8 @@ +import type { IEncryptedMessage } from '@kiltprotocol/extension-api/types'; + // expect cannot be imported because of https://github.com/testing-library/jest-dom/issues/426 import { afterEach, beforeEach, describe, it, jest } from '@jest/globals'; import { userEvent } from '@testing-library/user-event'; -import { IEncryptedMessage } from '@kiltprotocol/sdk-js'; import { act, diff --git a/src/frontend/views/Twitter/Twitter.tsx b/src/frontend/views/Twitter/Twitter.tsx index be8425b6d..542802836 100644 --- a/src/frontend/views/Twitter/Twitter.tsx +++ b/src/frontend/views/Twitter/Twitter.tsx @@ -1,5 +1,6 @@ +import type { IEncryptedMessage } from '@kiltprotocol/extension-api/types'; + import { FormEvent, useCallback, useEffect, useState } from 'react'; -import { IEncryptedMessage } from '@kiltprotocol/sdk-js'; import { Rejection, Session } from '../../utilities/session'; diff --git a/src/frontend/views/Youtube/Youtube.test.tsx b/src/frontend/views/Youtube/Youtube.test.tsx index 92a645999..78e2b7f66 100644 --- a/src/frontend/views/Youtube/Youtube.test.tsx +++ b/src/frontend/views/Youtube/Youtube.test.tsx @@ -1,7 +1,8 @@ +import type { IEncryptedMessage } from '@kiltprotocol/extension-api/types'; + // expect cannot be imported because of https://github.com/testing-library/jest-dom/issues/426 import { afterEach, beforeEach, describe, it, jest } from '@jest/globals'; import { userEvent } from '@testing-library/user-event'; -import { IEncryptedMessage } from '@kiltprotocol/sdk-js'; import { act, diff --git a/src/frontend/views/Youtube/Youtube.tsx b/src/frontend/views/Youtube/Youtube.tsx index cc01ccbd6..dcd7662d3 100644 --- a/src/frontend/views/Youtube/Youtube.tsx +++ b/src/frontend/views/Youtube/Youtube.tsx @@ -1,7 +1,8 @@ +import type { IEncryptedMessage } from '@kiltprotocol/extension-api/types'; + import { FormEvent, useCallback, useEffect, useState } from 'react'; import { HTTPError } from 'ky'; import { StatusCodes } from 'http-status-codes'; -import { IEncryptedMessage } from '@kiltprotocol/sdk-js'; import { Rejection, Session } from '../../utilities/session'; import { useValuesFromRedirectUri } from '../../utilities/useValuesFromRedirectUri'; diff --git a/yarn.lock b/yarn.lock index 606a701ef..43b46e576 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2082,6 +2082,20 @@ __metadata: languageName: node linkType: hard +"@digitalbazaar/multikey-context@npm:^1.0.0": + version: 1.0.0 + resolution: "@digitalbazaar/multikey-context@npm:1.0.0" + checksum: 8f87cfc4a5081d583a97da53bb8d099771523c08ec3bdce944937d2d8e2eb98db52d36e13964f08debdde2950a87399c61b5acef7888d712c7c9d76dda5d7c6d + languageName: node + linkType: hard + +"@digitalbazaar/security-context@npm:^1.0.0": + version: 1.0.1 + resolution: "@digitalbazaar/security-context@npm:1.0.1" + checksum: 6d1444002958454be5dd70cc6ba4d0df952f90162756d6320d88501ff44fc7d48dcb2aa3452b77e8941a9da4e4c7d050d3510827db93637ff469b92391c63324 + languageName: node + linkType: hard + "@discoveryjs/json-ext@npm:^0.5.3": version: 0.5.7 resolution: "@discoveryjs/json-ext@npm:0.5.7" @@ -3137,169 +3151,218 @@ __metadata: languageName: node linkType: hard -"@kiltprotocol/asset-did@npm:0.34.0": - version: 0.34.0 - resolution: "@kiltprotocol/asset-did@npm:0.34.0" +"@kiltprotocol/augment-api@npm:0.100.0-alpha.1": + version: 0.100.0-alpha.1 + resolution: "@kiltprotocol/augment-api@npm:0.100.0-alpha.1" dependencies: - "@kiltprotocol/types": "npm:0.34.0" - "@kiltprotocol/utils": "npm:0.34.0" - checksum: bb185921bf42eba76f7122f4539ebffd9832a94a402bb6bf6827c43a248c65e5f791003a550fc1114111948c4891fa3483bf9dd66c78159f185a80e21a328c7a + "@kiltprotocol/type-definitions": "npm:0.100.0-alpha.1" + "@polkadot/api-base": "npm:^10.0.0" + "@polkadot/rpc-core": "npm:^10.0.0" + "@polkadot/types": "npm:^10.0.0" + "@polkadot/types-codec": "npm:^10.0.0" + checksum: d1b405c08c7edb309d3e9a4a0f76c0f561fc472eeae99fdfaac4be6bd9bb4280fa66f412b8234fe712a9f0880fa42539e1a15b2a04e0c35e549c5381d7148d73 languageName: node linkType: hard -"@kiltprotocol/augment-api@npm:0.34.0": - version: 0.34.0 - resolution: "@kiltprotocol/augment-api@npm:0.34.0" +"@kiltprotocol/chain-helpers@npm:0.100.0-alpha.1": + version: 0.100.0-alpha.1 + resolution: "@kiltprotocol/chain-helpers@npm:0.100.0-alpha.1" dependencies: - "@kiltprotocol/type-definitions": "npm:0.34.0" - checksum: af13cabff015a657e2169737c9078625fa274e650d67136707494711834e0bc23c62d2dc9123e8ecc0166e8b811411efd88bcbf92a1900540df89d8f2b85a046 - languageName: node - linkType: hard - -"@kiltprotocol/chain-helpers@npm:0.34.0": - version: 0.34.0 - resolution: "@kiltprotocol/chain-helpers@npm:0.34.0" - dependencies: - "@kiltprotocol/config": "npm:0.34.0" - "@kiltprotocol/types": "npm:0.34.0" - "@kiltprotocol/utils": "npm:0.34.0" + "@kiltprotocol/config": "npm:0.100.0-alpha.1" + "@kiltprotocol/type-definitions": "npm:0.100.0-alpha.1" + "@kiltprotocol/types": "npm:0.100.0-alpha.1" + "@kiltprotocol/utils": "npm:0.100.0-alpha.1" "@polkadot/api": "npm:^10.4.0" + "@polkadot/api-derive": "npm:^10.0.0" "@polkadot/types": "npm:^10.4.0" - checksum: 02cfff57101e2fedd5a531de44adea80912c82fc4284d321d893f2e946d0b2dc532cadfe3e31171ff7ceb30483868af7f123be90c4f5a4fec02d2c0b917718a3 + "@polkadot/util": "npm:^12.0.0" + "@polkadot/util-crypto": "npm:^12.0.0" + checksum: e4abcb5154802de1ab483a15de0056ea5fb67126563a0c6af5fb6a4b7a822f43d5e6d52d303e05fb78fa711d977d23a12ed7b57ad95ae6e8f4507b4d7d209884 languageName: node linkType: hard -"@kiltprotocol/config@npm:0.34.0": - version: 0.34.0 - resolution: "@kiltprotocol/config@npm:0.34.0" +"@kiltprotocol/config@npm:0.100.0-alpha.1": + version: 0.100.0-alpha.1 + resolution: "@kiltprotocol/config@npm:0.100.0-alpha.1" dependencies: - "@kiltprotocol/types": "npm:0.34.0" + "@kiltprotocol/types": "npm:0.100.0-alpha.1" "@polkadot/api": "npm:^10.4.0" typescript-logging: "npm:^1.0.0" - checksum: a677341348be1a8f976de092a917da697c83050f8db42cd29cf8fb99198bd22e6e465c8e483726700aa48639c088bbf1a8af6814c858e620c298bbf81899e9a9 + checksum: b922f3bcfa886daf382029085acd901c7a6dd30245e17e48ab4a678ffb0d2c9dbbfc688a7cd0f3af2b0eb962e1973c6ed248688c7231c97a2410ecce910bd5ea languageName: node linkType: hard -"@kiltprotocol/core@npm:0.34.0": - version: 0.34.0 - resolution: "@kiltprotocol/core@npm:0.34.0" +"@kiltprotocol/credentials@npm:0.100.0-alpha.1, @kiltprotocol/credentials@npm:^0.100.0-alpha.1": + version: 0.100.0-alpha.1 + resolution: "@kiltprotocol/credentials@npm:0.100.0-alpha.1" dependencies: - "@kiltprotocol/asset-did": "npm:0.34.0" - "@kiltprotocol/augment-api": "npm:0.34.0" - "@kiltprotocol/chain-helpers": "npm:0.34.0" - "@kiltprotocol/config": "npm:0.34.0" - "@kiltprotocol/did": "npm:0.34.0" - "@kiltprotocol/type-definitions": "npm:0.34.0" - "@kiltprotocol/types": "npm:0.34.0" - "@kiltprotocol/utils": "npm:0.34.0" + "@kiltprotocol/augment-api": "npm:0.100.0-alpha.1" + "@kiltprotocol/chain-helpers": "npm:0.100.0-alpha.1" + "@kiltprotocol/config": "npm:0.100.0-alpha.1" + "@kiltprotocol/did": "npm:0.100.0-alpha.1" + "@kiltprotocol/eddsa-jcs-2022": "npm:0.1.0-rc.1" + "@kiltprotocol/es256k-jcs-2023": "npm:0.1.0-rc.1" + "@kiltprotocol/jcs-data-integrity-proofs-common": "npm:0.1.0-rc.1" + "@kiltprotocol/sr25519-jcs-2023": "npm:0.1.0-rc.1" + "@kiltprotocol/types": "npm:0.100.0-alpha.1" + "@kiltprotocol/utils": "npm:0.100.0-alpha.1" "@polkadot/api": "npm:^10.4.0" "@polkadot/keyring": "npm:^12.0.0" "@polkadot/types": "npm:^10.4.0" "@polkadot/util": "npm:^12.0.0" "@polkadot/util-crypto": "npm:^12.0.0" - checksum: 44fcc1b716af56c098d67e6cdcca33120c933c253e1d7007e0e156ef6207f78b8af09cd6a2ca638dae35a2db391589bfb5fb80bff7c31eae8ce756beda71d4e5 + json-pointer: "npm:^0.6.2" + checksum: a49e3ec6b926b12ee626946a7be7149cff959a9f06f201f9b786bddd7e73e03bad8d71fd375ce6c21a55dabdcc0a36f08d67b3126695f1ff978b3139933b2768 languageName: node linkType: hard -"@kiltprotocol/did@npm:0.34.0": - version: 0.34.0 - resolution: "@kiltprotocol/did@npm:0.34.0" +"@kiltprotocol/did@npm:0.100.0-alpha.1, @kiltprotocol/did@npm:^0.100.0-alpha.1": + version: 0.100.0-alpha.1 + resolution: "@kiltprotocol/did@npm:0.100.0-alpha.1" dependencies: - "@kiltprotocol/augment-api": "npm:0.34.0" - "@kiltprotocol/config": "npm:0.34.0" - "@kiltprotocol/types": "npm:0.34.0" - "@kiltprotocol/utils": "npm:0.34.0" + "@digitalbazaar/multikey-context": "npm:^1.0.0" + "@digitalbazaar/security-context": "npm:^1.0.0" + "@kiltprotocol/augment-api": "npm:0.100.0-alpha.1" + "@kiltprotocol/config": "npm:0.100.0-alpha.1" + "@kiltprotocol/types": "npm:0.100.0-alpha.1" + "@kiltprotocol/utils": "npm:0.100.0-alpha.1" "@polkadot/api": "npm:^10.4.0" "@polkadot/keyring": "npm:^12.0.0" "@polkadot/types": "npm:^10.4.0" - "@polkadot/types-codec": "npm:^10.4.0" "@polkadot/util": "npm:^12.0.0" "@polkadot/util-crypto": "npm:^12.0.0" - checksum: 4b4a4f75bd525ec9197009d4beac394b7358ad0d84bee06cba8846a29d6f0dadfa9bbbc5d8585a5855593b162015a9a61f3cbb2b8bd5192532048f13e69f8324 + multibase: "npm:^4.0.6" + checksum: 55e3b7e4a1e5327575b048f40640ba2d3cd47858b6ecb8b5b1f368b5bcfc4d4ad0571186173928354e299e093c0d45b1660f6eb891e26f364fe6b8cf44ad25a8 languageName: node linkType: hard -"@kiltprotocol/messaging@npm:0.34.0": - version: 0.34.0 - resolution: "@kiltprotocol/messaging@npm:0.34.0" +"@kiltprotocol/eddsa-jcs-2022@npm:0.1.0-rc.1": + version: 0.1.0-rc.1 + resolution: "@kiltprotocol/eddsa-jcs-2022@npm:0.1.0-rc.1" dependencies: - "@kiltprotocol/core": "npm:0.34.0" - "@kiltprotocol/did": "npm:0.34.0" - "@kiltprotocol/types": "npm:0.34.0" - "@kiltprotocol/utils": "npm:0.34.0" - "@polkadot/util": "npm:^12.0.0" - checksum: f4de241de425e903df8995f01a19d5769916b1b07612857dc1bf3172140111673381c3c19dcc7cb5d3c90891821cc2ba1c5ba119e8627861e453033f50875b88 + "@kiltprotocol/jcs-data-integrity-proofs-common": "npm:^0.1.0-rc.1" + "@noble/curves": "npm:^1.0.0" + "@scure/base": "npm:^1.1.1" + checksum: ddf9246f679290931202bb9ac17f062342ff8fc20d4324ebae78d2148c4d06bec40d2a42f24a40bc9fbfb6fad6d7a9445428065b50e8ce2099f7c70cc20cd58a languageName: node linkType: hard -"@kiltprotocol/sdk-js@npm:^0.34.0": - version: 0.34.0 - resolution: "@kiltprotocol/sdk-js@npm:0.34.0" +"@kiltprotocol/es256k-jcs-2023@npm:0.1.0-rc.1": + version: 0.1.0-rc.1 + resolution: "@kiltprotocol/es256k-jcs-2023@npm:0.1.0-rc.1" dependencies: - "@kiltprotocol/chain-helpers": "npm:0.34.0" - "@kiltprotocol/config": "npm:0.34.0" - "@kiltprotocol/core": "npm:0.34.0" - "@kiltprotocol/did": "npm:0.34.0" - "@kiltprotocol/messaging": "npm:0.34.0" - "@kiltprotocol/types": "npm:0.34.0" - "@kiltprotocol/utils": "npm:0.34.0" - checksum: f0f8c85ec8b5951aa25023238872bb6863efcd2d1c356465248309cca1d24e485449f37362098e465e4e8585c4b2480e5c290134366c26ab87c3ac4d87037cb2 + "@kiltprotocol/jcs-data-integrity-proofs-common": "npm:^0.1.0-rc.1" + "@noble/curves": "npm:^1.0.0" + "@scure/base": "npm:^1.1.1" + checksum: 376f889829ba4e5384bc1ab42435f6f1bee7e4773307608fba2945ee37a453c030d38b56fea1033bf73e453b9f4da90ffce342baad394f8606d6a4de1e86ce41 languageName: node linkType: hard -"@kiltprotocol/type-definitions@npm:0.34.0": - version: 0.34.0 - resolution: "@kiltprotocol/type-definitions@npm:0.34.0" - checksum: cdc094ade6871cc8421c8285a0bbb76d94d5a0db2bc5fb0d15a2350c4be20d405ed8f93783bf0ae481934da17cdcc0eacc46c6225cfaad82ddae514c01a73e11 +"@kiltprotocol/extension-api@KILTprotocol/kilt-extension-api#rf-sdk-1-alpha": + version: 0.1.0 + resolution: "@kiltprotocol/extension-api@https://github.com/KILTprotocol/kilt-extension-api.git#commit=88e48709ccdbefc5eac3268fdfe822f2831d550a" + dependencies: + "@kiltprotocol/credentials": "npm:^0.100.0-alpha.1" + "@kiltprotocol/did": "npm:^0.100.0-alpha.1" + "@kiltprotocol/legacy-credentials": "npm:^0.100.0-alpha.1" + "@kiltprotocol/sdk-js": "npm:1.0.0-alpha.1" + "@kiltprotocol/types": "npm:^0.100.0-alpha.1" + "@polkadot/keyring": "npm:^12.3.2" + "@polkadot/util": "npm:^12.3.2" + yargs: "npm:^17.7.2" + bin: + createDidConfig: ./cli/createDidConfig.js + checksum: f9437c0e92af94c7dee9751848aae24abcd25963fa97da68edebc963a798f65c3787d6995f978e94fcbbd766b3411c2f6da6a24008110e950aef4b650726602f languageName: node linkType: hard -"@kiltprotocol/types@npm:0.34.0": - version: 0.34.0 - resolution: "@kiltprotocol/types@npm:0.34.0" +"@kiltprotocol/jcs-data-integrity-proofs-common@npm:0.1.0-rc.1, @kiltprotocol/jcs-data-integrity-proofs-common@npm:^0.1.0-rc.1": + version: 0.1.0-rc.1 + resolution: "@kiltprotocol/jcs-data-integrity-proofs-common@npm:0.1.0-rc.1" dependencies: - "@polkadot/api": "npm:^10.4.0" - "@polkadot/keyring": "npm:^12.0.0" - "@polkadot/types": "npm:^10.4.0" + canonicalize: "npm:^2.0.0" + multibase: "npm:^4.0.6" + checksum: a7c60afcdc1580dc35a4678be0c1886724a5f02617422d5024312679a8309318fef03959960d398f945a488ad6206a05393547fcc968ba09be9708f2d13f7993 + languageName: node + linkType: hard + +"@kiltprotocol/legacy-credentials@npm:0.100.0-alpha.1, @kiltprotocol/legacy-credentials@npm:^0.100.0-alpha.1": + version: 0.100.0-alpha.1 + resolution: "@kiltprotocol/legacy-credentials@npm:0.100.0-alpha.1" + dependencies: + "@kiltprotocol/config": "npm:0.100.0-alpha.1" + "@kiltprotocol/credentials": "npm:0.100.0-alpha.1" + "@kiltprotocol/did": "npm:0.100.0-alpha.1" + "@kiltprotocol/types": "npm:0.100.0-alpha.1" + "@kiltprotocol/utils": "npm:0.100.0-alpha.1" "@polkadot/util": "npm:^12.0.0" "@polkadot/util-crypto": "npm:^12.0.0" - checksum: 07bcae97f1dbf3aaae3c0df0c5ec1603ce67d2eb7314e17ea7e700c75d9e920c8019d55a73434c0aa9062dd6fac65590630a8f0bb1f77c4070be6d2e60993fb8 + checksum: 15078331fa8ae360b62b507f0da634e34dacc5136a3aa1e4db9d0e0307d2bf1d3c3cea906bba4e223d562000f78dd2b3892ccee95f27457d83a19619feec79a4 + languageName: node + linkType: hard + +"@kiltprotocol/sdk-js@npm:1.0.0-alpha.1": + version: 1.0.0-alpha.1 + resolution: "@kiltprotocol/sdk-js@npm:1.0.0-alpha.1" + dependencies: + "@kiltprotocol/chain-helpers": "npm:0.100.0-alpha.1" + "@kiltprotocol/config": "npm:0.100.0-alpha.1" + "@kiltprotocol/credentials": "npm:0.100.0-alpha.1" + "@kiltprotocol/did": "npm:0.100.0-alpha.1" + "@kiltprotocol/utils": "npm:0.100.0-alpha.1" + checksum: 23a17353da80a3b02f9ab935854c33bfee8ecacd452b1f60f366a44d686e893a1d84c7e51105244170a0afd16dcc49e0d0e42fea8d6cae8ec8665610acdd86a2 + languageName: node + linkType: hard + +"@kiltprotocol/sr25519-jcs-2023@npm:0.1.0-rc.1": + version: 0.1.0-rc.1 + resolution: "@kiltprotocol/sr25519-jcs-2023@npm:0.1.0-rc.1" + dependencies: + "@kiltprotocol/jcs-data-integrity-proofs-common": "npm:^0.1.0-rc.1" + "@polkadot/util-crypto": "npm:^12.0.1" + "@scure/base": "npm:^1.1.1" + checksum: 7b91c7636d1bef49327a2e8846180a1681e178749ae30159d2ff38f0889f0b7d9fddad24a076fc5abf44098e7107c5932160acef1c0690997f114d1d67ab5b8b + languageName: node + linkType: hard + +"@kiltprotocol/type-definitions@npm:0.100.0-alpha.1": + version: 0.100.0-alpha.1 + resolution: "@kiltprotocol/type-definitions@npm:0.100.0-alpha.1" + dependencies: + "@polkadot/types": "npm:^10.0.0" + checksum: c00b59603cdfad1e51bc7d36c8f13413b037c53ef3f976bb71f85e02bd666dd7627d8fa5926fc1422bd56d210a276e7451651e60d35a62df5ea2b7aaf7cc48d5 languageName: node linkType: hard -"@kiltprotocol/utils@npm:0.34.0": - version: 0.34.0 - resolution: "@kiltprotocol/utils@npm:0.34.0" +"@kiltprotocol/types@npm:0.100.0-alpha.1, @kiltprotocol/types@npm:^0.100.0-alpha.1": + version: 0.100.0-alpha.1 + resolution: "@kiltprotocol/types@npm:0.100.0-alpha.1" dependencies: - "@kiltprotocol/types": "npm:0.34.0" "@polkadot/api": "npm:^10.4.0" "@polkadot/keyring": "npm:^12.0.0" + "@polkadot/types": "npm:^10.4.0" "@polkadot/util": "npm:^12.0.0" "@polkadot/util-crypto": "npm:^12.0.0" - cbor-web: "npm:^9.0.0" - tweetnacl: "npm:^1.0.3" - uuid: "npm:^9.0.0" - checksum: 787e0f3d0a4fef2ccbf66cbdb80ab3b5fb80f834143d90a69f80a9a492898390f1e39efc8bdcbb56f3836f79791f419f207f1772cfdab8a0ee0129fcdbbd7e86 + checksum: 942c7e27adc87fd4f2166d083c37b704e271d19c5479eb012c80d1ca905ba7ab9b8c05485feb2c6478570364f9f6141df8264b25d335c432338ef57e7e7d6a9c languageName: node linkType: hard -"@kiltprotocol/vc-export@npm:^0.34.0": - version: 0.34.0 - resolution: "@kiltprotocol/vc-export@npm:0.34.0" +"@kiltprotocol/utils@npm:0.100.0-alpha.1": + version: 0.100.0-alpha.1 + resolution: "@kiltprotocol/utils@npm:0.100.0-alpha.1" dependencies: - "@kiltprotocol/config": "npm:0.34.0" - "@kiltprotocol/core": "npm:0.34.0" - "@kiltprotocol/did": "npm:0.34.0" - "@kiltprotocol/types": "npm:0.34.0" - "@kiltprotocol/utils": "npm:0.34.0" + "@kiltprotocol/eddsa-jcs-2022": "npm:0.1.0-rc.1" + "@kiltprotocol/es256k-jcs-2023": "npm:0.1.0-rc.1" + "@kiltprotocol/sr25519-jcs-2023": "npm:0.1.0-rc.1" + "@kiltprotocol/types": "npm:0.100.0-alpha.1" "@polkadot/api": "npm:^10.4.0" - "@polkadot/types": "npm:^10.4.0" + "@polkadot/keyring": "npm:^12.0.0" "@polkadot/util": "npm:^12.0.0" "@polkadot/util-crypto": "npm:^12.0.0" - jsonld: "npm:^2.0.2" - jsonld-signatures: "npm:^5.0.0" - vc-js: "npm:^0.6.4" - checksum: 8f777f46a824d5a7b881efab4e7e87cbde948be1c90277e2c47da948043e25ea82f70b372a5f21fb1acf23e45436d7950c9ae16db6e3efd23e5b89deabfc5fb9 + cbor-web: "npm:^9.0.0" + tweetnacl: "npm:^1.0.3" + uuid: "npm:^9.0.0" + checksum: 76a12be00f3b7e7faa1b98fda9f5ea93a44bc1bff232b41805bc25b342f18cb3ad6b0bd4d838675bee831bfff58c28b5cfb6aab409c77a41b54c162e1db35a89 languageName: node linkType: hard @@ -3372,6 +3435,13 @@ __metadata: languageName: node linkType: hard +"@multiformats/base-x@npm:^4.0.1": + version: 4.0.1 + resolution: "@multiformats/base-x@npm:4.0.1" + checksum: f6d16d2d7793ea371206fc17853a0932a7e697ddc739a6b63421a7ee090ee8ab28224c3c7e4401899d0a343bc95284a5f0aa7502edadfb5ad21967f9cbd6a9d2 + languageName: node + linkType: hard + "@ndelangen/get-tarball@npm:^3.0.7": version: 3.0.7 resolution: "@ndelangen/get-tarball@npm:3.0.7" @@ -3383,7 +3453,7 @@ __metadata: languageName: node linkType: hard -"@noble/curves@npm:^1.3.0": +"@noble/curves@npm:^1.0.0, @noble/curves@npm:^1.3.0": version: 1.3.0 resolution: "@noble/curves@npm:1.3.0" dependencies: @@ -4305,7 +4375,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/api-base@npm:10.11.2": +"@polkadot/api-base@npm:10.11.2, @polkadot/api-base@npm:^10.0.0": version: 10.11.2 resolution: "@polkadot/api-base@npm:10.11.2" dependencies: @@ -4318,7 +4388,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/api-derive@npm:10.11.2": +"@polkadot/api-derive@npm:10.11.2, @polkadot/api-derive@npm:^10.0.0": version: 10.11.2 resolution: "@polkadot/api-derive@npm:10.11.2" dependencies: @@ -4361,7 +4431,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/keyring@npm:^12.0.0, @polkadot/keyring@npm:^12.6.2": +"@polkadot/keyring@npm:^12.0.0, @polkadot/keyring@npm:^12.3.2, @polkadot/keyring@npm:^12.6.2": version: 12.6.2 resolution: "@polkadot/keyring@npm:12.6.2" dependencies: @@ -4399,7 +4469,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/rpc-core@npm:10.11.2": +"@polkadot/rpc-core@npm:10.11.2, @polkadot/rpc-core@npm:^10.0.0": version: 10.11.2 resolution: "@polkadot/rpc-core@npm:10.11.2" dependencies: @@ -4449,7 +4519,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/types-codec@npm:10.11.2, @polkadot/types-codec@npm:^10.4.0": +"@polkadot/types-codec@npm:10.11.2, @polkadot/types-codec@npm:^10.0.0": version: 10.11.2 resolution: "@polkadot/types-codec@npm:10.11.2" dependencies: @@ -4495,7 +4565,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/types@npm:10.11.2, @polkadot/types@npm:^10.4.0": +"@polkadot/types@npm:10.11.2, @polkadot/types@npm:^10.0.0, @polkadot/types@npm:^10.4.0": version: 10.11.2 resolution: "@polkadot/types@npm:10.11.2" dependencies: @@ -4511,7 +4581,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/util-crypto@npm:12.6.2, @polkadot/util-crypto@npm:^12.0.0, @polkadot/util-crypto@npm:^12.6.2": +"@polkadot/util-crypto@npm:12.6.2, @polkadot/util-crypto@npm:^12.0.0, @polkadot/util-crypto@npm:^12.0.1, @polkadot/util-crypto@npm:^12.6.2": version: 12.6.2 resolution: "@polkadot/util-crypto@npm:12.6.2" dependencies: @@ -4531,7 +4601,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/util@npm:12.6.2, @polkadot/util@npm:^12.0.0, @polkadot/util@npm:^12.6.2": +"@polkadot/util@npm:12.6.2, @polkadot/util@npm:^12.0.0, @polkadot/util@npm:^12.3.2, @polkadot/util@npm:^12.6.2": version: 12.6.2 resolution: "@polkadot/util@npm:12.6.2" dependencies: @@ -5268,7 +5338,7 @@ __metadata: languageName: node linkType: hard -"@scure/base@npm:^1.1.5": +"@scure/base@npm:^1.1.1, @scure/base@npm:^1.1.5": version: 1.1.5 resolution: "@scure/base@npm:1.1.5" checksum: 6eb07be0202fac74a57c79d0d00a45f6f7e57447010c1e3d90a4275d197829727b7abc54b248fc6f9bef9ae374f7be5ee9154dde5b5b73da773560bf17aa8504 @@ -8055,7 +8125,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.12.3, ajv@npm:^6.12.4, ajv@npm:^6.12.5": +"ajv@npm:^6.12.4, ajv@npm:^6.12.5": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -8313,22 +8383,6 @@ __metadata: languageName: node linkType: hard -"asn1@npm:~0.2.3": - version: 0.2.4 - resolution: "asn1@npm:0.2.4" - dependencies: - safer-buffer: "npm:~2.1.0" - checksum: cdd85010a393ec7b88b127c879a0a580f65ea5f919605e5264bc70cefaa295e9ecb1cfe045fbd76f3dbbea9ee6ab4acd750ae81b39994c61a7e80645b0cbdc42 - languageName: node - linkType: hard - -"assert-plus@npm:1.0.0, assert-plus@npm:^1.0.0": - version: 1.0.0 - resolution: "assert-plus@npm:1.0.0" - checksum: b194b9d50c3a8f872ee85ab110784911e696a4d49f7ee6fc5fb63216dedbefd2c55999c70cb2eaeb4cf4a0e0338b44e9ace3627117b5bf0d42460e9132f21b91 - languageName: node - linkType: hard - "assert@npm:^2.0.0, assert@npm:^2.1.0": version: 2.1.0 resolution: "assert@npm:2.1.0" @@ -8402,20 +8456,6 @@ __metadata: languageName: node linkType: hard -"aws-sign2@npm:~0.7.0": - version: 0.7.0 - resolution: "aws-sign2@npm:0.7.0" - checksum: 021d2cc5547d4d9ef1633e0332e746a6f447997758b8b68d6fb33f290986872d2bff5f0c37d5832f41a7229361f093cd81c40898d96ed153493c0fb5cd8575d2 - languageName: node - linkType: hard - -"aws4@npm:^1.8.0": - version: 1.11.0 - resolution: "aws4@npm:1.11.0" - checksum: 00c32a5dc0f864a731e26406fa7d51595e09359dd8f9c813fa3122e3833f564bf95b78cdf6acf8b5d0462403d7c73ce5f22ad19050d75b17019c7978f970c4fa - languageName: node - linkType: hard - "babel-core@npm:^7.0.0-bridge.0": version: 7.0.0-bridge.0 resolution: "babel-core@npm:7.0.0-bridge.0" @@ -8571,7 +8611,7 @@ __metadata: languageName: node linkType: hard -"base-x@npm:^3.0.2, base-x@npm:^3.0.8": +"base-x@npm:^3.0.8": version: 3.0.9 resolution: "base-x@npm:3.0.9" dependencies: @@ -8587,31 +8627,6 @@ __metadata: languageName: node linkType: hard -"base64url-universal@npm:^1.0.1": - version: 1.1.0 - resolution: "base64url-universal@npm:1.1.0" - dependencies: - base64url: "npm:^3.0.0" - checksum: d1408b3062c7a73cca75c6cc47eaefc47089ca20e019f5b6c3ab4641d7a87caec3e8e1fb17165b63380bef924f62f59dc7f257586490d5718c8c352f1dfc98e2 - languageName: node - linkType: hard - -"base64url@npm:^3.0.0, base64url@npm:^3.0.1": - version: 3.0.1 - resolution: "base64url@npm:3.0.1" - checksum: 5ca9d6064e9440a2a45749558dddd2549ca439a305793d4f14a900b7256b5f4438ef1b7a494e1addc66ced5d20f5c010716d353ed267e4b769e6c78074991241 - languageName: node - linkType: hard - -"bcrypt-pbkdf@npm:^1.0.0": - version: 1.0.2 - resolution: "bcrypt-pbkdf@npm:1.0.2" - dependencies: - tweetnacl: "npm:^0.14.3" - checksum: ddfe85230b32df25aeebfdccfbc61d3bc493ace49c884c9c68575de1f5dcf733a5d7de9def3b0f318b786616b8d85bad50a28b1da1750c43e0012c93badcc148 - languageName: node - linkType: hard - "better-opn@npm:^3.0.2": version: 3.0.2 resolution: "better-opn@npm:3.0.2" @@ -8784,15 +8799,6 @@ __metadata: languageName: node linkType: hard -"bs58@npm:^4.0.1": - version: 4.0.1 - resolution: "bs58@npm:4.0.1" - dependencies: - base-x: "npm:^3.0.2" - checksum: 613a1b1441e754279a0e3f44d1faeb8c8e838feef81e550efe174ff021dd2e08a4c9ae5805b52dfdde79f97b5c0918c78dd24a0eb726c4a94365f0984a0ffc65 - languageName: node - linkType: hard - "bser@npm:2.1.1": version: 2.1.1 resolution: "bser@npm:2.1.1" @@ -8940,10 +8946,10 @@ __metadata: languageName: node linkType: hard -"canonicalize@npm:^1.0.1": - version: 1.0.5 - resolution: "canonicalize@npm:1.0.5" - checksum: f4b9e72d72dd01de5e30396af31a45894f8a17251cceaf073321414a7c6928f69609a2b9f8c708eb0a158257a8b3e997687d9903c6fe7ae24a501f4ae8301635 +"canonicalize@npm:^2.0.0": + version: 2.0.0 + resolution: "canonicalize@npm:2.0.0" + checksum: b14fecd0f9e498d22a550656440ed7fd7a9e59eeaba16d72691683a351626f2cd61f62fe17cca4267f39d7a851e027c3defc47b09a9e748dd2cce3ea4eda0a1f languageName: node linkType: hard @@ -8954,13 +8960,6 @@ __metadata: languageName: node linkType: hard -"caseless@npm:~0.12.0": - version: 0.12.0 - resolution: "caseless@npm:0.12.0" - checksum: ccf64bcb6c0232cdc5b7bd91ddd06e23a4b541f138336d4725233ac538041fb2f29c2e86c3c4a7a61ef990b665348db23a047060b9414c3a6603e9fa61ad4626 - languageName: node - linkType: hard - "cbor-web@npm:^9.0.0": version: 9.0.1 resolution: "cbor-web@npm:9.0.1" @@ -9219,7 +9218,7 @@ __metadata: languageName: node linkType: hard -"combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8, combined-stream@npm:~1.0.6": +"combined-stream@npm:^1.0.8": version: 1.0.8 resolution: "combined-stream@npm:1.0.8" dependencies: @@ -9228,7 +9227,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^2.20.0, commander@npm:^2.20.3": +"commander@npm:^2.20.0": version: 2.20.3 resolution: "commander@npm:2.20.3" checksum: 74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 @@ -9396,7 +9395,7 @@ __metadata: languageName: node linkType: hard -"core-util-is@npm:1.0.2, core-util-is@npm:~1.0.0": +"core-util-is@npm:~1.0.0": version: 1.0.2 resolution: "core-util-is@npm:1.0.2" checksum: 980a37a93956d0de8a828ce508f9b9e3317039d68922ca79995421944146700e4aaf490a6dbfebcb1c5292a7184600c7710b957d724be1e37b8254c6bc0fe246 @@ -9462,13 +9461,6 @@ __metadata: languageName: node linkType: hard -"credentials-context@npm:^1.0.0": - version: 1.0.0 - resolution: "credentials-context@npm:1.0.0" - checksum: ceefd9cba384fed7e2cfe85d8e9fee15da27ef8989ddcecb7cc8a678fa83d691e834100cf0280deb52349f09f5da1fb3b3ba144404faeabea44b0130651ac74d - languageName: node - linkType: hard - "cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" @@ -9480,22 +9472,6 @@ __metadata: languageName: node linkType: hard -"crypto-ld@npm:^3.7.0": - version: 3.9.0 - resolution: "crypto-ld@npm:3.9.0" - dependencies: - base64url-universal: "npm:^1.0.1" - bs58: "npm:^4.0.1" - node-forge: "npm:~0.10.0" - semver: "npm:^6.2.0" - sodium-native: "npm:^3.2.0" - dependenciesMeta: - sodium-native: - optional: true - checksum: 78fd545e802db3b0ade0bacf177dde7c52dd24d801faca79a7b5b7d6226d114db7fc1307397ff119798709376d28c3271e08e457723720c141ab4f50e47473e1 - languageName: node - linkType: hard - "crypto-random-string@npm:^2.0.0": version: 2.0.0 resolution: "crypto-random-string@npm:2.0.0" @@ -9623,15 +9599,6 @@ __metadata: languageName: node linkType: hard -"dashdash@npm:^1.12.0": - version: 1.14.1 - resolution: "dashdash@npm:1.14.1" - dependencies: - assert-plus: "npm:^1.0.0" - checksum: 64589a15c5bd01fa41ff7007e0f2c6552c5ef2028075daa16b188a3721f4ba001841bf306dfc2eee6e2e6e7f76b38f5f17fb21fa847504192290ffa9e150118a - languageName: node - linkType: hard - "data-uri-to-buffer@npm:^4.0.0": version: 4.0.0 resolution: "data-uri-to-buffer@npm:4.0.0" @@ -10113,16 +10080,6 @@ __metadata: languageName: node linkType: hard -"ecc-jsbn@npm:~0.1.1": - version: 0.1.2 - resolution: "ecc-jsbn@npm:0.1.2" - dependencies: - jsbn: "npm:~0.1.0" - safer-buffer: "npm:^2.1.0" - checksum: 6cf168bae1e2dad2e46561d9af9cbabfbf5ff592176ad4e9f0f41eaaf5fe5e10bb58147fe0a804de62b1ee9dad42c28810c88d652b21b6013c47ba8efa274ca1 - languageName: node - linkType: hard - "ee-first@npm:1.1.1": version: 1.1.1 resolution: "ee-first@npm:1.1.1" @@ -11009,13 +10966,6 @@ __metadata: languageName: node linkType: hard -"extend@npm:~3.0.2": - version: 3.0.2 - resolution: "extend@npm:3.0.2" - checksum: 73bf6e27406e80aa3e85b0d1c4fd987261e628064e170ca781125c0b635a3dabad5e05adbf07595ea0cf1e6c5396cacb214af933da7cbaf24fe75ff14818e8f9 - languageName: node - linkType: hard - "extract-zip@npm:^1.6.6": version: 1.7.0 resolution: "extract-zip@npm:1.7.0" @@ -11030,13 +10980,6 @@ __metadata: languageName: node linkType: hard -"extsprintf@npm:1.3.0, extsprintf@npm:^1.2.0": - version: 1.3.0 - resolution: "extsprintf@npm:1.3.0" - checksum: f75114a8388f0cbce68e277b6495dc3930db4dde1611072e4a140c24e204affd77320d004b947a132e9a3b97b8253017b2b62dce661975fb0adced707abf1ab5 - languageName: node - linkType: hard - "fast-copy@npm:^3.0.0": version: 3.0.0 resolution: "fast-copy@npm:3.0.0" @@ -11325,6 +11268,13 @@ __metadata: languageName: node linkType: hard +"foreach@npm:^2.0.4": + version: 2.0.6 + resolution: "foreach@npm:2.0.6" + checksum: dc79f83997ac986dadbc95b4035ce8b86699fb654eb85446b0ad779fe69d567fc9894075e460243ca8bc20adb8fd178ad203aef66dc3c620ac78b18a4cb7059c + languageName: node + linkType: hard + "foreground-child@npm:^3.1.0": version: 3.1.1 resolution: "foreground-child@npm:3.1.1" @@ -11335,13 +11285,6 @@ __metadata: languageName: node linkType: hard -"forever-agent@npm:~0.6.1": - version: 0.6.1 - resolution: "forever-agent@npm:0.6.1" - checksum: 364f7f5f7d93ab661455351ce116a67877b66f59aca199559a999bd39e3cfadbfbfacc10415a915255e2210b30c23febe9aec3ca16bf2d1ff11c935a1000e24c - languageName: node - linkType: hard - "fork-ts-checker-webpack-plugin@npm:^8.0.0": version: 8.0.0 resolution: "fork-ts-checker-webpack-plugin@npm:8.0.0" @@ -11387,17 +11330,6 @@ __metadata: languageName: node linkType: hard -"form-data@npm:~2.3.2": - version: 2.3.3 - resolution: "form-data@npm:2.3.3" - dependencies: - asynckit: "npm:^0.4.0" - combined-stream: "npm:^1.0.6" - mime-types: "npm:^2.1.12" - checksum: 706ef1e5649286b6a61e5bb87993a9842807fd8f149cd2548ee807ea4fb882247bdf7f6e64ac4720029c0cd5c80343de0e22eee1dc9e9882e12db9cc7bc016a4 - languageName: node - linkType: hard - "formdata-polyfill@npm:^4.0.10": version: 4.0.10 resolution: "formdata-polyfill@npm:4.0.10" @@ -11450,17 +11382,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^8.1.0": - version: 8.1.0 - resolution: "fs-extra@npm:8.1.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^4.0.0" - universalify: "npm:^0.1.0" - checksum: 259f7b814d9e50d686899550c4f9ded85c46c643f7fe19be69504888e007fcbc08f306fae8ec495b8b998635e997c9e3e175ff2eeed230524ef1c1684cc96423 - languageName: node - linkType: hard - "fs-minipass@npm:^2.0.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -11624,13 +11545,6 @@ __metadata: languageName: node linkType: hard -"get-stdin@npm:^7.0.0": - version: 7.0.0 - resolution: "get-stdin@npm:7.0.0" - checksum: 84d7850d17727f14d582670c4222b167317da43b296b88717abca989b6192eb80f66ca62833d63e749b3c984f3f9113cb6794dc9ecccb29969b8162565162033 - languageName: node - linkType: hard - "get-stream@npm:^5.1.0": version: 5.2.0 resolution: "get-stream@npm:5.2.0" @@ -11664,15 +11578,6 @@ __metadata: languageName: node linkType: hard -"getpass@npm:^0.1.1": - version: 0.1.7 - resolution: "getpass@npm:0.1.7" - dependencies: - assert-plus: "npm:^1.0.0" - checksum: c13f8530ecf16fc509f3fa5cd8dd2129ffa5d0c7ccdf5728b6022d52954c2d24be3706b4cdf15333eec52f1fbb43feb70a01dabc639d1d10071e371da8aaa52f - languageName: node - linkType: hard - "giget@npm:^1.0.0": version: 1.1.2 resolution: "giget@npm:1.1.2" @@ -11917,23 +11822,6 @@ __metadata: languageName: node linkType: hard -"har-schema@npm:^2.0.0": - version: 2.0.0 - resolution: "har-schema@npm:2.0.0" - checksum: 3856cb76152658e0002b9c2b45b4360bb26b3e832c823caed8fcf39a01096030bf09fa5685c0f7b0f2cb3ecba6e9dce17edaf28b64a423d6201092e6be56e592 - languageName: node - linkType: hard - -"har-validator@npm:~5.1.3": - version: 5.1.5 - resolution: "har-validator@npm:5.1.5" - dependencies: - ajv: "npm:^6.12.3" - har-schema: "npm:^2.0.0" - checksum: f1d606eb1021839e3a905be5ef7cca81c2256a6be0748efb8fefc14312214f9e6c15d7f2eaf37514104071207d84f627b68bb9f6178703da4e06fbd1a0649a5e - languageName: node - linkType: hard - "has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": version: 1.0.2 resolution: "has-bigints@npm:1.0.2" @@ -12212,17 +12100,6 @@ __metadata: languageName: node linkType: hard -"http-signature@npm:~1.2.0": - version: 1.2.0 - resolution: "http-signature@npm:1.2.0" - dependencies: - assert-plus: "npm:^1.0.0" - jsprim: "npm:^1.2.2" - sshpk: "npm:^1.7.0" - checksum: 582f7af7f354429e1fb19b3bbb9d35520843c69bb30a25b88ca3c5c2c10715f20ae7924e20cffbed220b1d3a726ef4fe8ccc48568d5744db87be9a79887d6733 - languageName: node - linkType: hard - "http-status-codes@npm:^2.3.0": version: 2.3.0 resolution: "http-status-codes@npm:2.3.0" @@ -12778,13 +12655,6 @@ __metadata: languageName: node linkType: hard -"is-typedarray@npm:~1.0.0": - version: 1.0.0 - resolution: "is-typedarray@npm:1.0.0" - checksum: 4c096275ba041a17a13cca33ac21c16bc4fd2d7d7eb94525e7cd2c2f2c1a3ab956e37622290642501ff4310601e413b675cf399ad6db49855527d2163b3eeeec - languageName: node - linkType: hard - "is-unicode-supported@npm:^0.1.0": version: 0.1.0 resolution: "is-unicode-supported@npm:0.1.0" @@ -12869,13 +12739,6 @@ __metadata: languageName: node linkType: hard -"isstream@npm:~0.1.2": - version: 0.1.2 - resolution: "isstream@npm:0.1.2" - checksum: a6686a878735ca0a48e0d674dd6d8ad31aedfaf70f07920da16ceadc7577b46d67179a60b313f2e6860cb097a2c2eb3cbd0b89e921ae89199a59a17c3273d66f - languageName: node - linkType: hard - "istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": version: 3.2.0 resolution: "istanbul-lib-coverage@npm:3.2.0" @@ -13511,13 +13374,6 @@ __metadata: languageName: node linkType: hard -"jsbn@npm:~0.1.0": - version: 0.1.1 - resolution: "jsbn@npm:0.1.1" - checksum: e046e05c59ff880ee4ef68902dbdcb6d2f3c5d60c357d4d68647dc23add556c31c0e5f41bdb7e69e793dd63468bd9e085da3636341048ef577b18f5b713877c0 - languageName: node - linkType: hard - "jscodeshift@npm:^0.15.1": version: 0.15.1 resolution: "jscodeshift@npm:0.15.1" @@ -13625,6 +13481,15 @@ __metadata: languageName: node linkType: hard +"json-pointer@npm:^0.6.2": + version: 0.6.2 + resolution: "json-pointer@npm:0.6.2" + dependencies: + foreach: "npm:^2.0.4" + checksum: 47f6103032c0340b3392cb650e0ec817f785eccb553407da13fae85bc535483c9b359d7e756de4ed73130172c28d2b02f8beb53a700a98b12e72c7bf70e734b7 + languageName: node + linkType: hard + "json-schema-traverse@npm:^0.4.1": version: 0.4.1 resolution: "json-schema-traverse@npm:0.4.1" @@ -13639,13 +13504,6 @@ __metadata: languageName: node linkType: hard -"json-schema@npm:0.2.3": - version: 0.2.3 - resolution: "json-schema@npm:0.2.3" - checksum: 141b3fdfe69a9fa662b9bca10933204b200bd30a6431e6bb90b9fbd9d056c352ede171386c77459440208800e2339936e08dfa8af44a0979c909b6b5769bcda3 - languageName: node - linkType: hard - "json-stable-stringify-without-jsonify@npm:^1.0.1": version: 1.0.1 resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" @@ -13653,7 +13511,7 @@ __metadata: languageName: node linkType: hard -"json-stringify-safe@npm:^5.0.1, json-stringify-safe@npm:~5.0.1": +"json-stringify-safe@npm:^5.0.1": version: 5.0.1 resolution: "json-stringify-safe@npm:5.0.1" checksum: 7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37 @@ -13680,18 +13538,6 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^4.0.0": - version: 4.0.0 - resolution: "jsonfile@npm:4.0.0" - dependencies: - graceful-fs: "npm:^4.1.6" - dependenciesMeta: - graceful-fs: - optional: true - checksum: 7dc94b628d57a66b71fb1b79510d460d662eb975b5f876d723f81549c2e9cd316d58a2ddf742b2b93a4fa6b17b2accaf1a738a0e2ea114bdfb13a32e5377e480 - languageName: node - linkType: hard - "jsonfile@npm:^6.0.1": version: 6.1.0 resolution: "jsonfile@npm:6.1.0" @@ -13705,46 +13551,6 @@ __metadata: languageName: node linkType: hard -"jsonld-signatures@npm:^5.0.0": - version: 5.2.0 - resolution: "jsonld-signatures@npm:5.2.0" - dependencies: - base64url: "npm:^3.0.1" - crypto-ld: "npm:^3.7.0" - jsonld: "npm:^2.0.2" - node-forge: "npm:^0.10.0" - security-context: "npm:^4.0.0" - serialize-error: "npm:^5.0.0" - checksum: c9966118b9ad0af8be9bed8b42cfa8fe67d57c7ef29b7dbf7b889902c5bc1f1c19527d724316666dca49a6a1e72b3b37e09be6ab77d3b74f8dd4c39b2ef8f61c - languageName: node - linkType: hard - -"jsonld@npm:^2.0.2": - version: 2.0.2 - resolution: "jsonld@npm:2.0.2" - dependencies: - canonicalize: "npm:^1.0.1" - lru-cache: "npm:^5.1.1" - rdf-canonize: "npm:^1.0.2" - request: "npm:^2.88.0" - semver: "npm:^6.3.0" - xmldom: "npm:0.1.19" - checksum: d5648d74aab4316b13acfb1dfe087443a0f8b7022b94732867d01a3fbd50f1ce0bec073412da883dfa760641a22e778304e27f098de7f23ea27c8503e188edf2 - languageName: node - linkType: hard - -"jsprim@npm:^1.2.2": - version: 1.4.1 - resolution: "jsprim@npm:1.4.1" - dependencies: - assert-plus: "npm:1.0.0" - extsprintf: "npm:1.3.0" - json-schema: "npm:0.2.3" - verror: "npm:1.10.0" - checksum: e457bd0d5f7eb11477708d77ed37a7dae88caf8226dc807a1a7d320bdb1085b7e3f89c057c2cbbcd543be41bbb934231549ef3842c9a5bbf2def940f2d07a841 - languageName: node - linkType: hard - "jsx-ast-utils@npm:^2.4.1 || ^3.0.0": version: 3.2.1 resolution: "jsx-ast-utils@npm:3.2.1" @@ -14231,7 +14037,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.12, mime-types@npm:^2.1.25, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.25, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -14505,6 +14311,15 @@ __metadata: languageName: node linkType: hard +"multibase@npm:^4.0.6": + version: 4.0.6 + resolution: "multibase@npm:4.0.6" + dependencies: + "@multiformats/base-x": "npm:^4.0.1" + checksum: 1e931f2d018a195f7ea1d157782a6ab2eb3913674b79a9193e05ee2ded58383a373124ec9d84d20b12a2561a34659d2fe5a7e49e4ba493af5127b0009fdaf33d + languageName: node + linkType: hard + "mustache@npm:^3.0.0": version: 3.2.1 resolution: "mustache@npm:3.2.1" @@ -14663,13 +14478,6 @@ __metadata: languageName: node linkType: hard -"node-forge@npm:^0.10.0, node-forge@npm:~0.10.0": - version: 0.10.0 - resolution: "node-forge@npm:0.10.0" - checksum: 9cbf9ac8fc3889a5a46b0248f7238ee4014770bf31d22e04c0c7f04ed91c8be4584c5f534cdf6037e99f236c636c925cba960501ed2b850e077512e152760663 - languageName: node - linkType: hard - "node-gyp-build-optional-packages@npm:5.0.3": version: 5.0.3 resolution: "node-gyp-build-optional-packages@npm:5.0.3" @@ -14681,7 +14489,7 @@ __metadata: languageName: node linkType: hard -"node-gyp-build@npm:^4.2.0, node-gyp-build@npm:^4.2.3, node-gyp-build@npm:^4.3.0": +"node-gyp-build@npm:^4.2.3, node-gyp-build@npm:^4.3.0": version: 4.3.0 resolution: "node-gyp-build@npm:4.3.0" bin: @@ -14817,13 +14625,6 @@ __metadata: languageName: node linkType: hard -"oauth-sign@npm:~0.9.0": - version: 0.9.0 - resolution: "oauth-sign@npm:0.9.0" - checksum: fc92a516f6ddbb2699089a2748b04f55c47b6ead55a77cd3a2cbbce5f7af86164cb9425f9ae19acfd066f1ad7d3a96a67b8928c6ea946426f6d6c29e448497c2 - languageName: node - linkType: hard - "object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" @@ -15303,13 +15104,6 @@ __metadata: languageName: node linkType: hard -"performance-now@npm:^2.1.0": - version: 2.1.0 - resolution: "performance-now@npm:2.1.0" - checksum: 22c54de06f269e29f640e0e075207af57de5052a3d15e360c09b9a8663f393f6f45902006c1e71aa8a5a1cdfb1a47fe268826f8496d6425c362f00f5bc3e85d9 - languageName: node - linkType: hard - "picocolors@npm:^1.0.0": version: 1.0.0 resolution: "picocolors@npm:1.0.0" @@ -15757,7 +15551,7 @@ __metadata: languageName: node linkType: hard -"psl@npm:^1.1.28, psl@npm:^1.1.33": +"psl@npm:^1.1.33": version: 1.8.0 resolution: "psl@npm:1.8.0" checksum: b5f1956f7530860e1918e7238291689fdc3cab9c2c0cdbc47cde21addcc7f62495d794692cc1e43e54728d273f78037e8e73ac43009509a1a7f823341f4039c8 @@ -15852,13 +15646,6 @@ __metadata: languageName: node linkType: hard -"qs@npm:~6.5.2": - version: 6.5.2 - resolution: "qs@npm:6.5.2" - checksum: dab79026d56e6f1fdcc4779a1c6e05d05dad2199443a025815399f545294c9ea2c3ab50a5198600f5f13f52c5672b4389ceccf946919e150467281abf6edf747 - languageName: node - linkType: hard - "querystring@npm:^0.2.0": version: 0.2.1 resolution: "querystring@npm:0.2.1" @@ -15929,16 +15716,6 @@ __metadata: languageName: node linkType: hard -"rdf-canonize@npm:^1.0.2": - version: 1.2.0 - resolution: "rdf-canonize@npm:1.2.0" - dependencies: - node-forge: "npm:^0.10.0" - semver: "npm:^6.3.0" - checksum: d0955b79caa43c60a74c544163486bdb1b7462e8c4373e9bfae36afc93fb849271fb4fe2c228613d24b9c9f22195b5ed17f1cc6787538853e3dec1d0df1d3d10 - languageName: node - linkType: hard - "react-colorful@npm:^5.1.2": version: 5.6.1 resolution: "react-colorful@npm:5.6.1" @@ -16347,34 +16124,6 @@ __metadata: languageName: node linkType: hard -"request@npm:^2.88.0": - version: 2.88.2 - resolution: "request@npm:2.88.2" - dependencies: - aws-sign2: "npm:~0.7.0" - aws4: "npm:^1.8.0" - caseless: "npm:~0.12.0" - combined-stream: "npm:~1.0.6" - extend: "npm:~3.0.2" - forever-agent: "npm:~0.6.1" - form-data: "npm:~2.3.2" - har-validator: "npm:~5.1.3" - http-signature: "npm:~1.2.0" - is-typedarray: "npm:~1.0.0" - isstream: "npm:~0.1.2" - json-stringify-safe: "npm:~5.0.1" - mime-types: "npm:~2.1.19" - oauth-sign: "npm:~0.9.0" - performance-now: "npm:^2.1.0" - qs: "npm:~6.5.2" - safe-buffer: "npm:^5.1.2" - tough-cookie: "npm:~2.5.0" - tunnel-agent: "npm:^0.6.0" - uuid: "npm:^3.3.2" - checksum: 0ec66e7af1391e51ad231de3b1c6c6aef3ebd0a238aa50d4191c7a792dcdb14920eea8d570c702dc5682f276fe569d176f9b8ebc6031a3cf4a630a691a431a63 - languageName: node - linkType: hard - "require-directory@npm:^2.1.1": version: 2.1.1 resolution: "require-directory@npm:2.1.1" @@ -16583,8 +16332,14 @@ __metadata: "@hapi/hapi": "npm:^21.3.2" "@hapi/inert": "npm:^7.1.0" "@jest/globals": "npm:^29.7.0" - "@kiltprotocol/sdk-js": "npm:^0.34.0" - "@kiltprotocol/vc-export": "npm:^0.34.0" + "@kiltprotocol/chain-helpers": "npm:0.100.0-alpha.1" + "@kiltprotocol/credentials": "npm:0.100.0-alpha.1" + "@kiltprotocol/did": "npm:0.100.0-alpha.1" + "@kiltprotocol/extension-api": "KILTprotocol/kilt-extension-api#rf-sdk-1-alpha" + "@kiltprotocol/legacy-credentials": "npm:0.100.0-alpha.1" + "@kiltprotocol/sdk-js": "npm:1.0.0-alpha.1" + "@kiltprotocol/types": "npm:0.100.0-alpha.1" + "@kiltprotocol/utils": "npm:0.100.0-alpha.1" "@parcel/optimizer-data-url": "npm:^2.7.0" "@parcel/transformer-inline-string": "npm:^2.7.0" "@polkadot/keyring": "npm:^12.6.2" @@ -16705,7 +16460,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.2": +"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: 6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 @@ -16730,7 +16485,7 @@ __metadata: languageName: node linkType: hard -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" checksum: 7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 @@ -16809,13 +16564,6 @@ __metadata: languageName: node linkType: hard -"security-context@npm:^4.0.0": - version: 4.0.0 - resolution: "security-context@npm:4.0.0" - checksum: 234e466945bdaf8dedf9538ebb88b6041485076de3ce74af4fa9ad90ecb38df59ffd050aac888c513484de3a45a7e09c603692e72c0dcbce24f024e2ed03ac3c - languageName: node - linkType: hard - "semver@npm:2 || 3 || 4 || 5, semver@npm:^5.6.0, semver@npm:^5.7.0, semver@npm:^5.7.1": version: 5.7.1 resolution: "semver@npm:5.7.1" @@ -16825,7 +16573,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.2.0, semver@npm:^6.3.0, semver@npm:^6.3.1": +"semver@npm:^6.0.0, semver@npm:^6.3.0, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: @@ -16866,15 +16614,6 @@ __metadata: languageName: node linkType: hard -"serialize-error@npm:^5.0.0": - version: 5.0.0 - resolution: "serialize-error@npm:5.0.0" - dependencies: - type-fest: "npm:^0.8.0" - checksum: 6934419798421a14536178d7ab70b9676dc747813817ec9841c96aeb87759f436a71feb241593c6f6aa9a697c0429285aef892d459e7d8cd5156b1d35f1606a1 - languageName: node - linkType: hard - "serialize-javascript@npm:^6.0.1": version: 6.0.1 resolution: "serialize-javascript@npm:6.0.1" @@ -17045,17 +16784,6 @@ __metadata: languageName: node linkType: hard -"sodium-native@npm:^3.2.0": - version: 3.2.1 - resolution: "sodium-native@npm:3.2.1" - dependencies: - ini: "npm:^1.3.5" - node-gyp: "npm:latest" - node-gyp-build: "npm:^4.2.0" - checksum: 9ae25ed2477240a2ae96c3be1141bf50ac362e4d6f60901b368e40be3689c609cbd93dac75a2b38e63868d2922f8e55122772fdbca2da7a92f90b068a0115fd7 - languageName: node - linkType: hard - "sonic-boom@npm:^3.0.0, sonic-boom@npm:^3.7.0": version: 3.7.0 resolution: "sonic-boom@npm:3.7.0" @@ -17161,27 +16889,6 @@ __metadata: languageName: node linkType: hard -"sshpk@npm:^1.7.0": - version: 1.16.1 - resolution: "sshpk@npm:1.16.1" - dependencies: - asn1: "npm:~0.2.3" - assert-plus: "npm:^1.0.0" - bcrypt-pbkdf: "npm:^1.0.0" - dashdash: "npm:^1.12.0" - ecc-jsbn: "npm:~0.1.1" - getpass: "npm:^0.1.1" - jsbn: "npm:~0.1.0" - safer-buffer: "npm:^2.0.2" - tweetnacl: "npm:~0.14.0" - bin: - sshpk-conv: bin/sshpk-conv - sshpk-sign: bin/sshpk-sign - sshpk-verify: bin/sshpk-verify - checksum: 0fd664954f6c9dd07d77076e26c15de4ede5ea4457df86119c0c67d28b53d7a97647431e198869ebaf680cf8d292db2114a28d4c30841125e50c0de37a4b89bf - languageName: node - linkType: hard - "ssri@npm:^10.0.0": version: 10.0.4 resolution: "ssri@npm:10.0.4" @@ -17955,16 +17662,6 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:~2.5.0": - version: 2.5.0 - resolution: "tough-cookie@npm:2.5.0" - dependencies: - psl: "npm:^1.1.28" - punycode: "npm:^2.1.1" - checksum: e1cadfb24d40d64ca16de05fa8192bc097b66aeeb2704199b055ff12f450e4f30c927ce250f53d01f39baad18e1c11d66f65e545c5c6269de4c366fafa4c0543 - languageName: node - linkType: hard - "tr46@npm:^3.0.0": version: 3.0.0 resolution: "tr46@npm:3.0.0" @@ -18067,22 +17764,6 @@ __metadata: languageName: node linkType: hard -"tunnel-agent@npm:^0.6.0": - version: 0.6.0 - resolution: "tunnel-agent@npm:0.6.0" - dependencies: - safe-buffer: "npm:^5.0.1" - checksum: 4c7a1b813e7beae66fdbf567a65ec6d46313643753d0beefb3c7973d66fcec3a1e7f39759f0a0b4465883499c6dc8b0750ab8b287399af2e583823e40410a17a - languageName: node - linkType: hard - -"tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": - version: 0.14.5 - resolution: "tweetnacl@npm:0.14.5" - checksum: 4612772653512c7bc19e61923fbf42903f5e0389ec76a4a1f17195859d114671ea4aa3b734c2029ce7e1fa7e5cc8b80580f67b071ecf0b46b5636d030a0102a2 - languageName: node - linkType: hard - "tweetnacl@npm:^1.0.3": version: 1.0.3 resolution: "tweetnacl@npm:1.0.3" @@ -18141,7 +17822,7 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.8.0, type-fest@npm:^0.8.1": +"type-fest@npm:^0.8.1": version: 0.8.1 resolution: "type-fest@npm:0.8.1" checksum: dffbb99329da2aa840f506d376c863bd55f5636f4741ad6e65e82f5ce47e6914108f44f340a0b74009b0cb5d09d6752ae83203e53e98b1192cf80ecee5651636 @@ -18357,7 +18038,7 @@ __metadata: languageName: node linkType: hard -"universalify@npm:^0.1.0, universalify@npm:^0.1.2": +"universalify@npm:^0.1.2": version: 0.1.2 resolution: "universalify@npm:0.1.2" checksum: e70e0339f6b36f34c9816f6bf9662372bd241714dc77508d231d08386d94f2c4aa1ba1318614f92015f40d45aae1b9075cd30bd490efbe39387b60a76ca3f045 @@ -18502,15 +18183,6 @@ __metadata: languageName: node linkType: hard -"uuid@npm:^3.3.2": - version: 3.4.0 - resolution: "uuid@npm:3.4.0" - bin: - uuid: ./bin/uuid - checksum: 1c13950df865c4f506ebfe0a24023571fa80edf2e62364297a537c80af09c618299797bbf2dbac6b1f8ae5ad182ba474b89db61e0e85839683991f7e08795347 - languageName: node - linkType: hard - "uuid@npm:^8.3.2": version: 8.3.2 resolution: "uuid@npm:8.3.2" @@ -18571,35 +18243,6 @@ __metadata: languageName: node linkType: hard -"vc-js@npm:^0.6.4": - version: 0.6.4 - resolution: "vc-js@npm:0.6.4" - dependencies: - commander: "npm:^2.20.3" - credentials-context: "npm:^1.0.0" - debug: "npm:^4.1.1" - fs-extra: "npm:^8.1.0" - get-stdin: "npm:^7.0.0" - jsonld: "npm:^2.0.2" - jsonld-signatures: "npm:^5.0.0" - supports-color: "npm:^7.1.0" - bin: - vc-js: bin/vc-js - checksum: 04b33fce6688c293ed078c09aa5a68f41a27cff0f298338290c1a3bd7db8a51e805f6220c89d3d15925d3621f2f00270f19891feed1d5bf32b8880d87484c3f4 - languageName: node - linkType: hard - -"verror@npm:1.10.0": - version: 1.10.0 - resolution: "verror@npm:1.10.0" - dependencies: - assert-plus: "npm:^1.0.0" - core-util-is: "npm:1.0.2" - extsprintf: "npm:^1.2.0" - checksum: 37ccdf8542b5863c525128908ac80f2b476eed36a32cb944de930ca1e2e78584cc435c4b9b4c68d0fc13a47b45ff364b4be43aa74f8804f9050140f660fb660d - languageName: node - linkType: hard - "w3c-hr-time@npm:^1.0.2": version: 1.0.2 resolution: "w3c-hr-time@npm:1.0.2" @@ -18985,13 +18628,6 @@ __metadata: languageName: node linkType: hard -"xmldom@npm:0.1.19": - version: 0.1.19 - resolution: "xmldom@npm:0.1.19" - checksum: e0634db88f7485285ce0381112b28c2136b6754109e6e0f49576a9e52c2dc6f22f9558cd37126a6f18d15c9da6cd55a546dd223f8e9643326358e3eb38d23da2 - languageName: node - linkType: hard - "xtend@npm:~4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2"