@canton-network/core-ledger-proto 0.14.0 → 0.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/_proto/com/digitalasset/canton/crypto/v30/crypto.cjs.map +1 -1
- package/dist/cjs/_proto/com/digitalasset/canton/crypto/v30/crypto.d.cjs.map +1 -1
- package/dist/cjs/_proto/com/digitalasset/canton/protocol/v30/topology.cjs.map +1 -1
- package/dist/cjs/_proto/com/digitalasset/canton/protocol/v30/topology.d.cjs.map +1 -1
- package/dist/cjs/_proto/com/digitalasset/canton/topology/admin/v30/topology_manager_write_service.cjs.map +1 -1
- package/dist/cjs/_proto/com/digitalasset/canton/topology/admin/v30/topology_manager_write_service.d.cjs.map +1 -1
- package/dist/cjs/_proto/google/protobuf/descriptor.cjs.map +1 -1
- package/dist/esm/_proto/com/digitalasset/canton/crypto/v30/crypto.js.map +1 -1
- package/dist/esm/_proto/com/digitalasset/canton/protocol/v30/topology.js.map +1 -1
- package/dist/esm/_proto/com/digitalasset/canton/topology/admin/v30/topology_manager_write_service.js.map +1 -1
- package/dist/esm/_proto/google/protobuf/descriptor.js.map +1 -1
- package/dist/types/_proto/com/digitalasset/canton/crypto/v30/crypto.d.ts.map +1 -1
- package/dist/types/_proto/com/digitalasset/canton/protocol/v30/topology.d.ts.map +1 -1
- package/dist/types/_proto/com/digitalasset/canton/topology/admin/v30/topology_manager_write_service.d.ts.map +1 -1
- package/dist/types/_proto/google/protobuf/descriptor.d.ts.map +1 -1
- package/package.json +10 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/_proto/com/digitalasset/canton/crypto/v30/crypto.ts"],"sourcesContent":["// @generated by protobuf-ts 2.11.1 with parameter generate_dependencies\n// @generated from protobuf file \"com/digitalasset/canton/crypto/v30/crypto.proto\" (package \"com.digitalasset.canton.crypto.v30\", syntax proto3)\n// tslint:disable\n//\n// Copyright (c) 2025 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n//\nimport type { BinaryWriteOptions } from '@protobuf-ts/runtime'\nimport type { IBinaryWriter } from '@protobuf-ts/runtime'\nimport { WireType } from '@protobuf-ts/runtime'\nimport type { BinaryReadOptions } from '@protobuf-ts/runtime'\nimport type { IBinaryReader } from '@protobuf-ts/runtime'\nimport { UnknownFieldHandler } from '@protobuf-ts/runtime'\nimport type { PartialMessage } from '@protobuf-ts/runtime'\nimport { reflectionMergePartial } from '@protobuf-ts/runtime'\nimport { MessageType } from '@protobuf-ts/runtime'\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.Hmac\n */\nexport interface Hmac {\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.HmacAlgorithm algorithm = 1\n */\n algorithm: HmacAlgorithm\n /**\n * @generated from protobuf field: bytes hmac = 2\n */\n hmac: Uint8Array\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.Salt\n */\nexport interface Salt {\n /**\n * @generated from protobuf oneof: algorithm\n */\n algorithm:\n | {\n oneofKind: 'hmac'\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.HmacAlgorithm hmac = 1\n */\n hmac: HmacAlgorithm\n }\n | {\n oneofKind: undefined\n }\n /**\n * @generated from protobuf field: bytes salt = 2\n */\n salt: Uint8Array\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.Signature\n */\nexport interface Signature {\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SignatureFormat format = 1\n */\n format: SignatureFormat\n /**\n * @generated from protobuf field: bytes signature = 2\n */\n signature: Uint8Array\n /**\n * The fingerprint/id of the keypair used to create this signature and needed to verify.\n * If a signature delegation is defined, this fingerprint/id is not used to produce the signature, and, instead\n * is used to sign the delegation.\n *\n * @generated from protobuf field: string signed_by = 3\n */\n signedBy: string\n /**\n * The signing algorithm specification used to produce this signature\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec signing_algorithm_spec = 4\n */\n signingAlgorithmSpec: SigningAlgorithmSpec\n /**\n * An optional signature delegation where a long-term signing key authorizes a session signing key to sign on its\n * behalf.\n *\n * @generated from protobuf field: optional com.digitalasset.canton.crypto.v30.SignatureDelegation signature_delegation = 5\n */\n signatureDelegation?: SignatureDelegation\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.SignatureDelegation\n */\nexport interface SignatureDelegation {\n /**\n * ASN.1 + DER-encoding of X.509 SubjectPublicKeyInfo structure of the session public key:\n * https://datatracker.ietf.org/doc/html/rfc5280#section-4.1. This key was used to produce the actual signature.\n *\n * @generated from protobuf field: bytes session_key = 1\n */\n sessionKey: Uint8Array\n /**\n * The signing key spec for the session key.\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningKeySpec session_key_spec = 2\n */\n sessionKeySpec: SigningKeySpec\n /**\n * A timestamp in microseconds of UTC time since Unix epoch that indicates when the session key is\n * considered valid.\n *\n * @generated from protobuf field: int64 validity_period_from_inclusive = 3\n */\n validityPeriodFromInclusive: bigint\n /**\n * Duration in seconds indicating how long the session key remains valid.\n * The validity period starts from `validity_period_from_inclusive` above.\n *\n * @generated from protobuf field: uint32 validity_period_duration_seconds = 4\n */\n validityPeriodDurationSeconds: number\n /**\n * The format of the signature\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SignatureFormat format = 5\n */\n format: SignatureFormat\n /**\n * The signature of the combined hash of the session key fingerprint, validity period, and synchronizer id, by the\n * long-term key. This signature authorizes the session key to act on behalf of the long-term key.\n *\n * @generated from protobuf field: bytes signature = 6\n */\n signature: Uint8Array\n /**\n * The signing algorithm specification used to produce this signature\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec signing_algorithm_spec = 7\n */\n signingAlgorithmSpec: SigningAlgorithmSpec\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.PublicKey\n */\nexport interface PublicKey {\n /**\n * @generated from protobuf oneof: key\n */\n key:\n | {\n oneofKind: 'signingPublicKey'\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningPublicKey signing_public_key = 1\n */\n signingPublicKey: SigningPublicKey\n }\n | {\n oneofKind: 'encryptionPublicKey'\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionPublicKey encryption_public_key = 2\n */\n encryptionPublicKey: EncryptionPublicKey\n }\n | {\n oneofKind: undefined\n }\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.PublicKeyWithName\n */\nexport interface PublicKeyWithName {\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.PublicKey public_key = 1\n */\n publicKey?: PublicKey\n /**\n * Optional name of the public key\n *\n * @generated from protobuf field: string name = 2\n */\n name: string\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.PrivateKey\n */\nexport interface PrivateKey {\n /**\n * @generated from protobuf oneof: key\n */\n key:\n | {\n oneofKind: 'signingPrivateKey'\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningPrivateKey signing_private_key = 1\n */\n signingPrivateKey: SigningPrivateKey\n }\n | {\n oneofKind: 'encryptionPrivateKey'\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionPrivateKey encryption_private_key = 2\n */\n encryptionPrivateKey: EncryptionPrivateKey\n }\n | {\n oneofKind: undefined\n }\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.SigningPublicKey\n */\nexport interface SigningPublicKey {\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 2\n */\n format: CryptoKeyFormat\n /**\n * Serialized public key in the format specified above\n *\n * @generated from protobuf field: bytes public_key = 3\n */\n publicKey: Uint8Array\n /**\n * No longer used (only kept for backwards compatibility) stores both the crypto key scheme and algorithm.\n *\n * @deprecated\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningKeyScheme scheme = 4 [deprecated = true]\n */\n scheme: SigningKeyScheme\n /**\n * Explicitly state the key's intended use\n *\n * @generated from protobuf field: repeated com.digitalasset.canton.crypto.v30.SigningKeyUsage usage = 5\n */\n usage: SigningKeyUsage[]\n /**\n * The key specification that was used to generate the key pair\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningKeySpec key_spec = 6\n */\n keySpec: SigningKeySpec\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.SigningPrivateKey\n */\nexport interface SigningPrivateKey {\n /**\n * @generated from protobuf field: string id = 1\n */\n id: string\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 2\n */\n format: CryptoKeyFormat\n /**\n * Serialized private key in the format specified above\n *\n * @generated from protobuf field: bytes private_key = 3\n */\n privateKey: Uint8Array\n /**\n * No longer used (only kept for backwards compatibility) stores both the crypto key scheme and algorithm.\n *\n * @deprecated\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningKeyScheme scheme = 4 [deprecated = true]\n */\n scheme: SigningKeyScheme\n /**\n * Explicitly state the key's intended use\n *\n * @generated from protobuf field: repeated com.digitalasset.canton.crypto.v30.SigningKeyUsage usage = 5\n */\n usage: SigningKeyUsage[]\n /**\n * The key specification that was used to generate the key pair\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningKeySpec key_spec = 6\n */\n keySpec: SigningKeySpec\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.SigningKeyPair\n */\nexport interface SigningKeyPair {\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningPublicKey public_key = 1\n */\n publicKey?: SigningPublicKey\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningPrivateKey private_key = 2\n */\n privateKey?: SigningPrivateKey\n}\n/**\n * Used to announce the required signing key and algorithm specifications in the static synchronizer parameters.\n *\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.RequiredSigningSpecs\n */\nexport interface RequiredSigningSpecs {\n /**\n * @generated from protobuf field: repeated com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec algorithms = 1\n */\n algorithms: SigningAlgorithmSpec[]\n /**\n * @generated from protobuf field: repeated com.digitalasset.canton.crypto.v30.SigningKeySpec keys = 2\n */\n keys: SigningKeySpec[]\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.EncryptionPublicKey\n */\nexport interface EncryptionPublicKey {\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 2\n */\n format: CryptoKeyFormat\n /**\n * Serialized public key in the format specified above\n *\n * @generated from protobuf field: bytes public_key = 3\n */\n publicKey: Uint8Array\n /**\n * No longer used (only kept for backwards compatibility) stores both the crypto key scheme and algorithm.\n *\n * @deprecated\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionKeyScheme scheme = 4 [deprecated = true]\n */\n scheme: EncryptionKeyScheme\n /**\n * The key specification that was used to generate the key pair\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionKeySpec key_spec = 5\n */\n keySpec: EncryptionKeySpec\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.EncryptionPrivateKey\n */\nexport interface EncryptionPrivateKey {\n /**\n * @generated from protobuf field: string id = 1\n */\n id: string\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 2\n */\n format: CryptoKeyFormat\n /**\n * Serialized private key in the format specified above\n *\n * @generated from protobuf field: bytes private_key = 3\n */\n privateKey: Uint8Array\n /**\n * No longer used (only kept for backwards compatibility) stores both the crypto key scheme and algorithm.\n *\n * @deprecated\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionKeyScheme scheme = 4 [deprecated = true]\n */\n scheme: EncryptionKeyScheme\n /**\n * The key specification that was used to generate the key pair\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionKeySpec key_spec = 5\n */\n keySpec: EncryptionKeySpec\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.EncryptionKeyPair\n */\nexport interface EncryptionKeyPair {\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionPublicKey public_key = 1\n */\n publicKey?: EncryptionPublicKey\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionPrivateKey private_key = 2\n */\n privateKey?: EncryptionPrivateKey\n}\n/**\n * Used to announce the required encryption key and algorithm specifications in the static synchronizer parameters.\n *\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.RequiredEncryptionSpecs\n */\nexport interface RequiredEncryptionSpecs {\n /**\n * @generated from protobuf field: repeated com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec algorithms = 1\n */\n algorithms: EncryptionAlgorithmSpec[]\n /**\n * @generated from protobuf field: repeated com.digitalasset.canton.crypto.v30.EncryptionKeySpec keys = 2\n */\n keys: EncryptionKeySpec[]\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.CryptoKeyPair\n */\nexport interface CryptoKeyPair {\n /**\n * @generated from protobuf oneof: pair\n */\n pair:\n | {\n oneofKind: 'signingKeyPair'\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningKeyPair signing_key_pair = 1\n */\n signingKeyPair: SigningKeyPair\n }\n | {\n oneofKind: 'encryptionKeyPair'\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionKeyPair encryption_key_pair = 2\n */\n encryptionKeyPair: EncryptionKeyPair\n }\n | {\n oneofKind: undefined\n }\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.SymmetricKey\n */\nexport interface SymmetricKey {\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 1\n */\n format: CryptoKeyFormat\n /**\n * @generated from protobuf field: bytes key = 2\n */\n key: Uint8Array\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SymmetricKeyScheme scheme = 3\n */\n scheme: SymmetricKeyScheme\n}\n/**\n * A password-based encrypted message\n *\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.PasswordBasedEncrypted\n */\nexport interface PasswordBasedEncrypted {\n /**\n * @generated from protobuf field: bytes ciphertext = 1\n */\n ciphertext: Uint8Array\n /**\n * The symmetric encryption scheme that was used to encrypt the plaintext\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SymmetricKeyScheme symmetric_key_scheme = 2\n */\n symmetricKeyScheme: SymmetricKeyScheme\n /**\n * The password-based KDF that was used to derive the symmetric encryption key from the password\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.PbkdfScheme pbkdf_scheme = 3\n */\n pbkdfScheme: PbkdfScheme\n /**\n * The random salt that was used to derive the symmetric encryption key from the password\n *\n * @generated from protobuf field: bytes salt = 4\n */\n salt: Uint8Array\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.AsymmetricEncrypted\n */\nexport interface AsymmetricEncrypted {\n /**\n * Asymmetrically encrypted data\n *\n * @generated from protobuf field: bytes ciphertext = 1\n */\n ciphertext: Uint8Array\n /**\n * The asymmetric encryption specification used for the encryption\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec encryption_algorithm_spec = 2\n */\n encryptionAlgorithmSpec: EncryptionAlgorithmSpec\n /**\n * The fingerprint of the public key that was used for the encryption\n *\n * @generated from protobuf field: string fingerprint = 3\n */\n fingerprint: string\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.HashAlgorithm\n */\nexport enum HashAlgorithm {\n /**\n * @generated from protobuf enum value: HASH_ALGORITHM_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * @generated from protobuf enum value: HASH_ALGORITHM_SHA256 = 1;\n */\n SHA256 = 1,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.HmacAlgorithm\n */\nexport enum HmacAlgorithm {\n /**\n * @generated from protobuf enum value: HMAC_ALGORITHM_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * @generated from protobuf enum value: HMAC_ALGORITHM_HMAC_SHA256 = 1;\n */\n HMAC_SHA256 = 1,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.SignatureFormat\n */\nexport enum SignatureFormat {\n /**\n * @generated from protobuf enum value: SIGNATURE_FORMAT_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * Signature scheme specific signature format\n * Legacy format no longer used, except for migrations\n *\n * @generated from protobuf enum value: SIGNATURE_FORMAT_RAW = 1;\n */\n RAW = 1,\n /**\n * ASN.1 + DER-encoding of the `r` and `s` integers, as defined in https://datatracker.ietf.org/doc/html/rfc3279#section-2.2.3\n * Used for ECDSA signatures\n *\n * @generated from protobuf enum value: SIGNATURE_FORMAT_DER = 2;\n */\n DER = 2,\n /**\n * Concatenation of the integers `r || s` in little-endian form, as defined in https://datatracker.ietf.org/doc/html/rfc8032#section-3.3\n * Note that this is different from the format defined in IEEE P1363, which uses concatenation in big-endian form.\n * Used for EdDSA signatures\n *\n * @generated from protobuf enum value: SIGNATURE_FORMAT_CONCAT = 3;\n */\n CONCAT = 3,\n /**\n * Symbolic crypto, must only be used for testing\n *\n * @generated from protobuf enum value: SIGNATURE_FORMAT_SYMBOLIC = 10000;\n */\n SYMBOLIC = 10000,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.EncryptionKeySpec\n */\nexport enum EncryptionKeySpec {\n /**\n * @generated from protobuf enum value: ENCRYPTION_KEY_SPEC_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * Elliptic Curve Key from the NIST P-256 curve (aka Secp256r1)\n * as defined in https://doi.org/10.6028/NIST.FIPS.186-4\n *\n * @generated from protobuf enum value: ENCRYPTION_KEY_SPEC_EC_P256 = 1;\n */\n EC_P256 = 1,\n /**\n * RSA with 2048 bits\n *\n * @generated from protobuf enum value: ENCRYPTION_KEY_SPEC_RSA_2048 = 2;\n */\n RSA_2048 = 2,\n}\n/**\n * [start-docs-entry: signing key spec proto]\n *\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.SigningKeySpec\n */\nexport enum SigningKeySpec {\n /**\n * @generated from protobuf enum value: SIGNING_KEY_SPEC_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * Elliptic Curve Key from Curve25519\n * as defined in http://ed25519.cr.yp.to/\n *\n * @generated from protobuf enum value: SIGNING_KEY_SPEC_EC_CURVE25519 = 1;\n */\n EC_CURVE25519 = 1,\n /**\n * Elliptic Curve Key from the NIST P-256 curve (aka secp256r1)\n * as defined in https://doi.org/10.6028/NIST.FIPS.186-4\n *\n * @generated from protobuf enum value: SIGNING_KEY_SPEC_EC_P256 = 2;\n */\n EC_P256 = 2,\n /**\n * Elliptic Curve Key from the NIST P-384 curve (aka secp384r1)\n * as defined in https://doi.org/10.6028/NIST.FIPS.186-4\n *\n * @generated from protobuf enum value: SIGNING_KEY_SPEC_EC_P384 = 3;\n */\n EC_P384 = 3,\n /**\n * Elliptic Curve Key from SECG P256k1 curve (aka secp256k1)\n * commonly used in bitcoin and ethereum\n * as defined in https://www.secg.org/sec2-v2.pdf\n *\n * @generated from protobuf enum value: SIGNING_KEY_SPEC_EC_SECP256K1 = 4;\n */\n EC_SECP256K1 = 4,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.KeyPurpose\n */\nexport enum KeyPurpose {\n /**\n * @generated from protobuf enum value: KEY_PURPOSE_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * @generated from protobuf enum value: KEY_PURPOSE_SIGNING = 1;\n */\n SIGNING = 1,\n /**\n * @generated from protobuf enum value: KEY_PURPOSE_ENCRYPTION = 2;\n */\n ENCRYPTION = 2,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.SigningKeyUsage\n */\nexport enum SigningKeyUsage {\n /**\n * @generated from protobuf enum value: SIGNING_KEY_USAGE_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * the root namespace key that defines a node's identity and signs topology requests\n *\n * @generated from protobuf enum value: SIGNING_KEY_USAGE_NAMESPACE = 1;\n */\n NAMESPACE = 1,\n /**\n * No longer used (only kept for backwards compatibility)\n *\n * @deprecated\n * @generated from protobuf enum value: SIGNING_KEY_USAGE_IDENTITY_DELEGATION = 2 [deprecated = true];\n */\n IDENTITY_DELEGATION = 2,\n /**\n * keys that authenticate members of the network towards a sequencer\n *\n * @generated from protobuf enum value: SIGNING_KEY_USAGE_SEQUENCER_AUTHENTICATION = 3;\n */\n SEQUENCER_AUTHENTICATION = 3,\n /**\n * keys that deal with all the signing that happens as part of the protocol\n *\n * @generated from protobuf enum value: SIGNING_KEY_USAGE_PROTOCOL = 4;\n */\n PROTOCOL = 4,\n /**\n * used internally to identify keys that can self-sign to prove ownership\n *\n * @generated from protobuf enum value: SIGNING_KEY_USAGE_PROOF_OF_OWNERSHIP = 5;\n */\n PROOF_OF_OWNERSHIP = 5,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec\n */\nexport enum SigningAlgorithmSpec {\n /**\n * @generated from protobuf enum value: SIGNING_ALGORITHM_SPEC_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * EdDSA Signature based on Curve25519 with SHA-512\n * http://ed25519.cr.yp.to/\n *\n * @generated from protobuf enum value: SIGNING_ALGORITHM_SPEC_ED25519 = 1;\n */\n ED25519 = 1,\n /**\n * Elliptic Curve Digital Signature Algorithm with SHA256\n *\n * @generated from protobuf enum value: SIGNING_ALGORITHM_SPEC_EC_DSA_SHA_256 = 2;\n */\n EC_DSA_SHA_256 = 2,\n /**\n * Elliptic Curve Digital Signature Algorithm with SHA384\n *\n * @generated from protobuf enum value: SIGNING_ALGORITHM_SPEC_EC_DSA_SHA_384 = 3;\n */\n EC_DSA_SHA_384 = 3,\n}\n/**\n * @deprecated\n *\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.SigningKeyScheme\n */\nexport enum SigningKeyScheme {\n /**\n * @generated from protobuf enum value: SIGNING_KEY_SCHEME_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * Signature based on Curve25519\n * http://ed25519.cr.yp.to/\n *\n * @generated from protobuf enum value: SIGNING_KEY_SCHEME_ED25519 = 1;\n */\n ED25519 = 1,\n /**\n * EC-DSA with NIST curve P-256 or P-384\n *\n * @generated from protobuf enum value: SIGNING_KEY_SCHEME_EC_DSA_P256 = 2;\n */\n EC_DSA_P256 = 2,\n /**\n * @generated from protobuf enum value: SIGNING_KEY_SCHEME_EC_DSA_P384 = 3;\n */\n EC_DSA_P384 = 3,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec\n */\nexport enum EncryptionAlgorithmSpec {\n /**\n * @generated from protobuf enum value: ENCRYPTION_ALGORITHM_SPEC_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * ECIES with ECDH, AES128 GCM, and HKDF and authentication (MAC) with HMAC-SHA256. This requires a P-256 key\n * because we use SHA256 and we need to align the lengths of the curve and the hash function.\n *\n * @generated from protobuf enum value: ENCRYPTION_ALGORITHM_SPEC_ECIES_HKDF_HMAC_SHA256_AES128GCM = 1;\n */\n ECIES_HKDF_HMAC_SHA256_AES128GCM = 1,\n /**\n * ECIES with ECDH, AES128 CBC, and HKDF and authentication (MAC) with HMAC-SHA256. This requires a P-256 key\n * because we use SHA256 and we need to align the lengths of the curve the and hash function.\n *\n * @generated from protobuf enum value: ENCRYPTION_ALGORITHM_SPEC_ECIES_HKDF_HMAC_SHA256_AES128CBC = 2;\n */\n ECIES_HKDF_HMAC_SHA256_AES128CBC = 2,\n /**\n * RSA with OAEP Padding,\n * using SHA-256 for both the hash and in the MGF1 mask generation function along with an empty label.\n *\n * @generated from protobuf enum value: ENCRYPTION_ALGORITHM_SPEC_RSA_OAEP_SHA256 = 3;\n */\n RSA_OAEP_SHA256 = 3,\n}\n/**\n * @deprecated\n *\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.EncryptionKeyScheme\n */\nexport enum EncryptionKeyScheme {\n /**\n * @generated from protobuf enum value: ENCRYPTION_KEY_SCHEME_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * ECIES with ECDH over NIST P-256, AES128 GCM, and HKDF with HMAC-SHA256\n *\n * @generated from protobuf enum value: ENCRYPTION_KEY_SCHEME_ECIES_P256_HKDF_HMAC_SHA256_AES128GCM = 1;\n */\n ECIES_P256_HKDF_HMAC_SHA256_AES128GCM = 1,\n /**\n * ECIES with ECDH over NIST P-256, AES128 CBC, and HKDF and authentication with HMAC-SHA256\n *\n * @generated from protobuf enum value: ENCRYPTION_KEY_SCHEME_ECIES_P256_HMAC_SHA256A_ES128CBC = 2;\n */\n ECIES_P256_HMAC_SHA256A_ES128CBC = 2,\n /**\n * RSA with a 2048 bit key with OAEP Padding,\n * using SHA-256 for both the hash and in the MGF1 mask generation function along with an empty label.\n *\n * @generated from protobuf enum value: ENCRYPTION_KEY_SCHEME_RSA2048_OAEP_SHA256 = 3;\n */\n RSA2048_OAEP_SHA256 = 3,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.SymmetricKeyScheme\n */\nexport enum SymmetricKeyScheme {\n /**\n * @generated from protobuf enum value: SYMMETRIC_KEY_SCHEME_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * AES with 128bit keys in GCM\n *\n * @generated from protobuf enum value: SYMMETRIC_KEY_SCHEME_AES128GCM = 1;\n */\n AES128GCM = 1,\n}\n/**\n * Serialization format for crypto keys and signatures\n *\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.CryptoKeyFormat\n */\nexport enum CryptoKeyFormat {\n /**\n * @generated from protobuf enum value: CRYPTO_KEY_FORMAT_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * ASN.1 + DER encoding\n * Legacy format no longer used, except for migrations\n *\n * @generated from protobuf enum value: CRYPTO_KEY_FORMAT_DER = 2;\n */\n DER = 2,\n /**\n * Raw encoding of a key, used for symmetric keys\n *\n * @generated from protobuf enum value: CRYPTO_KEY_FORMAT_RAW = 3;\n */\n RAW = 3,\n /**\n * ASN.1 + DER-encoding of X.509 SubjectPublicKeyInfo structure: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1\n *\n * @generated from protobuf enum value: CRYPTO_KEY_FORMAT_DER_X509_SUBJECT_PUBLIC_KEY_INFO = 4;\n */\n DER_X509_SUBJECT_PUBLIC_KEY_INFO = 4,\n /**\n * ASN.1 + DER-encoding of PKCS #8 PrivateKeyInfo structure: https://datatracker.ietf.org/doc/html/rfc5208#section-5\n *\n * @generated from protobuf enum value: CRYPTO_KEY_FORMAT_DER_PKCS8_PRIVATE_KEY_INFO = 5;\n */\n DER_PKCS8_PRIVATE_KEY_INFO = 5,\n /**\n * Symbolic crypto, must only be used for testing\n *\n * @generated from protobuf enum value: CRYPTO_KEY_FORMAT_SYMBOLIC = 10000;\n */\n SYMBOLIC = 10000,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.PbkdfScheme\n */\nexport enum PbkdfScheme {\n /**\n * @generated from protobuf enum value: PBKDF_SCHEME_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * Argon2id with m=12288 (12 MiB), t=3, p=1\n *\n * @generated from protobuf enum value: PBKDF_SCHEME_ARGON2ID_MODE1 = 1;\n */\n ARGON2ID_MODE1 = 1,\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass Hmac$Type extends MessageType<Hmac> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.Hmac', [\n {\n no: 1,\n name: 'algorithm',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.HmacAlgorithm',\n HmacAlgorithm,\n 'HMAC_ALGORITHM_',\n ],\n },\n { no: 2, name: 'hmac', kind: 'scalar', T: 12 /*ScalarType.BYTES*/ },\n ])\n }\n create(value?: PartialMessage<Hmac>): Hmac {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.algorithm = 0\n message.hmac = new Uint8Array(0)\n if (value !== undefined)\n reflectionMergePartial<Hmac>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: Hmac\n ): Hmac {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.HmacAlgorithm algorithm */ 1:\n message.algorithm = reader.int32()\n break\n case /* bytes hmac */ 2:\n message.hmac = reader.bytes()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: Hmac,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.HmacAlgorithm algorithm = 1; */\n if (message.algorithm !== 0)\n writer.tag(1, WireType.Varint).int32(message.algorithm)\n /* bytes hmac = 2; */\n if (message.hmac.length)\n writer.tag(2, WireType.LengthDelimited).bytes(message.hmac)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.Hmac\n */\nexport const Hmac = new Hmac$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass Salt$Type extends MessageType<Salt> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.Salt', [\n {\n no: 1,\n name: 'hmac',\n kind: 'enum',\n oneof: 'algorithm',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.HmacAlgorithm',\n HmacAlgorithm,\n 'HMAC_ALGORITHM_',\n ],\n },\n { no: 2, name: 'salt', kind: 'scalar', T: 12 /*ScalarType.BYTES*/ },\n ])\n }\n create(value?: PartialMessage<Salt>): Salt {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.algorithm = { oneofKind: undefined }\n message.salt = new Uint8Array(0)\n if (value !== undefined)\n reflectionMergePartial<Salt>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: Salt\n ): Salt {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.HmacAlgorithm hmac */ 1:\n message.algorithm = {\n oneofKind: 'hmac',\n hmac: reader.int32(),\n }\n break\n case /* bytes salt */ 2:\n message.salt = reader.bytes()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: Salt,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.HmacAlgorithm hmac = 1; */\n if (message.algorithm.oneofKind === 'hmac')\n writer.tag(1, WireType.Varint).int32(message.algorithm.hmac)\n /* bytes salt = 2; */\n if (message.salt.length)\n writer.tag(2, WireType.LengthDelimited).bytes(message.salt)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.Salt\n */\nexport const Salt = new Salt$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass Signature$Type extends MessageType<Signature> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.Signature', [\n {\n no: 1,\n name: 'format',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SignatureFormat',\n SignatureFormat,\n 'SIGNATURE_FORMAT_',\n ],\n },\n {\n no: 2,\n name: 'signature',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 3,\n name: 'signed_by',\n kind: 'scalar',\n T: 9 /*ScalarType.STRING*/,\n },\n {\n no: 4,\n name: 'signing_algorithm_spec',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec',\n SigningAlgorithmSpec,\n 'SIGNING_ALGORITHM_SPEC_',\n ],\n },\n {\n no: 5,\n name: 'signature_delegation',\n kind: 'message',\n T: () => SignatureDelegation,\n },\n ])\n }\n create(value?: PartialMessage<Signature>): Signature {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.format = 0\n message.signature = new Uint8Array(0)\n message.signedBy = ''\n message.signingAlgorithmSpec = 0\n if (value !== undefined)\n reflectionMergePartial<Signature>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: Signature\n ): Signature {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.SignatureFormat format */ 1:\n message.format = reader.int32()\n break\n case /* bytes signature */ 2:\n message.signature = reader.bytes()\n break\n case /* string signed_by */ 3:\n message.signedBy = reader.string()\n break\n case /* com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec signing_algorithm_spec */ 4:\n message.signingAlgorithmSpec = reader.int32()\n break\n case /* optional com.digitalasset.canton.crypto.v30.SignatureDelegation signature_delegation */ 5:\n message.signatureDelegation =\n SignatureDelegation.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n message.signatureDelegation\n )\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: Signature,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.SignatureFormat format = 1; */\n if (message.format !== 0)\n writer.tag(1, WireType.Varint).int32(message.format)\n /* bytes signature = 2; */\n if (message.signature.length)\n writer.tag(2, WireType.LengthDelimited).bytes(message.signature)\n /* string signed_by = 3; */\n if (message.signedBy !== '')\n writer.tag(3, WireType.LengthDelimited).string(message.signedBy)\n /* com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec signing_algorithm_spec = 4; */\n if (message.signingAlgorithmSpec !== 0)\n writer.tag(4, WireType.Varint).int32(message.signingAlgorithmSpec)\n /* optional com.digitalasset.canton.crypto.v30.SignatureDelegation signature_delegation = 5; */\n if (message.signatureDelegation)\n SignatureDelegation.internalBinaryWrite(\n message.signatureDelegation,\n writer.tag(5, WireType.LengthDelimited).fork(),\n options\n ).join()\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.Signature\n */\nexport const Signature = new Signature$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass SignatureDelegation$Type extends MessageType<SignatureDelegation> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.SignatureDelegation', [\n {\n no: 1,\n name: 'session_key',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 2,\n name: 'session_key_spec',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningKeySpec',\n SigningKeySpec,\n 'SIGNING_KEY_SPEC_',\n ],\n },\n {\n no: 3,\n name: 'validity_period_from_inclusive',\n kind: 'scalar',\n T: 3 /*ScalarType.INT64*/,\n L: 0 /*LongType.BIGINT*/,\n },\n {\n no: 4,\n name: 'validity_period_duration_seconds',\n kind: 'scalar',\n T: 13 /*ScalarType.UINT32*/,\n },\n {\n no: 5,\n name: 'format',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SignatureFormat',\n SignatureFormat,\n 'SIGNATURE_FORMAT_',\n ],\n },\n {\n no: 6,\n name: 'signature',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 7,\n name: 'signing_algorithm_spec',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec',\n SigningAlgorithmSpec,\n 'SIGNING_ALGORITHM_SPEC_',\n ],\n },\n ])\n }\n create(value?: PartialMessage<SignatureDelegation>): SignatureDelegation {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.sessionKey = new Uint8Array(0)\n message.sessionKeySpec = 0\n message.validityPeriodFromInclusive = 0n\n message.validityPeriodDurationSeconds = 0\n message.format = 0\n message.signature = new Uint8Array(0)\n message.signingAlgorithmSpec = 0\n if (value !== undefined)\n reflectionMergePartial<SignatureDelegation>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: SignatureDelegation\n ): SignatureDelegation {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* bytes session_key */ 1:\n message.sessionKey = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.SigningKeySpec session_key_spec */ 2:\n message.sessionKeySpec = reader.int32()\n break\n case /* int64 validity_period_from_inclusive */ 3:\n message.validityPeriodFromInclusive = reader\n .int64()\n .toBigInt()\n break\n case /* uint32 validity_period_duration_seconds */ 4:\n message.validityPeriodDurationSeconds = reader.uint32()\n break\n case /* com.digitalasset.canton.crypto.v30.SignatureFormat format */ 5:\n message.format = reader.int32()\n break\n case /* bytes signature */ 6:\n message.signature = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec signing_algorithm_spec */ 7:\n message.signingAlgorithmSpec = reader.int32()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: SignatureDelegation,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* bytes session_key = 1; */\n if (message.sessionKey.length)\n writer.tag(1, WireType.LengthDelimited).bytes(message.sessionKey)\n /* com.digitalasset.canton.crypto.v30.SigningKeySpec session_key_spec = 2; */\n if (message.sessionKeySpec !== 0)\n writer.tag(2, WireType.Varint).int32(message.sessionKeySpec)\n /* int64 validity_period_from_inclusive = 3; */\n if (message.validityPeriodFromInclusive !== 0n)\n writer\n .tag(3, WireType.Varint)\n .int64(message.validityPeriodFromInclusive)\n /* uint32 validity_period_duration_seconds = 4; */\n if (message.validityPeriodDurationSeconds !== 0)\n writer\n .tag(4, WireType.Varint)\n .uint32(message.validityPeriodDurationSeconds)\n /* com.digitalasset.canton.crypto.v30.SignatureFormat format = 5; */\n if (message.format !== 0)\n writer.tag(5, WireType.Varint).int32(message.format)\n /* bytes signature = 6; */\n if (message.signature.length)\n writer.tag(6, WireType.LengthDelimited).bytes(message.signature)\n /* com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec signing_algorithm_spec = 7; */\n if (message.signingAlgorithmSpec !== 0)\n writer.tag(7, WireType.Varint).int32(message.signingAlgorithmSpec)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.SignatureDelegation\n */\nexport const SignatureDelegation = new SignatureDelegation$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass PublicKey$Type extends MessageType<PublicKey> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.PublicKey', [\n {\n no: 1,\n name: 'signing_public_key',\n kind: 'message',\n oneof: 'key',\n T: () => SigningPublicKey,\n },\n {\n no: 2,\n name: 'encryption_public_key',\n kind: 'message',\n oneof: 'key',\n T: () => EncryptionPublicKey,\n },\n ])\n }\n create(value?: PartialMessage<PublicKey>): PublicKey {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.key = { oneofKind: undefined }\n if (value !== undefined)\n reflectionMergePartial<PublicKey>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: PublicKey\n ): PublicKey {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.SigningPublicKey signing_public_key */ 1:\n message.key = {\n oneofKind: 'signingPublicKey',\n signingPublicKey: SigningPublicKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n (message.key as any).signingPublicKey\n ),\n }\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionPublicKey encryption_public_key */ 2:\n message.key = {\n oneofKind: 'encryptionPublicKey',\n encryptionPublicKey:\n EncryptionPublicKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n (message.key as any).encryptionPublicKey\n ),\n }\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: PublicKey,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.SigningPublicKey signing_public_key = 1; */\n if (message.key.oneofKind === 'signingPublicKey')\n SigningPublicKey.internalBinaryWrite(\n message.key.signingPublicKey,\n writer.tag(1, WireType.LengthDelimited).fork(),\n options\n ).join()\n /* com.digitalasset.canton.crypto.v30.EncryptionPublicKey encryption_public_key = 2; */\n if (message.key.oneofKind === 'encryptionPublicKey')\n EncryptionPublicKey.internalBinaryWrite(\n message.key.encryptionPublicKey,\n writer.tag(2, WireType.LengthDelimited).fork(),\n options\n ).join()\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.PublicKey\n */\nexport const PublicKey = new PublicKey$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass PublicKeyWithName$Type extends MessageType<PublicKeyWithName> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.PublicKeyWithName', [\n { no: 1, name: 'public_key', kind: 'message', T: () => PublicKey },\n { no: 2, name: 'name', kind: 'scalar', T: 9 /*ScalarType.STRING*/ },\n ])\n }\n create(value?: PartialMessage<PublicKeyWithName>): PublicKeyWithName {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.name = ''\n if (value !== undefined)\n reflectionMergePartial<PublicKeyWithName>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: PublicKeyWithName\n ): PublicKeyWithName {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.PublicKey public_key */ 1:\n message.publicKey = PublicKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n message.publicKey\n )\n break\n case /* string name */ 2:\n message.name = reader.string()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: PublicKeyWithName,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.PublicKey public_key = 1; */\n if (message.publicKey)\n PublicKey.internalBinaryWrite(\n message.publicKey,\n writer.tag(1, WireType.LengthDelimited).fork(),\n options\n ).join()\n /* string name = 2; */\n if (message.name !== '')\n writer.tag(2, WireType.LengthDelimited).string(message.name)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.PublicKeyWithName\n */\nexport const PublicKeyWithName = new PublicKeyWithName$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass PrivateKey$Type extends MessageType<PrivateKey> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.PrivateKey', [\n {\n no: 1,\n name: 'signing_private_key',\n kind: 'message',\n oneof: 'key',\n T: () => SigningPrivateKey,\n },\n {\n no: 2,\n name: 'encryption_private_key',\n kind: 'message',\n oneof: 'key',\n T: () => EncryptionPrivateKey,\n },\n ])\n }\n create(value?: PartialMessage<PrivateKey>): PrivateKey {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.key = { oneofKind: undefined }\n if (value !== undefined)\n reflectionMergePartial<PrivateKey>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: PrivateKey\n ): PrivateKey {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.SigningPrivateKey signing_private_key */ 1:\n message.key = {\n oneofKind: 'signingPrivateKey',\n signingPrivateKey: SigningPrivateKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n (message.key as any).signingPrivateKey\n ),\n }\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionPrivateKey encryption_private_key */ 2:\n message.key = {\n oneofKind: 'encryptionPrivateKey',\n encryptionPrivateKey:\n EncryptionPrivateKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n (message.key as any).encryptionPrivateKey\n ),\n }\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: PrivateKey,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.SigningPrivateKey signing_private_key = 1; */\n if (message.key.oneofKind === 'signingPrivateKey')\n SigningPrivateKey.internalBinaryWrite(\n message.key.signingPrivateKey,\n writer.tag(1, WireType.LengthDelimited).fork(),\n options\n ).join()\n /* com.digitalasset.canton.crypto.v30.EncryptionPrivateKey encryption_private_key = 2; */\n if (message.key.oneofKind === 'encryptionPrivateKey')\n EncryptionPrivateKey.internalBinaryWrite(\n message.key.encryptionPrivateKey,\n writer.tag(2, WireType.LengthDelimited).fork(),\n options\n ).join()\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.PrivateKey\n */\nexport const PrivateKey = new PrivateKey$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass SigningPublicKey$Type extends MessageType<SigningPublicKey> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.SigningPublicKey', [\n {\n no: 2,\n name: 'format',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.CryptoKeyFormat',\n CryptoKeyFormat,\n 'CRYPTO_KEY_FORMAT_',\n ],\n },\n {\n no: 3,\n name: 'public_key',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 4,\n name: 'scheme',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningKeyScheme',\n SigningKeyScheme,\n 'SIGNING_KEY_SCHEME_',\n ],\n },\n {\n no: 5,\n name: 'usage',\n kind: 'enum',\n repeat: 1 /*RepeatType.PACKED*/,\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningKeyUsage',\n SigningKeyUsage,\n 'SIGNING_KEY_USAGE_',\n ],\n },\n {\n no: 6,\n name: 'key_spec',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningKeySpec',\n SigningKeySpec,\n 'SIGNING_KEY_SPEC_',\n ],\n },\n ])\n }\n create(value?: PartialMessage<SigningPublicKey>): SigningPublicKey {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.format = 0\n message.publicKey = new Uint8Array(0)\n message.scheme = 0\n message.usage = []\n message.keySpec = 0\n if (value !== undefined)\n reflectionMergePartial<SigningPublicKey>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: SigningPublicKey\n ): SigningPublicKey {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format */ 2:\n message.format = reader.int32()\n break\n case /* bytes public_key */ 3:\n message.publicKey = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.SigningKeyScheme scheme = 4 [deprecated = true] */ 4:\n message.scheme = reader.int32()\n break\n case /* repeated com.digitalasset.canton.crypto.v30.SigningKeyUsage usage */ 5:\n if (wireType === WireType.LengthDelimited)\n for (\n let e = reader.int32() + reader.pos;\n reader.pos < e;\n\n )\n message.usage.push(reader.int32())\n else message.usage.push(reader.int32())\n break\n case /* com.digitalasset.canton.crypto.v30.SigningKeySpec key_spec */ 6:\n message.keySpec = reader.int32()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: SigningPublicKey,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 2; */\n if (message.format !== 0)\n writer.tag(2, WireType.Varint).int32(message.format)\n /* bytes public_key = 3; */\n if (message.publicKey.length)\n writer.tag(3, WireType.LengthDelimited).bytes(message.publicKey)\n /* com.digitalasset.canton.crypto.v30.SigningKeyScheme scheme = 4 [deprecated = true]; */\n if (message.scheme !== 0)\n writer.tag(4, WireType.Varint).int32(message.scheme)\n /* repeated com.digitalasset.canton.crypto.v30.SigningKeyUsage usage = 5; */\n if (message.usage.length) {\n writer.tag(5, WireType.LengthDelimited).fork()\n for (let i = 0; i < message.usage.length; i++)\n writer.int32(message.usage[i])\n writer.join()\n }\n /* com.digitalasset.canton.crypto.v30.SigningKeySpec key_spec = 6; */\n if (message.keySpec !== 0)\n writer.tag(6, WireType.Varint).int32(message.keySpec)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.SigningPublicKey\n */\nexport const SigningPublicKey = new SigningPublicKey$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass SigningPrivateKey$Type extends MessageType<SigningPrivateKey> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.SigningPrivateKey', [\n { no: 1, name: 'id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ },\n {\n no: 2,\n name: 'format',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.CryptoKeyFormat',\n CryptoKeyFormat,\n 'CRYPTO_KEY_FORMAT_',\n ],\n },\n {\n no: 3,\n name: 'private_key',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 4,\n name: 'scheme',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningKeyScheme',\n SigningKeyScheme,\n 'SIGNING_KEY_SCHEME_',\n ],\n },\n {\n no: 5,\n name: 'usage',\n kind: 'enum',\n repeat: 1 /*RepeatType.PACKED*/,\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningKeyUsage',\n SigningKeyUsage,\n 'SIGNING_KEY_USAGE_',\n ],\n },\n {\n no: 6,\n name: 'key_spec',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningKeySpec',\n SigningKeySpec,\n 'SIGNING_KEY_SPEC_',\n ],\n },\n ])\n }\n create(value?: PartialMessage<SigningPrivateKey>): SigningPrivateKey {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.id = ''\n message.format = 0\n message.privateKey = new Uint8Array(0)\n message.scheme = 0\n message.usage = []\n message.keySpec = 0\n if (value !== undefined)\n reflectionMergePartial<SigningPrivateKey>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: SigningPrivateKey\n ): SigningPrivateKey {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* string id */ 1:\n message.id = reader.string()\n break\n case /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format */ 2:\n message.format = reader.int32()\n break\n case /* bytes private_key */ 3:\n message.privateKey = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.SigningKeyScheme scheme = 4 [deprecated = true] */ 4:\n message.scheme = reader.int32()\n break\n case /* repeated com.digitalasset.canton.crypto.v30.SigningKeyUsage usage */ 5:\n if (wireType === WireType.LengthDelimited)\n for (\n let e = reader.int32() + reader.pos;\n reader.pos < e;\n\n )\n message.usage.push(reader.int32())\n else message.usage.push(reader.int32())\n break\n case /* com.digitalasset.canton.crypto.v30.SigningKeySpec key_spec */ 6:\n message.keySpec = reader.int32()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: SigningPrivateKey,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* string id = 1; */\n if (message.id !== '')\n writer.tag(1, WireType.LengthDelimited).string(message.id)\n /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 2; */\n if (message.format !== 0)\n writer.tag(2, WireType.Varint).int32(message.format)\n /* bytes private_key = 3; */\n if (message.privateKey.length)\n writer.tag(3, WireType.LengthDelimited).bytes(message.privateKey)\n /* com.digitalasset.canton.crypto.v30.SigningKeyScheme scheme = 4 [deprecated = true]; */\n if (message.scheme !== 0)\n writer.tag(4, WireType.Varint).int32(message.scheme)\n /* repeated com.digitalasset.canton.crypto.v30.SigningKeyUsage usage = 5; */\n if (message.usage.length) {\n writer.tag(5, WireType.LengthDelimited).fork()\n for (let i = 0; i < message.usage.length; i++)\n writer.int32(message.usage[i])\n writer.join()\n }\n /* com.digitalasset.canton.crypto.v30.SigningKeySpec key_spec = 6; */\n if (message.keySpec !== 0)\n writer.tag(6, WireType.Varint).int32(message.keySpec)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.SigningPrivateKey\n */\nexport const SigningPrivateKey = new SigningPrivateKey$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass SigningKeyPair$Type extends MessageType<SigningKeyPair> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.SigningKeyPair', [\n {\n no: 1,\n name: 'public_key',\n kind: 'message',\n T: () => SigningPublicKey,\n },\n {\n no: 2,\n name: 'private_key',\n kind: 'message',\n T: () => SigningPrivateKey,\n },\n ])\n }\n create(value?: PartialMessage<SigningKeyPair>): SigningKeyPair {\n const message = globalThis.Object.create(this.messagePrototype!)\n if (value !== undefined)\n reflectionMergePartial<SigningKeyPair>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: SigningKeyPair\n ): SigningKeyPair {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.SigningPublicKey public_key */ 1:\n message.publicKey = SigningPublicKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n message.publicKey\n )\n break\n case /* com.digitalasset.canton.crypto.v30.SigningPrivateKey private_key */ 2:\n message.privateKey = SigningPrivateKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n message.privateKey\n )\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: SigningKeyPair,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.SigningPublicKey public_key = 1; */\n if (message.publicKey)\n SigningPublicKey.internalBinaryWrite(\n message.publicKey,\n writer.tag(1, WireType.LengthDelimited).fork(),\n options\n ).join()\n /* com.digitalasset.canton.crypto.v30.SigningPrivateKey private_key = 2; */\n if (message.privateKey)\n SigningPrivateKey.internalBinaryWrite(\n message.privateKey,\n writer.tag(2, WireType.LengthDelimited).fork(),\n options\n ).join()\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.SigningKeyPair\n */\nexport const SigningKeyPair = new SigningKeyPair$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass RequiredSigningSpecs$Type extends MessageType<RequiredSigningSpecs> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.RequiredSigningSpecs', [\n {\n no: 1,\n name: 'algorithms',\n kind: 'enum',\n repeat: 1 /*RepeatType.PACKED*/,\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec',\n SigningAlgorithmSpec,\n 'SIGNING_ALGORITHM_SPEC_',\n ],\n },\n {\n no: 2,\n name: 'keys',\n kind: 'enum',\n repeat: 1 /*RepeatType.PACKED*/,\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningKeySpec',\n SigningKeySpec,\n 'SIGNING_KEY_SPEC_',\n ],\n },\n ])\n }\n create(value?: PartialMessage<RequiredSigningSpecs>): RequiredSigningSpecs {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.algorithms = []\n message.keys = []\n if (value !== undefined)\n reflectionMergePartial<RequiredSigningSpecs>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: RequiredSigningSpecs\n ): RequiredSigningSpecs {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* repeated com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec algorithms */ 1:\n if (wireType === WireType.LengthDelimited)\n for (\n let e = reader.int32() + reader.pos;\n reader.pos < e;\n\n )\n message.algorithms.push(reader.int32())\n else message.algorithms.push(reader.int32())\n break\n case /* repeated com.digitalasset.canton.crypto.v30.SigningKeySpec keys */ 2:\n if (wireType === WireType.LengthDelimited)\n for (\n let e = reader.int32() + reader.pos;\n reader.pos < e;\n\n )\n message.keys.push(reader.int32())\n else message.keys.push(reader.int32())\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: RequiredSigningSpecs,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* repeated com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec algorithms = 1; */\n if (message.algorithms.length) {\n writer.tag(1, WireType.LengthDelimited).fork()\n for (let i = 0; i < message.algorithms.length; i++)\n writer.int32(message.algorithms[i])\n writer.join()\n }\n /* repeated com.digitalasset.canton.crypto.v30.SigningKeySpec keys = 2; */\n if (message.keys.length) {\n writer.tag(2, WireType.LengthDelimited).fork()\n for (let i = 0; i < message.keys.length; i++)\n writer.int32(message.keys[i])\n writer.join()\n }\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.RequiredSigningSpecs\n */\nexport const RequiredSigningSpecs = new RequiredSigningSpecs$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass EncryptionPublicKey$Type extends MessageType<EncryptionPublicKey> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.EncryptionPublicKey', [\n {\n no: 2,\n name: 'format',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.CryptoKeyFormat',\n CryptoKeyFormat,\n 'CRYPTO_KEY_FORMAT_',\n ],\n },\n {\n no: 3,\n name: 'public_key',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 4,\n name: 'scheme',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.EncryptionKeyScheme',\n EncryptionKeyScheme,\n 'ENCRYPTION_KEY_SCHEME_',\n ],\n },\n {\n no: 5,\n name: 'key_spec',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.EncryptionKeySpec',\n EncryptionKeySpec,\n 'ENCRYPTION_KEY_SPEC_',\n ],\n },\n ])\n }\n create(value?: PartialMessage<EncryptionPublicKey>): EncryptionPublicKey {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.format = 0\n message.publicKey = new Uint8Array(0)\n message.scheme = 0\n message.keySpec = 0\n if (value !== undefined)\n reflectionMergePartial<EncryptionPublicKey>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: EncryptionPublicKey\n ): EncryptionPublicKey {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format */ 2:\n message.format = reader.int32()\n break\n case /* bytes public_key */ 3:\n message.publicKey = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionKeyScheme scheme = 4 [deprecated = true] */ 4:\n message.scheme = reader.int32()\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionKeySpec key_spec */ 5:\n message.keySpec = reader.int32()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: EncryptionPublicKey,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 2; */\n if (message.format !== 0)\n writer.tag(2, WireType.Varint).int32(message.format)\n /* bytes public_key = 3; */\n if (message.publicKey.length)\n writer.tag(3, WireType.LengthDelimited).bytes(message.publicKey)\n /* com.digitalasset.canton.crypto.v30.EncryptionKeyScheme scheme = 4 [deprecated = true]; */\n if (message.scheme !== 0)\n writer.tag(4, WireType.Varint).int32(message.scheme)\n /* com.digitalasset.canton.crypto.v30.EncryptionKeySpec key_spec = 5; */\n if (message.keySpec !== 0)\n writer.tag(5, WireType.Varint).int32(message.keySpec)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.EncryptionPublicKey\n */\nexport const EncryptionPublicKey = new EncryptionPublicKey$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass EncryptionPrivateKey$Type extends MessageType<EncryptionPrivateKey> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.EncryptionPrivateKey', [\n { no: 1, name: 'id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ },\n {\n no: 2,\n name: 'format',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.CryptoKeyFormat',\n CryptoKeyFormat,\n 'CRYPTO_KEY_FORMAT_',\n ],\n },\n {\n no: 3,\n name: 'private_key',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 4,\n name: 'scheme',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.EncryptionKeyScheme',\n EncryptionKeyScheme,\n 'ENCRYPTION_KEY_SCHEME_',\n ],\n },\n {\n no: 5,\n name: 'key_spec',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.EncryptionKeySpec',\n EncryptionKeySpec,\n 'ENCRYPTION_KEY_SPEC_',\n ],\n },\n ])\n }\n create(value?: PartialMessage<EncryptionPrivateKey>): EncryptionPrivateKey {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.id = ''\n message.format = 0\n message.privateKey = new Uint8Array(0)\n message.scheme = 0\n message.keySpec = 0\n if (value !== undefined)\n reflectionMergePartial<EncryptionPrivateKey>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: EncryptionPrivateKey\n ): EncryptionPrivateKey {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* string id */ 1:\n message.id = reader.string()\n break\n case /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format */ 2:\n message.format = reader.int32()\n break\n case /* bytes private_key */ 3:\n message.privateKey = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionKeyScheme scheme = 4 [deprecated = true] */ 4:\n message.scheme = reader.int32()\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionKeySpec key_spec */ 5:\n message.keySpec = reader.int32()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: EncryptionPrivateKey,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* string id = 1; */\n if (message.id !== '')\n writer.tag(1, WireType.LengthDelimited).string(message.id)\n /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 2; */\n if (message.format !== 0)\n writer.tag(2, WireType.Varint).int32(message.format)\n /* bytes private_key = 3; */\n if (message.privateKey.length)\n writer.tag(3, WireType.LengthDelimited).bytes(message.privateKey)\n /* com.digitalasset.canton.crypto.v30.EncryptionKeyScheme scheme = 4 [deprecated = true]; */\n if (message.scheme !== 0)\n writer.tag(4, WireType.Varint).int32(message.scheme)\n /* com.digitalasset.canton.crypto.v30.EncryptionKeySpec key_spec = 5; */\n if (message.keySpec !== 0)\n writer.tag(5, WireType.Varint).int32(message.keySpec)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.EncryptionPrivateKey\n */\nexport const EncryptionPrivateKey = new EncryptionPrivateKey$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass EncryptionKeyPair$Type extends MessageType<EncryptionKeyPair> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.EncryptionKeyPair', [\n {\n no: 1,\n name: 'public_key',\n kind: 'message',\n T: () => EncryptionPublicKey,\n },\n {\n no: 2,\n name: 'private_key',\n kind: 'message',\n T: () => EncryptionPrivateKey,\n },\n ])\n }\n create(value?: PartialMessage<EncryptionKeyPair>): EncryptionKeyPair {\n const message = globalThis.Object.create(this.messagePrototype!)\n if (value !== undefined)\n reflectionMergePartial<EncryptionKeyPair>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: EncryptionKeyPair\n ): EncryptionKeyPair {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.EncryptionPublicKey public_key */ 1:\n message.publicKey = EncryptionPublicKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n message.publicKey\n )\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionPrivateKey private_key */ 2:\n message.privateKey =\n EncryptionPrivateKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n message.privateKey\n )\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: EncryptionKeyPair,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.EncryptionPublicKey public_key = 1; */\n if (message.publicKey)\n EncryptionPublicKey.internalBinaryWrite(\n message.publicKey,\n writer.tag(1, WireType.LengthDelimited).fork(),\n options\n ).join()\n /* com.digitalasset.canton.crypto.v30.EncryptionPrivateKey private_key = 2; */\n if (message.privateKey)\n EncryptionPrivateKey.internalBinaryWrite(\n message.privateKey,\n writer.tag(2, WireType.LengthDelimited).fork(),\n options\n ).join()\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.EncryptionKeyPair\n */\nexport const EncryptionKeyPair = new EncryptionKeyPair$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass RequiredEncryptionSpecs$Type extends MessageType<RequiredEncryptionSpecs> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.RequiredEncryptionSpecs', [\n {\n no: 1,\n name: 'algorithms',\n kind: 'enum',\n repeat: 1 /*RepeatType.PACKED*/,\n T: () => [\n 'com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec',\n EncryptionAlgorithmSpec,\n 'ENCRYPTION_ALGORITHM_SPEC_',\n ],\n },\n {\n no: 2,\n name: 'keys',\n kind: 'enum',\n repeat: 1 /*RepeatType.PACKED*/,\n T: () => [\n 'com.digitalasset.canton.crypto.v30.EncryptionKeySpec',\n EncryptionKeySpec,\n 'ENCRYPTION_KEY_SPEC_',\n ],\n },\n ])\n }\n create(\n value?: PartialMessage<RequiredEncryptionSpecs>\n ): RequiredEncryptionSpecs {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.algorithms = []\n message.keys = []\n if (value !== undefined)\n reflectionMergePartial<RequiredEncryptionSpecs>(\n this,\n message,\n value\n )\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: RequiredEncryptionSpecs\n ): RequiredEncryptionSpecs {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* repeated com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec algorithms */ 1:\n if (wireType === WireType.LengthDelimited)\n for (\n let e = reader.int32() + reader.pos;\n reader.pos < e;\n\n )\n message.algorithms.push(reader.int32())\n else message.algorithms.push(reader.int32())\n break\n case /* repeated com.digitalasset.canton.crypto.v30.EncryptionKeySpec keys */ 2:\n if (wireType === WireType.LengthDelimited)\n for (\n let e = reader.int32() + reader.pos;\n reader.pos < e;\n\n )\n message.keys.push(reader.int32())\n else message.keys.push(reader.int32())\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: RequiredEncryptionSpecs,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* repeated com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec algorithms = 1; */\n if (message.algorithms.length) {\n writer.tag(1, WireType.LengthDelimited).fork()\n for (let i = 0; i < message.algorithms.length; i++)\n writer.int32(message.algorithms[i])\n writer.join()\n }\n /* repeated com.digitalasset.canton.crypto.v30.EncryptionKeySpec keys = 2; */\n if (message.keys.length) {\n writer.tag(2, WireType.LengthDelimited).fork()\n for (let i = 0; i < message.keys.length; i++)\n writer.int32(message.keys[i])\n writer.join()\n }\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.RequiredEncryptionSpecs\n */\nexport const RequiredEncryptionSpecs = new RequiredEncryptionSpecs$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass CryptoKeyPair$Type extends MessageType<CryptoKeyPair> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.CryptoKeyPair', [\n {\n no: 1,\n name: 'signing_key_pair',\n kind: 'message',\n oneof: 'pair',\n T: () => SigningKeyPair,\n },\n {\n no: 2,\n name: 'encryption_key_pair',\n kind: 'message',\n oneof: 'pair',\n T: () => EncryptionKeyPair,\n },\n ])\n }\n create(value?: PartialMessage<CryptoKeyPair>): CryptoKeyPair {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.pair = { oneofKind: undefined }\n if (value !== undefined)\n reflectionMergePartial<CryptoKeyPair>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: CryptoKeyPair\n ): CryptoKeyPair {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.SigningKeyPair signing_key_pair */ 1:\n message.pair = {\n oneofKind: 'signingKeyPair',\n signingKeyPair: SigningKeyPair.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n (message.pair as any).signingKeyPair\n ),\n }\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionKeyPair encryption_key_pair */ 2:\n message.pair = {\n oneofKind: 'encryptionKeyPair',\n encryptionKeyPair: EncryptionKeyPair.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n (message.pair as any).encryptionKeyPair\n ),\n }\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: CryptoKeyPair,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.SigningKeyPair signing_key_pair = 1; */\n if (message.pair.oneofKind === 'signingKeyPair')\n SigningKeyPair.internalBinaryWrite(\n message.pair.signingKeyPair,\n writer.tag(1, WireType.LengthDelimited).fork(),\n options\n ).join()\n /* com.digitalasset.canton.crypto.v30.EncryptionKeyPair encryption_key_pair = 2; */\n if (message.pair.oneofKind === 'encryptionKeyPair')\n EncryptionKeyPair.internalBinaryWrite(\n message.pair.encryptionKeyPair,\n writer.tag(2, WireType.LengthDelimited).fork(),\n options\n ).join()\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.CryptoKeyPair\n */\nexport const CryptoKeyPair = new CryptoKeyPair$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass SymmetricKey$Type extends MessageType<SymmetricKey> {\n constructor() {\n super(\n 'com.digitalasset.canton.crypto.v30.SymmetricKey',\n [\n {\n no: 1,\n name: 'format',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.CryptoKeyFormat',\n CryptoKeyFormat,\n 'CRYPTO_KEY_FORMAT_',\n ],\n },\n {\n no: 2,\n name: 'key',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 3,\n name: 'scheme',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SymmetricKeyScheme',\n SymmetricKeyScheme,\n 'SYMMETRIC_KEY_SCHEME_',\n ],\n },\n ],\n {\n 'scalapb.message': {\n companionExtends: [\n 'com.digitalasset.canton.version.StableProtoVersion',\n ],\n },\n }\n )\n }\n create(value?: PartialMessage<SymmetricKey>): SymmetricKey {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.format = 0\n message.key = new Uint8Array(0)\n message.scheme = 0\n if (value !== undefined)\n reflectionMergePartial<SymmetricKey>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: SymmetricKey\n ): SymmetricKey {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format */ 1:\n message.format = reader.int32()\n break\n case /* bytes key */ 2:\n message.key = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.SymmetricKeyScheme scheme */ 3:\n message.scheme = reader.int32()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: SymmetricKey,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 1; */\n if (message.format !== 0)\n writer.tag(1, WireType.Varint).int32(message.format)\n /* bytes key = 2; */\n if (message.key.length)\n writer.tag(2, WireType.LengthDelimited).bytes(message.key)\n /* com.digitalasset.canton.crypto.v30.SymmetricKeyScheme scheme = 3; */\n if (message.scheme !== 0)\n writer.tag(3, WireType.Varint).int32(message.scheme)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.SymmetricKey\n */\nexport const SymmetricKey = new SymmetricKey$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass PasswordBasedEncrypted$Type extends MessageType<PasswordBasedEncrypted> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.PasswordBasedEncrypted', [\n {\n no: 1,\n name: 'ciphertext',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 2,\n name: 'symmetric_key_scheme',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SymmetricKeyScheme',\n SymmetricKeyScheme,\n 'SYMMETRIC_KEY_SCHEME_',\n ],\n },\n {\n no: 3,\n name: 'pbkdf_scheme',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.PbkdfScheme',\n PbkdfScheme,\n 'PBKDF_SCHEME_',\n ],\n },\n { no: 4, name: 'salt', kind: 'scalar', T: 12 /*ScalarType.BYTES*/ },\n ])\n }\n create(\n value?: PartialMessage<PasswordBasedEncrypted>\n ): PasswordBasedEncrypted {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.ciphertext = new Uint8Array(0)\n message.symmetricKeyScheme = 0\n message.pbkdfScheme = 0\n message.salt = new Uint8Array(0)\n if (value !== undefined)\n reflectionMergePartial<PasswordBasedEncrypted>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: PasswordBasedEncrypted\n ): PasswordBasedEncrypted {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* bytes ciphertext */ 1:\n message.ciphertext = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.SymmetricKeyScheme symmetric_key_scheme */ 2:\n message.symmetricKeyScheme = reader.int32()\n break\n case /* com.digitalasset.canton.crypto.v30.PbkdfScheme pbkdf_scheme */ 3:\n message.pbkdfScheme = reader.int32()\n break\n case /* bytes salt */ 4:\n message.salt = reader.bytes()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: PasswordBasedEncrypted,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* bytes ciphertext = 1; */\n if (message.ciphertext.length)\n writer.tag(1, WireType.LengthDelimited).bytes(message.ciphertext)\n /* com.digitalasset.canton.crypto.v30.SymmetricKeyScheme symmetric_key_scheme = 2; */\n if (message.symmetricKeyScheme !== 0)\n writer.tag(2, WireType.Varint).int32(message.symmetricKeyScheme)\n /* com.digitalasset.canton.crypto.v30.PbkdfScheme pbkdf_scheme = 3; */\n if (message.pbkdfScheme !== 0)\n writer.tag(3, WireType.Varint).int32(message.pbkdfScheme)\n /* bytes salt = 4; */\n if (message.salt.length)\n writer.tag(4, WireType.LengthDelimited).bytes(message.salt)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.PasswordBasedEncrypted\n */\nexport const PasswordBasedEncrypted = new PasswordBasedEncrypted$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass AsymmetricEncrypted$Type extends MessageType<AsymmetricEncrypted> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.AsymmetricEncrypted', [\n {\n no: 1,\n name: 'ciphertext',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 2,\n name: 'encryption_algorithm_spec',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec',\n EncryptionAlgorithmSpec,\n 'ENCRYPTION_ALGORITHM_SPEC_',\n ],\n },\n {\n no: 3,\n name: 'fingerprint',\n kind: 'scalar',\n T: 9 /*ScalarType.STRING*/,\n },\n ])\n }\n create(value?: PartialMessage<AsymmetricEncrypted>): AsymmetricEncrypted {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.ciphertext = new Uint8Array(0)\n message.encryptionAlgorithmSpec = 0\n message.fingerprint = ''\n if (value !== undefined)\n reflectionMergePartial<AsymmetricEncrypted>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: AsymmetricEncrypted\n ): AsymmetricEncrypted {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* bytes ciphertext */ 1:\n message.ciphertext = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec encryption_algorithm_spec */ 2:\n message.encryptionAlgorithmSpec = reader.int32()\n break\n case /* string fingerprint */ 3:\n message.fingerprint = reader.string()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: AsymmetricEncrypted,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* bytes ciphertext = 1; */\n if (message.ciphertext.length)\n writer.tag(1, WireType.LengthDelimited).bytes(message.ciphertext)\n /* com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec encryption_algorithm_spec = 2; */\n if (message.encryptionAlgorithmSpec !== 0)\n writer\n .tag(2, WireType.Varint)\n .int32(message.encryptionAlgorithmSpec)\n /* string fingerprint = 3; */\n if (message.fingerprint !== '')\n writer.tag(3, WireType.LengthDelimited).string(message.fingerprint)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.AsymmetricEncrypted\n */\nexport const AsymmetricEncrypted = new AsymmetricEncrypted$Type()\n"],"mappings":";;;;;;;;;;;;;;AAOA;;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/_proto/com/digitalasset/canton/crypto/v30/crypto.ts"],"sourcesContent":["// @generated by protobuf-ts 2.11.1 with parameter generate_dependencies\n// @generated from protobuf file \"com/digitalasset/canton/crypto/v30/crypto.proto\" (package \"com.digitalasset.canton.crypto.v30\", syntax proto3)\n// tslint:disable\n//\n// Copyright (c) 2025 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n//\nimport type { BinaryWriteOptions } from '@protobuf-ts/runtime'\nimport type { IBinaryWriter } from '@protobuf-ts/runtime'\nimport { WireType } from '@protobuf-ts/runtime'\nimport type { BinaryReadOptions } from '@protobuf-ts/runtime'\nimport type { IBinaryReader } from '@protobuf-ts/runtime'\nimport { UnknownFieldHandler } from '@protobuf-ts/runtime'\nimport type { PartialMessage } from '@protobuf-ts/runtime'\nimport { reflectionMergePartial } from '@protobuf-ts/runtime'\nimport { MessageType } from '@protobuf-ts/runtime'\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.Hmac\n */\nexport interface Hmac {\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.HmacAlgorithm algorithm = 1\n */\n algorithm: HmacAlgorithm\n /**\n * @generated from protobuf field: bytes hmac = 2\n */\n hmac: Uint8Array\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.Salt\n */\nexport interface Salt {\n /**\n * @generated from protobuf oneof: algorithm\n */\n algorithm:\n | {\n oneofKind: 'hmac'\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.HmacAlgorithm hmac = 1\n */\n hmac: HmacAlgorithm\n }\n | {\n oneofKind: undefined\n }\n /**\n * @generated from protobuf field: bytes salt = 2\n */\n salt: Uint8Array\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.Signature\n */\nexport interface Signature {\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SignatureFormat format = 1\n */\n format: SignatureFormat\n /**\n * @generated from protobuf field: bytes signature = 2\n */\n signature: Uint8Array\n /**\n * The fingerprint/id of the keypair used to create this signature and needed to verify.\n * If a signature delegation is defined, this fingerprint/id is not used to produce the signature, and, instead\n * is used to sign the delegation.\n *\n * @generated from protobuf field: string signed_by = 3\n */\n signedBy: string\n /**\n * The signing algorithm specification used to produce this signature\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec signing_algorithm_spec = 4\n */\n signingAlgorithmSpec: SigningAlgorithmSpec\n /**\n * An optional signature delegation where a long-term signing key authorizes a session signing key to sign on its\n * behalf.\n *\n * @generated from protobuf field: optional com.digitalasset.canton.crypto.v30.SignatureDelegation signature_delegation = 5\n */\n signatureDelegation?: SignatureDelegation\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.SignatureDelegation\n */\nexport interface SignatureDelegation {\n /**\n * ASN.1 + DER-encoding of X.509 SubjectPublicKeyInfo structure of the session public key:\n * https://datatracker.ietf.org/doc/html/rfc5280#section-4.1. This key was used to produce the actual signature.\n *\n * @generated from protobuf field: bytes session_key = 1\n */\n sessionKey: Uint8Array\n /**\n * The signing key spec for the session key.\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningKeySpec session_key_spec = 2\n */\n sessionKeySpec: SigningKeySpec\n /**\n * A timestamp in microseconds of UTC time since Unix epoch that indicates when the session key is\n * considered valid.\n *\n * @generated from protobuf field: int64 validity_period_from_inclusive = 3\n */\n validityPeriodFromInclusive: bigint\n /**\n * Duration in seconds indicating how long the session key remains valid.\n * The validity period starts from `validity_period_from_inclusive` above.\n *\n * @generated from protobuf field: uint32 validity_period_duration_seconds = 4\n */\n validityPeriodDurationSeconds: number\n /**\n * The format of the signature\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SignatureFormat format = 5\n */\n format: SignatureFormat\n /**\n * The signature of the combined hash of the session key fingerprint, validity period, and synchronizer id, by the\n * long-term key. This signature authorizes the session key to act on behalf of the long-term key.\n *\n * @generated from protobuf field: bytes signature = 6\n */\n signature: Uint8Array\n /**\n * The signing algorithm specification used to produce this signature\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec signing_algorithm_spec = 7\n */\n signingAlgorithmSpec: SigningAlgorithmSpec\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.PublicKey\n */\nexport interface PublicKey {\n /**\n * @generated from protobuf oneof: key\n */\n key:\n | {\n oneofKind: 'signingPublicKey'\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningPublicKey signing_public_key = 1\n */\n signingPublicKey: SigningPublicKey\n }\n | {\n oneofKind: 'encryptionPublicKey'\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionPublicKey encryption_public_key = 2\n */\n encryptionPublicKey: EncryptionPublicKey\n }\n | {\n oneofKind: undefined\n }\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.PublicKeyWithName\n */\nexport interface PublicKeyWithName {\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.PublicKey public_key = 1\n */\n publicKey?: PublicKey\n /**\n * Optional name of the public key\n *\n * @generated from protobuf field: string name = 2\n */\n name: string\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.PrivateKey\n */\nexport interface PrivateKey {\n /**\n * @generated from protobuf oneof: key\n */\n key:\n | {\n oneofKind: 'signingPrivateKey'\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningPrivateKey signing_private_key = 1\n */\n signingPrivateKey: SigningPrivateKey\n }\n | {\n oneofKind: 'encryptionPrivateKey'\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionPrivateKey encryption_private_key = 2\n */\n encryptionPrivateKey: EncryptionPrivateKey\n }\n | {\n oneofKind: undefined\n }\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.SigningPublicKey\n */\nexport interface SigningPublicKey {\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 2\n */\n format: CryptoKeyFormat\n /**\n * Serialized public key in the format specified above\n *\n * @generated from protobuf field: bytes public_key = 3\n */\n publicKey: Uint8Array\n /**\n * No longer used (only kept for backwards compatibility) stores both the crypto key scheme and algorithm.\n *\n * @deprecated\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningKeyScheme scheme = 4 [deprecated = true]\n */\n scheme: SigningKeyScheme\n /**\n * Explicitly state the key's intended use\n *\n * @generated from protobuf field: repeated com.digitalasset.canton.crypto.v30.SigningKeyUsage usage = 5\n */\n usage: SigningKeyUsage[]\n /**\n * The key specification that was used to generate the key pair\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningKeySpec key_spec = 6\n */\n keySpec: SigningKeySpec\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.SigningPrivateKey\n */\nexport interface SigningPrivateKey {\n /**\n * @generated from protobuf field: string id = 1\n */\n id: string\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 2\n */\n format: CryptoKeyFormat\n /**\n * Serialized private key in the format specified above\n *\n * @generated from protobuf field: bytes private_key = 3\n */\n privateKey: Uint8Array\n /**\n * No longer used (only kept for backwards compatibility) stores both the crypto key scheme and algorithm.\n *\n * @deprecated\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningKeyScheme scheme = 4 [deprecated = true]\n */\n scheme: SigningKeyScheme\n /**\n * Explicitly state the key's intended use\n *\n * @generated from protobuf field: repeated com.digitalasset.canton.crypto.v30.SigningKeyUsage usage = 5\n */\n usage: SigningKeyUsage[]\n /**\n * The key specification that was used to generate the key pair\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningKeySpec key_spec = 6\n */\n keySpec: SigningKeySpec\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.SigningKeyPair\n */\nexport interface SigningKeyPair {\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningPublicKey public_key = 1\n */\n publicKey?: SigningPublicKey\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningPrivateKey private_key = 2\n */\n privateKey?: SigningPrivateKey\n}\n/**\n * Used to announce the required signing key and algorithm specifications in the static synchronizer parameters.\n *\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.RequiredSigningSpecs\n */\nexport interface RequiredSigningSpecs {\n /**\n * @generated from protobuf field: repeated com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec algorithms = 1\n */\n algorithms: SigningAlgorithmSpec[]\n /**\n * @generated from protobuf field: repeated com.digitalasset.canton.crypto.v30.SigningKeySpec keys = 2\n */\n keys: SigningKeySpec[]\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.EncryptionPublicKey\n */\nexport interface EncryptionPublicKey {\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 2\n */\n format: CryptoKeyFormat\n /**\n * Serialized public key in the format specified above\n *\n * @generated from protobuf field: bytes public_key = 3\n */\n publicKey: Uint8Array\n /**\n * No longer used (only kept for backwards compatibility) stores both the crypto key scheme and algorithm.\n *\n * @deprecated\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionKeyScheme scheme = 4 [deprecated = true]\n */\n scheme: EncryptionKeyScheme\n /**\n * The key specification that was used to generate the key pair\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionKeySpec key_spec = 5\n */\n keySpec: EncryptionKeySpec\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.EncryptionPrivateKey\n */\nexport interface EncryptionPrivateKey {\n /**\n * @generated from protobuf field: string id = 1\n */\n id: string\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 2\n */\n format: CryptoKeyFormat\n /**\n * Serialized private key in the format specified above\n *\n * @generated from protobuf field: bytes private_key = 3\n */\n privateKey: Uint8Array\n /**\n * No longer used (only kept for backwards compatibility) stores both the crypto key scheme and algorithm.\n *\n * @deprecated\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionKeyScheme scheme = 4 [deprecated = true]\n */\n scheme: EncryptionKeyScheme\n /**\n * The key specification that was used to generate the key pair\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionKeySpec key_spec = 5\n */\n keySpec: EncryptionKeySpec\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.EncryptionKeyPair\n */\nexport interface EncryptionKeyPair {\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionPublicKey public_key = 1\n */\n publicKey?: EncryptionPublicKey\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionPrivateKey private_key = 2\n */\n privateKey?: EncryptionPrivateKey\n}\n/**\n * Used to announce the required encryption key and algorithm specifications in the static synchronizer parameters.\n *\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.RequiredEncryptionSpecs\n */\nexport interface RequiredEncryptionSpecs {\n /**\n * @generated from protobuf field: repeated com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec algorithms = 1\n */\n algorithms: EncryptionAlgorithmSpec[]\n /**\n * @generated from protobuf field: repeated com.digitalasset.canton.crypto.v30.EncryptionKeySpec keys = 2\n */\n keys: EncryptionKeySpec[]\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.CryptoKeyPair\n */\nexport interface CryptoKeyPair {\n /**\n * @generated from protobuf oneof: pair\n */\n pair:\n | {\n oneofKind: 'signingKeyPair'\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SigningKeyPair signing_key_pair = 1\n */\n signingKeyPair: SigningKeyPair\n }\n | {\n oneofKind: 'encryptionKeyPair'\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionKeyPair encryption_key_pair = 2\n */\n encryptionKeyPair: EncryptionKeyPair\n }\n | {\n oneofKind: undefined\n }\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.SymmetricKey\n */\nexport interface SymmetricKey {\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 1\n */\n format: CryptoKeyFormat\n /**\n * @generated from protobuf field: bytes key = 2\n */\n key: Uint8Array\n /**\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SymmetricKeyScheme scheme = 3\n */\n scheme: SymmetricKeyScheme\n}\n/**\n * A password-based encrypted message\n *\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.PasswordBasedEncrypted\n */\nexport interface PasswordBasedEncrypted {\n /**\n * @generated from protobuf field: bytes ciphertext = 1\n */\n ciphertext: Uint8Array\n /**\n * The symmetric encryption scheme that was used to encrypt the plaintext\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.SymmetricKeyScheme symmetric_key_scheme = 2\n */\n symmetricKeyScheme: SymmetricKeyScheme\n /**\n * The password-based KDF that was used to derive the symmetric encryption key from the password\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.PbkdfScheme pbkdf_scheme = 3\n */\n pbkdfScheme: PbkdfScheme\n /**\n * The random salt that was used to derive the symmetric encryption key from the password\n *\n * @generated from protobuf field: bytes salt = 4\n */\n salt: Uint8Array\n}\n/**\n * @generated from protobuf message com.digitalasset.canton.crypto.v30.AsymmetricEncrypted\n */\nexport interface AsymmetricEncrypted {\n /**\n * Asymmetrically encrypted data\n *\n * @generated from protobuf field: bytes ciphertext = 1\n */\n ciphertext: Uint8Array\n /**\n * The asymmetric encryption specification used for the encryption\n *\n * @generated from protobuf field: com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec encryption_algorithm_spec = 2\n */\n encryptionAlgorithmSpec: EncryptionAlgorithmSpec\n /**\n * The fingerprint of the public key that was used for the encryption\n *\n * @generated from protobuf field: string fingerprint = 3\n */\n fingerprint: string\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.HashAlgorithm\n */\nexport enum HashAlgorithm {\n /**\n * @generated from protobuf enum value: HASH_ALGORITHM_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * @generated from protobuf enum value: HASH_ALGORITHM_SHA256 = 1;\n */\n SHA256 = 1,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.HmacAlgorithm\n */\nexport enum HmacAlgorithm {\n /**\n * @generated from protobuf enum value: HMAC_ALGORITHM_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * @generated from protobuf enum value: HMAC_ALGORITHM_HMAC_SHA256 = 1;\n */\n HMAC_SHA256 = 1,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.SignatureFormat\n */\nexport enum SignatureFormat {\n /**\n * @generated from protobuf enum value: SIGNATURE_FORMAT_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * Signature scheme specific signature format\n * Legacy format no longer used, except for migrations\n *\n * @generated from protobuf enum value: SIGNATURE_FORMAT_RAW = 1;\n */\n RAW = 1,\n /**\n * ASN.1 + DER-encoding of the `r` and `s` integers, as defined in https://datatracker.ietf.org/doc/html/rfc3279#section-2.2.3\n * Used for ECDSA signatures\n *\n * @generated from protobuf enum value: SIGNATURE_FORMAT_DER = 2;\n */\n DER = 2,\n /**\n * Concatenation of the integers `r || s` in little-endian form, as defined in https://datatracker.ietf.org/doc/html/rfc8032#section-3.3\n * Note that this is different from the format defined in IEEE P1363, which uses concatenation in big-endian form.\n * Used for EdDSA signatures\n *\n * @generated from protobuf enum value: SIGNATURE_FORMAT_CONCAT = 3;\n */\n CONCAT = 3,\n /**\n * Symbolic crypto, must only be used for testing\n *\n * @generated from protobuf enum value: SIGNATURE_FORMAT_SYMBOLIC = 10000;\n */\n SYMBOLIC = 10000,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.EncryptionKeySpec\n */\nexport enum EncryptionKeySpec {\n /**\n * @generated from protobuf enum value: ENCRYPTION_KEY_SPEC_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * Elliptic Curve Key from the NIST P-256 curve (aka Secp256r1)\n * as defined in https://doi.org/10.6028/NIST.FIPS.186-4\n *\n * @generated from protobuf enum value: ENCRYPTION_KEY_SPEC_EC_P256 = 1;\n */\n EC_P256 = 1,\n /**\n * RSA with 2048 bits\n *\n * @generated from protobuf enum value: ENCRYPTION_KEY_SPEC_RSA_2048 = 2;\n */\n RSA_2048 = 2,\n}\n/**\n * [start-docs-entry: signing key spec proto]\n *\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.SigningKeySpec\n */\nexport enum SigningKeySpec {\n /**\n * @generated from protobuf enum value: SIGNING_KEY_SPEC_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * Elliptic Curve Key from Curve25519\n * as defined in http://ed25519.cr.yp.to/\n *\n * @generated from protobuf enum value: SIGNING_KEY_SPEC_EC_CURVE25519 = 1;\n */\n EC_CURVE25519 = 1,\n /**\n * Elliptic Curve Key from the NIST P-256 curve (aka secp256r1)\n * as defined in https://doi.org/10.6028/NIST.FIPS.186-4\n *\n * @generated from protobuf enum value: SIGNING_KEY_SPEC_EC_P256 = 2;\n */\n EC_P256 = 2,\n /**\n * Elliptic Curve Key from the NIST P-384 curve (aka secp384r1)\n * as defined in https://doi.org/10.6028/NIST.FIPS.186-4\n *\n * @generated from protobuf enum value: SIGNING_KEY_SPEC_EC_P384 = 3;\n */\n EC_P384 = 3,\n /**\n * Elliptic Curve Key from SECG P256k1 curve (aka secp256k1)\n * commonly used in bitcoin and ethereum\n * as defined in https://www.secg.org/sec2-v2.pdf\n *\n * @generated from protobuf enum value: SIGNING_KEY_SPEC_EC_SECP256K1 = 4;\n */\n EC_SECP256K1 = 4,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.KeyPurpose\n */\nexport enum KeyPurpose {\n /**\n * @generated from protobuf enum value: KEY_PURPOSE_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * @generated from protobuf enum value: KEY_PURPOSE_SIGNING = 1;\n */\n SIGNING = 1,\n /**\n * @generated from protobuf enum value: KEY_PURPOSE_ENCRYPTION = 2;\n */\n ENCRYPTION = 2,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.SigningKeyUsage\n */\nexport enum SigningKeyUsage {\n /**\n * @generated from protobuf enum value: SIGNING_KEY_USAGE_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * the root namespace key that defines a node's identity and signs topology requests\n *\n * @generated from protobuf enum value: SIGNING_KEY_USAGE_NAMESPACE = 1;\n */\n NAMESPACE = 1,\n /**\n * No longer used (only kept for backwards compatibility)\n *\n * @deprecated\n * @generated from protobuf enum value: SIGNING_KEY_USAGE_IDENTITY_DELEGATION = 2 [deprecated = true];\n */\n IDENTITY_DELEGATION = 2,\n /**\n * keys that authenticate members of the network towards a sequencer\n *\n * @generated from protobuf enum value: SIGNING_KEY_USAGE_SEQUENCER_AUTHENTICATION = 3;\n */\n SEQUENCER_AUTHENTICATION = 3,\n /**\n * keys that deal with all the signing that happens as part of the protocol\n *\n * @generated from protobuf enum value: SIGNING_KEY_USAGE_PROTOCOL = 4;\n */\n PROTOCOL = 4,\n /**\n * used internally to identify keys that can self-sign to prove ownership\n *\n * @generated from protobuf enum value: SIGNING_KEY_USAGE_PROOF_OF_OWNERSHIP = 5;\n */\n PROOF_OF_OWNERSHIP = 5,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec\n */\nexport enum SigningAlgorithmSpec {\n /**\n * @generated from protobuf enum value: SIGNING_ALGORITHM_SPEC_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * EdDSA Signature based on Curve25519 with SHA-512\n * http://ed25519.cr.yp.to/\n *\n * @generated from protobuf enum value: SIGNING_ALGORITHM_SPEC_ED25519 = 1;\n */\n ED25519 = 1,\n /**\n * Elliptic Curve Digital Signature Algorithm with SHA256\n *\n * @generated from protobuf enum value: SIGNING_ALGORITHM_SPEC_EC_DSA_SHA_256 = 2;\n */\n EC_DSA_SHA_256 = 2,\n /**\n * Elliptic Curve Digital Signature Algorithm with SHA384\n *\n * @generated from protobuf enum value: SIGNING_ALGORITHM_SPEC_EC_DSA_SHA_384 = 3;\n */\n EC_DSA_SHA_384 = 3,\n}\n/**\n * @deprecated\n *\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.SigningKeyScheme\n */\nexport enum SigningKeyScheme {\n /**\n * @generated from protobuf enum value: SIGNING_KEY_SCHEME_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * Signature based on Curve25519\n * http://ed25519.cr.yp.to/\n *\n * @generated from protobuf enum value: SIGNING_KEY_SCHEME_ED25519 = 1;\n */\n ED25519 = 1,\n /**\n * EC-DSA with NIST curve P-256 or P-384\n *\n * @generated from protobuf enum value: SIGNING_KEY_SCHEME_EC_DSA_P256 = 2;\n */\n EC_DSA_P256 = 2,\n /**\n * @generated from protobuf enum value: SIGNING_KEY_SCHEME_EC_DSA_P384 = 3;\n */\n EC_DSA_P384 = 3,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec\n */\nexport enum EncryptionAlgorithmSpec {\n /**\n * @generated from protobuf enum value: ENCRYPTION_ALGORITHM_SPEC_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * ECIES with ECDH, AES128 GCM, and HKDF and authentication (MAC) with HMAC-SHA256. This requires a P-256 key\n * because we use SHA256 and we need to align the lengths of the curve and the hash function.\n *\n * @generated from protobuf enum value: ENCRYPTION_ALGORITHM_SPEC_ECIES_HKDF_HMAC_SHA256_AES128GCM = 1;\n */\n ECIES_HKDF_HMAC_SHA256_AES128GCM = 1,\n /**\n * ECIES with ECDH, AES128 CBC, and HKDF and authentication (MAC) with HMAC-SHA256. This requires a P-256 key\n * because we use SHA256 and we need to align the lengths of the curve the and hash function.\n *\n * @generated from protobuf enum value: ENCRYPTION_ALGORITHM_SPEC_ECIES_HKDF_HMAC_SHA256_AES128CBC = 2;\n */\n ECIES_HKDF_HMAC_SHA256_AES128CBC = 2,\n /**\n * RSA with OAEP Padding,\n * using SHA-256 for both the hash and in the MGF1 mask generation function along with an empty label.\n *\n * @generated from protobuf enum value: ENCRYPTION_ALGORITHM_SPEC_RSA_OAEP_SHA256 = 3;\n */\n RSA_OAEP_SHA256 = 3,\n}\n/**\n * @deprecated\n *\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.EncryptionKeyScheme\n */\nexport enum EncryptionKeyScheme {\n /**\n * @generated from protobuf enum value: ENCRYPTION_KEY_SCHEME_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * ECIES with ECDH over NIST P-256, AES128 GCM, and HKDF with HMAC-SHA256\n *\n * @generated from protobuf enum value: ENCRYPTION_KEY_SCHEME_ECIES_P256_HKDF_HMAC_SHA256_AES128GCM = 1;\n */\n ECIES_P256_HKDF_HMAC_SHA256_AES128GCM = 1,\n /**\n * ECIES with ECDH over NIST P-256, AES128 CBC, and HKDF and authentication with HMAC-SHA256\n *\n * @generated from protobuf enum value: ENCRYPTION_KEY_SCHEME_ECIES_P256_HMAC_SHA256A_ES128CBC = 2;\n */\n ECIES_P256_HMAC_SHA256A_ES128CBC = 2,\n /**\n * RSA with a 2048 bit key with OAEP Padding,\n * using SHA-256 for both the hash and in the MGF1 mask generation function along with an empty label.\n *\n * @generated from protobuf enum value: ENCRYPTION_KEY_SCHEME_RSA2048_OAEP_SHA256 = 3;\n */\n RSA2048_OAEP_SHA256 = 3,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.SymmetricKeyScheme\n */\nexport enum SymmetricKeyScheme {\n /**\n * @generated from protobuf enum value: SYMMETRIC_KEY_SCHEME_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * AES with 128bit keys in GCM\n *\n * @generated from protobuf enum value: SYMMETRIC_KEY_SCHEME_AES128GCM = 1;\n */\n AES128GCM = 1,\n}\n/**\n * Serialization format for crypto keys and signatures\n *\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.CryptoKeyFormat\n */\nexport enum CryptoKeyFormat {\n /**\n * @generated from protobuf enum value: CRYPTO_KEY_FORMAT_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * ASN.1 + DER encoding\n * Legacy format no longer used, except for migrations\n *\n * @generated from protobuf enum value: CRYPTO_KEY_FORMAT_DER = 2;\n */\n DER = 2,\n /**\n * Raw encoding of a key, used for symmetric keys\n *\n * @generated from protobuf enum value: CRYPTO_KEY_FORMAT_RAW = 3;\n */\n RAW = 3,\n /**\n * ASN.1 + DER-encoding of X.509 SubjectPublicKeyInfo structure: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1\n *\n * @generated from protobuf enum value: CRYPTO_KEY_FORMAT_DER_X509_SUBJECT_PUBLIC_KEY_INFO = 4;\n */\n DER_X509_SUBJECT_PUBLIC_KEY_INFO = 4,\n /**\n * ASN.1 + DER-encoding of PKCS #8 PrivateKeyInfo structure: https://datatracker.ietf.org/doc/html/rfc5208#section-5\n *\n * @generated from protobuf enum value: CRYPTO_KEY_FORMAT_DER_PKCS8_PRIVATE_KEY_INFO = 5;\n */\n DER_PKCS8_PRIVATE_KEY_INFO = 5,\n /**\n * Symbolic crypto, must only be used for testing\n *\n * @generated from protobuf enum value: CRYPTO_KEY_FORMAT_SYMBOLIC = 10000;\n */\n SYMBOLIC = 10000,\n}\n/**\n * @generated from protobuf enum com.digitalasset.canton.crypto.v30.PbkdfScheme\n */\nexport enum PbkdfScheme {\n /**\n * @generated from protobuf enum value: PBKDF_SCHEME_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * Argon2id with m=12288 (12 MiB), t=3, p=1\n *\n * @generated from protobuf enum value: PBKDF_SCHEME_ARGON2ID_MODE1 = 1;\n */\n ARGON2ID_MODE1 = 1,\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass Hmac$Type extends MessageType<Hmac> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.Hmac', [\n {\n no: 1,\n name: 'algorithm',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.HmacAlgorithm',\n HmacAlgorithm,\n 'HMAC_ALGORITHM_',\n ],\n },\n { no: 2, name: 'hmac', kind: 'scalar', T: 12 /*ScalarType.BYTES*/ },\n ])\n }\n create(value?: PartialMessage<Hmac>): Hmac {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.algorithm = 0\n message.hmac = new Uint8Array(0)\n if (value !== undefined)\n reflectionMergePartial<Hmac>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: Hmac\n ): Hmac {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.HmacAlgorithm algorithm */ 1:\n message.algorithm = reader.int32()\n break\n case /* bytes hmac */ 2:\n message.hmac = reader.bytes()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: Hmac,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.HmacAlgorithm algorithm = 1; */\n if (message.algorithm !== 0)\n writer.tag(1, WireType.Varint).int32(message.algorithm)\n /* bytes hmac = 2; */\n if (message.hmac.length)\n writer.tag(2, WireType.LengthDelimited).bytes(message.hmac)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.Hmac\n */\nexport const Hmac = new Hmac$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass Salt$Type extends MessageType<Salt> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.Salt', [\n {\n no: 1,\n name: 'hmac',\n kind: 'enum',\n oneof: 'algorithm',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.HmacAlgorithm',\n HmacAlgorithm,\n 'HMAC_ALGORITHM_',\n ],\n },\n { no: 2, name: 'salt', kind: 'scalar', T: 12 /*ScalarType.BYTES*/ },\n ])\n }\n create(value?: PartialMessage<Salt>): Salt {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.algorithm = { oneofKind: undefined }\n message.salt = new Uint8Array(0)\n if (value !== undefined)\n reflectionMergePartial<Salt>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: Salt\n ): Salt {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.HmacAlgorithm hmac */ 1:\n message.algorithm = {\n oneofKind: 'hmac',\n hmac: reader.int32(),\n }\n break\n case /* bytes salt */ 2:\n message.salt = reader.bytes()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: Salt,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.HmacAlgorithm hmac = 1; */\n if (message.algorithm.oneofKind === 'hmac')\n writer.tag(1, WireType.Varint).int32(message.algorithm.hmac)\n /* bytes salt = 2; */\n if (message.salt.length)\n writer.tag(2, WireType.LengthDelimited).bytes(message.salt)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.Salt\n */\nexport const Salt = new Salt$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass Signature$Type extends MessageType<Signature> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.Signature', [\n {\n no: 1,\n name: 'format',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SignatureFormat',\n SignatureFormat,\n 'SIGNATURE_FORMAT_',\n ],\n },\n {\n no: 2,\n name: 'signature',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 3,\n name: 'signed_by',\n kind: 'scalar',\n T: 9 /*ScalarType.STRING*/,\n },\n {\n no: 4,\n name: 'signing_algorithm_spec',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec',\n SigningAlgorithmSpec,\n 'SIGNING_ALGORITHM_SPEC_',\n ],\n },\n {\n no: 5,\n name: 'signature_delegation',\n kind: 'message',\n T: () => SignatureDelegation,\n },\n ])\n }\n create(value?: PartialMessage<Signature>): Signature {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.format = 0\n message.signature = new Uint8Array(0)\n message.signedBy = ''\n message.signingAlgorithmSpec = 0\n if (value !== undefined)\n reflectionMergePartial<Signature>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: Signature\n ): Signature {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.SignatureFormat format */ 1:\n message.format = reader.int32()\n break\n case /* bytes signature */ 2:\n message.signature = reader.bytes()\n break\n case /* string signed_by */ 3:\n message.signedBy = reader.string()\n break\n case /* com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec signing_algorithm_spec */ 4:\n message.signingAlgorithmSpec = reader.int32()\n break\n case /* optional com.digitalasset.canton.crypto.v30.SignatureDelegation signature_delegation */ 5:\n message.signatureDelegation =\n SignatureDelegation.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n message.signatureDelegation\n )\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: Signature,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.SignatureFormat format = 1; */\n if (message.format !== 0)\n writer.tag(1, WireType.Varint).int32(message.format)\n /* bytes signature = 2; */\n if (message.signature.length)\n writer.tag(2, WireType.LengthDelimited).bytes(message.signature)\n /* string signed_by = 3; */\n if (message.signedBy !== '')\n writer.tag(3, WireType.LengthDelimited).string(message.signedBy)\n /* com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec signing_algorithm_spec = 4; */\n if (message.signingAlgorithmSpec !== 0)\n writer.tag(4, WireType.Varint).int32(message.signingAlgorithmSpec)\n /* optional com.digitalasset.canton.crypto.v30.SignatureDelegation signature_delegation = 5; */\n if (message.signatureDelegation)\n SignatureDelegation.internalBinaryWrite(\n message.signatureDelegation,\n writer.tag(5, WireType.LengthDelimited).fork(),\n options\n ).join()\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.Signature\n */\nexport const Signature = new Signature$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass SignatureDelegation$Type extends MessageType<SignatureDelegation> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.SignatureDelegation', [\n {\n no: 1,\n name: 'session_key',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 2,\n name: 'session_key_spec',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningKeySpec',\n SigningKeySpec,\n 'SIGNING_KEY_SPEC_',\n ],\n },\n {\n no: 3,\n name: 'validity_period_from_inclusive',\n kind: 'scalar',\n T: 3 /*ScalarType.INT64*/,\n L: 0 /*LongType.BIGINT*/,\n },\n {\n no: 4,\n name: 'validity_period_duration_seconds',\n kind: 'scalar',\n T: 13 /*ScalarType.UINT32*/,\n },\n {\n no: 5,\n name: 'format',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SignatureFormat',\n SignatureFormat,\n 'SIGNATURE_FORMAT_',\n ],\n },\n {\n no: 6,\n name: 'signature',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 7,\n name: 'signing_algorithm_spec',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec',\n SigningAlgorithmSpec,\n 'SIGNING_ALGORITHM_SPEC_',\n ],\n },\n ])\n }\n create(value?: PartialMessage<SignatureDelegation>): SignatureDelegation {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.sessionKey = new Uint8Array(0)\n message.sessionKeySpec = 0\n message.validityPeriodFromInclusive = 0n\n message.validityPeriodDurationSeconds = 0\n message.format = 0\n message.signature = new Uint8Array(0)\n message.signingAlgorithmSpec = 0\n if (value !== undefined)\n reflectionMergePartial<SignatureDelegation>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: SignatureDelegation\n ): SignatureDelegation {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* bytes session_key */ 1:\n message.sessionKey = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.SigningKeySpec session_key_spec */ 2:\n message.sessionKeySpec = reader.int32()\n break\n case /* int64 validity_period_from_inclusive */ 3:\n message.validityPeriodFromInclusive = reader\n .int64()\n .toBigInt()\n break\n case /* uint32 validity_period_duration_seconds */ 4:\n message.validityPeriodDurationSeconds = reader.uint32()\n break\n case /* com.digitalasset.canton.crypto.v30.SignatureFormat format */ 5:\n message.format = reader.int32()\n break\n case /* bytes signature */ 6:\n message.signature = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec signing_algorithm_spec */ 7:\n message.signingAlgorithmSpec = reader.int32()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: SignatureDelegation,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* bytes session_key = 1; */\n if (message.sessionKey.length)\n writer.tag(1, WireType.LengthDelimited).bytes(message.sessionKey)\n /* com.digitalasset.canton.crypto.v30.SigningKeySpec session_key_spec = 2; */\n if (message.sessionKeySpec !== 0)\n writer.tag(2, WireType.Varint).int32(message.sessionKeySpec)\n /* int64 validity_period_from_inclusive = 3; */\n if (message.validityPeriodFromInclusive !== 0n)\n writer\n .tag(3, WireType.Varint)\n .int64(message.validityPeriodFromInclusive)\n /* uint32 validity_period_duration_seconds = 4; */\n if (message.validityPeriodDurationSeconds !== 0)\n writer\n .tag(4, WireType.Varint)\n .uint32(message.validityPeriodDurationSeconds)\n /* com.digitalasset.canton.crypto.v30.SignatureFormat format = 5; */\n if (message.format !== 0)\n writer.tag(5, WireType.Varint).int32(message.format)\n /* bytes signature = 6; */\n if (message.signature.length)\n writer.tag(6, WireType.LengthDelimited).bytes(message.signature)\n /* com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec signing_algorithm_spec = 7; */\n if (message.signingAlgorithmSpec !== 0)\n writer.tag(7, WireType.Varint).int32(message.signingAlgorithmSpec)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.SignatureDelegation\n */\nexport const SignatureDelegation = new SignatureDelegation$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass PublicKey$Type extends MessageType<PublicKey> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.PublicKey', [\n {\n no: 1,\n name: 'signing_public_key',\n kind: 'message',\n oneof: 'key',\n T: () => SigningPublicKey,\n },\n {\n no: 2,\n name: 'encryption_public_key',\n kind: 'message',\n oneof: 'key',\n T: () => EncryptionPublicKey,\n },\n ])\n }\n create(value?: PartialMessage<PublicKey>): PublicKey {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.key = { oneofKind: undefined }\n if (value !== undefined)\n reflectionMergePartial<PublicKey>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: PublicKey\n ): PublicKey {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.SigningPublicKey signing_public_key */ 1:\n message.key = {\n oneofKind: 'signingPublicKey',\n signingPublicKey: SigningPublicKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n (message.key as any).signingPublicKey\n ),\n }\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionPublicKey encryption_public_key */ 2:\n message.key = {\n oneofKind: 'encryptionPublicKey',\n encryptionPublicKey:\n EncryptionPublicKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n (message.key as any).encryptionPublicKey\n ),\n }\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: PublicKey,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.SigningPublicKey signing_public_key = 1; */\n if (message.key.oneofKind === 'signingPublicKey')\n SigningPublicKey.internalBinaryWrite(\n message.key.signingPublicKey,\n writer.tag(1, WireType.LengthDelimited).fork(),\n options\n ).join()\n /* com.digitalasset.canton.crypto.v30.EncryptionPublicKey encryption_public_key = 2; */\n if (message.key.oneofKind === 'encryptionPublicKey')\n EncryptionPublicKey.internalBinaryWrite(\n message.key.encryptionPublicKey,\n writer.tag(2, WireType.LengthDelimited).fork(),\n options\n ).join()\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.PublicKey\n */\nexport const PublicKey = new PublicKey$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass PublicKeyWithName$Type extends MessageType<PublicKeyWithName> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.PublicKeyWithName', [\n { no: 1, name: 'public_key', kind: 'message', T: () => PublicKey },\n { no: 2, name: 'name', kind: 'scalar', T: 9 /*ScalarType.STRING*/ },\n ])\n }\n create(value?: PartialMessage<PublicKeyWithName>): PublicKeyWithName {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.name = ''\n if (value !== undefined)\n reflectionMergePartial<PublicKeyWithName>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: PublicKeyWithName\n ): PublicKeyWithName {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.PublicKey public_key */ 1:\n message.publicKey = PublicKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n message.publicKey\n )\n break\n case /* string name */ 2:\n message.name = reader.string()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: PublicKeyWithName,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.PublicKey public_key = 1; */\n if (message.publicKey)\n PublicKey.internalBinaryWrite(\n message.publicKey,\n writer.tag(1, WireType.LengthDelimited).fork(),\n options\n ).join()\n /* string name = 2; */\n if (message.name !== '')\n writer.tag(2, WireType.LengthDelimited).string(message.name)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.PublicKeyWithName\n */\nexport const PublicKeyWithName = new PublicKeyWithName$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass PrivateKey$Type extends MessageType<PrivateKey> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.PrivateKey', [\n {\n no: 1,\n name: 'signing_private_key',\n kind: 'message',\n oneof: 'key',\n T: () => SigningPrivateKey,\n },\n {\n no: 2,\n name: 'encryption_private_key',\n kind: 'message',\n oneof: 'key',\n T: () => EncryptionPrivateKey,\n },\n ])\n }\n create(value?: PartialMessage<PrivateKey>): PrivateKey {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.key = { oneofKind: undefined }\n if (value !== undefined)\n reflectionMergePartial<PrivateKey>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: PrivateKey\n ): PrivateKey {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.SigningPrivateKey signing_private_key */ 1:\n message.key = {\n oneofKind: 'signingPrivateKey',\n signingPrivateKey: SigningPrivateKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n (message.key as any).signingPrivateKey\n ),\n }\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionPrivateKey encryption_private_key */ 2:\n message.key = {\n oneofKind: 'encryptionPrivateKey',\n encryptionPrivateKey:\n EncryptionPrivateKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n (message.key as any).encryptionPrivateKey\n ),\n }\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: PrivateKey,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.SigningPrivateKey signing_private_key = 1; */\n if (message.key.oneofKind === 'signingPrivateKey')\n SigningPrivateKey.internalBinaryWrite(\n message.key.signingPrivateKey,\n writer.tag(1, WireType.LengthDelimited).fork(),\n options\n ).join()\n /* com.digitalasset.canton.crypto.v30.EncryptionPrivateKey encryption_private_key = 2; */\n if (message.key.oneofKind === 'encryptionPrivateKey')\n EncryptionPrivateKey.internalBinaryWrite(\n message.key.encryptionPrivateKey,\n writer.tag(2, WireType.LengthDelimited).fork(),\n options\n ).join()\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.PrivateKey\n */\nexport const PrivateKey = new PrivateKey$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass SigningPublicKey$Type extends MessageType<SigningPublicKey> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.SigningPublicKey', [\n {\n no: 2,\n name: 'format',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.CryptoKeyFormat',\n CryptoKeyFormat,\n 'CRYPTO_KEY_FORMAT_',\n ],\n },\n {\n no: 3,\n name: 'public_key',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 4,\n name: 'scheme',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningKeyScheme',\n SigningKeyScheme,\n 'SIGNING_KEY_SCHEME_',\n ],\n },\n {\n no: 5,\n name: 'usage',\n kind: 'enum',\n repeat: 1 /*RepeatType.PACKED*/,\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningKeyUsage',\n SigningKeyUsage,\n 'SIGNING_KEY_USAGE_',\n ],\n },\n {\n no: 6,\n name: 'key_spec',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningKeySpec',\n SigningKeySpec,\n 'SIGNING_KEY_SPEC_',\n ],\n },\n ])\n }\n create(value?: PartialMessage<SigningPublicKey>): SigningPublicKey {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.format = 0\n message.publicKey = new Uint8Array(0)\n message.scheme = 0\n message.usage = []\n message.keySpec = 0\n if (value !== undefined)\n reflectionMergePartial<SigningPublicKey>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: SigningPublicKey\n ): SigningPublicKey {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format */ 2:\n message.format = reader.int32()\n break\n case /* bytes public_key */ 3:\n message.publicKey = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.SigningKeyScheme scheme = 4 [deprecated = true] */ 4:\n message.scheme = reader.int32()\n break\n case /* repeated com.digitalasset.canton.crypto.v30.SigningKeyUsage usage */ 5:\n if (wireType === WireType.LengthDelimited)\n for (\n let e = reader.int32() + reader.pos;\n reader.pos < e;\n )\n message.usage.push(reader.int32())\n else message.usage.push(reader.int32())\n break\n case /* com.digitalasset.canton.crypto.v30.SigningKeySpec key_spec */ 6:\n message.keySpec = reader.int32()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: SigningPublicKey,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 2; */\n if (message.format !== 0)\n writer.tag(2, WireType.Varint).int32(message.format)\n /* bytes public_key = 3; */\n if (message.publicKey.length)\n writer.tag(3, WireType.LengthDelimited).bytes(message.publicKey)\n /* com.digitalasset.canton.crypto.v30.SigningKeyScheme scheme = 4 [deprecated = true]; */\n if (message.scheme !== 0)\n writer.tag(4, WireType.Varint).int32(message.scheme)\n /* repeated com.digitalasset.canton.crypto.v30.SigningKeyUsage usage = 5; */\n if (message.usage.length) {\n writer.tag(5, WireType.LengthDelimited).fork()\n for (let i = 0; i < message.usage.length; i++)\n writer.int32(message.usage[i])\n writer.join()\n }\n /* com.digitalasset.canton.crypto.v30.SigningKeySpec key_spec = 6; */\n if (message.keySpec !== 0)\n writer.tag(6, WireType.Varint).int32(message.keySpec)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.SigningPublicKey\n */\nexport const SigningPublicKey = new SigningPublicKey$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass SigningPrivateKey$Type extends MessageType<SigningPrivateKey> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.SigningPrivateKey', [\n { no: 1, name: 'id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ },\n {\n no: 2,\n name: 'format',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.CryptoKeyFormat',\n CryptoKeyFormat,\n 'CRYPTO_KEY_FORMAT_',\n ],\n },\n {\n no: 3,\n name: 'private_key',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 4,\n name: 'scheme',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningKeyScheme',\n SigningKeyScheme,\n 'SIGNING_KEY_SCHEME_',\n ],\n },\n {\n no: 5,\n name: 'usage',\n kind: 'enum',\n repeat: 1 /*RepeatType.PACKED*/,\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningKeyUsage',\n SigningKeyUsage,\n 'SIGNING_KEY_USAGE_',\n ],\n },\n {\n no: 6,\n name: 'key_spec',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningKeySpec',\n SigningKeySpec,\n 'SIGNING_KEY_SPEC_',\n ],\n },\n ])\n }\n create(value?: PartialMessage<SigningPrivateKey>): SigningPrivateKey {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.id = ''\n message.format = 0\n message.privateKey = new Uint8Array(0)\n message.scheme = 0\n message.usage = []\n message.keySpec = 0\n if (value !== undefined)\n reflectionMergePartial<SigningPrivateKey>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: SigningPrivateKey\n ): SigningPrivateKey {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* string id */ 1:\n message.id = reader.string()\n break\n case /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format */ 2:\n message.format = reader.int32()\n break\n case /* bytes private_key */ 3:\n message.privateKey = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.SigningKeyScheme scheme = 4 [deprecated = true] */ 4:\n message.scheme = reader.int32()\n break\n case /* repeated com.digitalasset.canton.crypto.v30.SigningKeyUsage usage */ 5:\n if (wireType === WireType.LengthDelimited)\n for (\n let e = reader.int32() + reader.pos;\n reader.pos < e;\n )\n message.usage.push(reader.int32())\n else message.usage.push(reader.int32())\n break\n case /* com.digitalasset.canton.crypto.v30.SigningKeySpec key_spec */ 6:\n message.keySpec = reader.int32()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: SigningPrivateKey,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* string id = 1; */\n if (message.id !== '')\n writer.tag(1, WireType.LengthDelimited).string(message.id)\n /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 2; */\n if (message.format !== 0)\n writer.tag(2, WireType.Varint).int32(message.format)\n /* bytes private_key = 3; */\n if (message.privateKey.length)\n writer.tag(3, WireType.LengthDelimited).bytes(message.privateKey)\n /* com.digitalasset.canton.crypto.v30.SigningKeyScheme scheme = 4 [deprecated = true]; */\n if (message.scheme !== 0)\n writer.tag(4, WireType.Varint).int32(message.scheme)\n /* repeated com.digitalasset.canton.crypto.v30.SigningKeyUsage usage = 5; */\n if (message.usage.length) {\n writer.tag(5, WireType.LengthDelimited).fork()\n for (let i = 0; i < message.usage.length; i++)\n writer.int32(message.usage[i])\n writer.join()\n }\n /* com.digitalasset.canton.crypto.v30.SigningKeySpec key_spec = 6; */\n if (message.keySpec !== 0)\n writer.tag(6, WireType.Varint).int32(message.keySpec)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.SigningPrivateKey\n */\nexport const SigningPrivateKey = new SigningPrivateKey$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass SigningKeyPair$Type extends MessageType<SigningKeyPair> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.SigningKeyPair', [\n {\n no: 1,\n name: 'public_key',\n kind: 'message',\n T: () => SigningPublicKey,\n },\n {\n no: 2,\n name: 'private_key',\n kind: 'message',\n T: () => SigningPrivateKey,\n },\n ])\n }\n create(value?: PartialMessage<SigningKeyPair>): SigningKeyPair {\n const message = globalThis.Object.create(this.messagePrototype!)\n if (value !== undefined)\n reflectionMergePartial<SigningKeyPair>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: SigningKeyPair\n ): SigningKeyPair {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.SigningPublicKey public_key */ 1:\n message.publicKey = SigningPublicKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n message.publicKey\n )\n break\n case /* com.digitalasset.canton.crypto.v30.SigningPrivateKey private_key */ 2:\n message.privateKey = SigningPrivateKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n message.privateKey\n )\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: SigningKeyPair,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.SigningPublicKey public_key = 1; */\n if (message.publicKey)\n SigningPublicKey.internalBinaryWrite(\n message.publicKey,\n writer.tag(1, WireType.LengthDelimited).fork(),\n options\n ).join()\n /* com.digitalasset.canton.crypto.v30.SigningPrivateKey private_key = 2; */\n if (message.privateKey)\n SigningPrivateKey.internalBinaryWrite(\n message.privateKey,\n writer.tag(2, WireType.LengthDelimited).fork(),\n options\n ).join()\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.SigningKeyPair\n */\nexport const SigningKeyPair = new SigningKeyPair$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass RequiredSigningSpecs$Type extends MessageType<RequiredSigningSpecs> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.RequiredSigningSpecs', [\n {\n no: 1,\n name: 'algorithms',\n kind: 'enum',\n repeat: 1 /*RepeatType.PACKED*/,\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec',\n SigningAlgorithmSpec,\n 'SIGNING_ALGORITHM_SPEC_',\n ],\n },\n {\n no: 2,\n name: 'keys',\n kind: 'enum',\n repeat: 1 /*RepeatType.PACKED*/,\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SigningKeySpec',\n SigningKeySpec,\n 'SIGNING_KEY_SPEC_',\n ],\n },\n ])\n }\n create(value?: PartialMessage<RequiredSigningSpecs>): RequiredSigningSpecs {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.algorithms = []\n message.keys = []\n if (value !== undefined)\n reflectionMergePartial<RequiredSigningSpecs>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: RequiredSigningSpecs\n ): RequiredSigningSpecs {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* repeated com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec algorithms */ 1:\n if (wireType === WireType.LengthDelimited)\n for (\n let e = reader.int32() + reader.pos;\n reader.pos < e;\n )\n message.algorithms.push(reader.int32())\n else message.algorithms.push(reader.int32())\n break\n case /* repeated com.digitalasset.canton.crypto.v30.SigningKeySpec keys */ 2:\n if (wireType === WireType.LengthDelimited)\n for (\n let e = reader.int32() + reader.pos;\n reader.pos < e;\n )\n message.keys.push(reader.int32())\n else message.keys.push(reader.int32())\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: RequiredSigningSpecs,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* repeated com.digitalasset.canton.crypto.v30.SigningAlgorithmSpec algorithms = 1; */\n if (message.algorithms.length) {\n writer.tag(1, WireType.LengthDelimited).fork()\n for (let i = 0; i < message.algorithms.length; i++)\n writer.int32(message.algorithms[i])\n writer.join()\n }\n /* repeated com.digitalasset.canton.crypto.v30.SigningKeySpec keys = 2; */\n if (message.keys.length) {\n writer.tag(2, WireType.LengthDelimited).fork()\n for (let i = 0; i < message.keys.length; i++)\n writer.int32(message.keys[i])\n writer.join()\n }\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.RequiredSigningSpecs\n */\nexport const RequiredSigningSpecs = new RequiredSigningSpecs$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass EncryptionPublicKey$Type extends MessageType<EncryptionPublicKey> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.EncryptionPublicKey', [\n {\n no: 2,\n name: 'format',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.CryptoKeyFormat',\n CryptoKeyFormat,\n 'CRYPTO_KEY_FORMAT_',\n ],\n },\n {\n no: 3,\n name: 'public_key',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 4,\n name: 'scheme',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.EncryptionKeyScheme',\n EncryptionKeyScheme,\n 'ENCRYPTION_KEY_SCHEME_',\n ],\n },\n {\n no: 5,\n name: 'key_spec',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.EncryptionKeySpec',\n EncryptionKeySpec,\n 'ENCRYPTION_KEY_SPEC_',\n ],\n },\n ])\n }\n create(value?: PartialMessage<EncryptionPublicKey>): EncryptionPublicKey {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.format = 0\n message.publicKey = new Uint8Array(0)\n message.scheme = 0\n message.keySpec = 0\n if (value !== undefined)\n reflectionMergePartial<EncryptionPublicKey>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: EncryptionPublicKey\n ): EncryptionPublicKey {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format */ 2:\n message.format = reader.int32()\n break\n case /* bytes public_key */ 3:\n message.publicKey = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionKeyScheme scheme = 4 [deprecated = true] */ 4:\n message.scheme = reader.int32()\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionKeySpec key_spec */ 5:\n message.keySpec = reader.int32()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: EncryptionPublicKey,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 2; */\n if (message.format !== 0)\n writer.tag(2, WireType.Varint).int32(message.format)\n /* bytes public_key = 3; */\n if (message.publicKey.length)\n writer.tag(3, WireType.LengthDelimited).bytes(message.publicKey)\n /* com.digitalasset.canton.crypto.v30.EncryptionKeyScheme scheme = 4 [deprecated = true]; */\n if (message.scheme !== 0)\n writer.tag(4, WireType.Varint).int32(message.scheme)\n /* com.digitalasset.canton.crypto.v30.EncryptionKeySpec key_spec = 5; */\n if (message.keySpec !== 0)\n writer.tag(5, WireType.Varint).int32(message.keySpec)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.EncryptionPublicKey\n */\nexport const EncryptionPublicKey = new EncryptionPublicKey$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass EncryptionPrivateKey$Type extends MessageType<EncryptionPrivateKey> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.EncryptionPrivateKey', [\n { no: 1, name: 'id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ },\n {\n no: 2,\n name: 'format',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.CryptoKeyFormat',\n CryptoKeyFormat,\n 'CRYPTO_KEY_FORMAT_',\n ],\n },\n {\n no: 3,\n name: 'private_key',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 4,\n name: 'scheme',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.EncryptionKeyScheme',\n EncryptionKeyScheme,\n 'ENCRYPTION_KEY_SCHEME_',\n ],\n },\n {\n no: 5,\n name: 'key_spec',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.EncryptionKeySpec',\n EncryptionKeySpec,\n 'ENCRYPTION_KEY_SPEC_',\n ],\n },\n ])\n }\n create(value?: PartialMessage<EncryptionPrivateKey>): EncryptionPrivateKey {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.id = ''\n message.format = 0\n message.privateKey = new Uint8Array(0)\n message.scheme = 0\n message.keySpec = 0\n if (value !== undefined)\n reflectionMergePartial<EncryptionPrivateKey>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: EncryptionPrivateKey\n ): EncryptionPrivateKey {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* string id */ 1:\n message.id = reader.string()\n break\n case /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format */ 2:\n message.format = reader.int32()\n break\n case /* bytes private_key */ 3:\n message.privateKey = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionKeyScheme scheme = 4 [deprecated = true] */ 4:\n message.scheme = reader.int32()\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionKeySpec key_spec */ 5:\n message.keySpec = reader.int32()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: EncryptionPrivateKey,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* string id = 1; */\n if (message.id !== '')\n writer.tag(1, WireType.LengthDelimited).string(message.id)\n /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 2; */\n if (message.format !== 0)\n writer.tag(2, WireType.Varint).int32(message.format)\n /* bytes private_key = 3; */\n if (message.privateKey.length)\n writer.tag(3, WireType.LengthDelimited).bytes(message.privateKey)\n /* com.digitalasset.canton.crypto.v30.EncryptionKeyScheme scheme = 4 [deprecated = true]; */\n if (message.scheme !== 0)\n writer.tag(4, WireType.Varint).int32(message.scheme)\n /* com.digitalasset.canton.crypto.v30.EncryptionKeySpec key_spec = 5; */\n if (message.keySpec !== 0)\n writer.tag(5, WireType.Varint).int32(message.keySpec)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.EncryptionPrivateKey\n */\nexport const EncryptionPrivateKey = new EncryptionPrivateKey$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass EncryptionKeyPair$Type extends MessageType<EncryptionKeyPair> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.EncryptionKeyPair', [\n {\n no: 1,\n name: 'public_key',\n kind: 'message',\n T: () => EncryptionPublicKey,\n },\n {\n no: 2,\n name: 'private_key',\n kind: 'message',\n T: () => EncryptionPrivateKey,\n },\n ])\n }\n create(value?: PartialMessage<EncryptionKeyPair>): EncryptionKeyPair {\n const message = globalThis.Object.create(this.messagePrototype!)\n if (value !== undefined)\n reflectionMergePartial<EncryptionKeyPair>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: EncryptionKeyPair\n ): EncryptionKeyPair {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.EncryptionPublicKey public_key */ 1:\n message.publicKey = EncryptionPublicKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n message.publicKey\n )\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionPrivateKey private_key */ 2:\n message.privateKey =\n EncryptionPrivateKey.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n message.privateKey\n )\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: EncryptionKeyPair,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.EncryptionPublicKey public_key = 1; */\n if (message.publicKey)\n EncryptionPublicKey.internalBinaryWrite(\n message.publicKey,\n writer.tag(1, WireType.LengthDelimited).fork(),\n options\n ).join()\n /* com.digitalasset.canton.crypto.v30.EncryptionPrivateKey private_key = 2; */\n if (message.privateKey)\n EncryptionPrivateKey.internalBinaryWrite(\n message.privateKey,\n writer.tag(2, WireType.LengthDelimited).fork(),\n options\n ).join()\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.EncryptionKeyPair\n */\nexport const EncryptionKeyPair = new EncryptionKeyPair$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass RequiredEncryptionSpecs$Type extends MessageType<RequiredEncryptionSpecs> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.RequiredEncryptionSpecs', [\n {\n no: 1,\n name: 'algorithms',\n kind: 'enum',\n repeat: 1 /*RepeatType.PACKED*/,\n T: () => [\n 'com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec',\n EncryptionAlgorithmSpec,\n 'ENCRYPTION_ALGORITHM_SPEC_',\n ],\n },\n {\n no: 2,\n name: 'keys',\n kind: 'enum',\n repeat: 1 /*RepeatType.PACKED*/,\n T: () => [\n 'com.digitalasset.canton.crypto.v30.EncryptionKeySpec',\n EncryptionKeySpec,\n 'ENCRYPTION_KEY_SPEC_',\n ],\n },\n ])\n }\n create(\n value?: PartialMessage<RequiredEncryptionSpecs>\n ): RequiredEncryptionSpecs {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.algorithms = []\n message.keys = []\n if (value !== undefined)\n reflectionMergePartial<RequiredEncryptionSpecs>(\n this,\n message,\n value\n )\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: RequiredEncryptionSpecs\n ): RequiredEncryptionSpecs {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* repeated com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec algorithms */ 1:\n if (wireType === WireType.LengthDelimited)\n for (\n let e = reader.int32() + reader.pos;\n reader.pos < e;\n )\n message.algorithms.push(reader.int32())\n else message.algorithms.push(reader.int32())\n break\n case /* repeated com.digitalasset.canton.crypto.v30.EncryptionKeySpec keys */ 2:\n if (wireType === WireType.LengthDelimited)\n for (\n let e = reader.int32() + reader.pos;\n reader.pos < e;\n )\n message.keys.push(reader.int32())\n else message.keys.push(reader.int32())\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: RequiredEncryptionSpecs,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* repeated com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec algorithms = 1; */\n if (message.algorithms.length) {\n writer.tag(1, WireType.LengthDelimited).fork()\n for (let i = 0; i < message.algorithms.length; i++)\n writer.int32(message.algorithms[i])\n writer.join()\n }\n /* repeated com.digitalasset.canton.crypto.v30.EncryptionKeySpec keys = 2; */\n if (message.keys.length) {\n writer.tag(2, WireType.LengthDelimited).fork()\n for (let i = 0; i < message.keys.length; i++)\n writer.int32(message.keys[i])\n writer.join()\n }\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.RequiredEncryptionSpecs\n */\nexport const RequiredEncryptionSpecs = new RequiredEncryptionSpecs$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass CryptoKeyPair$Type extends MessageType<CryptoKeyPair> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.CryptoKeyPair', [\n {\n no: 1,\n name: 'signing_key_pair',\n kind: 'message',\n oneof: 'pair',\n T: () => SigningKeyPair,\n },\n {\n no: 2,\n name: 'encryption_key_pair',\n kind: 'message',\n oneof: 'pair',\n T: () => EncryptionKeyPair,\n },\n ])\n }\n create(value?: PartialMessage<CryptoKeyPair>): CryptoKeyPair {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.pair = { oneofKind: undefined }\n if (value !== undefined)\n reflectionMergePartial<CryptoKeyPair>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: CryptoKeyPair\n ): CryptoKeyPair {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.SigningKeyPair signing_key_pair */ 1:\n message.pair = {\n oneofKind: 'signingKeyPair',\n signingKeyPair: SigningKeyPair.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n (message.pair as any).signingKeyPair\n ),\n }\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionKeyPair encryption_key_pair */ 2:\n message.pair = {\n oneofKind: 'encryptionKeyPair',\n encryptionKeyPair: EncryptionKeyPair.internalBinaryRead(\n reader,\n reader.uint32(),\n options,\n (message.pair as any).encryptionKeyPair\n ),\n }\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: CryptoKeyPair,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.SigningKeyPair signing_key_pair = 1; */\n if (message.pair.oneofKind === 'signingKeyPair')\n SigningKeyPair.internalBinaryWrite(\n message.pair.signingKeyPair,\n writer.tag(1, WireType.LengthDelimited).fork(),\n options\n ).join()\n /* com.digitalasset.canton.crypto.v30.EncryptionKeyPair encryption_key_pair = 2; */\n if (message.pair.oneofKind === 'encryptionKeyPair')\n EncryptionKeyPair.internalBinaryWrite(\n message.pair.encryptionKeyPair,\n writer.tag(2, WireType.LengthDelimited).fork(),\n options\n ).join()\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.CryptoKeyPair\n */\nexport const CryptoKeyPair = new CryptoKeyPair$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass SymmetricKey$Type extends MessageType<SymmetricKey> {\n constructor() {\n super(\n 'com.digitalasset.canton.crypto.v30.SymmetricKey',\n [\n {\n no: 1,\n name: 'format',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.CryptoKeyFormat',\n CryptoKeyFormat,\n 'CRYPTO_KEY_FORMAT_',\n ],\n },\n {\n no: 2,\n name: 'key',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 3,\n name: 'scheme',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SymmetricKeyScheme',\n SymmetricKeyScheme,\n 'SYMMETRIC_KEY_SCHEME_',\n ],\n },\n ],\n {\n 'scalapb.message': {\n companionExtends: [\n 'com.digitalasset.canton.version.StableProtoVersion',\n ],\n },\n }\n )\n }\n create(value?: PartialMessage<SymmetricKey>): SymmetricKey {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.format = 0\n message.key = new Uint8Array(0)\n message.scheme = 0\n if (value !== undefined)\n reflectionMergePartial<SymmetricKey>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: SymmetricKey\n ): SymmetricKey {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format */ 1:\n message.format = reader.int32()\n break\n case /* bytes key */ 2:\n message.key = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.SymmetricKeyScheme scheme */ 3:\n message.scheme = reader.int32()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: SymmetricKey,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* com.digitalasset.canton.crypto.v30.CryptoKeyFormat format = 1; */\n if (message.format !== 0)\n writer.tag(1, WireType.Varint).int32(message.format)\n /* bytes key = 2; */\n if (message.key.length)\n writer.tag(2, WireType.LengthDelimited).bytes(message.key)\n /* com.digitalasset.canton.crypto.v30.SymmetricKeyScheme scheme = 3; */\n if (message.scheme !== 0)\n writer.tag(3, WireType.Varint).int32(message.scheme)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.SymmetricKey\n */\nexport const SymmetricKey = new SymmetricKey$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass PasswordBasedEncrypted$Type extends MessageType<PasswordBasedEncrypted> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.PasswordBasedEncrypted', [\n {\n no: 1,\n name: 'ciphertext',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 2,\n name: 'symmetric_key_scheme',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.SymmetricKeyScheme',\n SymmetricKeyScheme,\n 'SYMMETRIC_KEY_SCHEME_',\n ],\n },\n {\n no: 3,\n name: 'pbkdf_scheme',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.PbkdfScheme',\n PbkdfScheme,\n 'PBKDF_SCHEME_',\n ],\n },\n { no: 4, name: 'salt', kind: 'scalar', T: 12 /*ScalarType.BYTES*/ },\n ])\n }\n create(\n value?: PartialMessage<PasswordBasedEncrypted>\n ): PasswordBasedEncrypted {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.ciphertext = new Uint8Array(0)\n message.symmetricKeyScheme = 0\n message.pbkdfScheme = 0\n message.salt = new Uint8Array(0)\n if (value !== undefined)\n reflectionMergePartial<PasswordBasedEncrypted>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: PasswordBasedEncrypted\n ): PasswordBasedEncrypted {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* bytes ciphertext */ 1:\n message.ciphertext = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.SymmetricKeyScheme symmetric_key_scheme */ 2:\n message.symmetricKeyScheme = reader.int32()\n break\n case /* com.digitalasset.canton.crypto.v30.PbkdfScheme pbkdf_scheme */ 3:\n message.pbkdfScheme = reader.int32()\n break\n case /* bytes salt */ 4:\n message.salt = reader.bytes()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: PasswordBasedEncrypted,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* bytes ciphertext = 1; */\n if (message.ciphertext.length)\n writer.tag(1, WireType.LengthDelimited).bytes(message.ciphertext)\n /* com.digitalasset.canton.crypto.v30.SymmetricKeyScheme symmetric_key_scheme = 2; */\n if (message.symmetricKeyScheme !== 0)\n writer.tag(2, WireType.Varint).int32(message.symmetricKeyScheme)\n /* com.digitalasset.canton.crypto.v30.PbkdfScheme pbkdf_scheme = 3; */\n if (message.pbkdfScheme !== 0)\n writer.tag(3, WireType.Varint).int32(message.pbkdfScheme)\n /* bytes salt = 4; */\n if (message.salt.length)\n writer.tag(4, WireType.LengthDelimited).bytes(message.salt)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.PasswordBasedEncrypted\n */\nexport const PasswordBasedEncrypted = new PasswordBasedEncrypted$Type()\n// @generated message type with reflection information, may provide speed optimized methods\nclass AsymmetricEncrypted$Type extends MessageType<AsymmetricEncrypted> {\n constructor() {\n super('com.digitalasset.canton.crypto.v30.AsymmetricEncrypted', [\n {\n no: 1,\n name: 'ciphertext',\n kind: 'scalar',\n T: 12 /*ScalarType.BYTES*/,\n },\n {\n no: 2,\n name: 'encryption_algorithm_spec',\n kind: 'enum',\n T: () => [\n 'com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec',\n EncryptionAlgorithmSpec,\n 'ENCRYPTION_ALGORITHM_SPEC_',\n ],\n },\n {\n no: 3,\n name: 'fingerprint',\n kind: 'scalar',\n T: 9 /*ScalarType.STRING*/,\n },\n ])\n }\n create(value?: PartialMessage<AsymmetricEncrypted>): AsymmetricEncrypted {\n const message = globalThis.Object.create(this.messagePrototype!)\n message.ciphertext = new Uint8Array(0)\n message.encryptionAlgorithmSpec = 0\n message.fingerprint = ''\n if (value !== undefined)\n reflectionMergePartial<AsymmetricEncrypted>(this, message, value)\n return message\n }\n internalBinaryRead(\n reader: IBinaryReader,\n length: number,\n options: BinaryReadOptions,\n target?: AsymmetricEncrypted\n ): AsymmetricEncrypted {\n let message = target ?? this.create(),\n end = reader.pos + length\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag()\n switch (fieldNo) {\n case /* bytes ciphertext */ 1:\n message.ciphertext = reader.bytes()\n break\n case /* com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec encryption_algorithm_spec */ 2:\n message.encryptionAlgorithmSpec = reader.int32()\n break\n case /* string fingerprint */ 3:\n message.fingerprint = reader.string()\n break\n default:\n let u = options.readUnknownField\n if (u === 'throw')\n throw new globalThis.Error(\n `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`\n )\n let d = reader.skip(wireType)\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(\n this.typeName,\n message,\n fieldNo,\n wireType,\n d\n )\n }\n }\n return message\n }\n internalBinaryWrite(\n message: AsymmetricEncrypted,\n writer: IBinaryWriter,\n options: BinaryWriteOptions\n ): IBinaryWriter {\n /* bytes ciphertext = 1; */\n if (message.ciphertext.length)\n writer.tag(1, WireType.LengthDelimited).bytes(message.ciphertext)\n /* com.digitalasset.canton.crypto.v30.EncryptionAlgorithmSpec encryption_algorithm_spec = 2; */\n if (message.encryptionAlgorithmSpec !== 0)\n writer\n .tag(2, WireType.Varint)\n .int32(message.encryptionAlgorithmSpec)\n /* string fingerprint = 3; */\n if (message.fingerprint !== '')\n writer.tag(3, WireType.LengthDelimited).string(message.fingerprint)\n let u = options.writeUnknownFields\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(\n this.typeName,\n message,\n writer\n )\n return writer\n }\n}\n/**\n * @generated MessageType for protobuf message com.digitalasset.canton.crypto.v30.AsymmetricEncrypted\n */\nexport const AsymmetricEncrypted = new AsymmetricEncrypted$Type()\n"],"mappings":";;;;;;;;;;;;;;AAOA;;","names":[]}
|