From a19972ada8630e24935c4572e8ddf84f4509229e Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Thu, 5 Sep 2024 17:23:22 +0200 Subject: [PATCH 1/9] Term changes Signed-off-by: Chris Chinchilla --- .../{attester => issuer}/ctypeSchema.ts | 0 .../{attester => issuer}/generateAccount.ts | 5 +- .../{attester => issuer}/generateCtype.ts | 0 .../{attester => issuer}/generateDid.ts | 0 .../{attester => issuer}/generateKeypairs.ts | 0 .../issueCredential.ts} | 0 concepts/01_what_is_kilt.md | 8 +- concepts/05_credentials/01_overview.md | 20 +- concepts/05_credentials/02_ctypes.md | 6 +- concepts/05_credentials/03_claiming.md | 14 +- concepts/05_credentials/04_attestation.md | 14 +- concepts/05_credentials/05_verification.md | 48 +- .../05_credentials/06_public_credentials.md | 4 +- concepts/06_distributed_trust.md | 32 +- .../01_terms_and_quote.md | 40 +- concepts/10_glossary.md | 17 +- develop/02_chain/02_pallets/01_did.md | 2 +- develop/07_dApp/04_verifier.md | 10 +- develop/08_opendid/03_opendid_service.md | 4 +- develop/08_opendid/05_demo_project.md | 2 +- develop/08_opendid/06_advanced.md | 6 +- sdk/02_tutorial/01_welcome.md | 2 +- sdk/02_tutorial/02_setup.md | 8 +- sdk/02_tutorial/03_overview.md | 52 +- .../{04_attester => 04_issuer}/01_account.md | 12 +- .../{04_attester => 04_issuer}/02_did.md | 20 +- .../{04_attester => 04_issuer}/03_ctype.md | 26 +- .../_category_.json | 0 .../{04_attester => 04_issuer}/index.md | 30 +- sdk/02_tutorial/05_claimer/01_did.md | 6 +- sdk/02_tutorial/05_claimer/02_request.md | 8 +- sdk/02_tutorial/05_claimer/index.md | 8 +- sdk/02_tutorial/06_attestation.md | 22 +- sdk/02_tutorial/08_done.md | 2 +- sdk/04_claiming/01_ctype_creation.md | 2 +- sdk/04_claiming/02_attestation_request.md | 6 +- sdk/04_claiming/03_attestation_creation.md | 6 +- .../05_presentation_verification.md | 4 +- sdk/04_claiming/06_credential_revocation.md | 4 +- sdk/05_credentials.md | 20 +- .../delegation-hierarchies-dark.svg | 88 +++- .../delegation-hierarchies.svg | 84 +++- .../version-0.3/03_workshop/01_welcome.md | 2 +- yarn.lock | 443 +++++++++--------- 44 files changed, 620 insertions(+), 467 deletions(-) rename code_examples/sdk_examples/src/workshop/{attester => issuer}/ctypeSchema.ts (100%) rename code_examples/sdk_examples/src/workshop/{attester => issuer}/generateAccount.ts (82%) rename code_examples/sdk_examples/src/workshop/{attester => issuer}/generateCtype.ts (100%) rename code_examples/sdk_examples/src/workshop/{attester => issuer}/generateDid.ts (100%) rename code_examples/sdk_examples/src/workshop/{attester => issuer}/generateKeypairs.ts (100%) rename code_examples/sdk_examples/src/workshop/{attester/attestCredential.ts => issuer/issueCredential.ts} (100%) rename sdk/02_tutorial/{04_attester => 04_issuer}/01_account.md (90%) rename sdk/02_tutorial/{04_attester => 04_issuer}/02_did.md (82%) rename sdk/02_tutorial/{04_attester => 04_issuer}/03_ctype.md (83%) rename sdk/02_tutorial/{04_attester => 04_issuer}/_category_.json (100%) rename sdk/02_tutorial/{04_attester => 04_issuer}/index.md (61%) diff --git a/code_examples/sdk_examples/src/workshop/attester/ctypeSchema.ts b/code_examples/sdk_examples/src/workshop/issuer/ctypeSchema.ts similarity index 100% rename from code_examples/sdk_examples/src/workshop/attester/ctypeSchema.ts rename to code_examples/sdk_examples/src/workshop/issuer/ctypeSchema.ts diff --git a/code_examples/sdk_examples/src/workshop/attester/generateAccount.ts b/code_examples/sdk_examples/src/workshop/issuer/generateAccount.ts similarity index 82% rename from code_examples/sdk_examples/src/workshop/attester/generateAccount.ts rename to code_examples/sdk_examples/src/workshop/issuer/generateAccount.ts index c3d6138c0..74e647445 100644 --- a/code_examples/sdk_examples/src/workshop/attester/generateAccount.ts +++ b/code_examples/sdk_examples/src/workshop/issuer/generateAccount.ts @@ -1,12 +1,9 @@ import { config as envConfig } from 'dotenv' import * as Kilt from '@kiltprotocol/sdk-js' -import { mnemonicGenerate} from '@polkadot/util-crypto' -import { Crypto } from '@kiltprotocol/utils' -import type { } from '@kiltprotocol/types' export function generateAccount( - mnemonic = mnemonicGenerate() + mnemonic = Kilt.Utils.Crypto.mnemonicGenerate() ): { account: Kilt.KiltKeyringPair & { type: 'ed25519' } mnemonic: string diff --git a/code_examples/sdk_examples/src/workshop/attester/generateCtype.ts b/code_examples/sdk_examples/src/workshop/issuer/generateCtype.ts similarity index 100% rename from code_examples/sdk_examples/src/workshop/attester/generateCtype.ts rename to code_examples/sdk_examples/src/workshop/issuer/generateCtype.ts diff --git a/code_examples/sdk_examples/src/workshop/attester/generateDid.ts b/code_examples/sdk_examples/src/workshop/issuer/generateDid.ts similarity index 100% rename from code_examples/sdk_examples/src/workshop/attester/generateDid.ts rename to code_examples/sdk_examples/src/workshop/issuer/generateDid.ts diff --git a/code_examples/sdk_examples/src/workshop/attester/generateKeypairs.ts b/code_examples/sdk_examples/src/workshop/issuer/generateKeypairs.ts similarity index 100% rename from code_examples/sdk_examples/src/workshop/attester/generateKeypairs.ts rename to code_examples/sdk_examples/src/workshop/issuer/generateKeypairs.ts diff --git a/code_examples/sdk_examples/src/workshop/attester/attestCredential.ts b/code_examples/sdk_examples/src/workshop/issuer/issueCredential.ts similarity index 100% rename from code_examples/sdk_examples/src/workshop/attester/attestCredential.ts rename to code_examples/sdk_examples/src/workshop/issuer/issueCredential.ts diff --git a/concepts/01_what_is_kilt.md b/concepts/01_what_is_kilt.md index 401a4c289..7f7b38933 100644 --- a/concepts/01_what_is_kilt.md +++ b/concepts/01_what_is_kilt.md @@ -19,9 +19,9 @@ Such entities can establish a business model based on the trust infrastructure K In particular, KILT provides: -* A **universal identity protocol** for individuals, organizations, objects, and intelligent agents to obtain credentials for arbitrary attributes about themselves issued by trusted [Attesters](./10_glossary.md#attester). +* A **universal identity protocol** for individuals, organizations, objects, and intelligent agents to obtain credentials for arbitrary attributes about themselves issued by trusted [Issuers](./10_glossary.md#issuer). * A **self-sovereign mechanism** for putting credential holders in control of their own data, allowing them to choose if and where they make their credentials public and how much information from those credentials they wish to share. -* A **[Trust Market](./10_glossary.md#trust-market) for [Attesters](./10_glossary.md#attester)** of such credentials, allowing widely trusted entities to be compensated for their valuable attestation work. +* A **[Trust Market](./10_glossary.md#trust-market) for [Issuers](./10_glossary.md#issuer)** of such credentials, allowing widely trusted entities to be compensated for their valuable attestation work. KILT's main goal is to generate a level playing field for companies to explore new business models related to trust relationships and data sovereignty. KILT enables businesses and governments to rely on a common standard owned by everyone participating and not by a single company or set thereof. @@ -47,7 +47,7 @@ Trusted entities issue them and hand them out to the holder. That holder then has full control of their credential (their passport) and can use it wherever needed. With the invention of the internet, and later of Web 2.0, services evolved and merged into totally centralized solutions including Google, Meta, and X among others. -They no longer attest to someone's email account, but due to their business model, those same service providers store and control our personal data (i.e., our identity). +They no longer attest someone's email account, but due to their business model, those same service providers store and control our personal data (i.e., our identity). For instance, they could stop allowing us to log into a certain website if they decide to. More often than not, companies store the data out of necessity and for their own business purpose. Every time users log into any service, they generate new data points which are then aggregated and sold for advertising purposes. @@ -64,5 +64,5 @@ The core ideas are: * Managing user identities in the form of [decentralized identifiers (DIDs)](https://w3c-ccg.github.io/did-spec/), with the support of the KILT blockchain * Obtaining digital [verifiable credentials](./10_glossary.md#verifiable-credentials) for user-specified claims -* Supporting revocation of verifiable credentials by their Attesters +* Supporting revocation of verifiable credentials by their Issuers * Presenting and verifying verifiable credentials in a privacy-preserving and user-controlled way diff --git a/concepts/05_credentials/01_overview.md b/concepts/05_credentials/01_overview.md index 42ce07760..446b06443 100644 --- a/concepts/05_credentials/01_overview.md +++ b/concepts/05_credentials/01_overview.md @@ -5,7 +5,7 @@ title: Overview import ThemedImage from '@theme/ThemedImage'; -**Credentials** consist of a set of claims which belong to a **Claimer**, are attested by an **Attester**, and that a **Verifier** can verify. +**Credentials** consist of a set of claims which belong to a **Holder**, are attested by an **Issuer**, and that a **Verifier** can verify.
-To get a credential, a Claimer needs to take the following steps: +To get a credential, a Holder needs to take the following steps: -1. Find a **CType** to base a claim on. Potential Attesters and Verifiers might advertise this information themselves. +1. Find a **CType** to base a claim on. Potential Issuers and Verifiers might advertise this information themselves. 2. Make a **claim** containing a set of properties about themselves. -3. Fulfil any requirement from your Attester. For example, accepting their **Terms** and paying a **Quote**. -4. **Request an attestation** from the Attester. -5. Wait for the Attester to **attest** claims. +3. Fulfil any requirement from your Issuer. For example, accepting their **Terms** and paying a **Quote**. +4. **Request an attestation** from the Issuer. +5. Wait for the Issuer to **attest** claims. Once attested, the wrapped claims are considered to be a valid credential. -To use a Credential, the Claimer can generate a Credential-Presentation for a Verifier. +To use a Credential, the Holder can generate a Credential-Presentation for a Verifier. The verification would follow this process: 1. The Verifier may request a **Credential** of a CType, along with with properties to reveal. -He would also provide a **challenge** to ensure the presentations are not recycled. -2. The Claimer selectively **discloses** the requested properties and signs them along with the challenge to generate a presentation. -3. The Verifier **verify** the presentation structure, content and signature, and decides whether they trust the Attester of the presented credential. +They also provide a **challenge** to ensure the presentations aren't recycled. +2. The Holder selectively **discloses** the requested properties and signs them along with the challenge to generate a presentation. +3. The Verifier **verify** the presentation structure, content and signature, and decides whether they trust the Issuer of the presented credential. The next sections describe each step in more detail. diff --git a/concepts/05_credentials/02_ctypes.md b/concepts/05_credentials/02_ctypes.md index bbd36c962..17eaa7b17 100644 --- a/concepts/05_credentials/02_ctypes.md +++ b/concepts/05_credentials/02_ctypes.md @@ -21,7 +21,7 @@ The following are all required properties of the JSON schema for [CType models]( - `$id`: An **identifier**: in the format `kilt:ctype:0x{cTypeHash}`. - `$schema`: A **reference to CType metaschema**: Describes what a valid CType must looks like. You can find the latest metaschema on IPFS at the following address [ipfs://bafybeiah66wbkhqbqn7idkostj2iqyan2tstc4tpqt65udlhimd7hcxjyq/](ipfs://bafybeiah66wbkhqbqn7idkostj2iqyan2tstc4tpqt65udlhimd7hcxjyq/). - `title`: A user-friendly name for the CType that makes it easier for users to contextualize. -- `properties`: A set of fields (e.g., name, birth date) that the CType can contain, and that the Claimer can have attested. [Read more details about properties below](#properties). +- `properties`: A set of fields (e.g., name, birth date) that the CType can contain, and that the Holder can have attested. [Read more details about properties below](#properties). - `type`: An object containing properties for a claim about the Claimer in the credential. - `additionalProperties`: A boolean added since version 1 of CTypes, that must be set and allows or disallows any properties in addition to those in `properties`. If set to `false`, the CType validation will fail if there are any additional properties. @@ -99,7 +99,7 @@ For a detailed developer-oriented guide to KILT CTypes, read the [CType Cookbook :::danger Deprecation Warning: CType metaschema draft-01 -CTypes based on the [Draft 01](http://kilt-protocol.org/draft-01/ctype) metaschema are subject to a vulnerability that could fool an **Attester** by introducing data they never checked. +CTypes based on the [Draft 01](http://kilt-protocol.org/draft-01/ctype) metaschema are subject to a vulnerability that could fool an **Issuer** by introducing data they never checked. Due to this vulnerability, this version of the metaschema is deprecated and its use is discouraged when creating new CTypes. @@ -115,7 +115,7 @@ New Property Value: `"$schema": "ipfs://bafybeiah66wbkhqbqn7idkostj2iqyan2tstc4t ## Migration instructions -Attesters should transition to issuing credentials using upgraded versions of CTypes currently in use. +Issuers should transition to issuing credentials using upgraded versions of CTypes currently in use. Using sdk version `0.33.0` or later, you can produce a copy of an existing CType `oldCType` as follows: diff --git a/concepts/05_credentials/03_claiming.md b/concepts/05_credentials/03_claiming.md index 6c7ac7899..fc6c37d34 100644 --- a/concepts/05_credentials/03_claiming.md +++ b/concepts/05_credentials/03_claiming.md @@ -7,20 +7,20 @@ import CodeBlock from '@theme/CodeBlock'; import Claim from '@site/scripts/out/claim.json.raw!=!raw-loader!@site/scripts/out/claim.json'; As KILT is an open system, entities can make claims about any other entities, including themselves. -An entity can only trust a claim (as in the real world) if another trusted entity (called **Attesters**) *certifies* this claim. -Therefore, **Verifiers** might trust different **Attesters** for distinct scenarios. +An entity can only trust a claim (as in the real world) if another trusted entity (called **Issuers**) *certifies* this claim. +Therefore, **Verifiers** might trust different **Issuers** for distinct scenarios. :::info Role recap -- **Claimers** want information about themselves certified. +- **Holders** want information about themselves certified. They also issue credentials, but these remain invalid without an attestation. -- **Attester** check the truthfulness of a claim and certify them. +- **Issuer** check the truthfulness of a claim and certify them. - **Verifiers** accept the credentials, only verifying that your certification are legitimate. ::: ## Creating a claim In KILT, claims are based on claim types (CTypes). -Given a CType, a Claimer only needs to create a claim with the properties specified in the CType schema. +Given a CType, a Holder only needs to create a claim with the properties specified in the CType schema. The resulting claim contains a reference to the CType by its hash and includes the identity of the claim subject (identified by the `owner` property, which has the value of a KILT DID). @@ -29,9 +29,9 @@ The resulting claim contains a reference to the CType by its hash and includes t ## Requesting a credential -Once the Claimer has wrapped their claims into a `Credential`, they send it to the chosen Attester using any messaging system for **certification**, i.e. attested. +Once the Holder has wrapped their claims into a `Credential`, they send it to the chosen Issuer using any messaging system for **certification**, i.e. attested. -The to-be-attested `Credential` contains the original claim, data needed for future selective disclosure of the claim contents (read more in the [Verification documentation](./05_verification.md)), and the legitimation and / or delegation ID of the Attester and the credential root hash, used to identify both the credential and its on-chain attestation. +The to-be-attested `Credential` contains the original claim, data needed for future selective disclosure of the claim contents (read more in the [Verification documentation](./05_verification.md)), and the legitimation and / or delegation ID of the Issuer and the credential root hash, used to identify both the credential and its on-chain attestation. :::info diff --git a/concepts/05_credentials/04_attestation.md b/concepts/05_credentials/04_attestation.md index 4c3d1a452..e9e398f21 100644 --- a/concepts/05_credentials/04_attestation.md +++ b/concepts/05_credentials/04_attestation.md @@ -2,16 +2,16 @@ id: attestation title: Attestations --- - + KILT uses the terms Attestation and Credential interchangeably, but their meaning is different. -A _Credential_ includes the original claimer's data and all the information linked to it, while an _Attestation_ only refers to the on-chain proof that a given credential has been attested. +A _Credential_ includes the original holder's data and all the information linked to it, while an _Attestation_ only refers to the on-chain proof that a given credential has been attested. -To write an attestation on the KILT blockchain, the Attester checks the validity of the received to-be-attested `Credential` data, ensuring that the data inside it matches the requirements of the attestation. For example, that the user's name is indeed Alice. +To write an attestation on the KILT blockchain, the Issuer checks the validity of the received to-be-attested `Credential` data, ensuring that the data inside it matches the requirements of the attestation. For example, that the user's name is indeed Alice. -After that, the Attester writes the `Credential`'s root hash on the KILT blockchain, certifying that a credential with that root hash is valid. -The Claimer can monitor the blockchain to listen for the event resulting from the attestation process, marking when the credential is attested and usable. +After that, the Issuer writes the `Credential`'s root hash on the KILT blockchain, certifying that a credential with that root hash is valid. +The Holder can monitor the blockchain to listen for the event resulting from the attestation process, marking when the credential is attested and usable. -After the credential has been attested, the Claimer can store it in their wallet and can now use it with Verifiers that trust credentials issued by that Attester. +After the credential has been attested, the Holder can store it in their wallet and can now use it with Verifiers that trust credentials issued by that Issuer. :::info @@ -24,5 +24,5 @@ For a detailed developer-oriented guide to KILT attestations, read the [Attestat Storing a attestation in the blockchain requires providing a constant deposit, which is currently around 0.12 KILT. The deposit amount is calculated based on the worst-case scenario for a attestation, where the maximum storage for one attestation reaches 179 bytes. The deposit serves as a security measure to ensure the integrity of the blockchain and incentivize users to manage their attestation responsibly. By requiring a deposit, it discourages spamming or unnecessary creation of attestation. -The attester can reclaim the deposit by deleting their attestation. +The issuer can reclaim the deposit by deleting their attestation. Revoking them isn't sufficient as the deposit still shows in chain storage, but marked as invalid. \ No newline at end of file diff --git a/concepts/05_credentials/05_verification.md b/concepts/05_credentials/05_verification.md index 7f5cee881..5a8bac074 100644 --- a/concepts/05_credentials/05_verification.md +++ b/concepts/05_credentials/05_verification.md @@ -3,30 +3,30 @@ id: verification title: Verification --- -KILT lets a Verifier check if the information in a credential presented by a Claimer is correct and valid. -With the presentation of the credential, the Claimer also presents evidence that a third party (i.e., an Attester) ensured the correctness of the Claimer’s attributes. +KILT lets a Verifier check if the information in a credential presented by a Holder is correct and valid. +With the presentation of the credential, the Holder also presents evidence that a third party (i.e., an Issuer) ensured the correctness of the Holder’s attributes. -The Verifier trusts this third party either because they trust their reputation directly or they trust a delegation structure that this Attester is part of. +The Verifier trusts this third party either because they trust their reputation directly or they trust a delegation structure that this Issuer is part of. For example, a State department issuing driving licenses. For the verification process: -- The Claimer needs their credential and the private key associated with their identifier -- The Verifier needs the identifier of the trusted Attester +- The Holder needs their credential and the private key associated with their identifier +- The Verifier needs the identifier of the trusted Issuer -During the verification process the Claimer wants to prove the following things to the Verifier: +During the verification process the Holder wants to prove the following things to the Verifier: -- The credential is valid (i.e., not revoked by its Attester) +- The credential is valid (i.e., not revoked by its Issuer) - The attributes in the credential actually refer to it's Presenter - The credential contains information relevant for the Verifier for this use case -- That an Attester ensured the correct and trustworthy-ness of the Claimer's attributes +- That an Issuer ensured the correct and trustworthy-ness of the Holder's attributes -## Requesting a credential from a Claimer +## Requesting a credential from a Holder -The Verifier may request a credential from a Claimer, providing the following data: +The Verifier may request a credential from a Holder, providing the following data: - `cTypeHash`: Which CType hashes the Verifier can work with for the use case. They can provide multiple options, to regard as alternatives. -- `trustedAttesters`: Which Attesters to consider trusted for each specified CType. +- `trustedIssuers`: Which Issuers to consider trusted for each specified CType. - `requiredProperties`: Which properties for each specified CType must at least be revealed for the Verifier to consider the presentation sufficient. :::info @@ -34,7 +34,7 @@ The Verifier may request a credential from a Claimer, providing the following da [Read more on selective disclosure](#presenting-a-credential-with-selective-disclosure). ::: -- `challenge`: A nonce, which the Verifier can use to ensure that the presentation generated by the Claimer is fresh and not replayed by some other older interactions. +- `challenge`: A nonce, which the Verifier can use to ensure that the presentation generated by the Holder is fresh and not replayed by some other older interactions. ### Example @@ -45,7 +45,7 @@ The Verifier may request a credential from a Claimer, providing the following da "cTypes": [ { "cTypeHash": "0x3291bb126e33b4862d421bfaa1d2f272e6cdfc4f96658988fbcffea8914bd9ac", - "trustedAttesters": [ + "trustedIssuers": [ "did:kilt:4pehddkhEanexVTTzWAtrrfo2R7xPnePpuiJLC7shQU894aY" ], "requiredProperties": [ @@ -62,15 +62,15 @@ The Verifier may request a credential from a Claimer, providing the following da ## Presenting a credential with selective disclosure -Given the `requiredProperties` specified by the Verifier, the Claimer can decide how much of the information they wish to reveal before they generate the presentation and send it to the Verifier. +Given the `requiredProperties` specified by the Verifier, the Holder can decide how much of the information they wish to reveal before they generate the presentation and send it to the Verifier. If supported by the Verifier, they can choose to hide attributes and thus only disclose a subset of the original claim data. :::caution The presentations can still be correlated, since the hash of the credential always stays the same, even when creating new presentations and selecting different attributes to show. ::: -For example, verifying a driving license only requires the verification of the driver's name and picture. A Claimer can decide to hide additional information such as age and place of residence. -This increases the privacy of the Claimer since they only need to show attributes required in the specific context. +For example, verifying a driving license only requires the verification of the driver's name and picture. A Holder can decide to hide additional information such as age and place of residence. +This increases the privacy of the Holder since they only need to show attributes required in the specific context. :::info @@ -80,26 +80,26 @@ For a detailed developer-oriented guide to KILT presentation creation, read the ## Verifying a presentation -The Verifier receives the presentation from the Claimer, re-calculates the root hash of the credential from which the presentation was generated, and queries the KILT blockchain to obtain the associated attestation information, including the revocation status of the credential. +The Verifier receives the presentation from the Holder, re-calculates the root hash of the credential from which the presentation was generated, and queries the KILT blockchain to obtain the associated attestation information, including the revocation status of the credential. -If the Claimer tampered with the credential, the re-calculated root hash won't match any attestation on the chain. +If the Holder tampered with the credential, the re-calculated root hash won't match any attestation on the chain. On the other hand, if the Verifier can find an attestation with the calculated hash on the chain and hasn't been revoked, the credential is valid. -However, this doesn't give the Verifier the guarantee that the Claimer is the rightful/legitimate owner of the credential presented. +However, this doesn't give the Verifier the guarantee that the Holder is the rightful/legitimate owner of the credential presented. ### Verifying the owner of the presented credential -When issued, a credential is linked to the KILT decentralized identifier (DID) of the original Claimer. -The Verifier can resolve the DID to the public key of the Claimer according to the [KILT DID specification](https://github.com/KILTprotocol/spec-kilt-did). +When issued, a credential is linked to the KILT decentralized identifier (DID) of the original Holder. +The Verifier can resolve the DID to the public key of the Holder according to the [KILT DID specification](https://github.com/KILTprotocol/spec-kilt-did). The Verifier assumes that the private key for the DID public key is only known to the owner of the credential, and isn't shared across users. -Therefore, when requesting the Claimer to generate a presentation, the Verifier challenges the Claimer to sign a nonce (a random number used once) that the Verifier sends together with their request. +Therefore, when requesting the Holder to generate a presentation, the Verifier challenges the Holder to sign a nonce (a random number used once) that the Verifier sends together with their request. -If the Claimer can sign both the nonce and the presentation with the private key that only the credential's owner should have knowledge of, the Verifier can be sure that the Claimer is the legitimate owner of the credential. +If the Holder can sign both the nonce and the presentation with the private key that only the credential's owner should have knowledge of, the Verifier can be sure that the Holder is the legitimate owner of the credential. ### Verifying the content of the presented credential -After the Verifier has checked that the credential is valid and belongs to the presenting Claimer, they need to verify that they have received all the required information. +After the Verifier has checked that the credential is valid and belongs to the presenting Holder, they need to verify that they have received all the required information. This is to verify that the presentation received contains the right values **and** the right semantics. For example, the `age` property could have different meanings depending on whether it's defined for a passport CType or a Whisky certificate CType. diff --git a/concepts/05_credentials/06_public_credentials.md b/concepts/05_credentials/06_public_credentials.md index e220b1962..39d99bcb4 100644 --- a/concepts/05_credentials/06_public_credentials.md +++ b/concepts/05_credentials/06_public_credentials.md @@ -8,7 +8,7 @@ import CodeBlock from '@theme/CodeBlock'; import PublicCredential from '@site/scripts/out/public-credential.json.raw!=!raw-loader!@site/scripts/out/public-credential.json'; [AssetDIDs][asset-did-concepts] give a way to uniquely identify assets regardless of the blockchain they live on or their current owner. -KILT allows owners of an on-chain DID with an assertion key (a.k.a. attesters) to issue credentials to those assets. +KILT allows owners of an on-chain DID with an assertion key (a.k.a. issuers) to issue credentials to those assets. Public credentials aren't that different in their structure from traditional KILT credentials. The main difference is that, since they're public, they don't have selective disclosure capabilities. @@ -18,7 +18,7 @@ This is because the cryptographic information required to enable this is strippe {PublicCredential} -:::warning Anyone can be an attester! +:::warning Anyone can be an issuer! While the owner of normal KILT credentials holds them in their wallet and decides what credential to share with who, public credentials are, as the name suggests, public by design. This means that when reading the credentials issued for a given asset, consumers should be aware of the level of trust they have towards the issuer of each credential. diff --git a/concepts/06_distributed_trust.md b/concepts/06_distributed_trust.md index 261a38b77..ea781eca4 100644 --- a/concepts/06_distributed_trust.md +++ b/concepts/06_distributed_trust.md @@ -5,14 +5,14 @@ title: Distributed Trust import ThemedImage from '@theme/ThemedImage'; -Sometimes, Attesters are individuals that attest to the validity of claims made by Claimers. -However, usually multiple Attesters group together to build up trust in a brand. -In this way, Verifiers no longer need to trust each and every Attester individually. -They can put trust in the brand as a whole, which in return ensures that all Attesters working for this brand are credible. +Sometimes, Issuers are individuals that attest to the validity of claims made by Holder. +However, usually multiple Issuers group together to build up trust in a brand. +In this way, Verifiers no longer need to trust each and every Issuer individually. +They can put trust in the brand as a whole, which in return ensures that all Issuers working for this brand are credible. Such a brand can be organized in many different ways. The KILT protocol provides mechanisms to form such brands on the blockchain. -There are two ways for Attesters to create groups and build an organization. +There are two ways for Issuers to create groups and build an organization. The first is by creating a Delegation Hierarchy, which provides a basic and traditional hierarchical structure. The second option is a Virtual Credential Organization (VCO), which isn't yet implemented in KILT. VCOs will be more flexible and able to support more decentralized use cases than Delegation Hierarchies. @@ -39,25 +39,25 @@ This means that the creator has full control over the whole hierarchy. Following the laws of Tree data structures, when the hierarchy root adds new members to the hierarchy, the new members become direct "children" of the root. Similarly, when someone other than root adds new members, it becomes the parent of the new children. -The graph above provides an example Delegation Hierarchy containing five Attesters. -**Attester 1** is the root (i.e., the creator) of the Delegation Hierarchy. -At some point, Attester 1 has added two more Attesters, Attester 2 and Attester 3. -**Attester 2** was given the right to both further delegate to other entities and to issue credentials on behalf of the organization. -**Attester 3**, on the other hand, was only given the right to add more Attesters to the Delegation Hierarchy, so they can't issue any credentials. +The graph above provides an example Delegation Hierarchy containing five Issuers. +**Issuer 1** is the root (i.e., the creator) of the Delegation Hierarchy. +At some point, Issuer 1 has added two more Issuers, Issuer 2 and Issuer 3. +**Issuer 2** was given the right to both further delegate to other entities and to issue credentials on behalf of the organization. +**Issuer 3**, on the other hand, was only given the right to add more Issuers to the Delegation Hierarchy, so they can't issue any credentials. This is useful in cases where someone should only have powers over the members, but isn't authorized to do any work themselves. -For example, in companies this could be someone who manages a team of Attesters. -**Attesters 4** and **Attester 5** were added by Attester 3 and were only given attestation permissions, meaning that they can issue new credentials, but can't delegate any work to other Attesters. +For example, in companies this could be someone who manages a team of Issuers. +**Issuers 4** and **Issuer 5** were added by Issuer 3 and were only given attestation permissions, meaning that they can issue new credentials, but can't delegate any work to other Issuers. In the company example, these would be employees that attest the work but have no authority to hire new staff. ### Revocation Delegation hierarchies limit who can change or remove permissions. -For delegations, only the parents of a given Attester can change or remove the Attester's delegation itself or any of its children. -E.g., Attester 2 can't change the delegation information for Attester 4, but Attester 1 and Attester 3 can both remove Attester 4 from the organization, or give them permission to also hire new people, which it can't do right now. +For delegations, only the parents of a given Issuer can change or remove the Issuer's delegation itself or any of its children. +E.g., Issuer 2 can't change the delegation information for Issuer 4, but Issuer 1 and Issuer 3 can both remove Issuer 4 from the organization, or give them permission to also hire new people, which it can't do right now. -Credential revocation works similarly, with the difference that any parent can revoke a credential (as with delegations), or by the original Attester. -E.g., Attester 2 can't revoke credentials issued by Attester 1, 3, 4 and 5, while Attester 1 can revoke credentials issued by any Attester since Attester 1 is, directly or indirectly, the parent of every other node. +Credential revocation works similarly, with the difference that any parent can revoke a credential (as with delegations), or by the original Issuer. +E.g., Issuer 2 can't revoke credentials issued by Issuer 1, 3, 4 and 5, while Issuer 1 can revoke credentials issued by any Issuer since Issuer 1 is, directly or indirectly, the parent of every other node. ## Storing delegation node diff --git a/concepts/09_advanced_concepts/01_terms_and_quote.md b/concepts/09_advanced_concepts/01_terms_and_quote.md index c79fcbb63..8c02c9a1b 100644 --- a/concepts/09_advanced_concepts/01_terms_and_quote.md +++ b/concepts/09_advanced_concepts/01_terms_and_quote.md @@ -3,7 +3,7 @@ id: terms-and-quotes title: Terms and Quotes --- -During the attestation flow, it can happen that either the Claimer requests or the Attester sends the terms of the attestation, i.e., the requirements set by the both parties (the Claimer and the Attester) for the conditions of the attestation. +During the attestation flow, it can happen that either the Holder requests or the Issuer sends the terms of the attestation, i.e., the requirements set by the both parties (the Holder and the Issuer) for the conditions of the attestation. These terms are defined and agreed upon before the credential is issued. This part of the process requires interaction and communication between both parties. @@ -13,13 +13,13 @@ This communication can be done independently, e.g., in person, via messaging, on The `Terms` object consists of following items: -- **Claim**: A partial claim with information the Attester already has about the Claimer. - - This helps the Claimer to pre-fill their claims with information only known to the Attester. +- **Claim**: A partial claim with information the Issuer already has about the Holder. + - This helps the Holder to pre-fill their claims with information only known to the Issuer. - The partial claim has to at least contain the CType hash the attestation will be based on. -- **CTypes**: An optional list of full CTypes, in case the Claimer does not know the correct CType for the credential, yet. -- **Legitimations**: A legitimation is a credential, issued to the Attester, showing that the Attester has the authority or legitimacy to attest the claim requested. +- **CTypes**: An optional list of full CTypes, in case the Holder does not know the correct CType for the credential, yet. +- **Legitimations**: A legitimation is a credential, issued to the Issuer, showing that the Issuer has the authority or legitimacy to attest the claim requested. - This is a way of establishing trust between the participants. -- **Delegation Id**: An Attester may be part of a top-down trust authority that has given them the right to attest in the name of an institution, or similar, as explained in the [Distributed Trust section](../06_distributed_trust.md). If the Attester has attestation rights, delegated from another entity, this should be stated clearly at this point. +- **Delegation Id**: An Issuer may be part of a top-down trust authority that has given them the right to attest in the name of an institution, or similar, as explained in the [Distributed Trust section](../06_distributed_trust.md). If the Issuer has attestation rights, delegated from another entity, this should be stated clearly at this point. - **Quote**: As shown in the [section below](#defining-a-quote). Only the CType hash in the partial claim is required, everything else is optional. @@ -30,26 +30,26 @@ Both "request terms" and "submit terms" are part of the messaging system: the me The interaction is as follows: -- The Claimer creates a partial `Claim` (optionally) and sends a message to the Attester, requesting the `Terms`. -- An Attester creates a `Terms` object and sends it, as part of a "submit terms" message, back to the Claimer. -- The Claimer receives the message, checks the `Terms` and, if all is in order, agrees to them. +- The Holder creates a partial `Claim` (optionally) and sends a message to the Issuer, requesting the `Terms`. +- An Issuer creates a `Terms` object and sends it, as part of a "submit terms" message, back to the Holder. +- The Holder receives the message, checks the `Terms` and, if all is in order, agrees to them. ## Defining a Quote A `Quote` object consists of costs, a time frame for delivering the attestation, and the terms and conditions of the work to be performed. -It may be sent to the Claimer by the Attester as part of the terms. -In cases where multiple Attesters provide the same attestation (for example, a car inspection) the Claimer may request a Quote from several Attesters to choose the Attester with the best conditions. +It may be sent to the Holder by the Issuer as part of the terms. +In cases where multiple Issuers provide the same attestation (for example, a car inspection) the Holder may request a Quote from several Issuers to choose the Issuer with the best conditions. To come to an agreement on the Quote, the participants may message back and forth, signing the object. -If the Attester wishes to add a Quote to their Terms, the Attester signs the `Quote` object before sending it as part of the "submit terms" message to the Claimer. -After the Claimer has received the signed Quote and accepts it, the Claimer counter-signs it and attaches the credential hash for linking the Quote to the credential that it refers to. -After the final exchange, the Attester checks all the information and issues the credential. +If the Issuer wishes to add a Quote to their Terms, the Issuer signs the `Quote` object before sending it as part of the "submit terms" message to the Holder. +After the Holder has received the signed Quote and accepts it, the Holder counter-signs it and attaches the credential hash for linking the Quote to the credential that it refers to. +After the final exchange, the Issuer checks all the information and issues the credential. ```mermaid classDiagram class Quote { - String attesterDid + String issuerDid String cTypeHash Cost cost String currency @@ -70,12 +70,12 @@ classDiagram String signature } - class QuoteAttesterSigned { - Signature attesterSignature + class QuoteIssuerSigned { + Signature issuerSignature } - QuoteAttesterSigned *-- Signature - QuoteAttesterSigned --|> Quote + QuoteIssuerSigned *-- Signature + QuoteIssuerSigned --|> Quote class QuoteAgreement { String rootHash @@ -83,5 +83,5 @@ classDiagram } QuoteAgreement *-- Signature - QuoteAgreement --|> QuoteAttesterSigned + QuoteAgreement --|> QuoteIssuerSigned ``` diff --git a/concepts/10_glossary.md b/concepts/10_glossary.md index b607253bc..34c841107 100644 --- a/concepts/10_glossary.md +++ b/concepts/10_glossary.md @@ -33,23 +33,22 @@ Verifiable credentials are often associated with DIDs and can be stored and mana ## KILT Protocol Specific Terms -**Attestation** -the act of formally confirming and certifying the validity of the data within a claim, typically performed by a trusted Attester. +**Attestation** -the act of formally confirming and certifying the validity of the data within a claim, typically performed by a trusted Issuer. -**Attester** - a trusted entity or organization that attests claims and issues credentials on the KILT Protocol. -The Attester confirms the truth of the claim requested based on the information presented by the Claimer. +**Issuer** - a trusted entity or organization that attests claims and issues credentials on the KILT Protocol. +The Issuer confirms the truth of the claim requested based on the information presented by the Holder. -**Claimer** - an individual or entity that asserts a claim or statement about their identity or qualifications. -The Claimer can use credentials to provide evidence of their claims, which can be verified by third-party entities or systems. +**Holder** - an individual or entity that asserts a claim or statement about their identity or qualifications. +The Holder can use credentials to provide evidence of their claims, which can be verified by third-party entities or systems. **Claim Type (CType)** - a specific type of claim that can be made about an individual, such as their education, work experience, or identity information. Each claim type has a defined set of attributes that must be provided to support the claims data type and structure. It can be used to generate verifiable credentials that can be shared with others. [See the CTypes concept page for more details](https://docs.kilt.io/docs/concepts/credentials/ctypes) - -**Credential** - a verifiable digital representation of a claim made by a Claimer, which has been attested to by a trusted entity, such as an Attester or Issuer. +**Credential** - a verifiable digital representation of a claim made by a Holder, which has been attested to by a trusted entity, such as an Issuer or Verifier. It consists of a set of attributes that describe the claim and the proof of its validity, and can be shared with third parties to provide verifiable proof of the claim. **KILT Digital Identity** - a self-sovereign identity that is owned and controlled by the individual or entity it represents. -It consists of verifiable credentials that are issued by trusted entities, such as Attesters, and can be used to prove claims about the individual or entity's identity, qualifications, or other attributes. +It consists of verifiable credentials that are issued by trusted entities, such as Issuers, and can be used to prove claims about the individual or entity's identity, qualifications, or other attributes. **KILT Coin** - the native token of the KILT blockchain used for paying for attestations and DIDs. It can also be used for governance, staking, transaction fees and as a means of exchange on the network. @@ -57,8 +56,6 @@ It consists of verifiable credentials that are issued by trusted entities, such KILT’s mission is to return control over personal data to its owner, restoring privacy to the individual. ### Request for Attestation - - **Trust Anchors** - entities that are trusted to issue or verify claims on the KILT network, such as governments, educational institutions, or professional organizations. **Trust Market** - a market that operates on trust and reputation in addition to financial incentives, where buyers and sellers exchange goods or services based on established reputation through digital platforms. diff --git a/develop/02_chain/02_pallets/01_did.md b/develop/02_chain/02_pallets/01_did.md index d0e8c3385..79feeffd0 100644 --- a/develop/02_chain/02_pallets/01_did.md +++ b/develop/02_chain/02_pallets/01_did.md @@ -20,7 +20,7 @@ A full DID can then be used to perform certain on-chain actions which include: ## Register a Full DID -A full DID is needed if the user wants to become an Attester or wants to setup delegations. +A full DID is needed if the user wants to become an Issuer or wants to setup delegations. A full DID also allows the user to embed a list of URLs, known as services, into the DID document so that they can be retrieved from the chain as part of the DID document. To create a full DID the user first has to create some keys, and optionally some services: diff --git a/develop/07_dApp/04_verifier.md b/develop/07_dApp/04_verifier.md index fe362f81a..3b3668f69 100644 --- a/develop/07_dApp/04_verifier.md +++ b/develop/07_dApp/04_verifier.md @@ -15,7 +15,7 @@ import DecryptCredentialMessage from '!!raw-loader!@site/code_examples/sdk_examp This section demonstrates how to build a basic verifier according to the [Credential API Specification](https://github.com/KILTprotocol/spec-ext-credential-api). Before continuing, please make sure you have already set up the [communication session](03_session.md) and [Well-Known DID Configuration](02_well-known-did-config.md). -This guide explains specifically how a web server can request a credential presentation from one of its visitors (the claimer). +This guide explains specifically how a web server can request a credential presentation from one of its visitors (the holder). After the browser extension verified the Well-Known DID Configuration and the encrypted communication channel between the extension and the server was established, the web server can request the credential presentation. This is a two step process. @@ -50,7 +50,7 @@ The challenge can be generated using the polkadot crypto utilities: With the challenge the server can construct the `request-credential` message. -The request is sent to the light DID (`claimerSessionDid`) that is used to encrypt the messages (see [Session](03_session.md) for more information). +The request is sent to the light DID (`holderSessionDid`) that is used to encrypt the messages (see [Session](03_session.md) for more information). {CreateRequestCredentialMessage} @@ -59,11 +59,11 @@ The request is sent to the light DID (`claimerSessionDid`) that is used to encry :::note Privacy The credential itself doesn't need to be issued to this DID since the light DID is only used to encrypt the messages. -We don't use the full DID of the claimer to establish the encrypted communication, so that the claimer first can ensure the origin of the `request-credential` message. +We don't use the full DID of the holder to establish the encrypted communication, so that the holder first can ensure the origin of the `request-credential` message. ::: -After the server has built the message object, it must encrypt the message for the claimer. +After the server has built the message object, it must encrypt the message for the holder. Once the message is encrypted the server can pass on the message to the extension. @@ -75,7 +75,7 @@ Once the message is encrypted the server can pass on the message to the extensio After sending the `request-credential` message to the extension, the verifier listens for a message of type `submit-credential` in response. After the response from the extension is received, forwarded to the server and decrypted, the verifier must check that it has the expected CType and that it contains a valid credential. -Since everyone can run an attestation service, you need to make sure that you also verify that the attester is trusted. +Since everyone can run an attestation service, you need to make sure that you also verify that the issuer is trusted. {DecryptCredentialMessage} diff --git a/develop/08_opendid/03_opendid_service.md b/develop/08_opendid/03_opendid_service.md index 311f3fc60..bb29f5643 100644 --- a/develop/08_opendid/03_opendid_service.md +++ b/develop/08_opendid/03_opendid_service.md @@ -68,11 +68,11 @@ The container generates sensible defaults in the `config.yaml` file, but here ar - The `requirements` section, including: - What CTypes are required for authentication. - - The trusted attesters as an address (The default is for the [SocialKYC attester](https://socialkyc.io/)). + - The trusted issuers as an address (The default is for the [SocialKYC issuer](https://socialkyc.io/)). :::note info - The generated default `config.yaml` requires an [email credential](https://test.ctypehub.galaniprojects.de/ctype/kilt:ctype:0x3291bb126e33b4862d421bfaa1d2f272e6cdfc4f96658988fbcffea8914bd9ac) issued by an attester. + The generated default `config.yaml` requires an [email credential](https://test.ctypehub.galaniprojects.de/ctype/kilt:ctype:0x3291bb126e33b4862d421bfaa1d2f272e6cdfc4f96658988fbcffea8914bd9ac) issued by an issuer. ::: diff --git a/develop/08_opendid/05_demo_project.md b/develop/08_opendid/05_demo_project.md index a4a334d35..855a0fbf7 100644 --- a/develop/08_opendid/05_demo_project.md +++ b/develop/08_opendid/05_demo_project.md @@ -10,7 +10,7 @@ It's an [express](https://expressjs.com) application that exposes three things: - A callback page for one of the OpenID Connect flows supported to accept the token. - A protected resource that only authenticated users can access. -For the demo application to work you need a running OpenDID Service and an identity wallet that follows [the Credential API spec](https://github.com/KILTprotocol/spec-ext-credential-api) (e.g. [Sporran](https://www.sporran.org/)) with a DID and Credential issued by the required attester specified in the `config.yaml` file (Default is SocialKYC). +For the demo application to work you need a running OpenDID Service and an identity wallet that follows [the Credential API spec](https://github.com/KILTprotocol/spec-ext-credential-api) (e.g. [Sporran](https://www.sporran.org/)) with a DID and Credential issued by the required issuer specified in the `config.yaml` file (Default is SocialKYC). If you follow the steps in this section in order, you have all the necessary components for the demo application to run. Run the pre-configured demo application with the following command: diff --git a/develop/08_opendid/06_advanced.md b/develop/08_opendid/06_advanced.md index ec36cb8bb..e245be605 100644 --- a/develop/08_opendid/06_advanced.md +++ b/develop/08_opendid/06_advanced.md @@ -35,7 +35,7 @@ CLIENT_SPEC=$(cat <Claimer, attest it as an Attester and verify it as a Verifier. +You'll create a claim as a Claimer, attest it as an Issuer and verify it as a Verifier. ✔ Use the KILT SDK to write onto and read from the KILT blockchain. diff --git a/sdk/02_tutorial/02_setup.md b/sdk/02_tutorial/02_setup.md index 15744b120..9fc684270 100644 --- a/sdk/02_tutorial/02_setup.md +++ b/sdk/02_tutorial/02_setup.md @@ -48,13 +48,13 @@ The dependencies needed are the following: ``` └─ kilt-rocks/ # project - ├─ attester/ # all attester code + ├─ issuer/ # all issuer code ├─ claimer/ # all claimer code ├─ verify.ts # all verifier code └─ .env # environment variables ``` ``` - mkdir attester claimer && touch verify.ts .env + mkdir issuer claimer && touch verify.ts .env ``` @@ -64,13 +64,13 @@ The dependencies needed are the following: ``` └─ kilt-rocks/ # project - ├─ attester/ # all attester code + ├─ issuer/ # all issuer code ├─ claimer/ # all claimer code ├─ verify.js # all verifier code └─ .env # environment variables ``` ``` - mkdir attester claimer && touch verify.js .env + mkdir issuer claimer && touch verify.js .env ``` diff --git a/sdk/02_tutorial/03_overview.md b/sdk/02_tutorial/03_overview.md index ad8b5778f..563dd3508 100644 --- a/sdk/02_tutorial/03_overview.md +++ b/sdk/02_tutorial/03_overview.md @@ -7,8 +7,8 @@ This tutorial runs through the full story of a claim. It involves three actors which work together to create **distributed trust**: -- A Claimer is an actor who claims to possess certain credentials, abilities, or other attributes. -- An Attester is an actor that verifies the claims of a Claimer. +- A Holder is an actor who claims to possess certain credentials, abilities, or other attributes. +- An Issuer is an actor that verifies the claims of a Claimer. - A Verifier is an actor that asks for proof of a claim. For the workshop, you play all three roles. @@ -16,21 +16,21 @@ For the workshop, you play all three roles. In a real-world use case, these actors would be different people and services, which this workshop simulates using different folders for each service. Each actor typically performs different roles: -- Both the Verifier and the Attester have to interact with the KILT blockchain. -- But only the Attester is required to own KILTs since they have to pay for storing the attestation on chain. -- The Verifier only needs to query the KILT blockchain to ensure that the attestation is still valid and was not revoked. -- The Claimer is not required to query the blockchain, but they might do so to check whether their credential is still valid or if the Attester has revoked it in the meantime. +- Both the Holder and the Issuer have to interact with the KILT blockchain. +- But only the Issuer is required to own KILTs since they have to pay for storing the attestation on chain. +- The Verifier only needs to query the KILT blockchain to ensure that the attestation is still valid and wasn't revoked. +- The Holder isn't required to query the blockchain, but they might do so to check whether their credential is still valid or if the Issuer has revoked it in the meantime. ## Request an attestation -The Attester has to register their DID on chain and needs KILT coins. +The Holder has to register their DID on chain and needs KILT coins. -After both the Attester and the Claimer have set up their identities, the Claimer can start the attestation process by requesting an attestation from the Attester. +After both the Holder and the Issuer have set up their identities, the Holder can start the attestation process by requesting an attestation from the Issuer. ```mermaid sequenceDiagram -actor C as Claimer -actor A as Attester +actor C as Holder +actor A as Issuer participant B as KILT Blockchain C->>+C: Create credential from provided claims C->>+A: Transmit credential to request attestation @@ -40,32 +40,32 @@ participant B as KILT Blockchain A-->>-C: Attestation Hash ``` -1. The Claimer prepares the Credential to attest, along with some proof, for example, a bank statement and ID. -2. They send the document to the Attester for attestation. -3. Upon receiving the credential, the Attester decides whether the claim is valid by examining the proofs. If the Attester trusts the claim, they store the attestation document's hash value on the chain, which is a non-functional copy of the document. -4. The Attester sends this hash value to the Claimer, which represents verification of a document. +1. The Holder prepares the Credential to attest, along with some proof, for example, a bank statement and ID. +2. They send the document to the Issuer for attestation. +3. Upon receiving the credential, the Issuer decides whether the claim is valid by examining the proofs. If the Issuer trusts the claim, they store the attestation document's hash value on the chain, which is a non-functional copy of the document. +4. The Issuer sends this hash value to the Holder, which represents verification of a document. ## Verify an Attestation -The Verifier requests a presentation from the Claimer for a specific required CType. Without a specific CType, the presentation is meaningless. +The Verifier requests a presentation from the Holder for a specific required CType. Without a specific CType, the presentation is meaningless. A presentation is derived from a credential and doesn't need to contain all attributes. -After the request, the Claimer can choose to hide elements of their credentials that aren't relevant to the claim. -For example, hide their address from their ID if the Verifier is only interested in their age. +After the request, the Holder can choose to hide elements of their credentials that aren't relevant to the claim. +For example, hide their address from their ID if the Issuer is only interested in their age. :::info -A later step in the workshop [explains CTypes in more detail](./04_attester/03_ctype.md). +A later step in the workshop [explains CTypes in more detail](./04_issuer/03_ctype.md). ::: ```mermaid sequenceDiagram -actor C as Claimer -actor V as Verifier +actor C as Holder +actor V as Issues participant B as KILT Blockchain V->>+C: Request presentation for CType C->>C: Derive a presentation from a credential @@ -77,18 +77,18 @@ participant B as KILT Blockchain To take an example of applying for a travel visa: -1. The Embassy (analogous to the Verifier) asks a traveler (analogous to the Claimer) for a specific document or CType. For example, it could be a bank statement. The Embassy asks, "Provide proof of financial stability, and we'll grant you a visa." The traveler gets the bank statement from their bank, gets it attested by the bank (The Attester), and prepares the document. +1. The Embassy (analogous to the Issuer) asks a traveler (analogous to the Holder) for a specific document or CType. For example, it could be a bank statement. The Embassy asks, "Provide proof of financial stability, and we'll grant you a visa." The traveler gets the bank statement from their bank, gets it attested by the bank (The Issuer), and prepares the document. 2. The document is ready, but the Embassy doesn't need all the information in the document. The embassy wants to know if a traveler has sufficient funds, but they don't need to know any transaction details. The traveler redacts or hides these details while presenting. 3. The traveler presents the document to the embassy. 4. The embassy verified the document's authenticity by comparing its hash value with the one on their internal system or a decentralized ledger. -5. Since they trust the Attester (in this case, the bank that attested the bank statement), they approved the visa application. +5. Since they trust the Issuer (in this case, the bank that attested the bank statement), they approved the visa application. :::tip Summary -As you can see, the Embassy didn't need to trust the Claimer directly in this system. -They trust the Attester, whom they had previously worked with, or respect due to their position. -And with that trust, they grant the visa with no knowledge of what the Claimer has used the credential for. -Even though this process emerged due to the trust in the Attester, the Attester wasn't involved in the second stage, so they were unaware of it. +As you can see, the Embassy didn't need to trust the Holder directly in this system. +They trust the Holder, whom they had previously worked with, or respect due to their position. +And with that trust, they grant the visa with no knowledge of what the Holder has used the credential for. +Even though this process emerged due to the trust in the Issuer, the Issuer wasn't involved in the second stage, so they were unaware of it. Privacy was achieved with distributed trust. ::: \ No newline at end of file diff --git a/sdk/02_tutorial/04_attester/01_account.md b/sdk/02_tutorial/04_issuer/01_account.md similarity index 90% rename from sdk/02_tutorial/04_attester/01_account.md rename to sdk/02_tutorial/04_issuer/01_account.md index e2710f623..91df1e9ef 100644 --- a/sdk/02_tutorial/04_attester/01_account.md +++ b/sdk/02_tutorial/04_issuer/01_account.md @@ -7,9 +7,9 @@ import TsJsBlock from '@site/src/components/TsJsBlock'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -import GenerateAccount from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/attester/generateAccount.ts'; +import GenerateAccount from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/issuer/generateAccount.ts'; -With the [project structure setup](./) in the last step, you can create your Attester account. +With the [project structure setup](./) in the last step, you can create your Issuer account. With KILT, an account is an object that interacts with the blockchain. @@ -54,7 +54,7 @@ Read the [API documentation](https://polkadot.js.org/docs/) to learn more about Add the following code to the `generateAccount` file. - + {GenerateAccount} @@ -74,20 +74,20 @@ The rest of the code runs the `generateAccount` function and logs the results to ## Run code -Run the code above to receive your Attester `
` and ``. +Run the code above to receive your Issuer `
` and ``. ```bash -yarn ts-node ./attester/generateAccount.ts +yarn ts-node ./issuer/generateAccount.ts ``` ```bash -node ./attester/generateAccount.js +node ./issuer/generateAccount.js ``` diff --git a/sdk/02_tutorial/04_attester/02_did.md b/sdk/02_tutorial/04_issuer/02_did.md similarity index 82% rename from sdk/02_tutorial/04_attester/02_did.md rename to sdk/02_tutorial/04_issuer/02_did.md index 47d0796f1..72d69cf9c 100644 --- a/sdk/02_tutorial/04_attester/02_did.md +++ b/sdk/02_tutorial/04_issuer/02_did.md @@ -9,10 +9,10 @@ import SnippetBlock from '@site/src/components/SnippetBlock'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -import GenerateKeypairs from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/attester/generateKeypairs.ts'; -import GenerateDid from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/attester/generateDid.ts'; +import GenerateKeypairs from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/issuer/generateKeypairs.ts'; +import GenerateDid from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/issuer/generateDid.ts'; -The next step is to generate a KILT decentralized identifier (DID) using the account you created for the Attester in [the previous step](./01_account.md). +The next step is to generate a KILT decentralized identifier (DID) using the account you created for the Issuer in [the previous step](./01_account.md). A DID may represent any entity, such as a person, an organization, or a machine. @@ -57,7 +57,7 @@ In summary, you register a DID on the blockchain by an account submitting the DI ## Create a DID -As an Attester needs to interact with the chain, you must create a full DID. +As an Issuer needs to interact with the chain, you must create a full DID. ### Write DID to chain @@ -74,17 +74,17 @@ This workshop assumes you followed the [create account step](./01_account.md), b Create and submit the extrinsic (aka transaction) that registers the DID. - + {GenerateDid} The `publicKeyToChain` helper method returns a public key of the correct type. -The `txs` array holds the two transactions containing the extrinsics needed to submit to the chain for the Attester's DID creation. +The `txs` array holds the two transactions containing the extrinsics needed to submit to the chain for the Issuer's DID creation. The `createFromAccount` method takes the authenticated key of the account to attach the DID to, and the `setAttestationKey` method takes the same parameter to set the attestation key the DID needs and uses. -An Attester account needs to have an attestation key to write CTypes and attestations on chain. Use the `setAttestationKey` method to set this. For this example transaction, the Attester account uses the `dispatchAs` proxy method to assign the attestation key to the same account. However, you can also use this method to assign the attestation key to another account. +An Issuer account needs to have an attestation key to write CTypes and attestations on chain. Use the `setAttestationKey` method to set this. For this example transaction, the Issuer account uses the `dispatchAs` proxy method to assign the attestation key to the same account. However, you can also use this method to assign the attestation key to another account. The `signAndSubmitTx` method then takes those transactions and submits them as a batch to the chain. @@ -96,14 +96,14 @@ Now run the code with: ```bash - yarn ts-node ./attester/generateDid.ts + yarn ts-node ./issuer/generateDid.ts ``` ```bash - node ./attester/generateDid.js + node ./issuer/generateDid.js ``` @@ -133,7 +133,7 @@ Well done - You've generated a full DID! The next step is to create a CType! Add the following code to the `generateKeypairs` file. - + {GenerateKeypairs} diff --git a/sdk/02_tutorial/04_attester/03_ctype.md b/sdk/02_tutorial/04_issuer/03_ctype.md similarity index 83% rename from sdk/02_tutorial/04_attester/03_ctype.md rename to sdk/02_tutorial/04_issuer/03_ctype.md index 55eac6f69..15e3ea025 100644 --- a/sdk/02_tutorial/04_attester/03_ctype.md +++ b/sdk/02_tutorial/04_issuer/03_ctype.md @@ -8,8 +8,8 @@ import TsJsBlock from '@site/src/components/TsJsBlock'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -import CtypeSchema from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/attester/ctypeSchema.ts'; -import GenerateCtype from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/attester/generateCtype.ts'; +import CtypeSchema from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/issuer/ctypeSchema.ts'; +import GenerateCtype from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/issuer/generateCtype.ts'; import Ctype from '@site/scripts/out/ctype.json.raw!=!raw-loader!@site/scripts/out/ctype.json'; @@ -27,10 +27,10 @@ To learn more about CTypes, read the [in-depth CType documentation](/concepts/cr You can also [read through existing CTypes in the CType-index](https://github.com/KILTprotocol/ctype-index). ::: -Before the Attester can attest credentials, they must decide which CType they support. +Before the Issuer can attest credentials, they must decide which CType they support. For example, a traffic authority only issues driver's licenses (A CType for driver's license), not a university diploma. -Since CTypes enable interoperability between Attesters, using existing CTypes rather than creating new ones is highly recommended. +Since CTypes enable interoperability between Issuers, using existing CTypes rather than creating new ones is highly recommended. However, this workshop creates a new CType to show the process. Creating CTypes requires an account and a full DID. @@ -58,13 +58,13 @@ A CType is stored on the KILT blockchain. In a real-world situation, a user would retrieve an existing CType from the chain or a CType registry. For example, via a Credential Registry's REST API. -In this tutorial, the Attester creates and attempts to store a CType on the KILT test blockchain. +In this tutorial, the Issuer creates and attempts to store a CType on the KILT test blockchain. ## Create CType Copy the following to define a `CType` with a given schema: - + {CtypeSchema} @@ -79,13 +79,13 @@ To avoid this, change the value of `fromProperties` to something unique, such as Copy the following to create a `CType` on the chain: - + {GenerateCtype} -The `ensureStoredCType` function takes the Attester's account, DID, and a callback to sign the function and checks if the CType is already on chain. +The `ensureStoredCType` function takes the Issuer's account, DID, and a callback to sign the function and checks if the CType is already on chain. It uses the `verifyStored` method to pass the CType to the KILT blockchain and make the check. -If it does not exist, it stores it on chain, using the `toChain` method to encode the CType into a unique hash and the `add` method to create a new CType from the given unique hash and associate it with the Attester. +If it does not exist, it stores it on chain, using the `toChain` method to encode the CType into a unique hash and the `add` method to create a new CType from the given unique hash and associate it with the Issuer. The function then uses the `authorizeTx` to authorize the transaction and `signAndSubmitTx` to sign and submit the transaction containing the new CType. :::warning @@ -99,19 +99,19 @@ Remember, an account must have the required amount of tokens to pay the transact - Run the `attester/generateCtype.ts` file. + Run the `issuer/generateCtype.ts` file. ```bash - yarn ts-node attester/generateCtype.ts + yarn ts-node issuer/generateCtype.ts ``` - Run the `attester/generateCtype.js` file. + Run the `issuer/generateCtype.js` file. ```bash - node attester/generateCtype.js + node issuer/generateCtype.js ``` diff --git a/sdk/02_tutorial/04_attester/_category_.json b/sdk/02_tutorial/04_issuer/_category_.json similarity index 100% rename from sdk/02_tutorial/04_attester/_category_.json rename to sdk/02_tutorial/04_issuer/_category_.json diff --git a/sdk/02_tutorial/04_attester/index.md b/sdk/02_tutorial/04_issuer/index.md similarity index 61% rename from sdk/02_tutorial/04_attester/index.md rename to sdk/02_tutorial/04_issuer/index.md index 5da9f6d70..20c110305 100644 --- a/sdk/02_tutorial/04_attester/index.md +++ b/sdk/02_tutorial/04_issuer/index.md @@ -1,12 +1,12 @@ --- -id: attester -title: 🏢 Attester +id: issuer +title: 🏢 Issuer --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -This section of the workshop covers creating the Attester code. The steps are the following: +This section of the workshop covers creating the Issuer code. The steps are the following: 1. [Create an account](./01_account.md) to pay for all transactions and storage deposits. 2. [Create a DID](./02_did.md), which is the identity used to create attestations. @@ -18,41 +18,41 @@ This section of the workshop covers creating the Attester service. +Create the following files in the `issuer` folder. +These folders mimic an Issuer service. ```bash └─ kilt-rocks/ # project - └─ attester/ # all attester code + └─ issuer/ # all issuer code ├─ attestCredential.ts # issues attestations ├─ ctypeSchema.ts # create a local CType definition - ├─ generateAccount.ts # functions for setting up and loading the attester's account + ├─ generateAccount.ts # functions for setting up and loading the issuer's account ├─ generateCtype.ts # register the CType on chain - ├─ generateDid.ts # registers the attester's on-chain DID - └─ generateKeypairs.ts # setup the keys for the attester's DID + ├─ generateDid.ts # registers the issuer's on-chain DID + └─ generateKeypairs.ts # setup the keys for the issuer's DID ``` ```bash - cd attester && touch attestCredential.ts ctypeSchema.ts generateAccount.ts generateCtype.ts generateDid.ts generateKeypairs.ts && cd .. + cd issuer && touch attestCredential.ts ctypeSchema.ts generateAccount.ts generateCtype.ts generateDid.ts generateKeypairs.ts && cd .. ``` ```bash └─ kilt-rocks/ # project - └─ attester/ # all attester code + └─ issuer/ # all issuer code ├─ attestCredential.js # issues attestations ├─ ctypeSchema.js # create a local CType definition - ├─ generateAccount.js # functions for setting up and loading the attester's account + ├─ generateAccount.js # functions for setting up and loading the issuer's account ├─ generateCtype.js # register the CType on chain - ├─ generateDid.js # registers the attester's on-chain DID - └─ generateKeypairs.js # setup the keys for the attester's DID + ├─ generateDid.js # registers the issuer's on-chain DID + └─ generateKeypairs.js # setup the keys for the issuer's DID ``` ```bash - cd attester && touch attestCredential.js ctypeSchema.js generateAccount.js generateCtype.js generateDid.js generateKeypairs.js && cd .. + cd issuer && touch attestCredential.js ctypeSchema.js generateAccount.js generateCtype.js generateDid.js generateKeypairs.js && cd .. ``` diff --git a/sdk/02_tutorial/05_claimer/01_did.md b/sdk/02_tutorial/05_claimer/01_did.md index b434df3f9..c58629461 100644 --- a/sdk/02_tutorial/05_claimer/01_did.md +++ b/sdk/02_tutorial/05_claimer/01_did.md @@ -13,7 +13,7 @@ import GenerateLightDid from '!!raw-loader!@site/code_examples/sdk_examples/src/ This section covers creating a light DID using the account you created for the Claimer. -Since a light DID is not registered on the blockchain, you don't need funds to create one. +Since a light DID isn't registered on the blockchain, you don't need funds to create one. :::info @@ -28,13 +28,13 @@ Read the [DID documentation](/develop/sdk/cookbook/dids/light-did-creation) to l ## Generate Keys -Like the Attester, the Claimer must also set up the DID keys. +Like the Issuer, the Claimer must also set up the DID keys. {GenerateKeypairs} -The code above is similar to the `generateKeyAgreement` function used in the Attester section but simpler, as the Claimer only needs an authentication key and an encryption key. +The code above is similar to the `generateKeyAgreement` function used in the Issuer section but simpler, as the Claimer only needs an authentication key and an encryption key. Both the keys are derived from the same seed, but they could also have two different seeds. diff --git a/sdk/02_tutorial/05_claimer/02_request.md b/sdk/02_tutorial/05_claimer/02_request.md index 8dbc992ff..e91fff218 100644 --- a/sdk/02_tutorial/05_claimer/02_request.md +++ b/sdk/02_tutorial/05_claimer/02_request.md @@ -14,7 +14,7 @@ This section covers creating a `Claim` and a `Credential`. KILT is a premissionless system. Anyone or anything can claim something and attest to it. -But an attested credential only has value if the Verifier of the credential _trusts_ the Attester of the credential. +But an attested credential only has value if the Verifier of the credential _trusts_ the Issuer of the credential. ## Create Credential @@ -33,7 +33,7 @@ The `fromCTypeAndClaimContents` function takes the `lightDid`, `ctype`, and `con Since you want to receive an attestation for those claims, build a `Credential` in the `generateCredential` function below. -The credential contains all necessary information so the Attester can attest it. +The credential contains all necessary information so the Issuer can attest it. {GenerateCredential} @@ -44,7 +44,7 @@ The `main` function takes the Claimer mnemonic and generates the light DID follo It then calls the `generateCredential` function using the supplied claim attributes. It then uses the `createClaim` method from the previous step to create the `Claim` object and the `Kilt.Credential.fromClaim` method takes the claim and returns the `Credential` object. -When Attesters issue `Attestations`, they are written to the chain, which requires a deposit. +When Issuers issue `Attestations`, they are written to the chain, which requires a deposit. Each new `Credential` is unique. During testing, you can store and reuse credentials into `./claimer/_credential.json` to avoid multiple attestations. @@ -70,4 +70,4 @@ You can share this credential with others following the workshop to see how they OK, you've made a claim as a Claimer and created a credential from it. -The next step is to finish the Attester and get the credential attested! +The next step is to finish the Issuer and get the credential attested! diff --git a/sdk/02_tutorial/05_claimer/index.md b/sdk/02_tutorial/05_claimer/index.md index 0c9431ac7..b38c6ffb0 100644 --- a/sdk/02_tutorial/05_claimer/index.md +++ b/sdk/02_tutorial/05_claimer/index.md @@ -10,7 +10,7 @@ This section covers the steps undertaken by the Attesters and Verifiers. +1. [Create a DID](./01_did.md), which is the identity used to interact with Issuers and Verifiers. 2. Create a claim, request an attestation, and generate a credential using the attestation for our claim. 3. Present the claim to a Verifier. @@ -23,7 +23,7 @@ They can use their identity credentials to prove these claims, and third-party i Anyone can be a Claimer. All you need to do is complete a CType and create a claim. -Then, you can send these claims to Attesters for verification. +Then, you can send these claims to Issuers for verification. They store their identity credentials in their digital wallets, so they decide which information to provide to which service. They have full control over their data and decide which data to share, where, and how. @@ -46,7 +46,7 @@ This folders serves to mimic a ClaimerClaimerAttester receives and processes a `Credential` and how you can: +This section covers how the Issuer receives and processes a `Credential` and how you can: - Attest or deny it - Store the attestation information on the chain ## Attest a Credential - + {AttestCredential} -The `attestCredential` function loads the account and DID of the Attester and issues an attestation for the credential received from the Claimer. -The credential is valid from the time an Attester attests it on chain until the time it is revoked. +The `attestCredential` function loads the account and DID of the Issuer and issues an attestation for the credential received from the Claimer. +The credential is valid from the time an Issuer attests it on chain until the time it is revoked. -In the `attestingFlow` function, the Claimer generates the demo credential and sends it to the Attester. -The Attester checks the attributes and either attests or denies the attestation if the attributes are invalid. -Once the attestation is written on the chain, the Attester can share all or part of the attested credentials with verifiers. +In the `attestingFlow` function, the Claimer generates the demo credential and sends it to the Issuer. +The Issuer checks the attributes and either attests or denies the attestation if the attributes are invalid. +Once the attestation is written on the chain, the Issuer can share all or part of the attested credentials with verifiers. ## Run @@ -35,14 +35,14 @@ Run the code from the command line: ```bash - yarn ts-node attester/attestCredential.ts + yarn ts-node issuer/attestCredential.ts ``` ```bash - node attester/attestCredential.js + node issuer/attestCredential.js ``` @@ -50,6 +50,6 @@ Run the code from the command line: ## Summary -Your job as an Attester is complete. You've attested a credential and written the attestation hash onto the chain. +Your job as an Issuer is complete. You've attested a credential and written the attestation hash onto the chain. Let's move on to set up the Verifier! diff --git a/sdk/02_tutorial/08_done.md b/sdk/02_tutorial/08_done.md index ff6558e53..286d3022f 100644 --- a/sdk/02_tutorial/08_done.md +++ b/sdk/02_tutorial/08_done.md @@ -6,7 +6,7 @@ title: 🚀 Done ## Congrats! Well done! -You now understand the main actors in KILT, the `Claimers`, `Attesters` and `Verifiers`. +You now understand the main actors in KILT, the `Claimers`, `Issuers` and `Verifiers`. You have also learned how to: diff --git a/sdk/04_claiming/01_ctype_creation.md b/sdk/04_claiming/01_ctype_creation.md index 53d37f08a..804868c23 100644 --- a/sdk/04_claiming/01_ctype_creation.md +++ b/sdk/04_claiming/01_ctype_creation.md @@ -22,7 +22,7 @@ The creator of a CType is required to have a full DID with an attestation key. :::info CTypes are unique The creation of a new CType requires the CType hash to be unique. -Before writing a new CType, Attesters should check whether there is already an existing CType which matches their requirements. +Before writing a new CType, Issuers should check whether there is already an existing CType which matches their requirements. Visit our [CType index repository](https://github.com/KILTprotocol/ctype-index) for a non-exhaustive list of existing CTypes. ::: diff --git a/sdk/04_claiming/02_attestation_request.md b/sdk/04_claiming/02_attestation_request.md index bd602126f..a7ec9c01c 100644 --- a/sdk/04_claiming/02_attestation_request.md +++ b/sdk/04_claiming/02_attestation_request.md @@ -6,10 +6,10 @@ import TsJsBlock from '@site/src/components/TsJsBlock'; import RequestAttestation from '!!raw-loader!@site/code_examples/sdk_examples/src/core_features/claiming/03_request_attestation.ts'; -To obtain credentials, Claimers have to request an attestation for a set of claims from an Attester. +To obtain credentials, Claimers have to request an attestation for a set of claims from an Issuer. The resulting object is a `Credential`, which can be created following the snippet below. -This process does not involve any interaction with the KILT blockchain, but is simply a communication channel where the Claimer and the Attester can communicate. +This process does not involve any interaction with the KILT blockchain, but is simply a communication channel where the Claimer and the Issuer can communicate. {RequestAttestation} @@ -17,5 +17,5 @@ This process does not involve any interaction with the KILT blockchain, but is s :::note The structure of the claims must respect the schema defined in the specified CType. -Attesters (and Verifiers) will reject claims that fail to verify correctly. +Issuers (and Verifiers) will reject claims that fail to verify correctly. ::: \ No newline at end of file diff --git a/sdk/04_claiming/03_attestation_creation.md b/sdk/04_claiming/03_attestation_creation.md index 7c1eb10e0..321294730 100644 --- a/sdk/04_claiming/03_attestation_creation.md +++ b/sdk/04_claiming/03_attestation_creation.md @@ -7,12 +7,12 @@ import TsJsBlock from '@site/src/components/TsJsBlock'; import CreateAttestation from '!!raw-loader!@site/code_examples/sdk_examples/src/core_features/claiming/04_create_attestation.ts'; -Once an Attester has received a to-be-attested `Credential` from a Claimer, they will typically verify the information in the claim. -If the claims correspond to truth, the Attester will proceed by attesting the root hash of the credential on the KILT blockchain, timestamping the attestation operation. +Once an Issuer has received a to-be-attested `Credential` from a Claimer, they will typically verify the information in the claim. +If the claims correspond to truth, the Issuer will proceed by attesting the root hash of the credential on the KILT blockchain, timestamping the attestation operation. A deposit is reserved from the balance of the KILT account submitting the creation transaction, which is returned if and when the attestation is removed from the chain. :::info - ::: diff --git a/sdk/04_claiming/05_presentation_verification.md b/sdk/04_claiming/05_presentation_verification.md index 480cc236d..33c2906aa 100644 --- a/sdk/04_claiming/05_presentation_verification.md +++ b/sdk/04_claiming/05_presentation_verification.md @@ -22,6 +22,6 @@ One way of achieving this is by asking the Claimer to include a challenge in the Without a challenge, Verifiers must implement other measures to be certain about the identity of the presenter. ::: -:::warning Evaluation of the attester's trust is up to the Verifiers -Verifiers must also have a registry of attesters they trust, and verify that the issuer of the credential they are verifying belongs to such list and, where necessary, whether it is still in operation or not, i.e., whether its DID still exists or has been deleted. +:::warning Evaluation of the issuer's trust is up to the Verifiers +Verifiers must also have a registry of issuers they trust, and verify that the issuer of the credential they are verifying belongs to such list and, where necessary, whether it is still in operation or not, i.e., whether its DID still exists or has been deleted. ::: \ No newline at end of file diff --git a/sdk/04_claiming/06_credential_revocation.md b/sdk/04_claiming/06_credential_revocation.md index da6ff398b..b72b21c4f 100644 --- a/sdk/04_claiming/06_credential_revocation.md +++ b/sdk/04_claiming/06_credential_revocation.md @@ -8,7 +8,7 @@ import TsJsBlock from '@site/src/components/TsJsBlock'; import RevokeCredential from '!!raw-loader!@site/code_examples/sdk_examples/src/core_features/claiming/07_revoke_credential.ts'; import ReclaimDeposit from '!!raw-loader!@site/code_examples/sdk_examples/src/core_features/claiming/08_reclaim_attestation_deposit.ts'; -If the conditions that make a credential valid cease to exist, an Attester can revoke and optionally remove their attestation from the KILT blockchain. +If the conditions that make a credential valid cease to exist, an Issuer can revoke and optionally remove their attestation from the KILT blockchain. This does not automatically delete the credential from the Claimer's wallet, of course, but it makes it impossible for the Claimer to use the credential in the future. Since the attestation creation reserved some KILT tokens from the submitter's balance, removing an attestation would return those funds into the payer's pockets. @@ -19,7 +19,7 @@ Since the attestation creation reserved some KILT tokens from the submitter's ba ## Claim Back an Attestation Deposit -Claiming back the deposit of an attestation is semantically equivalent to revoking and removing the attestation, with the difference that the extrinsic to claim the deposit can only be called by the deposit owner and does not require the Attester's signature: +Claiming back the deposit of an attestation is semantically equivalent to revoking and removing the attestation, with the difference that the extrinsic to claim the deposit can only be called by the deposit owner and does not require the Issuer's signature: {ReclaimDeposit} diff --git a/sdk/05_credentials.md b/sdk/05_credentials.md index 8234dce76..e01000beb 100644 --- a/sdk/05_credentials.md +++ b/sdk/05_credentials.md @@ -14,7 +14,7 @@ As for traditional KILT credentials, public credentials also have their structur As mentioned in the section about credentials, the creation of a CType in KILT involves two steps: the definition of a CType and the anchoring of its hash on the KILT blockchain. -We will not cover the creation of a CType, please refer to the [CType creation](../04_claiming/01_ctype_creation.md) +We will not cover the creation of a CType, please refer to the [CType creation](./04_claiming/01_ctype_creation.md) ## Create and Issue the Credential @@ -82,7 +82,7 @@ The KILT SDK makes also this use case very easy: A third class of use cases might involve users exchanging whole public credentials, for instance when showing some sort of proof. -This case is also supported by the KILT SDK, and relies on an important feature of public credentials: **the identifier (ID) of a public credential is generated from its content and from the KILT DID of its attester**. +This case is also supported by the KILT SDK, and relies on an important feature of public credentials: **the identifier (ID) of a public credential is generated from its content and from the KILT DID of its issuer**. This means that even a minimal change in the content of a public credential object before being shared with other parties, will result in those parties deriving a different identifier from the credential, which will then lead to an error during the verification process. Verifying a public credential is shown in the following snippet: @@ -93,7 +93,7 @@ Verifying a public credential is shown in the following snippet: What the `verifyCredential` function does internally is the following: -1. Derive the credential identifier from the provided content and attester information. +1. Derive the credential identifier from the provided content and issuer information. 2. Fetch the actual credential from the blockchain, as shown in the [section above](#retrieve-a-credential-by-id), failing if the credential does not exist. 3. [OPTIONAL] Verify that the credential structure matches what the optionally-provided CType defines. 4. Verify that the rest of the fields in the provided credential (i.e., revocation status, identifier, creation block number) match the retrieved credential. @@ -122,7 +122,9 @@ The KILT SDK provides different features depending on the needs of the use case. ## Revoke and Remove a Credential -As we have seen for [public credential retrieval][credential-retrieval], a credential identifier is sufficient to perform most operations on public credentials. + + +As we have seen for public credential retrievalcredential-retrieval, a credential identifier is sufficient to perform most operations on public credentials. This is true also for revocation and removal. Some use cases might need a revoked credential to remain on chain and marked as revoked, while other use cases might combine together revocation and removal, removing a credential whenever it is to be marked as revoked, fulfilling the same goal of marking the credential as invalid. @@ -134,7 +136,7 @@ In the latter case, all information about the information is cleared, hence the {RevokeRemoveCredentialById} -Because a credential identifier can also be calculated starting from the credential itself and the information about its attester, it is also possible to revoke (and optionally remove) a credential given the credential itself. +Because a credential identifier can also be calculated starting from the credential itself and the information about its issuer, it is also possible to revoke (and optionally remove) a credential given the credential itself. {RevokeCredential} @@ -155,15 +157,13 @@ As for revocation, both the credential ID and the whole credential can be used, ## Reclaim the Deposit for a Credential -All the operations mentioned so far, always require the participation of the public credential attester, who must use their assertion key to sign all operations before they are submitted to the KILT blockchain. +All the operations mentioned so far, always require the participation of the public credential issuer, who must use their assertion key to sign all operations before they are submitted to the KILT blockchain. The only operation that can be submitted directly by someone else, as with other places in the SDK, is the transaction to remove a credential and obtain the initial deposit. This is, technically speaking, a different operation compared to the one to remove a credential, albeit the two yield the same result: all traces of the credential are removed from the chain and the deposit is returned to its payer. -The difference between the two is about who is authorized to perform the operation: while credential removal requires a DID signature by the original credential creator (a.k.a. issuer), the deposit claiming operation requires a regular transaction signature by the KILT account that paid the original deposit, with no involvement of the original attester. +The difference between the two is about who is authorized to perform the operation: while credential removal requires a DID signature by the original credential creator (a.k.a. issuer), the deposit claiming operation requires a regular transaction signature by the KILT account that paid the original deposit, with no involvement of the original issuer. {ReclaimDeposit} - - -[credential-retrieval]: ./02_credential_retrieval.md + \ No newline at end of file diff --git a/static/img/concepts/distributed_trust/delegation-hierarchies-dark.svg b/static/img/concepts/distributed_trust/delegation-hierarchies-dark.svg index 1a32d471c..1933ddec4 100644 --- a/static/img/concepts/distributed_trust/delegation-hierarchies-dark.svg +++ b/static/img/concepts/distributed_trust/delegation-hierarchies-dark.svg @@ -1,4 +1,86 @@ - - -
Attester 3
Attester 3
<root>
Attester 1
<root>...
Attest
Attest
Delegate
Delegate
Attester 5
Attester 5
Attest
Attest
Attester 4
Attester 4
Attest
Attest
Attester 2
Attester 2
Attest
Attest
Delegate
Delegate
Delegate
Delegate
Text is not SVG - cannot display
\ No newline at end of file + + + + + + + + + + + + + + Issuer 3 + + <root>... + + Attest + + Delegate + + Issuer 5 + + Attest + + Issuer 4 + + Attest + + + + + + Issuer 2 + + Attest + + Delegate + + Delegate + + + + \ No newline at end of file diff --git a/static/img/concepts/distributed_trust/delegation-hierarchies.svg b/static/img/concepts/distributed_trust/delegation-hierarchies.svg index dae1dfd34..31aae50c5 100644 --- a/static/img/concepts/distributed_trust/delegation-hierarchies.svg +++ b/static/img/concepts/distributed_trust/delegation-hierarchies.svg @@ -1,4 +1,82 @@ - - -
Attester 3
Attester 3
<root>
Attester 1
<root>...
Attest
Attest
Delegate
Delegate
Attester 5
Attester 5
Attest
Attest
Attester 4
Attester 4
Attest
Attest
Attester 2
Attester 2
Attest
Attest
Delegate
Delegate
Delegate
Delegate
Text is not SVG - cannot display
+ + + + + + + + + + + + + + Issuer 3 + + <root>... + + Attest + + Delegate + + Issuer 5 + + Attest + + Issuer 4 + + Attest + + + + + + Issuer 2 + + Attest + + Delegate + + Delegate + + + + \ No newline at end of file diff --git a/versioned_docs/version-0.3/03_workshop/01_welcome.md b/versioned_docs/version-0.3/03_workshop/01_welcome.md index 6ed35f2f3..2746a11a3 100644 --- a/versioned_docs/version-0.3/03_workshop/01_welcome.md +++ b/versioned_docs/version-0.3/03_workshop/01_welcome.md @@ -31,7 +31,7 @@ In this tutorial, you will: ✔ Get familiar with the essential concepts in KILT: accounts, DIDs, CTypes, claims, credentials, and more. ✔ Use the KILT SDK to implement the basic flow of a KILT claim, from creation until verification. -You'll create a claim as a Claimer, attest it as an Attester and verify it as a Verifier. +You'll create a claim as a Claimer, attest it as an Issuer and verify it as a Verifier. ✔ Use the KILT SDK to write onto and read from the KILT blockchain. diff --git a/yarn.lock b/yarn.lock index 3127bc84d..05045ff78 100644 --- a/yarn.lock +++ b/yarn.lock @@ -423,12 +423,12 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85" integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw== -"@babel/parser@^7.25.3": - version "7.25.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.3.tgz#91fb126768d944966263f0657ab222a642b82065" - integrity sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw== +"@babel/parser@^7.25.4": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f" + integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== dependencies: - "@babel/types" "^7.25.2" + "@babel/types" "^7.25.6" "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.7": version "7.24.7" @@ -1196,10 +1196,10 @@ dependencies: regenerator-runtime "^0.14.0" -"@babel/standalone@^7.25.3": - version "7.25.3" - resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.25.3.tgz#da5eaa9e0b0c2da360fe033eb580400739b03bb9" - integrity sha512-uR+EoBqIIIvKGCG7fOj7HKupu3zVObiMfdEwoPZfVCPpcWJaZ1PkshaP5/6cl6BKAm1Zcv25O1rf+uoQ7V8nqA== +"@babel/standalone@^7.25.5": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.25.6.tgz#b81f6cefd3b667ae5334979d01b3633c70bb231f" + integrity sha512-Kf2ZcZVqsKbtYhlA7sP0z5A3q5hmCVYMKMWRWNK/5OVwHIve3JY1djVRmIVAx8FMueLIfZGKQDIILK2w8zO4mg== "@babel/template@^7.24.7": version "7.24.7" @@ -1235,10 +1235,10 @@ "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" -"@babel/types@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.2.tgz#55fb231f7dc958cd69ea141a4c2997e819646125" - integrity sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q== +"@babel/types@^7.25.6": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6" + integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== dependencies: "@babel/helper-string-parser" "^7.24.8" "@babel/helper-validator-identifier" "^7.24.7" @@ -1274,10 +1274,10 @@ "@docsearch/css" "3.6.0" algoliasearch "^4.19.1" -"@docusaurus/core@3.4.0", "@docusaurus/core@^3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.4.0.tgz#bdbf1af4b2f25d1bf4a5b62ec6137d84c821cb3c" - integrity sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w== +"@docusaurus/core@3.5.2", "@docusaurus/core@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.5.2.tgz#3adedb90e7b6104592f1231043bd6bf91680c39c" + integrity sha512-4Z1WkhCSkX4KO0Fw5m/Vuc7Q3NxBG53NE5u59Rs96fWkMPZVSrzEPP16/Nk6cWb/shK7xXPndTmalJtw7twL/w== dependencies: "@babel/core" "^7.23.3" "@babel/generator" "^7.23.3" @@ -1289,12 +1289,12 @@ "@babel/runtime" "^7.22.6" "@babel/runtime-corejs3" "^7.22.6" "@babel/traverse" "^7.22.8" - "@docusaurus/cssnano-preset" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" + "@docusaurus/cssnano-preset" "3.5.2" + "@docusaurus/logger" "3.5.2" + "@docusaurus/mdx-loader" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-common" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" autoprefixer "^10.4.14" babel-loader "^9.1.3" babel-plugin-dynamic-import-node "^2.3.3" @@ -1348,32 +1348,32 @@ webpack-merge "^5.9.0" webpackbar "^5.0.2" -"@docusaurus/cssnano-preset@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.4.0.tgz#dc7922b3bbeabcefc9b60d0161680d81cf72c368" - integrity sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ== +"@docusaurus/cssnano-preset@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.5.2.tgz#6c1f2b2f9656f978c4694c84ab24592b04dcfab3" + integrity sha512-D3KiQXOMA8+O0tqORBrTOEQyQxNIfPm9jEaJoALjjSjc2M/ZAWcUfPQEnwr2JB2TadHw2gqWgpZckQmrVWkytA== dependencies: cssnano-preset-advanced "^6.1.2" postcss "^8.4.38" postcss-sort-media-queries "^5.2.0" tslib "^2.6.0" -"@docusaurus/logger@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.4.0.tgz#8b0ac05c7f3dac2009066e2f964dee8209a77403" - integrity sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q== +"@docusaurus/logger@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.5.2.tgz#1150339ad56844b30734115c19c580f3b25cf5ed" + integrity sha512-LHC540SGkeLfyT3RHK3gAMK6aS5TRqOD4R72BEU/DE2M/TY8WwEUAMY576UUc/oNJXv8pGhBmQB6N9p3pt8LQw== dependencies: chalk "^4.1.2" tslib "^2.6.0" -"@docusaurus/mdx-loader@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.4.0.tgz#483d7ab57928fdbb5c8bd1678098721a930fc5f6" - integrity sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw== +"@docusaurus/mdx-loader@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.5.2.tgz#99781641372c5037bcbe09bb8ade93a0e0ada57d" + integrity sha512-ku3xO9vZdwpiMIVd8BzWV0DCqGEbCP5zs1iHfKX50vw6jX8vQo0ylYo1YJMZyz6e+JFJ17HYHT5FzVidz2IflA== dependencies: - "@docusaurus/logger" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" + "@docusaurus/logger" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" "@mdx-js/mdx" "^3.0.0" "@slorber/remark-comment" "^1.0.0" escape-html "^1.0.3" @@ -1396,12 +1396,12 @@ vfile "^6.0.1" webpack "^5.88.1" -"@docusaurus/module-type-aliases@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz#2653bde58fc1aa3dbc626a6c08cfb63a37ae1bb8" - integrity sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw== +"@docusaurus/module-type-aliases@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.5.2.tgz#4e8f9c0703e23b2e07ebfce96598ec83e4dd2a9e" + integrity sha512-Z+Xu3+2rvKef/YKTMxZHsEXp1y92ac0ngjDiExRdqGTmEKtCUpkbNYH8v5eXo5Ls+dnW88n6WTa+Q54kLOkwPg== dependencies: - "@docusaurus/types" "3.4.0" + "@docusaurus/types" "3.5.2" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -1409,19 +1409,20 @@ react-helmet-async "*" react-loadable "npm:@docusaurus/react-loadable@6.0.0" -"@docusaurus/plugin-content-blog@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz#6373632fdbababbda73a13c4a08f907d7de8f007" - integrity sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - cheerio "^1.0.0-rc.12" +"@docusaurus/plugin-content-blog@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.5.2.tgz#649c07c34da7603645f152bcebdf75285baed16b" + integrity sha512-R7ghWnMvjSf+aeNDH0K4fjyQnt5L0KzUEnUhmf1e3jZrv3wogeytZNN6n7X8yHcMsuZHPOrctQhXWnmxu+IRRg== + dependencies: + "@docusaurus/core" "3.5.2" + "@docusaurus/logger" "3.5.2" + "@docusaurus/mdx-loader" "3.5.2" + "@docusaurus/theme-common" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-common" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" + cheerio "1.0.0-rc.12" feed "^4.2.2" fs-extra "^11.1.1" lodash "^4.17.21" @@ -1432,19 +1433,20 @@ utility-types "^3.10.0" webpack "^5.88.1" -"@docusaurus/plugin-content-docs@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz#3088973f72169a2a6d533afccec7153c8720d332" - integrity sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/module-type-aliases" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" +"@docusaurus/plugin-content-docs@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.5.2.tgz#adcf6c0bd9a9818eb192ab831e0069ee62d31505" + integrity sha512-Bt+OXn/CPtVqM3Di44vHjE7rPCEsRCB/DMo2qoOuozB9f7+lsdrHvD0QCHdBs0uhz6deYJDppAr2VgqybKPlVQ== + dependencies: + "@docusaurus/core" "3.5.2" + "@docusaurus/logger" "3.5.2" + "@docusaurus/mdx-loader" "3.5.2" + "@docusaurus/module-type-aliases" "3.5.2" + "@docusaurus/theme-common" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-common" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" "@types/react-router-config" "^5.0.7" combine-promises "^1.1.0" fs-extra "^11.1.1" @@ -1454,101 +1456,101 @@ utility-types "^3.10.0" webpack "^5.88.1" -"@docusaurus/plugin-content-pages@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.4.0.tgz#1846172ca0355c7d32a67ef8377750ce02bbb8ad" - integrity sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" +"@docusaurus/plugin-content-pages@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.5.2.tgz#2b59e43f5bc5b5176ff01835de706f1c65c2e68b" + integrity sha512-WzhHjNpoQAUz/ueO10cnundRz+VUtkjFhhaQ9jApyv1a46FPURO4cef89pyNIOMny1fjDz/NUN2z6Yi+5WUrCw== + dependencies: + "@docusaurus/core" "3.5.2" + "@docusaurus/mdx-loader" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" fs-extra "^11.1.1" tslib "^2.6.0" webpack "^5.88.1" -"@docusaurus/plugin-debug@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.4.0.tgz#74e4ec5686fa314c26f3ac150bacadbba7f06948" - integrity sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg== +"@docusaurus/plugin-debug@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.5.2.tgz#c25ca6a59e62a17c797b367173fe80c06fdf2f65" + integrity sha512-kBK6GlN0itCkrmHuCS6aX1wmoWc5wpd5KJlqQ1FyrF0cLDnvsYSnh7+ftdwzt7G6lGBho8lrVwkkL9/iQvaSOA== dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" + "@docusaurus/core" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils" "3.5.2" fs-extra "^11.1.1" react-json-view-lite "^1.2.0" tslib "^2.6.0" -"@docusaurus/plugin-google-analytics@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.4.0.tgz#5f59fc25329a59decc231936f6f9fb5663da3c55" - integrity sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA== +"@docusaurus/plugin-google-analytics@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.5.2.tgz#1143e78d1461d3c74a2746f036d25b18d4a2608d" + integrity sha512-rjEkJH/tJ8OXRE9bwhV2mb/WP93V441rD6XnM6MIluu7rk8qg38iSxS43ga2V2Q/2ib53PcqbDEJDG/yWQRJhQ== dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" + "@docusaurus/core" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" tslib "^2.6.0" -"@docusaurus/plugin-google-gtag@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.4.0.tgz#42489ac5fe1c83b5523ceedd5ef74f9aa8bc251b" - integrity sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA== +"@docusaurus/plugin-google-gtag@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.5.2.tgz#60b5a9e1888c4fa16933f7c5cb5f2f2c31caad3a" + integrity sha512-lm8XL3xLkTPHFKKjLjEEAHUrW0SZBSHBE1I+i/tmYMBsjCcUB5UJ52geS5PSiOCFVR74tbPGcPHEV/gaaxFeSA== dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" + "@docusaurus/core" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" "@types/gtag.js" "^0.0.12" tslib "^2.6.0" -"@docusaurus/plugin-google-tag-manager@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.4.0.tgz#cebb03a5ffa1e70b37d95601442babea251329ff" - integrity sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ== +"@docusaurus/plugin-google-tag-manager@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.5.2.tgz#7a37334d2e7f00914d61ad05bc09391c4db3bfda" + integrity sha512-QkpX68PMOMu10Mvgvr5CfZAzZQFx8WLlOiUQ/Qmmcl6mjGK6H21WLT5x7xDmcpCoKA/3CegsqIqBR+nA137lQg== dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" + "@docusaurus/core" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" tslib "^2.6.0" -"@docusaurus/plugin-sitemap@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.4.0.tgz#b091d64d1e3c6c872050189999580187537bcbc6" - integrity sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" +"@docusaurus/plugin-sitemap@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.5.2.tgz#9c940b27f3461c54d65295cf4c52cb20538bd360" + integrity sha512-DnlqYyRAdQ4NHY28TfHuVk414ft2uruP4QWCH//jzpHjqvKyXjj2fmDtI8RPUBh9K8iZKFMHRnLtzJKySPWvFA== + dependencies: + "@docusaurus/core" "3.5.2" + "@docusaurus/logger" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-common" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" fs-extra "^11.1.1" sitemap "^7.1.1" tslib "^2.6.0" -"@docusaurus/preset-classic@^3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.4.0.tgz#6082a32fbb465b0cb2c2a50ebfc277cff2c0f139" - integrity sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/plugin-content-blog" "3.4.0" - "@docusaurus/plugin-content-docs" "3.4.0" - "@docusaurus/plugin-content-pages" "3.4.0" - "@docusaurus/plugin-debug" "3.4.0" - "@docusaurus/plugin-google-analytics" "3.4.0" - "@docusaurus/plugin-google-gtag" "3.4.0" - "@docusaurus/plugin-google-tag-manager" "3.4.0" - "@docusaurus/plugin-sitemap" "3.4.0" - "@docusaurus/theme-classic" "3.4.0" - "@docusaurus/theme-common" "3.4.0" - "@docusaurus/theme-search-algolia" "3.4.0" - "@docusaurus/types" "3.4.0" - -"@docusaurus/remark-plugin-npm2yarn@^3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/remark-plugin-npm2yarn/-/remark-plugin-npm2yarn-3.4.0.tgz#1a3c43e70c9195ede0ade28d59f858b76eb7dafe" - integrity sha512-MXcYAkKu6544h7J4vbKdeH+G5HZf6LF3qZORQqWzxOi2p82PTLRu0YM6ZgzfPjH5nZClgLBHypPbyO9qhkxPKw== +"@docusaurus/preset-classic@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.5.2.tgz#977f78510bbc556aa0539149eef960bb7ab52bd9" + integrity sha512-3ihfXQ95aOHiLB5uCu+9PRy2gZCeSZoDcqpnDvf3B+sTrMvMTr8qRUzBvWkoIqc82yG5prCboRjk1SVILKx6sg== + dependencies: + "@docusaurus/core" "3.5.2" + "@docusaurus/plugin-content-blog" "3.5.2" + "@docusaurus/plugin-content-docs" "3.5.2" + "@docusaurus/plugin-content-pages" "3.5.2" + "@docusaurus/plugin-debug" "3.5.2" + "@docusaurus/plugin-google-analytics" "3.5.2" + "@docusaurus/plugin-google-gtag" "3.5.2" + "@docusaurus/plugin-google-tag-manager" "3.5.2" + "@docusaurus/plugin-sitemap" "3.5.2" + "@docusaurus/theme-classic" "3.5.2" + "@docusaurus/theme-common" "3.5.2" + "@docusaurus/theme-search-algolia" "3.5.2" + "@docusaurus/types" "3.5.2" + +"@docusaurus/remark-plugin-npm2yarn@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/remark-plugin-npm2yarn/-/remark-plugin-npm2yarn-3.5.2.tgz#892a63a9b53475d7c59957bd67277656dcd91079" + integrity sha512-EAD7R/skPuhW3lWZyDhRuFs3m2EGaR008tuoe6SrFre7PifoxmSCwXk8Nb4VtVRKnnbn4IgHyqq+ma47gGmKwg== dependencies: mdast-util-mdx "^3.0.0" npm-to-yarn "^2.2.1" @@ -1556,27 +1558,27 @@ unified "^11.0.3" unist-util-visit "^5.0.0" -"@docusaurus/theme-classic@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.4.0.tgz#1b0f48edec3e3ec8927843554b9f11e5927b0e52" - integrity sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/module-type-aliases" "3.4.0" - "@docusaurus/plugin-content-blog" "3.4.0" - "@docusaurus/plugin-content-docs" "3.4.0" - "@docusaurus/plugin-content-pages" "3.4.0" - "@docusaurus/theme-common" "3.4.0" - "@docusaurus/theme-translations" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" +"@docusaurus/theme-classic@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.5.2.tgz#602ddb63d987ab1f939e3760c67bc1880f01c000" + integrity sha512-XRpinSix3NBv95Rk7xeMF9k4safMkwnpSgThn0UNQNumKvmcIYjfkwfh2BhwYh/BxMXQHJ/PdmNh22TQFpIaYg== + dependencies: + "@docusaurus/core" "3.5.2" + "@docusaurus/mdx-loader" "3.5.2" + "@docusaurus/module-type-aliases" "3.5.2" + "@docusaurus/plugin-content-blog" "3.5.2" + "@docusaurus/plugin-content-docs" "3.5.2" + "@docusaurus/plugin-content-pages" "3.5.2" + "@docusaurus/theme-common" "3.5.2" + "@docusaurus/theme-translations" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-common" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" "@mdx-js/react" "^3.0.0" clsx "^2.0.0" copy-text-to-clipboard "^3.2.0" - infima "0.2.0-alpha.43" + infima "0.2.0-alpha.44" lodash "^4.17.21" nprogress "^0.2.0" postcss "^8.4.26" @@ -1587,18 +1589,15 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-common@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.4.0.tgz#01f2b728de6cb57f6443f52fc30675cf12a5d49f" - integrity sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA== - dependencies: - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/module-type-aliases" "3.4.0" - "@docusaurus/plugin-content-blog" "3.4.0" - "@docusaurus/plugin-content-docs" "3.4.0" - "@docusaurus/plugin-content-pages" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" +"@docusaurus/theme-common@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.5.2.tgz#b507ab869a1fba0be9c3c9d74f2f3d74c3ac78b2" + integrity sha512-QXqlm9S6x9Ibwjs7I2yEDgsCocp708DrCrgHgKwg2n2AY0YQ6IjU0gAK35lHRLOvAoJUfCKpQAwUykB0R7+Eew== + dependencies: + "@docusaurus/mdx-loader" "3.5.2" + "@docusaurus/module-type-aliases" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-common" "3.5.2" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -1608,32 +1607,32 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-mermaid@^3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-mermaid/-/theme-mermaid-3.4.0.tgz#ef1d2231d0858767f67538b4fafd7d0ce2a3e845" - integrity sha512-3w5QW0HEZ2O6x2w6lU3ZvOe1gNXP2HIoKDMJBil1VmLBc9PmpAG17VmfhI/p3L2etNmOiVs5GgniUqvn8AFEGQ== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/module-type-aliases" "3.4.0" - "@docusaurus/theme-common" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" +"@docusaurus/theme-mermaid@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-mermaid/-/theme-mermaid-3.5.2.tgz#7d64289e6f2493b9fc0d5f2e8f66da4c9d884db8" + integrity sha512-7vWCnIe/KoyTN1Dc55FIyqO5hJ3YaV08Mr63Zej0L0mX1iGzt+qKSmeVUAJ9/aOalUhF0typV0RmNUSy5FAmCg== + dependencies: + "@docusaurus/core" "3.5.2" + "@docusaurus/module-type-aliases" "3.5.2" + "@docusaurus/theme-common" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" mermaid "^10.4.0" tslib "^2.6.0" -"@docusaurus/theme-search-algolia@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.4.0.tgz#c499bad71d668df0d0f15b0e5e33e2fc4e330fcc" - integrity sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q== +"@docusaurus/theme-search-algolia@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.5.2.tgz#466c83ca7e8017d95ae6889ccddc5ef8bf6b61c6" + integrity sha512-qW53kp3VzMnEqZGjakaV90sst3iN1o32PH+nawv1uepROO8aEGxptcq2R5rsv7aBShSRbZwIobdvSYKsZ5pqvA== dependencies: "@docsearch/react" "^3.5.2" - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/plugin-content-docs" "3.4.0" - "@docusaurus/theme-common" "3.4.0" - "@docusaurus/theme-translations" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" + "@docusaurus/core" "3.5.2" + "@docusaurus/logger" "3.5.2" + "@docusaurus/plugin-content-docs" "3.5.2" + "@docusaurus/theme-common" "3.5.2" + "@docusaurus/theme-translations" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" algoliasearch "^4.18.0" algoliasearch-helper "^3.13.3" clsx "^2.0.0" @@ -1643,18 +1642,18 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-translations@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz#e6355d01352886c67e38e848b2542582ea3070af" - integrity sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg== +"@docusaurus/theme-translations@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.5.2.tgz#38f9ebf2a5d860397022206a05fef66c08863c89" + integrity sha512-GPZLcu4aT1EmqSTmbdpVrDENGR2yObFEX8ssEFYTCiAIVc0EihNSdOIBTazUvgNqwvnoU1A8vIs1xyzc3LITTw== dependencies: fs-extra "^11.1.1" tslib "^2.6.0" -"@docusaurus/types@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.4.0.tgz#237c3f737e9db3f7c1a5935a3ef48d6eadde8292" - integrity sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A== +"@docusaurus/types@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.5.2.tgz#058019dbeffbee2d412c3f72569e412a727f9608" + integrity sha512-N6GntLXoLVUwkZw7zCxwy9QiuEXIcTVzA9AkmNw16oc0AP3SXLrMmDMMBIfgqwuKWa6Ox6epHol9kMtJqekACw== dependencies: "@mdx-js/mdx" "^3.0.0" "@types/history" "^4.7.11" @@ -1666,34 +1665,34 @@ webpack "^5.88.1" webpack-merge "^5.9.0" -"@docusaurus/utils-common@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.4.0.tgz#2a43fefd35b85ab9fcc6833187e66c15f8bfbbc6" - integrity sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ== +"@docusaurus/utils-common@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.5.2.tgz#4d7f5e962fbca3e2239d80457aa0e4bd3d8f7e0a" + integrity sha512-i0AZjHiRgJU6d7faQngIhuHKNrszpL/SHQPgF1zH4H+Ij6E9NBYGy6pkcGWToIv7IVPbs+pQLh1P3whn0gWXVg== dependencies: tslib "^2.6.0" -"@docusaurus/utils-validation@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz#0176f6e503ff45f4390ec2ecb69550f55e0b5eb7" - integrity sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g== +"@docusaurus/utils-validation@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.5.2.tgz#1b2b2f02082781cc8ce713d4c85e88d6d2fc4eb3" + integrity sha512-m+Foq7augzXqB6HufdS139PFxDC5d5q2QKZy8q0qYYvGdI6nnlNsGH4cIGsgBnV7smz+mopl3g4asbSDvMV0jA== dependencies: - "@docusaurus/logger" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" + "@docusaurus/logger" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-common" "3.5.2" fs-extra "^11.2.0" joi "^17.9.2" js-yaml "^4.1.0" lodash "^4.17.21" tslib "^2.6.0" -"@docusaurus/utils@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.4.0.tgz#c508e20627b7a55e2b541e4a28c95e0637d6a204" - integrity sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g== +"@docusaurus/utils@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.5.2.tgz#17763130215f18d7269025903588ef7fb373e2cb" + integrity sha512-33QvcNFh+Gv+C2dP9Y9xWEzMgf3JzrpL2nW9PopidiohS1nDcyknKRx2DWaFvyVTTYIkkABVSr073VTj/NITNA== dependencies: - "@docusaurus/logger" "3.4.0" - "@docusaurus/utils-common" "3.4.0" + "@docusaurus/logger" "3.5.2" + "@docusaurus/utils-common" "3.5.2" "@svgr/webpack" "^8.1.0" escape-string-regexp "^4.0.0" file-loader "^6.2.0" @@ -3143,7 +3142,7 @@ cheerio-select@^2.1.0: domhandler "^5.0.3" domutils "^3.0.1" -cheerio@^1.0.0-rc.10, cheerio@^1.0.0-rc.12: +cheerio@1.0.0-rc.12, cheerio@^1.0.0-rc.10: version "1.0.0-rc.12" resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== @@ -5453,10 +5452,10 @@ indent-string@^4.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -infima@0.2.0-alpha.43: - version "0.2.0-alpha.43" - resolved "https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.43.tgz#f7aa1d7b30b6c08afef441c726bac6150228cbe0" - integrity sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ== +infima@0.2.0-alpha.44: + version "0.2.0-alpha.44" + resolved "https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.44.tgz#9cd9446e473b44d49763f48efabe31f32440861d" + integrity sha512-tuRkUSO/lB3rEhLJk25atwAjgLuzq070+pOW8XcvpHky/YbENnRRdPd85IBkyeTgttmOy5ah+yHYsK1HhUd4lQ== inflight@^1.0.4: version "1.0.6" From bc697bcc67d7c85314699e966f9354198455ec72 Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Thu, 5 Sep 2024 17:47:54 +0200 Subject: [PATCH 2/9] Code paths Signed-off-by: Chris Chinchilla --- code_examples/sdk_examples/package.json | 41 +- .../core_features/did/03_light_did_migrate.ts | 26 + .../src/core_features/did/12_did_export.ts | 28 + code_examples/sdk_examples/src/dapp/index.ts | 6 +- .../{claimer => holder}/createClaim.ts | 0 .../{claimer => holder}/createPresentation.ts | 0 .../{claimer => holder}/generateAccount.ts | 0 .../{claimer => holder}/generateCredential.ts | 2 +- .../{claimer => holder}/generateKeypairs.ts | 0 .../{claimer => holder}/generateLightDid.ts | 0 .../sdk_examples/src/workshop/index.ts | 16 +- .../src/workshop/issuer/issueCredential.ts | 4 +- .../sdk_examples/src/workshop/verify.ts | 6 +- code_examples/sdk_examples/yarn.lock | 1504 +++++++++-------- sdk/02_tutorial/05_claimer/01_did.md | 4 +- sdk/02_tutorial/05_claimer/02_request.md | 4 +- sdk/02_tutorial/07_verification.md | 2 +- 17 files changed, 889 insertions(+), 754 deletions(-) create mode 100644 code_examples/sdk_examples/src/core_features/did/03_light_did_migrate.ts create mode 100644 code_examples/sdk_examples/src/core_features/did/12_did_export.ts rename code_examples/sdk_examples/src/workshop/{claimer => holder}/createClaim.ts (100%) rename code_examples/sdk_examples/src/workshop/{claimer => holder}/createPresentation.ts (100%) rename code_examples/sdk_examples/src/workshop/{claimer => holder}/generateAccount.ts (100%) rename code_examples/sdk_examples/src/workshop/{claimer => holder}/generateCredential.ts (95%) rename code_examples/sdk_examples/src/workshop/{claimer => holder}/generateKeypairs.ts (100%) rename code_examples/sdk_examples/src/workshop/{claimer => holder}/generateLightDid.ts (100%) diff --git a/code_examples/sdk_examples/package.json b/code_examples/sdk_examples/package.json index ef01e09b5..8c33796fc 100644 --- a/code_examples/sdk_examples/package.json +++ b/code_examples/sdk_examples/package.json @@ -13,30 +13,27 @@ "test": "ts-node src/test.ts" }, "dependencies": { - "@kiltprotocol/sdk-js": "1.0.0", - "@polkadot/util-crypto": "^13.0.2", - "@kiltprotocol/utils":"^0.100.0", - "@kiltprotocol/types":"^0.100.0", - "axios": "^1.7.5", - "commander": "^12.1.0", - "dotenv": "^16.4.5", - "web3": "^4.12.1" + "@kiltprotocol/sdk-js": "0.35.0", + "axios": "^1.5.1", + "commander": "^11.1.0", + "dotenv": "^16.3.1", + "web3": "^4.1.2" }, "devDependencies": { - "@polkadot/types": "^12.3.1", - "@types/node": "^22.5.0", - "@types/node-fetch": "^2.6.11", - "@typescript-eslint/eslint-plugin": "^8.3.0", - "@typescript-eslint/parser": "^8.3.0", - "eslint": "^9.9.1", - "eslint-config-prettier": "^9.1.0", + "@polkadot/types": "^10.4.0", + "@types/node": "^20.8.6", + "@types/node-fetch": "^2.6.6", + "@typescript-eslint/eslint-plugin": "^5.36.0", + "@typescript-eslint/parser": "^6.8.0", + "eslint": "^8.51.0", + "eslint-config-prettier": "^9.0.0", "eslint-formatter-codeframe": "^7.32.1", - "eslint-plugin-import": "^2.29.1", + "eslint-plugin-import": "^2.28.1", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^5.2.1", - "node-fetch": "^3.3.2", - "prettier": "^3.3.3", - "ts-node": "^10.9.2", - "typescript": "^5.5.4" + "eslint-plugin-prettier": "^5.0.1", + "node-fetch": "^2.6.7", + "prettier": "^3.0.3", + "ts-node": "^10.9.1", + "typescript": "^5.2.2" } -} +} \ No newline at end of file diff --git a/code_examples/sdk_examples/src/core_features/did/03_light_did_migrate.ts b/code_examples/sdk_examples/src/core_features/did/03_light_did_migrate.ts new file mode 100644 index 000000000..4700128bc --- /dev/null +++ b/code_examples/sdk_examples/src/core_features/did/03_light_did_migrate.ts @@ -0,0 +1,26 @@ +import * as Kilt from '@kiltprotocol/sdk-js' + +export async function migrateLightDid( + lightDid: Kilt.DidDocument, + submitterAccount: Kilt.KiltKeyringPair, + signCallback: Kilt.SignExtrinsicCallback +): Promise { + const api = Kilt.ConfigService.get('api') + + // Generate the DID migration tx. + const migrationTx = await Kilt.Did.getStoreTx( + lightDid, + submitterAccount.address, + signCallback + ) + + // The tx can then be submitted by the authorized account as usual. + await Kilt.Blockchain.signAndSubmitTx(migrationTx, submitterAccount) + + // The new information is fetched from the blockchain and returned. + const migratedFullDidUri = Kilt.Did.getFullDidUri(lightDid.uri) + const encodedUpdatedDidDetails = await api.call.did.query( + Kilt.Did.toChain(migratedFullDidUri) + ) + return Kilt.Did.linkedInfoFromChain(encodedUpdatedDidDetails).document +} diff --git a/code_examples/sdk_examples/src/core_features/did/12_did_export.ts b/code_examples/sdk_examples/src/core_features/did/12_did_export.ts new file mode 100644 index 000000000..6ed26c5e5 --- /dev/null +++ b/code_examples/sdk_examples/src/core_features/did/12_did_export.ts @@ -0,0 +1,28 @@ +import * as Kilt from '@kiltprotocol/sdk-js' + +export async function exportDid( + did: Kilt.DidDocument, + exportType: 'application/json' | 'application/ld+json' +) { + const conformingDidDocument = Kilt.Did.exportToDidDocument(did, exportType) + + // Will print the DID URI. + console.log(conformingDidDocument.id) + + // Will print all the public keys associated with the DID. + console.log(conformingDidDocument.verificationMethod) + + // Will print all the assertion keys IDs. + console.log(conformingDidDocument.assertionMethod) + + // Will print all the encryption keys IDs. + console.log(conformingDidDocument.keyAgreement) + + // Will print all the delegation keys IDs. + console.log(conformingDidDocument.capabilityDelegation) + + // Will print all the external services referenced inside the `DidDocument` instance. + console.log(conformingDidDocument.service) + + return conformingDidDocument +} diff --git a/code_examples/sdk_examples/src/dapp/index.ts b/code_examples/sdk_examples/src/dapp/index.ts index f5afed159..61916aa95 100644 --- a/code_examples/sdk_examples/src/dapp/index.ts +++ b/code_examples/sdk_examples/src/dapp/index.ts @@ -1,9 +1,9 @@ import * as Kilt from '@kiltprotocol/sdk-js' import { main as attestCredential } from './dapp/04_attest_credential' -import { createFullDid } from '../workshop/attester/generateDid' +import { createFullDid } from '../workshop/issuer/generateDid' import { main as formatCredential } from './dapp/05_format_credential' -import { generateAccount } from '../workshop/attester/generateAccount' -import { generateKeypairs as generateAttesterKeypairs } from '../workshop/attester/generateKeypairs' +import { generateAccount } from '../workshop/issuer/generateAccount' +import { generateKeypairs as generateAttesterKeypairs } from '../workshop/issuer/generateKeypairs' import { main as getDomainLinkageCType } from './dapp/01_domain_linkage_ctype' import { main as getDomainLinkageCredential } from './dapp/02_domain_linkage_claim' import { getFunds } from '../getFunds' diff --git a/code_examples/sdk_examples/src/workshop/claimer/createClaim.ts b/code_examples/sdk_examples/src/workshop/holder/createClaim.ts similarity index 100% rename from code_examples/sdk_examples/src/workshop/claimer/createClaim.ts rename to code_examples/sdk_examples/src/workshop/holder/createClaim.ts diff --git a/code_examples/sdk_examples/src/workshop/claimer/createPresentation.ts b/code_examples/sdk_examples/src/workshop/holder/createPresentation.ts similarity index 100% rename from code_examples/sdk_examples/src/workshop/claimer/createPresentation.ts rename to code_examples/sdk_examples/src/workshop/holder/createPresentation.ts diff --git a/code_examples/sdk_examples/src/workshop/claimer/generateAccount.ts b/code_examples/sdk_examples/src/workshop/holder/generateAccount.ts similarity index 100% rename from code_examples/sdk_examples/src/workshop/claimer/generateAccount.ts rename to code_examples/sdk_examples/src/workshop/holder/generateAccount.ts diff --git a/code_examples/sdk_examples/src/workshop/claimer/generateCredential.ts b/code_examples/sdk_examples/src/workshop/holder/generateCredential.ts similarity index 95% rename from code_examples/sdk_examples/src/workshop/claimer/generateCredential.ts rename to code_examples/sdk_examples/src/workshop/holder/generateCredential.ts index 51236ab09..7ca17d86d 100644 --- a/code_examples/sdk_examples/src/workshop/claimer/generateCredential.ts +++ b/code_examples/sdk_examples/src/workshop/holder/generateCredential.ts @@ -4,7 +4,7 @@ import * as Kilt from '@kiltprotocol/sdk-js' import { createClaim } from './createClaim' import { generateLightDid } from './generateLightDid' -import { getCtypeSchema } from '../attester/ctypeSchema' +import { getCtypeSchema } from '../issuer/ctypeSchema' export function generateCredential( claimerDid: Kilt.DidUri, diff --git a/code_examples/sdk_examples/src/workshop/claimer/generateKeypairs.ts b/code_examples/sdk_examples/src/workshop/holder/generateKeypairs.ts similarity index 100% rename from code_examples/sdk_examples/src/workshop/claimer/generateKeypairs.ts rename to code_examples/sdk_examples/src/workshop/holder/generateKeypairs.ts diff --git a/code_examples/sdk_examples/src/workshop/claimer/generateLightDid.ts b/code_examples/sdk_examples/src/workshop/holder/generateLightDid.ts similarity index 100% rename from code_examples/sdk_examples/src/workshop/claimer/generateLightDid.ts rename to code_examples/sdk_examples/src/workshop/holder/generateLightDid.ts diff --git a/code_examples/sdk_examples/src/workshop/index.ts b/code_examples/sdk_examples/src/workshop/index.ts index 1dc8ff550..abed0da4a 100644 --- a/code_examples/sdk_examples/src/workshop/index.ts +++ b/code_examples/sdk_examples/src/workshop/index.ts @@ -1,13 +1,13 @@ import * as Kilt from '@kiltprotocol/sdk-js' -import { attestingFlow } from './attester/attestCredential' -import { createFullDid } from './attester/generateDid' -import { ensureStoredCtype } from './attester/generateCtype' -import { generateAccount } from './attester/generateAccount' -import { generateKeypairs as generateAttesterKeypairs } from './attester/generateKeypairs' -import { generateKeypairs as generateClaimerKeypairs } from './claimer/generateKeypairs' -import { generateCredential } from './claimer/generateCredential' -import { generateLightDid } from './claimer/generateLightDid' +import { attestingFlow } from './issuer/issueCredential' +import { createFullDid } from './issuer/generateDid' +import { ensureStoredCtype } from './issuer/generateCtype' +import { generateAccount } from './issuer/generateAccount' +import { generateKeypairs as generateAttesterKeypairs } from './issuer/generateKeypairs' +import { generateKeypairs as generateClaimerKeypairs } from './holder/generateKeypairs' +import { generateCredential } from './holder/generateCredential' +import { generateLightDid } from './holder/generateLightDid' import { getFunds } from '../getFunds' import { verificationFlow } from './verify' diff --git a/code_examples/sdk_examples/src/workshop/issuer/issueCredential.ts b/code_examples/sdk_examples/src/workshop/issuer/issueCredential.ts index ad4474641..96ca1e72b 100644 --- a/code_examples/sdk_examples/src/workshop/issuer/issueCredential.ts +++ b/code_examples/sdk_examples/src/workshop/issuer/issueCredential.ts @@ -3,9 +3,9 @@ import { config as envConfig } from 'dotenv' import * as Kilt from '@kiltprotocol/sdk-js' import { generateAccount } from './generateAccount' -import { generateCredential } from '../claimer/generateCredential' +import { generateCredential } from '../holder/generateCredential' import { generateKeypairs } from './generateKeypairs' -import { generateLightDid } from '../claimer/generateLightDid' +import { generateLightDid } from '../holder/generateLightDid' export async function attestCredential( attesterAccount: Kilt.KiltKeyringPair, diff --git a/code_examples/sdk_examples/src/workshop/verify.ts b/code_examples/sdk_examples/src/workshop/verify.ts index 34de7fd9c..b3c2db90c 100644 --- a/code_examples/sdk_examples/src/workshop/verify.ts +++ b/code_examples/sdk_examples/src/workshop/verify.ts @@ -2,9 +2,9 @@ import { config as envConfig } from 'dotenv' import * as Kilt from '@kiltprotocol/sdk-js' -import { createPresentation } from './claimer/createPresentation' -import { generateKeypairs } from './claimer/generateKeypairs' -import { generateLightDid } from './claimer/generateLightDid' +import { createPresentation } from './holder/createPresentation' +import { generateKeypairs } from './holder/generateKeypairs' +import { generateLightDid } from './holder/generateLightDid' function getChallenge(): string { return Kilt.Utils.UUID.generate() diff --git a/code_examples/sdk_examples/yarn.lock b/code_examples/sdk_examples/yarn.lock index 74075bc42..b3cfbb277 100644 --- a/code_examples/sdk_examples/yarn.lock +++ b/code_examples/sdk_examples/yarn.lock @@ -36,61 +36,37 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@digitalbazaar/multikey-context@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@digitalbazaar/multikey-context/-/multikey-context-2.0.1.tgz#80714c799f1ce6d64f35b38bae10897c66534202" - integrity sha512-fHuaJNWpHLZH20GQemS+iPUn7/GuZ62UGhpmD9aZuKvN62lrPTeBK1V6C1BvfdIIWRsCqa1CUda+PDZa6d6X1A== - -"@digitalbazaar/security-context@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@digitalbazaar/security-context/-/security-context-1.0.1.tgz#badc4b8da03411a32d4e7321ce7c4b355776b410" - integrity sha512-0WZa6tPiTZZF8leBtQgYAfXQePFQp2z5ivpCEN/iZguYYZ0TB9qRmWtan5XH6mNFuusHtMcyIzAcReyE6rZPhA== - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": +"@eslint-community/eslint-utils@^4.2.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: eslint-visitor-keys "^3.3.0" -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.11.0": +"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": version "4.11.0" resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== -"@eslint/config-array@^0.18.0": - version "0.18.0" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.18.0.tgz#37d8fe656e0d5e3dbaea7758ea56540867fd074d" - integrity sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw== - dependencies: - "@eslint/object-schema" "^2.1.4" - debug "^4.3.1" - minimatch "^3.1.2" - -"@eslint/eslintrc@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.1.0.tgz#dbd3482bfd91efa663cbe7aa1f506839868207b6" - integrity sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ== +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^10.0.1" - globals "^14.0.0" + espree "^9.6.0" + globals "^13.19.0" ignore "^5.2.0" import-fresh "^3.2.1" js-yaml "^4.1.0" minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.9.1": - version "9.9.1" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.9.1.tgz#4a97e85e982099d6c7ee8410aacb55adaa576f06" - integrity sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ== - -"@eslint/object-schema@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843" - integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== +"@eslint/js@8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" + integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== "@ethereumjs/rlp@^4.0.1": version "4.0.1" @@ -102,15 +78,24 @@ resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-5.0.2.tgz#c89bd82f2f3bec248ab2d517ae25f5bbc4aac842" integrity sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA== +"@humanwhocodes/config-array@^0.11.14": + version "0.11.14" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== + dependencies: + "@humanwhocodes/object-schema" "^2.0.2" + debug "^4.3.1" + minimatch "^3.0.5" + "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/retry@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.0.tgz#6d86b8cb322660f03d3f0aa94b99bdd8e172d570" - integrity sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew== +"@humanwhocodes/object-schema@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== "@jridgewell/resolve-uri@^3.0.3": version "3.1.2" @@ -130,135 +115,129 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@kiltprotocol/chain-helpers@0.100.0": - version "0.100.0" - resolved "https://registry.yarnpkg.com/@kiltprotocol/chain-helpers/-/chain-helpers-0.100.0.tgz#80384d19dbed765896606e99314c3299583b93b5" - integrity sha512-94s7IoEsM24K8kWUzaWdziPso0l28vTrAQZeZnLaM2jlA/FTbKCBJ9A6lW4o4LAiaRs0uPfPVMdZN0qlFH2oZQ== - dependencies: - "@kiltprotocol/config" "0.100.0" - "@kiltprotocol/types" "0.100.0" - "@kiltprotocol/utils" "0.100.0" - -"@kiltprotocol/config@0.100.0": - version "0.100.0" - resolved "https://registry.yarnpkg.com/@kiltprotocol/config/-/config-0.100.0.tgz#4dcb7290de0b79f7c3346cf8a6f1026aadf7743a" - integrity sha512-ukF0GJ5IfwCsb4+Uocy0sChhNGpq2m6T8D2l9VWzIs2DvrzLeOfl6Cfb7r/FiBCXpO1KvBirKO/BJEjCUDyx7Q== +"@kiltprotocol/asset-did@0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@kiltprotocol/asset-did/-/asset-did-0.35.0.tgz#ca01e327993ac58ea968439c4b511c887b113f77" + integrity sha512-72JA/RX+snTzEH4IequM4xK3bOqmFees90d2d6FqMzgtK2TMsTew4U4CwpffzQwBlhGMV6awN6KNyQJTMOjsXA== dependencies: - "@kiltprotocol/types" "0.100.0" - typescript-logging "^1.0.0" + "@kiltprotocol/types" "0.35.0" + "@kiltprotocol/utils" "0.35.0" -"@kiltprotocol/credentials@0.100.0": - version "0.100.0" - resolved "https://registry.yarnpkg.com/@kiltprotocol/credentials/-/credentials-0.100.0.tgz#444dcab99b4ef00085d3e2db76a5756ab9f0a315" - integrity sha512-6hvglfMhnejaYU8FKHqejgtVTYHCHUYqK5SQ3uf7+SPpGkDrkbCtGuxsuOypcFNy0T7sLPY9HTeNRbKerd1M2A== - dependencies: - "@kiltprotocol/chain-helpers" "0.100.0" - "@kiltprotocol/config" "0.100.0" - "@kiltprotocol/did" "0.100.0" - "@kiltprotocol/eddsa-jcs-2022" "^0.1.0" - "@kiltprotocol/es256k-jcs-2023" "^0.1.0" - "@kiltprotocol/jcs-data-integrity-proofs-common" "^0.1.0" - "@kiltprotocol/sr25519-jcs-2023" "^0.1.0" - "@kiltprotocol/types" "0.100.0" - "@kiltprotocol/utils" "0.100.0" - "@scure/base" "^1.1.0" - json-pointer "^0.6.2" - -"@kiltprotocol/did@0.100.0": - version "0.100.0" - resolved "https://registry.yarnpkg.com/@kiltprotocol/did/-/did-0.100.0.tgz#186c7f39fa45e6a7087e8df828ad434f65320ab7" - integrity sha512-jtFIqs+2LV1CUiIDlS6LqFQWXJz2FBTu2GE9YcIil9eZBUOLfGeagUgOp9ASZEmGXDEFI0Bf9nCu8wQtEfMpNg== - dependencies: - "@digitalbazaar/multikey-context" "^2.0.1" - "@digitalbazaar/security-context" "^1.0.1" - "@kiltprotocol/config" "0.100.0" - "@kiltprotocol/types" "0.100.0" - "@kiltprotocol/utils" "0.100.0" - -"@kiltprotocol/eddsa-jcs-2022@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@kiltprotocol/eddsa-jcs-2022/-/eddsa-jcs-2022-0.1.0.tgz#603b1e88bf3c303e1e33395a8893c816bf4d79ba" - integrity sha512-bZbpg+UWkifflmagFEz2dYRIKKHepBvTbIfSSkx2kaTuJZcKC8LYxmNn5kwXMk1nNh04FbuPBakVMoFsALRQlw== +"@kiltprotocol/augment-api@0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@kiltprotocol/augment-api/-/augment-api-0.35.0.tgz#9a51f55a83853490a0a5164037e432ede632e8d4" + integrity sha512-yjpUkuBzTfrLQyjDF1cxQP1+kH++Yxkv5Tq143RuPDYDclsdBDZ87vp7Dc0x9odbFDiZ9FaHq4rE/1391AHtSw== dependencies: - "@kiltprotocol/jcs-data-integrity-proofs-common" "^0.1.0" - "@noble/curves" "^1.0.0" - "@scure/base" "^1.1.1" + "@kiltprotocol/type-definitions" "0.35.0" -"@kiltprotocol/es256k-jcs-2023@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@kiltprotocol/es256k-jcs-2023/-/es256k-jcs-2023-0.1.0.tgz#88c977d3ee9cd0c45187b11c4eda967f11597de7" - integrity sha512-Af76NmbhG8WWEdn2XjOFrCrvp6AILczf35QFb2818ewjoSRkVSN8Drm1ofG2CabtpjGENR6Kf6LN43S9GNkoow== +"@kiltprotocol/chain-helpers@0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@kiltprotocol/chain-helpers/-/chain-helpers-0.35.0.tgz#db7863b0356a98adb143273ee65f21f8d903b88f" + integrity sha512-iAIFWO+0wAySz9Ew0dKvwnSMPYgDaMzwJCvUxcQmpsadWiBD74m/yxJn7ef5hwVpIaIIVwGy4w4oYYCd8+avcg== dependencies: - "@kiltprotocol/jcs-data-integrity-proofs-common" "^0.1.0" - "@noble/curves" "^1.0.0" - "@scure/base" "^1.1.1" + "@kiltprotocol/config" "0.35.0" + "@kiltprotocol/types" "0.35.0" + "@kiltprotocol/utils" "0.35.0" + "@polkadot/api" "^10.7.3" + "@polkadot/types" "^10.7.3" -"@kiltprotocol/jcs-data-integrity-proofs-common@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@kiltprotocol/jcs-data-integrity-proofs-common/-/jcs-data-integrity-proofs-common-0.1.0.tgz#6793e488c54218ac6d21c8bb550d7bef92655f8d" - integrity sha512-9/OKYCwb1dJevExNwkVjEiICz2c8a2JwrVQ3tI8tlylOhcS9c267Z4+k+aSMEr0S7KcnEsBS3SscndBwIsNDRg== +"@kiltprotocol/config@0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@kiltprotocol/config/-/config-0.35.0.tgz#ca78f435be629d62f7b103336464bbaa6cfbe2b2" + integrity sha512-LSM9a42NzJQTuaIllD9H6JVkveSpgGdxcL3NFvTipynQLVX4rNhwVyHGMgh8f1CTNqAGaJwd/3e+9vosmu0LQg== dependencies: - "@noble/hashes" "^1.3.0" - canonicalize "^2.0.0" - varint "^6.0.0" - -"@kiltprotocol/sdk-js@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@kiltprotocol/sdk-js/-/sdk-js-1.0.0.tgz#5e50a6729f94c286b22e75a0c3bd73e8a3d794f3" - integrity sha512-vheWLv9I+7gW4UvJwr06Ks0ZtllLYvvmHNpZ/LQS//pZp+dRRkEQEZZ9z2L9JYWL4/E5IcUhl5FSeujlrPFqcg== - dependencies: - "@kiltprotocol/chain-helpers" "0.100.0" - "@kiltprotocol/config" "0.100.0" - "@kiltprotocol/credentials" "0.100.0" - "@kiltprotocol/did" "0.100.0" - "@kiltprotocol/type-definitions" "^1.11200.0" - "@kiltprotocol/utils" "0.100.0" - "@polkadot/api" "^12.0.0" - "@polkadot/keyring" "^13.0.0" - "@polkadot/types" "^12.0.0" - "@polkadot/util" "^13.0.0" - "@polkadot/util-crypto" "^13.0.0" - -"@kiltprotocol/sr25519-jcs-2023@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@kiltprotocol/sr25519-jcs-2023/-/sr25519-jcs-2023-0.1.0.tgz#276e13679afd7040199a652d4766940c4c560e36" - integrity sha512-NRM5EXm3jY6PZbsTZT97hPp3Zv1svDMesXaaue81g65AoThbvn58dQT4IqbCrNsSRtRri8pkeBExirSMp5IxIA== - dependencies: - "@kiltprotocol/jcs-data-integrity-proofs-common" "^0.1.0" - "@polkadot/util-crypto" "^13.0.2" - "@scure/base" "^1.1.1" + "@kiltprotocol/types" "0.35.0" + "@polkadot/api" "^10.7.3" + typescript-logging "^1.0.0" -"@kiltprotocol/type-definitions@^1.11200.0": - version "1.11200.0" - resolved "https://registry.yarnpkg.com/@kiltprotocol/type-definitions/-/type-definitions-1.11200.0.tgz#58f6dd9ae09925d6f46189f6b1ecef78b38cdd24" - integrity sha512-S99koF1rLqPyOkOTcs+6mWm/HOPxfSipd1F8A77SdNyum1mKT0Vc0bqZzfIBCJdOHV4r2foEZlTRT7JA1WjEuA== - -"@kiltprotocol/types@0.100.0", "@kiltprotocol/types@^0.100.0": - version "0.100.0" - resolved "https://registry.yarnpkg.com/@kiltprotocol/types/-/types-0.100.0.tgz#b1f276423821a68a612d01b27e39b376b51c5fcf" - integrity sha512-H8UttvTfL+Lt7a+sJTcOBiE7nV2lu66pmUmHE8LyWsqaUVJGrkRxDTP415EzPl+W4TUKy2YIV9hh/WXKAqzFfQ== - dependencies: - "@polkadot/api" "^12.0.0" - "@polkadot/keyring" "^13.0.0" - "@polkadot/types" "^12.0.0" - "@polkadot/util" "^13.0.0" - "@polkadot/util-crypto" "^13.0.0" - -"@kiltprotocol/utils@0.100.0", "@kiltprotocol/utils@^0.100.0": - version "0.100.0" - resolved "https://registry.yarnpkg.com/@kiltprotocol/utils/-/utils-0.100.0.tgz#ddb105afe937aa618817aa331d310abdf2234fb1" - integrity sha512-NCvZZIYYsWRyiN3swSzzMzicBIYld6IuPFzio8nVW31t1bgPtRGPJ7QnQOHkN37wSCIjZP+eIFBUiEZdLrTUpg== - dependencies: - "@kiltprotocol/eddsa-jcs-2022" "^0.1.0" - "@kiltprotocol/es256k-jcs-2023" "^0.1.0" - "@kiltprotocol/jcs-data-integrity-proofs-common" "^0.1.0" - "@kiltprotocol/sr25519-jcs-2023" "^0.1.0" - "@kiltprotocol/types" "0.100.0" - "@scure/base" "^1.1.0" +"@kiltprotocol/core@0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@kiltprotocol/core/-/core-0.35.0.tgz#fe523a329d3d1d3edf93977c893af7b5f78dd652" + integrity sha512-ifsLQzYROFtuoUDGl8ma2vsR6DuiQrSZZE25YZxxxGuMuNFzJh4xpFTUhF92H6SUzHF4+FVgtuBNLFNP65JfvQ== + dependencies: + "@kiltprotocol/asset-did" "0.35.0" + "@kiltprotocol/augment-api" "0.35.0" + "@kiltprotocol/chain-helpers" "0.35.0" + "@kiltprotocol/config" "0.35.0" + "@kiltprotocol/did" "0.35.0" + "@kiltprotocol/type-definitions" "0.35.0" + "@kiltprotocol/types" "0.35.0" + "@kiltprotocol/utils" "0.35.0" + "@polkadot/api" "^10.7.3" + "@polkadot/keyring" "^12.0.0" + "@polkadot/types" "^10.7.3" + "@polkadot/util" "^12.0.0" + "@polkadot/util-crypto" "^12.0.0" + +"@kiltprotocol/did@0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@kiltprotocol/did/-/did-0.35.0.tgz#e3f1aeddedae12799169f09e4cd8bf51e216f0d9" + integrity sha512-kBlBJLffnyvZPcm7j9ZDUyDWV7EiocifCgWp8Pq/8UNjrgTlKbroP0jd/AvEL8o8/Q1N1g91qooms/qFjk2r2A== + dependencies: + "@kiltprotocol/augment-api" "0.35.0" + "@kiltprotocol/config" "0.35.0" + "@kiltprotocol/types" "0.35.0" + "@kiltprotocol/utils" "0.35.0" + "@polkadot/api" "^10.7.3" + "@polkadot/keyring" "^12.0.0" + "@polkadot/types" "^10.7.3" + "@polkadot/types-codec" "^10.7.3" + "@polkadot/util" "^12.0.0" + "@polkadot/util-crypto" "^12.0.0" + +"@kiltprotocol/messaging@0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@kiltprotocol/messaging/-/messaging-0.35.0.tgz#9789e4b213df2938c3f2af8fd4d5a38d6a6a44c8" + integrity sha512-Pa910KWNEFgll7IYZaDhNr5mUccxPyGKLgjLLMiR2XJg+j//cOlkVMFQD/qlnW9NrnHwzuaW6juX9RloyGl/LQ== + dependencies: + "@kiltprotocol/core" "0.35.0" + "@kiltprotocol/did" "0.35.0" + "@kiltprotocol/types" "0.35.0" + "@kiltprotocol/utils" "0.35.0" + "@polkadot/util" "^12.0.0" + +"@kiltprotocol/sdk-js@0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@kiltprotocol/sdk-js/-/sdk-js-0.35.0.tgz#1bc3236893fee5600ab9e077cd10ea9d22c3188c" + integrity sha512-ENySAfZ9aB/AyqJovtyMFpADXIBYYX1ki4y6VS4fnjCh63+wcVSFlCOljw8YF8SOniUVCF/UHt2+TwZJYY22CQ== + dependencies: + "@kiltprotocol/chain-helpers" "0.35.0" + "@kiltprotocol/config" "0.35.0" + "@kiltprotocol/core" "0.35.0" + "@kiltprotocol/did" "0.35.0" + "@kiltprotocol/messaging" "0.35.0" + "@kiltprotocol/types" "0.35.0" + "@kiltprotocol/utils" "0.35.0" + +"@kiltprotocol/type-definitions@0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@kiltprotocol/type-definitions/-/type-definitions-0.35.0.tgz#365aa633ba0d08983068ad2f01bb2d65455d8b8c" + integrity sha512-Dm6qL3qp8Tb05mIQi7Ez/niQe31Yn3RQxNIbUdHWDTVaeNe664ftJtfwWgOekh1MTVmSjim93UE0djxWSIqXPQ== + +"@kiltprotocol/types@0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@kiltprotocol/types/-/types-0.35.0.tgz#c38ce3719a13086489e8fa1ddff44279f1ed06d5" + integrity sha512-uqIQifoCUtlFxnl39vL1MVIj0XuJf23hfKxhiNBvSpEA3tMvXdIm8QjPuMAaadKJhtcEv2aRwNJv1+Au64eNjQ== + dependencies: + "@polkadot/api" "^10.7.3" + "@polkadot/keyring" "^12.0.0" + "@polkadot/types" "^10.7.3" + "@polkadot/util" "^12.0.0" + "@polkadot/util-crypto" "^12.0.0" + +"@kiltprotocol/utils@0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@kiltprotocol/utils/-/utils-0.35.0.tgz#d855cc684f5fefaba0a0e39d63186470991396d8" + integrity sha512-G8a0bdKssPHXLlNyY75rKn1EivxvCRNatfYcoF5hR3lCaHpw25fAUN9NN58w77P7OM8gcWLziui1x8UPfSBx5A== + dependencies: + "@kiltprotocol/types" "0.35.0" + "@polkadot/api" "^10.7.3" + "@polkadot/keyring" "^12.0.0" + "@polkadot/util" "^12.0.0" + "@polkadot/util-crypto" "^12.0.0" cbor-web "^9.0.0" tweetnacl "^1.0.3" - uuid "^10.0.0" - varint "^6.0.0" + uuid "^9.0.0" "@noble/curves@1.4.2", "@noble/curves@~1.4.0": version "1.4.2" @@ -267,18 +246,23 @@ dependencies: "@noble/hashes" "1.4.0" -"@noble/curves@^1.0.0", "@noble/curves@^1.3.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.5.0.tgz#7a9b9b507065d516e6dce275a1e31db8d2a100dd" - integrity sha512-J5EKamIHnKPyClwVrzmaf5wSdQXgdHcPZIZLu3bwnbeCx8/7NPK5q2ZBWF+5FvYGByjiQQsJYX6jfgB2wDPn3A== +"@noble/curves@^1.3.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.6.0.tgz#be5296ebcd5a1730fccea4786d420f87abfeb40b" + integrity sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ== dependencies: - "@noble/hashes" "1.4.0" + "@noble/hashes" "1.5.0" -"@noble/hashes@1.4.0", "@noble/hashes@^1.3.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.3.3", "@noble/hashes@~1.4.0": +"@noble/hashes@1.4.0", "@noble/hashes@~1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== +"@noble/hashes@1.5.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.3.3": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.5.0.tgz#abadc5ca20332db2b1b2aa3e496e9af1213570b0" + integrity sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -305,265 +289,265 @@ resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31" integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== -"@polkadot-api/json-rpc-provider-proxy@0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@polkadot-api/json-rpc-provider-proxy/-/json-rpc-provider-proxy-0.0.1.tgz#bb5c943642cdf0ec7bc48c0a2647558b9fcd7bdb" - integrity sha512-gmVDUP8LpCH0BXewbzqXF2sdHddq1H1q+XrAW2of+KZj4woQkIGBRGTJHeBEVHe30EB+UejR1N2dT4PO/RvDdg== +"@polkadot-api/client@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0": + version "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/client/-/client-0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0.tgz#5d6b863f63f5c6ecd4183fcf0c5c84dd349f7627" + integrity sha512-0fqK6pUKcGHSG2pBvY+gfSS+1mMdjd/qRygAcKI5d05tKsnZLRnmhb9laDguKmGEIB0Bz9vQqNK3gIN/cfvVwg== + dependencies: + "@polkadot-api/metadata-builders" "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + "@polkadot-api/substrate-bindings" "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + "@polkadot-api/substrate-client" "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + "@polkadot-api/utils" "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" -"@polkadot-api/json-rpc-provider@0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@polkadot-api/json-rpc-provider/-/json-rpc-provider-0.0.1.tgz#333645d40ccd9bccfd1f32503f17e4e63e76e297" - integrity sha512-/SMC/l7foRjpykLTUTacIH05H3mr9ip8b5xxfwXlVezXrNVLp3Cv0GX6uItkKd+ZjzVPf3PFrDF2B2/HLSNESA== +"@polkadot-api/json-rpc-provider-proxy@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0": + version "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/json-rpc-provider-proxy/-/json-rpc-provider-proxy-0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0.tgz#cc28fb801db6a47824261a709ab924ec6951eb96" + integrity sha512-0hZ8vtjcsyCX8AyqP2sqUHa1TFFfxGWmlXJkit0Nqp9b32MwZqn5eaUAiV2rNuEpoglKOdKnkGtUF8t5MoodKw== -"@polkadot-api/metadata-builders@0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@polkadot-api/metadata-builders/-/metadata-builders-0.0.1.tgz#a76b48febef9ea72be8273d889e2677101045a05" - integrity sha512-GCI78BHDzXAF/L2pZD6Aod/yl82adqQ7ftNmKg51ixRL02JpWUA+SpUKTJE5MY1p8kiJJIo09P2um24SiJHxNA== - dependencies: - "@polkadot-api/substrate-bindings" "0.0.1" - "@polkadot-api/utils" "0.0.1" +"@polkadot-api/json-rpc-provider@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0": + version "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/json-rpc-provider/-/json-rpc-provider-0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0.tgz#2f71bfb192d28dd4c400ef8b1c5f934c676950f3" + integrity sha512-EaUS9Fc3wsiUr6ZS43PQqaRScW7kM6DYbuM/ou0aYjm8N9MBqgDbGm2oL6RE1vAVmOfEuHcXZuZkhzWtyvQUtA== -"@polkadot-api/observable-client@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@polkadot-api/observable-client/-/observable-client-0.1.0.tgz#472045ea06a2bc4bccdc2db5c063eadcbf6f5351" - integrity sha512-GBCGDRztKorTLna/unjl/9SWZcRmvV58o9jwU2Y038VuPXZcr01jcw/1O3x+yeAuwyGzbucI/mLTDa1QoEml3A== +"@polkadot-api/metadata-builders@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0": + version "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/metadata-builders/-/metadata-builders-0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0.tgz#085db2a3c7b100626b2fae3be35a32a24ea7714f" + integrity sha512-BD7rruxChL1VXt0icC2gD45OtT9ofJlql0qIllHSRYgama1CR2Owt+ApInQxB+lWqM+xNOznZRpj8CXNDvKIMg== dependencies: - "@polkadot-api/metadata-builders" "0.0.1" - "@polkadot-api/substrate-bindings" "0.0.1" - "@polkadot-api/substrate-client" "0.0.1" - "@polkadot-api/utils" "0.0.1" + "@polkadot-api/substrate-bindings" "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + "@polkadot-api/utils" "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" -"@polkadot-api/substrate-bindings@0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@polkadot-api/substrate-bindings/-/substrate-bindings-0.0.1.tgz#c4b7f4d6c3672d2c15cbc6c02964f014b73cbb0b" - integrity sha512-bAe7a5bOPnuFVmpv7y4BBMRpNTnMmE0jtTqRUw/+D8ZlEHNVEJQGr4wu3QQCl7k1GnSV1wfv3mzIbYjErEBocg== +"@polkadot-api/substrate-bindings@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0": + version "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/substrate-bindings/-/substrate-bindings-0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0.tgz#f836a554a9ead6fb6356079c725cd53f87238932" + integrity sha512-N4vdrZopbsw8k57uG58ofO7nLXM4Ai7835XqakN27MkjXMp5H830A1KJE0L9sGQR7ukOCDEIHHcwXVrzmJ/PBg== dependencies: "@noble/hashes" "^1.3.1" - "@polkadot-api/utils" "0.0.1" + "@polkadot-api/utils" "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" "@scure/base" "^1.1.1" scale-ts "^1.6.0" -"@polkadot-api/substrate-client@0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@polkadot-api/substrate-client/-/substrate-client-0.0.1.tgz#0e8010a0abe2fb47d6fa7ab94e45e1d0de083314" - integrity sha512-9Bg9SGc3AwE+wXONQoW8GC00N3v6lCZLW74HQzqB6ROdcm5VAHM4CB/xRzWSUF9CXL78ugiwtHx3wBcpx4H4Wg== - -"@polkadot-api/utils@0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@polkadot-api/utils/-/utils-0.0.1.tgz#908b22becac705149d7cc946532143d0fb003bfc" - integrity sha512-3j+pRmlF9SgiYDabSdZsBSsN5XHbpXOAce1lWj56IEEaFZVjsiCaxDOA7C9nCcgfVXuvnbxqqEGQvnY+QfBAUw== - -"@polkadot/api-augment@12.3.1": - version "12.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-12.3.1.tgz#07c1b510310868e01f89e4d2f2313595d068b228" - integrity sha512-KfofZVEUeTgLzcexdxKBT2vihazDheUoTLxbsa2ztmmw4UB/IjOL911y04pjg2obZQAI9B+oCyxJXyCfzauWEg== - dependencies: - "@polkadot/api-base" "12.3.1" - "@polkadot/rpc-augment" "12.3.1" - "@polkadot/types" "12.3.1" - "@polkadot/types-augment" "12.3.1" - "@polkadot/types-codec" "12.3.1" - "@polkadot/util" "^13.0.2" +"@polkadot-api/substrate-client@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0": + version "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/substrate-client/-/substrate-client-0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0.tgz#55ae463f4143495e328465dd16b03e71663ef4c4" + integrity sha512-lcdvd2ssUmB1CPzF8s2dnNOqbrDa+nxaaGbuts+Vo8yjgSKwds2Lo7Oq+imZN4VKW7t9+uaVcKFLMF7PdH0RWw== + +"@polkadot-api/utils@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0": + version "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/utils/-/utils-0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0.tgz#759698dcf948745ea37cc5ab6abd49a00f1b0c31" + integrity sha512-0CYaCjfLQJTCRCiYvZ81OncHXEKPzAexCMoVloR+v2nl/O2JRya/361MtPkeNLC6XBoaEgLAG9pWQpH3WePzsw== + +"@polkadot/api-augment@10.13.1": + version "10.13.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-10.13.1.tgz#dd3670a2f1a581c38b857ad3b0805b6581099c63" + integrity sha512-IAKaCp19QxgOG4HKk9RAgUgC/VNVqymZ2GXfMNOZWImZhxRIbrK+raH5vN2MbWwtVHpjxyXvGsd1RRhnohI33A== + dependencies: + "@polkadot/api-base" "10.13.1" + "@polkadot/rpc-augment" "10.13.1" + "@polkadot/types" "10.13.1" + "@polkadot/types-augment" "10.13.1" + "@polkadot/types-codec" "10.13.1" + "@polkadot/util" "^12.6.2" tslib "^2.6.2" -"@polkadot/api-base@12.3.1": - version "12.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/api-base/-/api-base-12.3.1.tgz#084801da4e54820ec0e91c51a237bcd861665c1d" - integrity sha512-vNbxXNjn4APfXg+ui99gurX2Jzns+eezmWranxoGXT7q0mme1zAtWus5t4e+qe1qRjDNZZYPruF7YJA8dL5k8A== +"@polkadot/api-base@10.13.1": + version "10.13.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-base/-/api-base-10.13.1.tgz#efed5bb31e38244b6a68ce56138b97ad82101426" + integrity sha512-Okrw5hjtEjqSMOG08J6qqEwlUQujTVClvY1/eZkzKwNzPelWrtV6vqfyJklB7zVhenlxfxqhZKKcY7zWSW/q5Q== dependencies: - "@polkadot/rpc-core" "12.3.1" - "@polkadot/types" "12.3.1" - "@polkadot/util" "^13.0.2" + "@polkadot/rpc-core" "10.13.1" + "@polkadot/types" "10.13.1" + "@polkadot/util" "^12.6.2" rxjs "^7.8.1" tslib "^2.6.2" -"@polkadot/api-derive@12.3.1": - version "12.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-12.3.1.tgz#2da05346fed18ff29ed2a581a3270591de11662c" - integrity sha512-2MbK1h4GcKEdSgDKKYI28iZESw0VOm0kekV6YGQflZNWe84jJOn2rohP8pACseUjQjwWDgbPPBvTlRZTk7zdAw== - dependencies: - "@polkadot/api" "12.3.1" - "@polkadot/api-augment" "12.3.1" - "@polkadot/api-base" "12.3.1" - "@polkadot/rpc-core" "12.3.1" - "@polkadot/types" "12.3.1" - "@polkadot/types-codec" "12.3.1" - "@polkadot/util" "^13.0.2" - "@polkadot/util-crypto" "^13.0.2" +"@polkadot/api-derive@10.13.1": + version "10.13.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-10.13.1.tgz#d8827ee83124f3b3f664c415cdde9c6b909e5145" + integrity sha512-ef0H0GeCZ4q5Om+c61eLLLL29UxFC2/u/k8V1K2JOIU+2wD5LF7sjAoV09CBMKKHfkLenRckVk2ukm4rBqFRpg== + dependencies: + "@polkadot/api" "10.13.1" + "@polkadot/api-augment" "10.13.1" + "@polkadot/api-base" "10.13.1" + "@polkadot/rpc-core" "10.13.1" + "@polkadot/types" "10.13.1" + "@polkadot/types-codec" "10.13.1" + "@polkadot/util" "^12.6.2" + "@polkadot/util-crypto" "^12.6.2" rxjs "^7.8.1" tslib "^2.6.2" -"@polkadot/api@12.3.1", "@polkadot/api@^12.0.0": - version "12.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-12.3.1.tgz#bce62c902293295460832d15ee8fa2119a36ae42" - integrity sha512-VCrtadJRJttya5NhZ8slkD/UQyOZv4qABjagQMaG1eTZpn5k1wskmDUGdHrZZpYO5jBPewnCgaN8+LPKO2qiOw== - dependencies: - "@polkadot/api-augment" "12.3.1" - "@polkadot/api-base" "12.3.1" - "@polkadot/api-derive" "12.3.1" - "@polkadot/keyring" "^13.0.2" - "@polkadot/rpc-augment" "12.3.1" - "@polkadot/rpc-core" "12.3.1" - "@polkadot/rpc-provider" "12.3.1" - "@polkadot/types" "12.3.1" - "@polkadot/types-augment" "12.3.1" - "@polkadot/types-codec" "12.3.1" - "@polkadot/types-create" "12.3.1" - "@polkadot/types-known" "12.3.1" - "@polkadot/util" "^13.0.2" - "@polkadot/util-crypto" "^13.0.2" +"@polkadot/api@10.13.1", "@polkadot/api@^10.7.3": + version "10.13.1" + resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-10.13.1.tgz#47586c070d3fe13a0acc93a8aa9c3a53791284fb" + integrity sha512-YrKWR4TQR5CDyGkF0mloEUo7OsUA+bdtENpJGOtNavzOQUDEbxFE0PVzokzZfVfHhHX2CojPVmtzmmLxztyJkg== + dependencies: + "@polkadot/api-augment" "10.13.1" + "@polkadot/api-base" "10.13.1" + "@polkadot/api-derive" "10.13.1" + "@polkadot/keyring" "^12.6.2" + "@polkadot/rpc-augment" "10.13.1" + "@polkadot/rpc-core" "10.13.1" + "@polkadot/rpc-provider" "10.13.1" + "@polkadot/types" "10.13.1" + "@polkadot/types-augment" "10.13.1" + "@polkadot/types-codec" "10.13.1" + "@polkadot/types-create" "10.13.1" + "@polkadot/types-known" "10.13.1" + "@polkadot/util" "^12.6.2" + "@polkadot/util-crypto" "^12.6.2" eventemitter3 "^5.0.1" rxjs "^7.8.1" tslib "^2.6.2" -"@polkadot/keyring@^13.0.0", "@polkadot/keyring@^13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-13.0.2.tgz#05a655eb06c965ae5ee5f181d25916797ea50849" - integrity sha512-NeLbhyKDT5W8LI9seWTZGePxNTOVpDhv2018HSrEDwJq9Ie0C4TZhUf3KNERCkSveuThXjfQJMs+1CF33ZXPWw== +"@polkadot/keyring@^12.0.0", "@polkadot/keyring@^12.6.2": + version "12.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-12.6.2.tgz#6067e6294fee23728b008ac116e7e9db05cecb9b" + integrity sha512-O3Q7GVmRYm8q7HuB3S0+Yf/q/EB2egKRRU3fv9b3B7V+A52tKzA+vIwEmNVaD1g5FKW9oB97rmpggs0zaKFqHw== dependencies: - "@polkadot/util" "13.0.2" - "@polkadot/util-crypto" "13.0.2" + "@polkadot/util" "12.6.2" + "@polkadot/util-crypto" "12.6.2" tslib "^2.6.2" -"@polkadot/networks@13.0.2", "@polkadot/networks@^13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-13.0.2.tgz#0f8fc896b8fb2141212b6448739f4a00bc72b29c" - integrity sha512-ABAL+vug/gIwkdFEzeh87JoJd0YKrxSYg/HjUrZ+Zis2ucxQEKpvtCpJ34ku+YrjacBfVqIAkkwd3ZdIPGq9aQ== +"@polkadot/networks@12.6.2", "@polkadot/networks@^12.6.2": + version "12.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-12.6.2.tgz#791779fee1d86cc5b6cd371858eea9b7c3f8720d" + integrity sha512-1oWtZm1IvPWqvMrldVH6NI2gBoCndl5GEwx7lAuQWGr7eNL+6Bdc5K3Z9T0MzFvDGoi2/CBqjX9dRKo39pDC/w== dependencies: - "@polkadot/util" "13.0.2" - "@substrate/ss58-registry" "^1.46.0" + "@polkadot/util" "12.6.2" + "@substrate/ss58-registry" "^1.44.0" tslib "^2.6.2" -"@polkadot/rpc-augment@12.3.1": - version "12.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-augment/-/rpc-augment-12.3.1.tgz#9a896c4578753055ab25326243e716344a895a8a" - integrity sha512-/tZLl5IuQ4vdGlUAbd8x3ShZ35XDSeyknKHCC+9kIrM/+KIyoCYBob2RXP9uqX8m516AWkXUrjsSO6DFPBpRGg== +"@polkadot/rpc-augment@10.13.1": + version "10.13.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-augment/-/rpc-augment-10.13.1.tgz#83317b46c5ab86104cca2bdc336199db0c25b798" + integrity sha512-iLsWUW4Jcx3DOdVrSHtN0biwxlHuTs4QN2hjJV0gd0jo7W08SXhWabZIf9mDmvUJIbR7Vk+9amzvegjRyIf5+A== dependencies: - "@polkadot/rpc-core" "12.3.1" - "@polkadot/types" "12.3.1" - "@polkadot/types-codec" "12.3.1" - "@polkadot/util" "^13.0.2" + "@polkadot/rpc-core" "10.13.1" + "@polkadot/types" "10.13.1" + "@polkadot/types-codec" "10.13.1" + "@polkadot/util" "^12.6.2" tslib "^2.6.2" -"@polkadot/rpc-core@12.3.1": - version "12.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-12.3.1.tgz#6107c507c30839313e0325c82bffae9f1b08dbab" - integrity sha512-bNo26P20nRpLfANTK4sWEakxvqBJpKwAp/Gt7KlxoGgoTUbWFapyGKScFxp/pblycEziEbC+ZjkLMkaWaqi69g== +"@polkadot/rpc-core@10.13.1": + version "10.13.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-10.13.1.tgz#a7ea9db8997b68aa6724f28ba76125a73e925575" + integrity sha512-eoejSHa+/tzHm0vwic62/aptTGbph8vaBpbvLIK7gd00+rT813ROz5ckB1CqQBFB23nHRLuzzX/toY8ID3xrKw== dependencies: - "@polkadot/rpc-augment" "12.3.1" - "@polkadot/rpc-provider" "12.3.1" - "@polkadot/types" "12.3.1" - "@polkadot/util" "^13.0.2" + "@polkadot/rpc-augment" "10.13.1" + "@polkadot/rpc-provider" "10.13.1" + "@polkadot/types" "10.13.1" + "@polkadot/util" "^12.6.2" rxjs "^7.8.1" tslib "^2.6.2" -"@polkadot/rpc-provider@12.3.1": - version "12.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-12.3.1.tgz#90bfbb8518bd63d94141bf4d2643c89b89e61413" - integrity sha512-Tg1Oj/1ldivqwnnOWepcNHEHYgpOBffxlrZMEXH1XX6D3AZaUhAWbatizyisydpuMbknTQ9FGYSnb9rOc2QBJw== - dependencies: - "@polkadot/keyring" "^13.0.2" - "@polkadot/types" "12.3.1" - "@polkadot/types-support" "12.3.1" - "@polkadot/util" "^13.0.2" - "@polkadot/util-crypto" "^13.0.2" - "@polkadot/x-fetch" "^13.0.2" - "@polkadot/x-global" "^13.0.2" - "@polkadot/x-ws" "^13.0.2" +"@polkadot/rpc-provider@10.13.1": + version "10.13.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-10.13.1.tgz#7e17f7be7d9a104b797d8f5aa8f1ed69f800f841" + integrity sha512-oJ7tatVXYJ0L7NpNiGd69D558HG5y5ZDmH2Bp9Dd4kFTQIiV8A39SlWwWUPCjSsen9lqSvvprNLnG/VHTpenbw== + dependencies: + "@polkadot/keyring" "^12.6.2" + "@polkadot/types" "10.13.1" + "@polkadot/types-support" "10.13.1" + "@polkadot/util" "^12.6.2" + "@polkadot/util-crypto" "^12.6.2" + "@polkadot/x-fetch" "^12.6.2" + "@polkadot/x-global" "^12.6.2" + "@polkadot/x-ws" "^12.6.2" eventemitter3 "^5.0.1" mock-socket "^9.3.1" nock "^13.5.0" tslib "^2.6.2" optionalDependencies: - "@substrate/connect" "0.8.10" + "@substrate/connect" "0.8.8" -"@polkadot/types-augment@12.3.1": - version "12.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/types-augment/-/types-augment-12.3.1.tgz#c7853049829d39d35b94fb01a84c1ea0d61ca9e0" - integrity sha512-I3ggJt7W3UOScP6WA6PNmNsmpCfZtXkRJvSJkX7bi2LsSm/iF0xo0KdpQK02dHu7nGRFD9O5cSoVawzZJifGLA== +"@polkadot/types-augment@10.13.1": + version "10.13.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-augment/-/types-augment-10.13.1.tgz#8f39a46a1a3e100be03cbae06f43a043cb25c337" + integrity sha512-TcrLhf95FNFin61qmVgOgayzQB/RqVsSg9thAso1Fh6pX4HSbvI35aGPBAn3SkA6R+9/TmtECirpSNLtIGFn0g== dependencies: - "@polkadot/types" "12.3.1" - "@polkadot/types-codec" "12.3.1" - "@polkadot/util" "^13.0.2" + "@polkadot/types" "10.13.1" + "@polkadot/types-codec" "10.13.1" + "@polkadot/util" "^12.6.2" tslib "^2.6.2" -"@polkadot/types-codec@12.3.1": - version "12.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/types-codec/-/types-codec-12.3.1.tgz#4eb113a5a2c9e7784f1393db4d6cfe39b24da014" - integrity sha512-yZ4exsQI+eVkE/fZNuJBOajAgOH/YncKWOOf0N4lc6iq28oYp22DCAXc50Ym372l4HO+uhC9QdMPH9EiWwT2pQ== +"@polkadot/types-codec@10.13.1", "@polkadot/types-codec@^10.7.3": + version "10.13.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-codec/-/types-codec-10.13.1.tgz#f70cd617160b467685ef3ce5195a04142255ba7b" + integrity sha512-AiQ2Vv2lbZVxEdRCN8XSERiWlOWa2cTDLnpAId78EnCtx4HLKYQSd+Jk9Y4BgO35R79mchK4iG+w6gZ+ukG2bg== dependencies: - "@polkadot/util" "^13.0.2" - "@polkadot/x-bigint" "^13.0.2" + "@polkadot/util" "^12.6.2" + "@polkadot/x-bigint" "^12.6.2" tslib "^2.6.2" -"@polkadot/types-create@12.3.1": - version "12.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/types-create/-/types-create-12.3.1.tgz#867ff2971f0d1c7b68788eb3b9f7c060fcbc648f" - integrity sha512-Jf9BByWB64FPW3lM5/Mcc/foyPJ3L9t0QwHVHaYWaonZt6l7SPX71rQmD7twJiTj9q1d1WidDKg/TtRDNbm1yA== +"@polkadot/types-create@10.13.1": + version "10.13.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-create/-/types-create-10.13.1.tgz#99470816d0d2ca32a6a5ce6d701b4199e8700f66" + integrity sha512-Usn1jqrz35SXgCDAqSXy7mnD6j4RvB4wyzTAZipFA6DGmhwyxxIgOzlWQWDb+1PtPKo9vtMzen5IJ+7w5chIeA== dependencies: - "@polkadot/types-codec" "12.3.1" - "@polkadot/util" "^13.0.2" + "@polkadot/types-codec" "10.13.1" + "@polkadot/util" "^12.6.2" tslib "^2.6.2" -"@polkadot/types-known@12.3.1": - version "12.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-12.3.1.tgz#11aade98492e37c2e6d095c78fcd229a212ee933" - integrity sha512-G8t0uiIW1iu3KwylHDPnqdHxg5qwBxzPZQJvsjnGx2qBUk2VqXditKWcNFLEwCTnJPL95t2AzEO711lS99WRbg== +"@polkadot/types-known@10.13.1": + version "10.13.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-10.13.1.tgz#8cca2d3f2c4ef67849f66ba4a35856063ec61f5f" + integrity sha512-uHjDW05EavOT5JeU8RbiFWTgPilZ+odsCcuEYIJGmK+es3lk/Qsdns9Zb7U7NJl7eJ6OWmRtyrWsLs+bU+jjIQ== dependencies: - "@polkadot/networks" "^13.0.2" - "@polkadot/types" "12.3.1" - "@polkadot/types-codec" "12.3.1" - "@polkadot/types-create" "12.3.1" - "@polkadot/util" "^13.0.2" + "@polkadot/networks" "^12.6.2" + "@polkadot/types" "10.13.1" + "@polkadot/types-codec" "10.13.1" + "@polkadot/types-create" "10.13.1" + "@polkadot/util" "^12.6.2" tslib "^2.6.2" -"@polkadot/types-support@12.3.1": - version "12.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/types-support/-/types-support-12.3.1.tgz#7111f3a7a55a5f4f50b11450c62b7fe5340e4a21" - integrity sha512-TwL5M5HkZ4jQGKekD+qJFLba7UXWASfwlPy2OpKj0LOnnmq4tudXgN13UFdQ7HoOmisPhr+vYo9vteYeBZ0jTA== +"@polkadot/types-support@10.13.1": + version "10.13.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-support/-/types-support-10.13.1.tgz#d4b58c8d9bcbb8e897a255d9a66c217dcaa6ead4" + integrity sha512-4gEPfz36XRQIY7inKq0HXNVVhR6HvXtm7yrEmuBuhM86LE0lQQBkISUSgR358bdn2OFSLMxMoRNoh3kcDvdGDQ== dependencies: - "@polkadot/util" "^13.0.2" + "@polkadot/util" "^12.6.2" tslib "^2.6.2" -"@polkadot/types@12.3.1", "@polkadot/types@^12.0.0", "@polkadot/types@^12.3.1": - version "12.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-12.3.1.tgz#46a44aaa672d9c3c8598bbf8b8668e575c55f76a" - integrity sha512-4MkTF1znpgp9mZc/ZZPdFe7/5it9v+EJmzXc/DEOX9kVWs2BuKOWopzOFyO3reVUUB+v7dxfSOArSsxkMUcuoA== - dependencies: - "@polkadot/keyring" "^13.0.2" - "@polkadot/types-augment" "12.3.1" - "@polkadot/types-codec" "12.3.1" - "@polkadot/types-create" "12.3.1" - "@polkadot/util" "^13.0.2" - "@polkadot/util-crypto" "^13.0.2" +"@polkadot/types@10.13.1", "@polkadot/types@^10.4.0", "@polkadot/types@^10.7.3": + version "10.13.1" + resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-10.13.1.tgz#979d652dc11af9cb8b32e7a55839e9762532755d" + integrity sha512-Hfvg1ZgJlYyzGSAVrDIpp3vullgxrjOlh/CSThd/PI4TTN1qHoPSFm2hs77k3mKkOzg+LrWsLE0P/LP2XddYcw== + dependencies: + "@polkadot/keyring" "^12.6.2" + "@polkadot/types-augment" "10.13.1" + "@polkadot/types-codec" "10.13.1" + "@polkadot/types-create" "10.13.1" + "@polkadot/util" "^12.6.2" + "@polkadot/util-crypto" "^12.6.2" rxjs "^7.8.1" tslib "^2.6.2" -"@polkadot/util-crypto@13.0.2", "@polkadot/util-crypto@^13.0.0", "@polkadot/util-crypto@^13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-13.0.2.tgz#fee602bcb39e9424300410f4144f170ee2a29292" - integrity sha512-woUsJJ6zd/caL7U+D30a5oM/+WK9iNI00Y8aNUHSj6Zq/KPzK9uqDBaLGWwlgrejoMQkxxiU2X0f2LzP15AtQg== +"@polkadot/util-crypto@12.6.2", "@polkadot/util-crypto@^12.0.0", "@polkadot/util-crypto@^12.6.2": + version "12.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-12.6.2.tgz#d2d51010e8e8ca88951b7d864add797dad18bbfc" + integrity sha512-FEWI/dJ7wDMNN1WOzZAjQoIcCP/3vz3wvAp5QQm+lOrzOLj0iDmaIGIcBkz8HVm3ErfSe/uKP0KS4jgV/ib+Mg== dependencies: "@noble/curves" "^1.3.0" "@noble/hashes" "^1.3.3" - "@polkadot/networks" "13.0.2" - "@polkadot/util" "13.0.2" + "@polkadot/networks" "12.6.2" + "@polkadot/util" "12.6.2" "@polkadot/wasm-crypto" "^7.3.2" "@polkadot/wasm-util" "^7.3.2" - "@polkadot/x-bigint" "13.0.2" - "@polkadot/x-randomvalues" "13.0.2" + "@polkadot/x-bigint" "12.6.2" + "@polkadot/x-randomvalues" "12.6.2" "@scure/base" "^1.1.5" tslib "^2.6.2" -"@polkadot/util@13.0.2", "@polkadot/util@^13.0.0", "@polkadot/util@^13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-13.0.2.tgz#f0a2572d74730fda8dfd690b60d53c131a688f3b" - integrity sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg== +"@polkadot/util@12.6.2", "@polkadot/util@^12.0.0", "@polkadot/util@^12.6.2": + version "12.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-12.6.2.tgz#9396eff491221e1f0fd28feac55fc16ecd61a8dc" + integrity sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw== dependencies: - "@polkadot/x-bigint" "13.0.2" - "@polkadot/x-global" "13.0.2" - "@polkadot/x-textdecoder" "13.0.2" - "@polkadot/x-textencoder" "13.0.2" + "@polkadot/x-bigint" "12.6.2" + "@polkadot/x-global" "12.6.2" + "@polkadot/x-textdecoder" "12.6.2" + "@polkadot/x-textencoder" "12.6.2" "@types/bn.js" "^5.1.5" bn.js "^5.2.1" tslib "^2.6.2" @@ -621,67 +605,72 @@ dependencies: tslib "^2.6.2" -"@polkadot/x-bigint@13.0.2", "@polkadot/x-bigint@^13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz#25adca9ce0c5ed691f9bced283f44f7e7d824300" - integrity sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ== +"@polkadot/x-bigint@12.6.2", "@polkadot/x-bigint@^12.6.2": + version "12.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz#59b7a615f205ae65e1ac67194aefde94d3344580" + integrity sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q== dependencies: - "@polkadot/x-global" "13.0.2" + "@polkadot/x-global" "12.6.2" tslib "^2.6.2" -"@polkadot/x-fetch@^13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-13.0.2.tgz#841d901fae36cbc4157297324ca0d73fbe4d200e" - integrity sha512-B/gf9iriUr6za/Ui7zIFBfHz7UBZ68rJEIteWHx1UHRCZPcLqv+hgpev6xIGrkfFljI0/lI7IwtN2qy6HYzFBg== +"@polkadot/x-fetch@^12.6.2": + version "12.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-12.6.2.tgz#b1bca028db90263bafbad2636c18d838d842d439" + integrity sha512-8wM/Z9JJPWN1pzSpU7XxTI1ldj/AfC8hKioBlUahZ8gUiJaOF7K9XEFCrCDLis/A1BoOu7Ne6WMx/vsJJIbDWw== dependencies: - "@polkadot/x-global" "13.0.2" + "@polkadot/x-global" "12.6.2" node-fetch "^3.3.2" tslib "^2.6.2" -"@polkadot/x-global@13.0.2", "@polkadot/x-global@^13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-13.0.2.tgz#77afc4fbd4cfac8ba78cf120836f30ecc7322a74" - integrity sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g== +"@polkadot/x-global@12.6.2", "@polkadot/x-global@^12.6.2": + version "12.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-12.6.2.tgz#31d4de1c3d4c44e4be3219555a6d91091decc4ec" + integrity sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g== dependencies: tslib "^2.6.2" -"@polkadot/x-randomvalues@13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-13.0.2.tgz#78ae28b345895cc816ffcad0b336c31cadfcf928" - integrity sha512-SGj+L0H/7TWZtSmtkWlixO4DFzXDdluI0UscN2h285os2Ns8PnmBbue+iJ8PVSzpY1BOxd66gvkkpboPz+jXFQ== +"@polkadot/x-randomvalues@12.6.2": + version "12.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-12.6.2.tgz#13fe3619368b8bf5cb73781554859b5ff9d900a2" + integrity sha512-Vr8uG7rH2IcNJwtyf5ebdODMcr0XjoCpUbI91Zv6AlKVYOGKZlKLYJHIwpTaKKB+7KPWyQrk4Mlym/rS7v9feg== dependencies: - "@polkadot/x-global" "13.0.2" + "@polkadot/x-global" "12.6.2" tslib "^2.6.2" -"@polkadot/x-textdecoder@13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz#662a6855af8e7a5af17f86890e59ab44f829243a" - integrity sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA== +"@polkadot/x-textdecoder@12.6.2": + version "12.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz#b86da0f8e8178f1ca31a7158257e92aea90b10e4" + integrity sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w== dependencies: - "@polkadot/x-global" "13.0.2" + "@polkadot/x-global" "12.6.2" tslib "^2.6.2" -"@polkadot/x-textencoder@13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz#5e178e0f759df50592e6870346c8db2a445af957" - integrity sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw== +"@polkadot/x-textencoder@12.6.2": + version "12.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz#81d23bd904a2c36137a395c865c5fefa21abfb44" + integrity sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw== dependencies: - "@polkadot/x-global" "13.0.2" + "@polkadot/x-global" "12.6.2" tslib "^2.6.2" -"@polkadot/x-ws@^13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-13.0.2.tgz#d0392a87adcba851a44fc6f7f56792e529228f3e" - integrity sha512-nC5e2eY5D5ZR5teQOB7ib+dWLbmNws86cTz3BjKCalSMBBIn6i3V9ElgABpierBmnSJe9D94EyrH1BxdVfDxUg== +"@polkadot/x-ws@^12.6.2": + version "12.6.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-12.6.2.tgz#b99094d8e53a03be1de903d13ba59adaaabc767a" + integrity sha512-cGZWo7K5eRRQCRl2LrcyCYsrc3lRbTlixZh3AzgU8uX4wASVGRlNWi/Hf4TtHNe1ExCDmxabJzdIsABIfrr7xw== dependencies: - "@polkadot/x-global" "13.0.2" + "@polkadot/x-global" "12.6.2" tslib "^2.6.2" - ws "^8.16.0" + ws "^8.15.1" + +"@rtsao/scc@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" + integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== -"@scure/base@^1.1.0", "@scure/base@^1.1.1", "@scure/base@^1.1.5", "@scure/base@~1.1.6": - version "1.1.7" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.7.tgz#fe973311a5c6267846aa131bc72e96c5d40d2b30" - integrity sha512-PPNYBslrLNNUQ/Yad37MHYsNQtK67EhWb6WtSvNLLPo7SdVZgkUjD6Dg+5On7zNwmskf8OX7I7Nx5oN+MIWE0g== +"@scure/base@^1.1.1", "@scure/base@^1.1.5", "@scure/base@~1.1.6": + version "1.1.8" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.8.tgz#8f23646c352f020c83bca750a82789e246d42b50" + integrity sha512-6CyAclxj3Nb0XT7GHK6K4zK6k2xJm6E4Ft0Ohjt4WgegiFUHEtFb2CGzmPmGBwoIhrLsqNLYfLr04Y1GePrzZg== "@scure/bip32@1.4.0": version "1.4.0" @@ -701,42 +690,42 @@ "@scure/base" "~1.1.6" "@substrate/connect-extension-protocol@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@substrate/connect-extension-protocol/-/connect-extension-protocol-2.0.0.tgz#badaa6e6b5f7c7d56987d778f4944ddb83cd9ea7" - integrity sha512-nKu8pDrE3LNCEgJjZe1iGXzaD6OSIDD4Xzz/yo4KO9mQ6LBvf49BVrt4qxBFGL6++NneLiWUZGoh+VSd4PyVIg== + version "2.1.0" + resolved "https://registry.yarnpkg.com/@substrate/connect-extension-protocol/-/connect-extension-protocol-2.1.0.tgz#7df153f704702b98559e7e5e8a2ce17881fe1d1d" + integrity sha512-Wz5Cbn6S6P4vWfHyrsnPW7g15IAViMaXCk+jYkq4nNEMmzPtTKIEbtxrdDMBKrouOFtYKKp0znx5mh9KTCNqlA== -"@substrate/connect-known-chains@^1.1.4": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@substrate/connect-known-chains/-/connect-known-chains-1.2.2.tgz#fd0b290d9270d7bfc1e60cd9b6f1d39ecd9e11eb" - integrity sha512-gOGrXSWA2d/3kf8Yco00VlHZl48smzAGW5Z9MDxMht98hRpT2yEEN4N5QdoEKMI4ihDW8goXGzmp79D0hFPpuA== +"@substrate/connect-known-chains@^1.1.1": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@substrate/connect-known-chains/-/connect-known-chains-1.4.0.tgz#ee0562056cf98a3ee1103a64fa33ff21d86c69fd" + integrity sha512-p/mxn1GobtxJ+7xbIkUH4+/njH1neRHHKTcSGHNOC78Cf6Ch1Xzp082+nMjOBDLQLmraK5PF74AKV3WXHGuALw== -"@substrate/connect@0.8.10": - version "0.8.10" - resolved "https://registry.yarnpkg.com/@substrate/connect/-/connect-0.8.10.tgz#810b6589f848828aa840c731a1f36b84fe0e5956" - integrity sha512-DIyQ13DDlXqVFnLV+S6/JDgiGowVRRrh18kahieJxhgvzcWicw5eLc6jpfQ0moVVLBYkO7rctB5Wreldwpva8w== +"@substrate/connect@0.8.8": + version "0.8.8" + resolved "https://registry.yarnpkg.com/@substrate/connect/-/connect-0.8.8.tgz#80879f2241e2bd4f24a9aa25d7997fd91a5e68e3" + integrity sha512-zwaxuNEVI9bGt0rT8PEJiXOyebLIo6QN1SyiAHRPBOl6g3Sy0KKdSN8Jmyn++oXhVRD8aIe75/V8ZkS81T+BPQ== dependencies: "@substrate/connect-extension-protocol" "^2.0.0" - "@substrate/connect-known-chains" "^1.1.4" - "@substrate/light-client-extension-helpers" "^0.0.6" + "@substrate/connect-known-chains" "^1.1.1" + "@substrate/light-client-extension-helpers" "^0.0.4" smoldot "2.0.22" -"@substrate/light-client-extension-helpers@^0.0.6": - version "0.0.6" - resolved "https://registry.yarnpkg.com/@substrate/light-client-extension-helpers/-/light-client-extension-helpers-0.0.6.tgz#bec1c7997241226db50b44ad85a992b4348d21c3" - integrity sha512-girltEuxQ1BvkJWmc8JJlk4ZxnlGXc/wkLcNguhY+UoDEMBK0LsdtfzQKIfrIehi4QdeSBlFEFBoI4RqPmsZzA== +"@substrate/light-client-extension-helpers@^0.0.4": + version "0.0.4" + resolved "https://registry.yarnpkg.com/@substrate/light-client-extension-helpers/-/light-client-extension-helpers-0.0.4.tgz#a5958d5c1aac7df69f55bd90991aa935500f8124" + integrity sha512-vfKcigzL0SpiK+u9sX6dq2lQSDtuFLOxIJx2CKPouPEHIs8C+fpsufn52r19GQn+qDhU8POMPHOVoqLktj8UEA== dependencies: - "@polkadot-api/json-rpc-provider" "0.0.1" - "@polkadot-api/json-rpc-provider-proxy" "0.0.1" - "@polkadot-api/observable-client" "0.1.0" - "@polkadot-api/substrate-client" "0.0.1" + "@polkadot-api/client" "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + "@polkadot-api/json-rpc-provider" "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + "@polkadot-api/json-rpc-provider-proxy" "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + "@polkadot-api/substrate-client" "0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" "@substrate/connect-extension-protocol" "^2.0.0" - "@substrate/connect-known-chains" "^1.1.4" + "@substrate/connect-known-chains" "^1.1.1" rxjs "^7.8.1" -"@substrate/ss58-registry@^1.46.0": - version "1.49.0" - resolved "https://registry.yarnpkg.com/@substrate/ss58-registry/-/ss58-registry-1.49.0.tgz#ed9507316d13f49b2bccb65f08ec97180f71fc39" - integrity sha512-leW6Ix4LD7XgvxT7+aobPWSw+WvPcN2Rxof1rmd0mNC5t2n99k1N7UNEvz7YEFSOUeHWmKIY7F5q8KeIqYoHfA== +"@substrate/ss58-registry@^1.44.0": + version "1.50.0" + resolved "https://registry.yarnpkg.com/@substrate/ss58-registry/-/ss58-registry-1.50.0.tgz#2d2a3d060cd4eadd200e4538078461ba73e13d6d" + integrity sha512-mkmlMlcC+MSd9rA+PN8ljGAm5fVZskvVwkXIsbx4NFwaT8kt38r7e9cyDWscG3z2Zn40POviZvEMrJSk+r2SgQ== "@tsconfig/node10@^1.0.7": version "1.0.11" @@ -765,12 +754,17 @@ dependencies: "@types/node" "*" +"@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@types/node-fetch@^2.6.11": +"@types/node-fetch@^2.6.6": version "2.6.11" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.11.tgz#9b39b78665dae0e82a08f02f4967d62c66f95d24" integrity sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g== @@ -779,19 +773,24 @@ form-data "^4.0.0" "@types/node@*": - version "22.3.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.3.0.tgz#7f8da0e2b72c27c4f9bd3cb5ef805209d04d4f9e" - integrity sha512-nrWpWVaDZuaVc5X84xJ0vNrLvomM205oQyLsRt7OHNZbSHslcWsvgFR7O7hire2ZonjLrWBbedmotmIlJDVd6g== + version "22.5.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.4.tgz#83f7d1f65bc2ed223bdbf57c7884f1d5a4fa84e8" + integrity sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg== dependencies: - undici-types "~6.18.2" + undici-types "~6.19.2" -"@types/node@^22.5.0": - version "22.5.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.0.tgz#10f01fe9465166b4cab72e75f60d8b99d019f958" - integrity sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg== +"@types/node@^20.8.6": + version "20.16.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.16.5.tgz#d43c7f973b32ffdf9aa7bd4f80e1072310fd7a53" + integrity sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA== dependencies: undici-types "~6.19.2" +"@types/semver@^7.3.12": + version "7.5.8" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" + integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== + "@types/ws@8.5.3": version "8.5.3" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" @@ -799,86 +798,130 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^8.3.0": - version "8.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.3.0.tgz#726627fad16d41d20539637efee8c2329fe6be32" - integrity sha512-FLAIn63G5KH+adZosDYiutqkOkYEx0nvcwNNfJAf+c7Ae/H35qWwTYvPZUKFj5AS+WfHG/WJJfWnDnyNUlp8UA== +"@typescript-eslint/eslint-plugin@^5.36.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" + integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== dependencies: - "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.3.0" - "@typescript-eslint/type-utils" "8.3.0" - "@typescript-eslint/utils" "8.3.0" - "@typescript-eslint/visitor-keys" "8.3.0" + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/type-utils" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" graphemer "^1.4.0" - ignore "^5.3.1" - natural-compare "^1.4.0" - ts-api-utils "^1.3.0" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^6.8.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.21.0.tgz#af8fcf66feee2edc86bc5d1cf45e33b0630bf35b" + integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== + dependencies: + "@typescript-eslint/scope-manager" "6.21.0" + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/typescript-estree" "6.21.0" + "@typescript-eslint/visitor-keys" "6.21.0" + debug "^4.3.4" -"@typescript-eslint/parser@^8.3.0": - version "8.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.3.0.tgz#3c72c32bc909cb91ce3569e7d11d729ad84deafa" - integrity sha512-h53RhVyLu6AtpUzVCYLPhZGL5jzTD9fZL+SYf/+hYOx2bDkyQXztXSc4tbvKYHzfMXExMLiL9CWqJmVz6+78IQ== +"@typescript-eslint/scope-manager@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" + integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== dependencies: - "@typescript-eslint/scope-manager" "8.3.0" - "@typescript-eslint/types" "8.3.0" - "@typescript-eslint/typescript-estree" "8.3.0" - "@typescript-eslint/visitor-keys" "8.3.0" - debug "^4.3.4" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" -"@typescript-eslint/scope-manager@8.3.0": - version "8.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.3.0.tgz#834301d2e70baf924c26818b911bdc40086f7468" - integrity sha512-mz2X8WcN2nVu5Hodku+IR8GgCOl4C0G/Z1ruaWN4dgec64kDBabuXyPAr+/RgJtumv8EEkqIzf3X2U5DUKB2eg== +"@typescript-eslint/scope-manager@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1" + integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== dependencies: - "@typescript-eslint/types" "8.3.0" - "@typescript-eslint/visitor-keys" "8.3.0" + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/visitor-keys" "6.21.0" -"@typescript-eslint/type-utils@8.3.0": - version "8.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.3.0.tgz#c1ae6af8c21a27254321016b052af67ddb44a9ac" - integrity sha512-wrV6qh//nLbfXZQoj32EXKmwHf4b7L+xXLrP3FZ0GOUU72gSvLjeWUl5J5Ue5IwRxIV1TfF73j/eaBapxx99Lg== +"@typescript-eslint/type-utils@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" + integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== dependencies: - "@typescript-eslint/typescript-estree" "8.3.0" - "@typescript-eslint/utils" "8.3.0" + "@typescript-eslint/typescript-estree" "5.62.0" + "@typescript-eslint/utils" "5.62.0" debug "^4.3.4" - ts-api-utils "^1.3.0" + tsutils "^3.21.0" -"@typescript-eslint/types@8.3.0": - version "8.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.3.0.tgz#378e62447c2d7028236e55a81d3391026600563b" - integrity sha512-y6sSEeK+facMaAyixM36dQ5NVXTnKWunfD1Ft4xraYqxP0lC0POJmIaL/mw72CUMqjY9qfyVfXafMeaUj0noWw== +"@typescript-eslint/types@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" + integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== -"@typescript-eslint/typescript-estree@8.3.0": - version "8.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.3.0.tgz#3e3d38af101ba61a8568f034733b72bfc9f176b9" - integrity sha512-Mq7FTHl0R36EmWlCJWojIC1qn/ZWo2YiWYc1XVtasJ7FIgjo0MVv9rZWXEE7IK2CGrtwe1dVOxWwqXUdNgfRCA== +"@typescript-eslint/types@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" + integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== + +"@typescript-eslint/typescript-estree@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" + integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== dependencies: - "@typescript-eslint/types" "8.3.0" - "@typescript-eslint/visitor-keys" "8.3.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" debug "^4.3.4" - fast-glob "^3.3.2" + globby "^11.1.0" is-glob "^4.0.3" - minimatch "^9.0.4" - semver "^7.6.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/utils@8.3.0": - version "8.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.3.0.tgz#b10972319deac5959c7a7075d0cf2b5e1de7ec08" - integrity sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.3.0" - "@typescript-eslint/types" "8.3.0" - "@typescript-eslint/typescript-estree" "8.3.0" - -"@typescript-eslint/visitor-keys@8.3.0": - version "8.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.3.0.tgz#320d747d107af1eef1eb43fbc4ccdbddda13068b" - integrity sha512-RmZwrTbQ9QveF15m/Cl28n0LXD6ea2CjkhH5rQ55ewz3H24w+AMCJHPVYaZ8/0HoG8Z3cLLFFycRXxeO2tz9FA== - dependencies: - "@typescript-eslint/types" "8.3.0" - eslint-visitor-keys "^3.4.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/typescript-estree@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46" + integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== + dependencies: + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/visitor-keys" "6.21.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "9.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/utils@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" + integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" + integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== + dependencies: + "@typescript-eslint/types" "5.62.0" + eslint-visitor-keys "^3.3.0" + +"@typescript-eslint/visitor-keys@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47" + integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== + dependencies: + "@typescript-eslint/types" "6.21.0" + eslint-visitor-keys "^3.4.1" + +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== abitype@0.7.1: version "0.7.1" @@ -897,7 +940,7 @@ acorn-walk@^8.1.1: dependencies: acorn "^8.11.0" -acorn@^8.11.0, acorn@^8.12.0, acorn@^8.4.1: +acorn@^8.11.0, acorn@^8.4.1, acorn@^8.9.0: version "8.12.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== @@ -949,7 +992,7 @@ array-buffer-byte-length@^1.0.1: call-bind "^1.0.5" is-array-buffer "^3.0.4" -array-includes@^3.1.7: +array-includes@^3.1.8: version "3.1.8" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== @@ -961,7 +1004,12 @@ array-includes@^3.1.7: get-intrinsic "^1.2.4" is-string "^1.0.7" -array.prototype.findlastindex@^1.2.3: +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array.prototype.findlastindex@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== @@ -1019,10 +1067,10 @@ available-typed-arrays@^1.0.7: dependencies: possible-typed-array-names "^1.0.0" -axios@^1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.5.tgz#21eed340eb5daf47d29b6e002424b3e88c8c54b1" - integrity sha512-fZu86yCo+svH3uqJ/yTdQ0QHpQu5oL+/QE+QPSv6BZSkDAoky9vytxp7u5qk83OJFS3kEBcesWni9WTZAv3tSw== +axios@^1.5.1: + version "1.7.7" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" + integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== dependencies: follow-redirects "^1.15.6" form-data "^4.0.0" @@ -1076,11 +1124,6 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -canonicalize@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/canonicalize/-/canonicalize-2.0.0.tgz#32be2cef4446d67fd5348027a384cae28f17226a" - integrity sha512-ulDEYPv7asdKvqahuAY35c1selLdzDwHqugK92hfkzvlDCwXRRelDkR+Er33md/PtnpqHemgkuDPanZ4fiYZ8w== - cbor-web@^9.0.0: version "9.0.2" resolved "https://registry.yarnpkg.com/cbor-web/-/cbor-web-9.0.2.tgz#1915f1ef1a72ea905db07480f71cf12ff601c661" @@ -1134,10 +1177,10 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" -commander@^12.1.0: - version "12.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" - integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== +commander@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" + integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== concat-map@0.0.1: version "0.0.1" @@ -1249,6 +1292,13 @@ diff@^4.0.1: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" @@ -1256,7 +1306,14 @@ doctrine@^2.1.0: dependencies: esutils "^2.0.2" -dotenv@^16.4.5: +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dotenv@^16.3.1: version "16.4.5" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== @@ -1374,7 +1431,7 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-config-prettier@^9.1.0: +eslint-config-prettier@^9.0.0: version "9.1.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== @@ -1396,10 +1453,10 @@ eslint-import-resolver-node@^0.3.9: is-core-module "^2.13.0" resolve "^1.22.4" -eslint-module-utils@^2.8.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz#52f2404300c3bd33deece9d7372fb337cc1d7c34" - integrity sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== +eslint-module-utils@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.9.0.tgz#95d4ac038a68cd3f63482659dffe0883900eb342" + integrity sha512-McVbYmwA3NEKwRQY5g4aWMdcZE5xZxV8i8l7CqJSrameuGSQJtSWaL/LxTEzSKKaCcOhlpDR8XEfYXWPrdo/ZQ== dependencies: debug "^3.2.7" @@ -1411,26 +1468,27 @@ eslint-plugin-es@^3.0.0: eslint-utils "^2.0.0" regexpp "^3.0.0" -eslint-plugin-import@^2.29.1: - version "2.29.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" - integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== +eslint-plugin-import@^2.28.1: + version "2.30.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.30.0.tgz#21ceea0fc462657195989dd780e50c92fe95f449" + integrity sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw== dependencies: - array-includes "^3.1.7" - array.prototype.findlastindex "^1.2.3" + "@rtsao/scc" "^1.1.0" + array-includes "^3.1.8" + array.prototype.findlastindex "^1.2.5" array.prototype.flat "^1.3.2" array.prototype.flatmap "^1.3.2" debug "^3.2.7" doctrine "^2.1.0" eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.8.0" - hasown "^2.0.0" - is-core-module "^2.13.1" + eslint-module-utils "^2.9.0" + hasown "^2.0.2" + is-core-module "^2.15.1" is-glob "^4.0.3" minimatch "^3.1.2" - object.fromentries "^2.0.7" - object.groupby "^1.0.1" - object.values "^1.1.7" + object.fromentries "^2.0.8" + object.groupby "^1.0.3" + object.values "^1.2.0" semver "^6.3.1" tsconfig-paths "^3.15.0" @@ -1446,7 +1504,7 @@ eslint-plugin-node@^11.1.0: resolve "^1.10.1" semver "^6.1.0" -eslint-plugin-prettier@^5.2.1: +eslint-plugin-prettier@^5.0.1: version "5.2.1" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz#d1c8f972d8f60e414c25465c163d16f209411f95" integrity sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw== @@ -1454,10 +1512,18 @@ eslint-plugin-prettier@^5.2.1: prettier-linter-helpers "^1.0.0" synckit "^0.9.1" -eslint-scope@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.2.tgz#5cbb33d4384c9136083a71190d548158fe128f94" - integrity sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA== +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" @@ -1474,47 +1540,46 @@ eslint-visitor-keys@^1.1.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.3: +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint-visitor-keys@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz#e3adc021aa038a2a8e0b2f8b0ce8f66b9483b1fb" - integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== - -eslint@^9.9.1: - version "9.9.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.9.1.tgz#147ac9305d56696fb84cf5bdecafd6517ddc77ec" - integrity sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg== +eslint@^8.51.0: + version "8.57.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" + integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.11.0" - "@eslint/config-array" "^0.18.0" - "@eslint/eslintrc" "^3.1.0" - "@eslint/js" "9.9.1" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.57.0" + "@humanwhocodes/config-array" "^0.11.14" "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.3.0" "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.3.2" + doctrine "^3.0.0" escape-string-regexp "^4.0.0" - eslint-scope "^8.0.2" - eslint-visitor-keys "^4.0.0" - espree "^10.1.0" - esquery "^1.5.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" esutils "^2.0.2" fast-deep-equal "^3.1.3" - file-entry-cache "^8.0.0" + file-entry-cache "^6.0.1" find-up "^5.0.0" glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" ignore "^5.2.0" imurmurhash "^0.1.4" is-glob "^4.0.0" is-path-inside "^3.0.3" + js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" @@ -1524,16 +1589,16 @@ eslint@^9.9.1: strip-ansi "^6.0.1" text-table "^0.2.0" -espree@^10.0.1, espree@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-10.1.0.tgz#8788dae611574c0f070691f522e4116c5a11fc56" - integrity sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA== +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== dependencies: - acorn "^8.12.0" + acorn "^8.9.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.0.0" + eslint-visitor-keys "^3.4.1" -esquery@^1.5.0: +esquery@^1.4.2: version "1.6.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== @@ -1547,6 +1612,11 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" @@ -1582,7 +1652,7 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-glob@^3.3.2: +fast-glob@^3.2.9: version "3.3.2" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== @@ -1618,12 +1688,12 @@ fetch-blob@^3.1.2, fetch-blob@^3.1.4: node-domexception "^1.0.0" web-streams-polyfill "^3.0.3" -file-entry-cache@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" - integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: - flat-cache "^4.0.0" + flat-cache "^3.0.4" fill-range@^7.1.1: version "7.1.1" @@ -1640,13 +1710,14 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" -flat-cache@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" - integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: flatted "^3.2.9" - keyv "^4.5.4" + keyv "^4.5.3" + rimraf "^3.0.2" flatted@^3.2.9: version "3.3.1" @@ -1654,9 +1725,9 @@ flatted@^3.2.9: integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== follow-redirects@^1.15.6: - version "1.15.6" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== + version "1.15.8" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.8.tgz#ae67b97ae32e0a7b36066a5448938374ec18d13d" + integrity sha512-xgrmBhBToVKay1q2Tao5LI26B83UhrB/vM1avwVSDzt8rx3rO6AizBAaF46EgksTVr+rFTQaqZZ9MVBfUe4nig== for-each@^0.3.3: version "0.3.3" @@ -1665,11 +1736,6 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" -foreach@^2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.6.tgz#87bcc8a1a0e74000ff2bf9802110708cfb02eb6e" - integrity sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg== - form-data@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" @@ -1686,6 +1752,11 @@ formdata-polyfill@^4.0.10: dependencies: fetch-blob "^3.1.2" +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + function-bind@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" @@ -1740,10 +1811,24 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" -globals@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" - integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== +glob@^7.1.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^13.19.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" globalthis@^1.0.3: version "1.0.4" @@ -1753,6 +1838,18 @@ globalthis@^1.0.3: define-properties "^1.2.1" gopd "^1.0.1" +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + gopd@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" @@ -1811,7 +1908,7 @@ hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: dependencies: function-bind "^1.1.2" -ignore@^5.1.1, ignore@^5.2.0, ignore@^5.3.1: +ignore@^5.1.1, ignore@^5.2.0: version "5.3.2" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== @@ -1829,7 +1926,15 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== -inherits@^2.0.3: +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -1879,10 +1984,10 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.13.0, is-core-module@^2.13.1: - version "2.15.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.0.tgz#71c72ec5442ace7e76b306e9d48db361f22699ea" - integrity sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA== +is-core-module@^2.13.0, is-core-module@^2.15.1: + version "2.15.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" + integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== dependencies: hasown "^2.0.2" @@ -2016,13 +2121,6 @@ json-buffer@3.0.1: resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== -json-pointer@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/json-pointer/-/json-pointer-0.6.2.tgz#f97bd7550be5e9ea901f8c9264c9d436a22a93cd" - integrity sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw== - dependencies: - foreach "^2.0.4" - json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -2045,7 +2143,7 @@ json5@^1.0.2: dependencies: minimist "^1.2.0" -keyv@^4.5.4: +keyv@^4.5.3: version "4.5.4" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== @@ -2077,15 +2175,15 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -merge2@^1.3.0: +merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^4.0.4: - version "4.0.7" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" - integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: braces "^3.0.3" picomatch "^2.3.1" @@ -2102,20 +2200,20 @@ mime-types@^2.1.12: dependencies: mime-db "1.52.0" -minimatch@^3.0.4, minimatch@^3.1.2: +minimatch@9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -minimatch@^9.0.4: - version "9.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" - integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== - dependencies: - brace-expansion "^2.0.1" - minimist@^1.2.0, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" @@ -2136,15 +2234,20 @@ ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== nock@^13.5.0: - version "13.5.4" - resolved "https://registry.yarnpkg.com/nock/-/nock-13.5.4.tgz#8918f0addc70a63736170fef7106a9721e0dc479" - integrity sha512-yAyTfdeNJGGBFxWdzSKCBYxs5FxLbCg5X5Q4ets974hcQzG1+qCxvIyOo4j2Ry6MUlhWVMX4OoYDefAIIwupjw== + version "13.5.5" + resolved "https://registry.yarnpkg.com/nock/-/nock-13.5.5.tgz#cd1caaca281d42be17d51946367a3d53a6af3e78" + integrity sha512-XKYnqUrCwXC8DGG1xX4YH5yNIrlh9c065uaMZZHUoeUUINTOyt+x/G+ezYk0Ft6ExSREVIs+qBJDK503viTfFA== dependencies: debug "^4.1.0" json-stringify-safe "^5.0.1" @@ -2155,7 +2258,7 @@ node-domexception@^1.0.0: resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== -node-fetch@^2.6.12: +node-fetch@^2.6.12, node-fetch@^2.6.7: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== @@ -2191,7 +2294,7 @@ object.assign@^4.1.5: has-symbols "^1.0.3" object-keys "^1.1.1" -object.fromentries@^2.0.7: +object.fromentries@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== @@ -2201,7 +2304,7 @@ object.fromentries@^2.0.7: es-abstract "^1.23.2" es-object-atoms "^1.0.0" -object.groupby@^1.0.1: +object.groupby@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== @@ -2210,7 +2313,7 @@ object.groupby@^1.0.1: define-properties "^1.2.1" es-abstract "^1.23.2" -object.values@^1.1.7: +object.values@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== @@ -2219,6 +2322,13 @@ object.values@^1.1.7: define-properties "^1.2.1" es-object-atoms "^1.0.0" +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + optionator@^0.9.3: version "0.9.4" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" @@ -2257,6 +2367,11 @@ path-exists@^4.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" @@ -2267,10 +2382,15 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + picocolors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" - integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== + version "1.1.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" + integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== picomatch@^2.3.1: version "2.3.1" @@ -2294,7 +2414,7 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^3.3.3: +prettier@^3.0.3: version "3.3.3" resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.3.tgz#30c54fe0be0d8d12e6ae61dbb10109ea00d53105" integrity sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew== @@ -2353,6 +2473,13 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -2396,7 +2523,7 @@ semver@^6.1.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.6.0: +semver@^7.3.7, semver@^7.5.4: version "7.6.3" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== @@ -2450,6 +2577,11 @@ side-channel@^1.0.4: get-intrinsic "^1.2.4" object-inspect "^1.13.1" +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + smoldot@2.0.22: version "2.0.22" resolved "https://registry.yarnpkg.com/smoldot/-/smoldot-2.0.22.tgz#1e924d2011a31c57416e79a2b97a460f462a31c7" @@ -2585,12 +2717,12 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== -ts-api-utils@^1.3.0: +ts-api-utils@^1.0.1: version "1.3.0" resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== -ts-node@^10.9.2: +ts-node@^10.9.1: version "10.9.2" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== @@ -2619,10 +2751,22 @@ tsconfig-paths@^3.15.0: minimist "^1.2.6" strip-bom "^3.0.0" +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + tslib@^2.1.0, tslib@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" - integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== + version "2.7.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" tweetnacl@^1.0.3: version "1.0.3" @@ -2636,6 +2780,11 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + typed-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" @@ -2687,7 +2836,7 @@ typescript-logging@^1.0.0: dependencies: stacktrace-js "1.3.1" -typescript@^5.5.4: +typescript@^5.2.2: version "5.5.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba" integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== @@ -2702,11 +2851,6 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -undici-types@~6.18.2: - version "6.18.2" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.18.2.tgz#8b678cf939d4fc9ec56be3c68ed69c619dee28b0" - integrity sha512-5ruQbENj95yDYJNS3TvcaxPMshV7aizdv/hWYjGIKoANWKjhWNBsr2YEuYZKodQulB1b8l7ILOuDQep3afowQQ== - undici-types@~6.19.2: version "6.19.8" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" @@ -2730,43 +2874,22 @@ util@^0.12.5: is-typed-array "^1.1.3" which-typed-array "^1.1.2" -uuid@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-10.0.0.tgz#5a95aa454e6e002725c79055fd42aaba30ca6294" - integrity sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ== +uuid@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== v8-compile-cache-lib@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== -varint@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" - integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== - web-streams-polyfill@^3.0.3: version "3.3.3" resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b" integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== -web3-core@^4.3.0, web3-core@^4.4.0, web3-core@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-4.5.0.tgz#f16e7f5bfa6373c7be45f0ed233aff479fd33079" - integrity sha512-Q8LIAqmF7vkRydBPiU+OC7wI44nEU6JEExolFaOakqrjMtQ1CWFHRUQMNJRDsk5bRirjyShuAsuqLeYByvvXhg== - dependencies: - web3-errors "^1.2.0" - web3-eth-accounts "^4.1.2" - web3-eth-iban "^4.0.7" - web3-providers-http "^4.1.0" - web3-providers-ws "^4.0.7" - web3-types "^1.7.0" - web3-utils "^4.3.0" - web3-validator "^2.0.6" - optionalDependencies: - web3-providers-ipc "^4.0.7" - -web3-core@^4.5.1: +web3-core@^4.3.0, web3-core@^4.4.0, web3-core@^4.5.0, web3-core@^4.5.1: version "4.5.1" resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-4.5.1.tgz#aba57c7f925fc2d72e2109eef5ff0ecaa4482b86" integrity sha512-mFMOO/IWdKsLL1o2whh3oJ0LCG9P3l5c4lpiMoVsVln3QXh/B0Gf8gW3aY8S+Ixm0OHyzFDXJVc2CodxqmI4Gw== @@ -2782,14 +2905,7 @@ web3-core@^4.5.1: optionalDependencies: web3-providers-ipc "^4.0.7" -web3-errors@^1.1.3, web3-errors@^1.2.0, web3-errors@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-errors/-/web3-errors-1.2.1.tgz#2f31cb814bd262a45b65f7701f56a0167d697ec2" - integrity sha512-dIsi8SFC9TCAWpPmacXeVMk/F8tDNa1Bvg8/Cc2cvJo8LRSWd099szEyb+/SiMYcLlEbwftiT9Rpukz7ql4hBg== - dependencies: - web3-types "^1.7.0" - -web3-errors@^1.3.0: +web3-errors@^1.1.3, web3-errors@^1.2.0, web3-errors@^1.2.1, web3-errors@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/web3-errors/-/web3-errors-1.3.0.tgz#504e4d3218899df108856940087a8022d6688d74" integrity sha512-j5JkAKCtuVMbY3F5PYXBqg1vWrtF4jcyyMY1rlw8a4PV67AkqlepjGgpzWJZd56Mt+TvHy6DA1F/3Id8LatDSQ== @@ -2807,20 +2923,7 @@ web3-eth-abi@^4.2.3: web3-utils "^4.3.1" web3-validator "^2.0.6" -web3-eth-accounts@^4.1.2, web3-eth-accounts@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-4.1.3.tgz#2ba543fd6e9f73e79c73fb5ebbfa9e3945469e0a" - integrity sha512-61Nb7xCXy6Vw/6xUZMM5ITtXetXmaP0F8oKRxika4GO4fRfKZLAwBZtshMyrdAORPZYq77ENiqXJVU+hTmtUaQ== - dependencies: - "@ethereumjs/rlp" "^4.0.1" - crc-32 "^1.2.2" - ethereum-cryptography "^2.0.0" - web3-errors "^1.2.0" - web3-types "^1.7.0" - web3-utils "^4.3.1" - web3-validator "^2.0.6" - -web3-eth-accounts@^4.2.0, web3-eth-accounts@^4.2.1: +web3-eth-accounts@^4.1.3, web3-eth-accounts@^4.2.0, web3-eth-accounts@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-4.2.1.tgz#db27399137e1a26f9d467b9500019a70771f5724" integrity sha512-aOlEZFzqAgKprKs7+DGArU4r9b+ILBjThpeq42aY7LAQcP+mSpsWcQgbIRK3r/n3OwTYZ3aLPk0Ih70O/LwnYA== @@ -2833,21 +2936,7 @@ web3-eth-accounts@^4.2.0, web3-eth-accounts@^4.2.1: web3-utils "^4.3.1" web3-validator "^2.0.6" -web3-eth-contract@^4.5.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-4.6.0.tgz#494116c2af2ea47f1832794ca6dc30e1c6c42640" - integrity sha512-mgQ/WUUlgW9BVKKVGU/Q7KrQEbEGI98h8ppox7fT964wY9ITFMDuRCvYk50WTWnFMdjFtOBqt1xRJ0+B1ekCHg== - dependencies: - "@ethereumjs/rlp" "^5.0.2" - web3-core "^4.5.0" - web3-errors "^1.2.0" - web3-eth "^4.8.1" - web3-eth-abi "^4.2.3" - web3-types "^1.7.0" - web3-utils "^4.3.1" - web3-validator "^2.0.6" - -web3-eth-contract@^4.7.0: +web3-eth-contract@^4.5.0, web3-eth-contract@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-4.7.0.tgz#119a744e8a35f60fd7bc3e4f8637f0380a3d0e85" integrity sha512-fdStoBOjFyMHwlyJmSUt/BTDL1ATwKGmG3zDXQ/zTKlkkW/F/074ut0Vry4GuwSBg9acMHc0ycOiZx9ZKjNHsw== @@ -2898,7 +2987,7 @@ web3-eth-personal@^4.0.8: web3-utils "^4.0.7" web3-validator "^2.0.3" -web3-eth@^4.3.1, web3-eth@^4.8.0, web3-eth@^4.8.1, web3-eth@^4.8.2: +web3-eth@^4.3.1, web3-eth@^4.8.0, web3-eth@^4.8.2: version "4.8.2" resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-4.8.2.tgz#5459aff239a6f27816a522570bdd86732856ef0f" integrity sha512-DLV/fIMG6gBp/B0gv0+G4FzxZ4YCDQsY3lzqqv7avwh3uU7/O27aifCUcFd7Ye+3ixTqCjAvLEl9wYSeyG3zQw== @@ -2925,16 +3014,6 @@ web3-net@^4.1.0: web3-types "^1.6.0" web3-utils "^4.3.0" -web3-providers-http@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-4.1.0.tgz#8d7afda67d1d8542ca85b30f60a3d1fe1993b561" - integrity sha512-6qRUGAhJfVQM41E5t+re5IHYmb5hSaLc02BE2MaRQsz2xKA6RjmHpOA5h/+ojJxEpI9NI2CrfDKOAgtJfoUJQg== - dependencies: - cross-fetch "^4.0.0" - web3-errors "^1.1.3" - web3-types "^1.3.0" - web3-utils "^4.0.7" - web3-providers-http@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-4.2.0.tgz#0f4bf424681a068d49994aa7fabc69bed45ac50b" @@ -2954,7 +3033,7 @@ web3-providers-ipc@^4.0.7: web3-types "^1.3.0" web3-utils "^4.0.7" -web3-providers-ws@^4.0.7, web3-providers-ws@^4.0.8: +web3-providers-ws@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-4.0.8.tgz#6de7b262f7ec6df1a2dff466ba91d7ebdac2c45e" integrity sha512-goJdgata7v4pyzHRsg9fSegUG4gVnHZSHODhNnn6J93ykHkBI1nz4fjlGpcQLUMi4jAMz6SHl9Ibzs2jj9xqPw== @@ -3014,7 +3093,7 @@ web3-validator@^2.0.3, web3-validator@^2.0.6: web3-types "^1.6.0" zod "^3.21.4" -web3@^4.12.1: +web3@^4.1.2: version "4.12.1" resolved "https://registry.yarnpkg.com/web3/-/web3-4.12.1.tgz#391215c7c82627c1a8cc329ded3366c8b55f5c3d" integrity sha512-zIFUPdgo2uG5Vbl7C4KrTv8dmWKN3sGnY/GundbiJzcaJZDxaCyu3a5HXAcgUM1VvvsVb1zaUQAFPceq05/q/Q== @@ -3084,7 +3163,12 @@ word-wrap@^1.2.5: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== -ws@^8.16.0, ws@^8.17.1, ws@^8.8.1: +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@^8.15.1, ws@^8.17.1, ws@^8.8.1: version "8.18.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== diff --git a/sdk/02_tutorial/05_claimer/01_did.md b/sdk/02_tutorial/05_claimer/01_did.md index c58629461..46b53360a 100644 --- a/sdk/02_tutorial/05_claimer/01_did.md +++ b/sdk/02_tutorial/05_claimer/01_did.md @@ -8,8 +8,8 @@ import TsJsBlock from '@site/src/components/TsJsBlock'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -import GenerateKeypairs from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/claimer/generateKeypairs.ts'; -import GenerateLightDid from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/claimer/generateLightDid.ts'; +import GenerateKeypairs from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/holder/generateKeypairs.ts'; +import GenerateLightDid from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/holder/generateLightDid.ts'; This section covers creating a light DID using the account you created for the Claimer. diff --git a/sdk/02_tutorial/05_claimer/02_request.md b/sdk/02_tutorial/05_claimer/02_request.md index e91fff218..2e146794f 100644 --- a/sdk/02_tutorial/05_claimer/02_request.md +++ b/sdk/02_tutorial/05_claimer/02_request.md @@ -7,8 +7,8 @@ import TsJsBlock from '@site/src/components/TsJsBlock'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -import CreateClaim from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/claimer/createClaim.ts'; -import GenerateCredential from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/claimer/generateCredential.ts'; +import CreateClaim from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/holder/createClaim.ts'; +import GenerateCredential from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/holder/generateCredential.ts'; This section covers creating a `Claim` and a `Credential`. diff --git a/sdk/02_tutorial/07_verification.md b/sdk/02_tutorial/07_verification.md index e0a154733..9fd62a61c 100644 --- a/sdk/02_tutorial/07_verification.md +++ b/sdk/02_tutorial/07_verification.md @@ -9,7 +9,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import Verify from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/verify.ts'; -import CreatePresentation from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/claimer/createPresentation.ts'; +import CreatePresentation from '!!raw-loader!@site/code_examples/sdk_examples/src/workshop/holder/createPresentation.ts'; In this section, you play the role of a Verifier that does the following: From a028c98d1350cb0ac64b62ae4d03fe4ac9150dd9 Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Thu, 19 Sep 2024 13:22:27 +0200 Subject: [PATCH 3/9] Update concepts/05_credentials/01_overview.md Co-authored-by: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> --- concepts/05_credentials/01_overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/concepts/05_credentials/01_overview.md b/concepts/05_credentials/01_overview.md index 446b06443..9a18023cb 100644 --- a/concepts/05_credentials/01_overview.md +++ b/concepts/05_credentials/01_overview.md @@ -5,7 +5,7 @@ title: Overview import ThemedImage from '@theme/ThemedImage'; -**Credentials** consist of a set of claims which belong to a **Holder**, are attested by an **Issuer**, and that a **Verifier** can verify. +**Credentials** consist of a set of claims which belong to a **Holder**, are issued/attested by an **Issuer**, and that a **Verifier** can verify.
Date: Thu, 19 Sep 2024 13:22:41 +0200 Subject: [PATCH 4/9] Update concepts/05_credentials/01_overview.md Co-authored-by: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> --- concepts/05_credentials/01_overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/concepts/05_credentials/01_overview.md b/concepts/05_credentials/01_overview.md index 9a18023cb..66ebeca1d 100644 --- a/concepts/05_credentials/01_overview.md +++ b/concepts/05_credentials/01_overview.md @@ -21,7 +21,7 @@ To get a credential, a Holder needs to take the following steps: 1. Find a **CType** to base a claim on. Potential Issuers and Verifiers might advertise this information themselves. 2. Make a **claim** containing a set of properties about themselves. -3. Fulfil any requirement from your Issuer. For example, accepting their **Terms** and paying a **Quote**. +2. Fulfil any requirement from your Issuer. This may include providing them with **claims** about yourself that you want to see included in a credential, accepting their **Terms**, and paying a **Quote**. 4. **Request an attestation** from the Issuer. 5. Wait for the Issuer to **attest** claims. From 9105b606501c91e156835be367d8a0b2a067ce5a Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Thu, 19 Sep 2024 13:22:58 +0200 Subject: [PATCH 5/9] Update concepts/05_credentials/01_overview.md Co-authored-by: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> --- concepts/05_credentials/01_overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/concepts/05_credentials/01_overview.md b/concepts/05_credentials/01_overview.md index 66ebeca1d..e0592e1c4 100644 --- a/concepts/05_credentials/01_overview.md +++ b/concepts/05_credentials/01_overview.md @@ -23,7 +23,7 @@ To get a credential, a Holder needs to take the following steps: 2. Make a **claim** containing a set of properties about themselves. 2. Fulfil any requirement from your Issuer. This may include providing them with **claims** about yourself that you want to see included in a credential, accepting their **Terms**, and paying a **Quote**. 4. **Request an attestation** from the Issuer. -5. Wait for the Issuer to **attest** claims. +5. Wait for the Issuer to **issue** a credential. Once attested, the wrapped claims are considered to be a valid credential. From da14f21ada94a417f7e91d9b5d72bee6518357b8 Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Thu, 19 Sep 2024 13:23:25 +0200 Subject: [PATCH 6/9] Update concepts/05_credentials/01_overview.md Co-authored-by: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> --- concepts/05_credentials/01_overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/concepts/05_credentials/01_overview.md b/concepts/05_credentials/01_overview.md index e0592e1c4..35a4a9156 100644 --- a/concepts/05_credentials/01_overview.md +++ b/concepts/05_credentials/01_overview.md @@ -33,7 +33,7 @@ The verification would follow this process: 1. The Verifier may request a **Credential** of a CType, along with with properties to reveal. They also provide a **challenge** to ensure the presentations aren't recycled. 2. The Holder selectively **discloses** the requested properties and signs them along with the challenge to generate a presentation. -3. The Verifier **verify** the presentation structure, content and signature, and decides whether they trust the Issuer of the presented credential. +3. The Verifier **verifies** the presentation structure, content and signature, and decides whether they trust the Issuer of the presented credential. The next sections describe each step in more detail. From d5c351b6db3a178e21ede09f92612f4ca9ef6ee5 Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Thu, 19 Sep 2024 13:23:37 +0200 Subject: [PATCH 7/9] Update concepts/05_credentials/01_overview.md Co-authored-by: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> --- concepts/05_credentials/01_overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/concepts/05_credentials/01_overview.md b/concepts/05_credentials/01_overview.md index 35a4a9156..60f351871 100644 --- a/concepts/05_credentials/01_overview.md +++ b/concepts/05_credentials/01_overview.md @@ -22,7 +22,7 @@ To get a credential, a Holder needs to take the following steps: 1. Find a **CType** to base a claim on. Potential Issuers and Verifiers might advertise this information themselves. 2. Make a **claim** containing a set of properties about themselves. 2. Fulfil any requirement from your Issuer. This may include providing them with **claims** about yourself that you want to see included in a credential, accepting their **Terms**, and paying a **Quote**. -4. **Request an attestation** from the Issuer. +4. Request that the Issuer attest to claims about you by issuing a credential. 5. Wait for the Issuer to **issue** a credential. Once attested, the wrapped claims are considered to be a valid credential. From 8a4e78e525b6869608b9747ea318d159e6cc6d0f Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Thu, 19 Sep 2024 13:24:10 +0200 Subject: [PATCH 8/9] Update concepts/05_credentials/01_overview.md Co-authored-by: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> --- concepts/05_credentials/01_overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/concepts/05_credentials/01_overview.md b/concepts/05_credentials/01_overview.md index 60f351871..1764eb1db 100644 --- a/concepts/05_credentials/01_overview.md +++ b/concepts/05_credentials/01_overview.md @@ -27,7 +27,7 @@ To get a credential, a Holder needs to take the following steps: Once attested, the wrapped claims are considered to be a valid credential. -To use a Credential, the Holder can generate a Credential-Presentation for a Verifier. +To use a Credential, the Holder can generate a Verifiable Presentation for a Verifier. The verification would follow this process: 1. The Verifier may request a **Credential** of a CType, along with with properties to reveal. From 694a48d2dd827413e33782378c304f3290601311 Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Thu, 19 Sep 2024 13:59:08 +0200 Subject: [PATCH 9/9] Fix SVGs Signed-off-by: Chris Chinchilla --- .../delegation-hierarchies-dark.svg | 108 ++++++++++-------- .../delegation-hierarchies.svg | 2 +- 2 files changed, 63 insertions(+), 47 deletions(-) diff --git a/static/img/concepts/distributed_trust/delegation-hierarchies-dark.svg b/static/img/concepts/distributed_trust/delegation-hierarchies-dark.svg index 1933ddec4..19c317259 100644 --- a/static/img/concepts/distributed_trust/delegation-hierarchies-dark.svg +++ b/static/img/concepts/distributed_trust/delegation-hierarchies-dark.svg @@ -1,85 +1,101 @@ - + - + - - - - - - Issuer 3 - - <root>... + + + + + + + Issuer 3 + + + + <root>... + - Attest + + Attest + - Delegate - - Issuer 5 + + Delegate + + + + Issuer 5 + - Attest - - Issuer 4 + + Attest + + + + Issuer 4 + - Attest - - - - - - Issuer 2 + + Attest + + + + + + + + Issuer 2 + - Attest + + Attest + - Delegate + + Delegate + - Delegate + + Delegate + diff --git a/static/img/concepts/distributed_trust/delegation-hierarchies.svg b/static/img/concepts/distributed_trust/delegation-hierarchies.svg index 31aae50c5..40a7c1629 100644 --- a/static/img/concepts/distributed_trust/delegation-hierarchies.svg +++ b/static/img/concepts/distributed_trust/delegation-hierarchies.svg @@ -20,7 +20,7 @@ } .cls-4, .cls-5 { - fill: #fff; + fill: none; } .cls-4, .cls-5, .cls-6, .cls-7 {