diff --git a/.eslintrc.js b/.eslintrc.js index 3f10bbf4f71497a8fc8c172c2cd08608abb67fe0..f37a53160b3ab18fa81eb10f83adf14480649437 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -28,7 +28,10 @@ module.exports = { rules: { '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/explicit-module-boundary-types': 'off', - '@typescript-eslint/no-use-before-define': ['error', { functions: false, classes: false, variables: true }], + '@typescript-eslint/no-use-before-define': [ + 'error', + { functions: false, classes: false, variables: true }, + ], '@typescript-eslint/explicit-member-accessibility': 'error', 'no-console': 'error', '@typescript-eslint/ban-ts-comment': 'warn', @@ -72,14 +75,10 @@ module.exports = { }, overrides: [ { - files: [ - '*.spec.ts', - '*.e2e-spec.ts', - '**/tests/**', - ], + files: ['*.spec.ts', '*.e2e-spec.ts', '**/tests/**'], env: { jest: true, - node: false, + node: true, }, rules: { 'import/no-extraneous-dependencies': [ @@ -89,6 +88,6 @@ module.exports = { }, ], }, - } - ] -} + }, + ], +}; diff --git a/apps/attestation-manager/package.json b/apps/attestation-manager/package.json index 8def5be944205a00e2a0b4199c07d474e96e79b4..956f2f5355e32c852849210a067585f5f98a7a84 100644 --- a/apps/attestation-manager/package.json +++ b/apps/attestation-manager/package.json @@ -1,5 +1,5 @@ { - "name": "attestation-manager", + "name": "@ocm/attestation-manager", "version": "0.0.1", "description": "", "author": "Shirdhar", diff --git a/apps/attestation-manager/tsconfig.json b/apps/attestation-manager/tsconfig.json index 6f83eb665f830a10825b9d9b06931a87a6aad2d2..4082f16a5d91ce6f21a9092b14170eeecc8f1d75 100644 --- a/apps/attestation-manager/tsconfig.json +++ b/apps/attestation-manager/tsconfig.json @@ -1,3 +1,3 @@ { - "extends": "../../tsconfig.json", + "extends": "../../tsconfig.json" } diff --git a/apps/connection-manager/package.json b/apps/connection-manager/package.json index ebe600cf1527f1a9ce0892961558ce40d759d2ca..4eacd371fba4edd43d202d09e1d05dcfe9f1f195 100644 --- a/apps/connection-manager/package.json +++ b/apps/connection-manager/package.json @@ -1,5 +1,5 @@ { - "name": "connection-manager", + "name": "@ocm/connection-manager", "version": "0.0.1", "description": "", "author": "Sagar", diff --git a/apps/proof-manager/package.json b/apps/proof-manager/package.json index 6752fc6fcd384dd2129df205f7a55cbf1e59aef2..7faebbabda7301ba01421660de129adad07594ac 100644 --- a/apps/proof-manager/package.json +++ b/apps/proof-manager/package.json @@ -1,5 +1,5 @@ { - "name": "proof-manager", + "name": "@ocm/proof-manager", "version": "0.0.1", "description": "The Proof Manager provides an endpoint to request a presentation over an existing connection", "author": "Sagar", diff --git a/apps/shared/.swcrc b/apps/shared/.swcrc new file mode 100644 index 0000000000000000000000000000000000000000..f0831e454c02bece75b8b8b60ac59891a48fe7f2 --- /dev/null +++ b/apps/shared/.swcrc @@ -0,0 +1,20 @@ +{ + "jsc": { + "preserveAllComments": true, + "parser": { + "syntax": "typescript", + "tsx": false, + "decorators": true + }, + "transform": { + "legacyDecorator": true, + "decoratorMetadata": true + }, + "target": "es2022" + }, + "module": { + "type": "es6" + }, + "sourceMaps": true, + "exclude": [".spec.ts", ".e2e-spec.ts"] +} diff --git a/apps/shared/jest.config.js b/apps/shared/jest.config.js new file mode 100644 index 0000000000000000000000000000000000000000..1b2ee91fa88cada4d31ad3c2528291214de4aebe --- /dev/null +++ b/apps/shared/jest.config.js @@ -0,0 +1,50 @@ +/** @type {import('jest').Config} */ + +import { readFileSync } from 'node:fs'; + +const swcConfig = JSON.parse(readFileSync('./.swcrc', 'utf8')); + +export default { + moduleFileExtensions: ['js', 'ts'], + testEnvironment: 'node', + transform: { + '^.+\\.ts$': [ + '@swc/jest', + { + ...swcConfig, + sourceMaps: false, + exclude: [], + swcrc: false, + }, + ], + }, + extensionsToTreatAsEsm: ['.ts'], + moduleNameMapper: { + // ESM modules require `.js` extension to be specified, but Jest doesn't work with them + // Removing `.js` extension from module imports + '^uuid$': 'uuid', + '^(.*)/(.*)\\.js$': '$1/$2', + }, + collectCoverageFrom: ['src/**/*.(t|j)s'], + coverageReporters: + process.env.CI === 'true' + ? ['text-summary', 'json-summary'] + : ['text-summary', 'html'], + coveragePathIgnorePatterns: [ + '<rootDir>/node_modules/', + '<rootDir>/test/', + '<rootDir>/coverage/', + '<rootDir>/dist/', + '<rootDir>/**/test', + '@types', + '.dto.(t|j)s', + '.enum.ts', + '.interface.ts', + '.type.ts', + '.spec.ts', + ], + coverageDirectory: './coverage', + // With v8 coverage provider it's much faster, but + // with this enabled it's not possible to ignore whole files' coverage + coverageProvider: 'v8', +}; diff --git a/apps/shared/nest-cli.json b/apps/shared/nest-cli.json new file mode 100644 index 0000000000000000000000000000000000000000..0a947a58e97e43e99b3e3464b02179459ac759c7 --- /dev/null +++ b/apps/shared/nest-cli.json @@ -0,0 +1,8 @@ +{ + "collection": "@nestjs/schematics", + "sourceRoot": "src", + "compilerOptions": { + "builder": "swc", + "typeCheck": true + } +} diff --git a/apps/shared/package.json b/apps/shared/package.json new file mode 100644 index 0000000000000000000000000000000000000000..7e03331c11ce5bf77b37e18714e45cba6161174c --- /dev/null +++ b/apps/shared/package.json @@ -0,0 +1,46 @@ +{ + "name": "@ocm/shared", + "version": "0.0.1", + "description": "Shared functionality that can be reused between the services", + "author": "Spherity", + "private": true, + "type": "module", + "license": "Apache-2.0", + "main": "dist/index.js", + "scripts": { + "clean": "rimraf dist *.tsbuildinfo", + "prebuild": "rimraf dist", + "build": "nest build", + "build:production": "nest build -p tsconfig.production.json", + "start": "nest start", + "start:dev": "nest start --watch --preserveWatchOutput", + "test": "jest", + "test:watch": "jest --watch", + "test:cov": "jest --coverage", + "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", + "test:e2e": "jest --config ./test/jest.config.js" + }, + "dependencies": { + "@aries-framework/core": "0.4.2", + "@elastic/ecs-winston-format": "^1.5.0", + "@nestjs/common": "^10.2.10", + "@nestjs/microservices": "^10.2.10", + "axios": "^1.6.2", + "joi": "^17.6.0", + "nats": "^2.18.0", + "rxjs": "^7.2.0", + "winston": "^3.11.0" + }, + "devDependencies": { + "@types/jest": "^29.5.9", + "@types/node": "^20.9.3", + "@nestjs/cli": "^10.2.1", + "@nestjs/testing": "^10.2.10", + "rimraf": "^5.0.5", + "supertest": "^6.1.3", + "ts-jest": "^29.1.1", + "ts-node": "^10.0.0", + "tsconfig-paths": "^4.2.0", + "typescript": "~5.3.2" + } +} diff --git a/apps/ssi-abstraction/src/globalUtils/exception.handler.ts b/apps/shared/src/exceptions/rpcExceptionHandler.ts similarity index 99% rename from apps/ssi-abstraction/src/globalUtils/exception.handler.ts rename to apps/shared/src/exceptions/rpcExceptionHandler.ts index 593237dfbb996f579bfc0c1b6d88a4ca31dbe8af..b381da2db7fe906c44073faccb9b72393d34a9a8 100644 --- a/apps/ssi-abstraction/src/globalUtils/exception.handler.ts +++ b/apps/shared/src/exceptions/rpcExceptionHandler.ts @@ -4,7 +4,6 @@ import type { RpcException } from '@nestjs/microservices'; import { Catch } from '@nestjs/common'; import { throwError } from 'rxjs'; - @Catch() export class ExceptionHandler implements RpcExceptionFilter<RpcException> { public catch(exception: RpcException) { diff --git a/apps/ssi-abstraction/src/health/health.controller.ts b/apps/shared/src/health/health.controller.ts similarity index 100% rename from apps/ssi-abstraction/src/health/health.controller.ts rename to apps/shared/src/health/health.controller.ts diff --git a/apps/shared/src/index.ts b/apps/shared/src/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..a527485484ea923944f3420287a6ce60d41ff47c --- /dev/null +++ b/apps/shared/src/index.ts @@ -0,0 +1,5 @@ +export * from './exceptions/rpcExceptionHandler.js'; +export * from './health/health.controller.js'; + +export * from './logging/logger.js'; +export * from './logging/logAxiosError.js'; diff --git a/apps/ssi-abstraction/src/agent/utils/helperFunctions.ts b/apps/shared/src/logging/logAxiosError.ts similarity index 91% rename from apps/ssi-abstraction/src/agent/utils/helperFunctions.ts rename to apps/shared/src/logging/logAxiosError.ts index b21a3a6fa9da192487cdb4c9ddf17020555df1bb..8c82389216585d5325145f1f05277f45e64786c3 100644 --- a/apps/ssi-abstraction/src/agent/utils/helperFunctions.ts +++ b/apps/shared/src/logging/logAxiosError.ts @@ -1,6 +1,6 @@ import type { AxiosError } from 'axios'; -import { logger } from '../../globalUtils/logger.js'; +import { logger } from './logger.js'; export function logAxiosError(err: AxiosError) { if (err.response) { diff --git a/apps/ssi-abstraction/src/globalUtils/logger.spec.ts b/apps/shared/src/logging/logger.spec.ts similarity index 64% rename from apps/ssi-abstraction/src/globalUtils/logger.spec.ts rename to apps/shared/src/logging/logger.spec.ts index 3247bad1b74884cb96ccd76ce9728dbe93cca092..e6126f22cf7278b5405739e5e4e52f7ab4d5dccf 100644 --- a/apps/ssi-abstraction/src/globalUtils/logger.spec.ts +++ b/apps/shared/src/logging/logger.spec.ts @@ -1,5 +1,5 @@ describe('check logger', () => { - it('should return module', async () => { + it('should return module', () => { jest.requireActual('./logger'); }); }); diff --git a/apps/ssi-abstraction/src/globalUtils/logger.ts b/apps/shared/src/logging/logger.ts similarity index 91% rename from apps/ssi-abstraction/src/globalUtils/logger.ts rename to apps/shared/src/logging/logger.ts index 73c79a3e80f97ca2342f6df064719b032635ec2f..5244fc717ec0eca096f0666f424c99a90564d22a 100644 --- a/apps/ssi-abstraction/src/globalUtils/logger.ts +++ b/apps/shared/src/logging/logger.ts @@ -8,6 +8,9 @@ export const logger: Logger = createLogger({ transports: [new transports.Console()], }); +/** + * @todo: disable in production + */ logger.on('error', (error: Error) => { // eslint-disable-next-line no-console console.error('Error in logger caught', error); diff --git a/apps/shared/tsconfig.build.json b/apps/shared/tsconfig.build.json new file mode 100644 index 0000000000000000000000000000000000000000..b7dacb2abdea4b9e891f9c09da23f3f788628561 --- /dev/null +++ b/apps/shared/tsconfig.build.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "removeComments": false, + "declaration": true, + "sourceMap": true, + + "incremental": true, + "baseUrl": ".", + "outDir": "./dist", + "rootDir": "./src" + }, + "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] +} diff --git a/apps/shared/tsconfig.json b/apps/shared/tsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..4082f16a5d91ce6f21a9092b14170eeecc8f1d75 --- /dev/null +++ b/apps/shared/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/apps/shared/tsconfig.production.json b/apps/shared/tsconfig.production.json new file mode 100644 index 0000000000000000000000000000000000000000..0f476e0e42f3cedfb4b8d2b22b48d2d1ce28df0f --- /dev/null +++ b/apps/shared/tsconfig.production.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "composite": false, + "removeComments": true, + "declaration": false, + "sourceMap": false, + + "baseUrl": ".", + "outDir": "./dist", + "rootDir": "./src" + }, + "exclude": ["node_modules", "dist", "**/*spec.ts"] +} diff --git a/apps/ssi-abstraction/nest-cli.json b/apps/ssi-abstraction/nest-cli.json index 681ff0f833b6991dee64ef7d0a2c6d6c61caa77a..0a947a58e97e43e99b3e3464b02179459ac759c7 100644 --- a/apps/ssi-abstraction/nest-cli.json +++ b/apps/ssi-abstraction/nest-cli.json @@ -3,8 +3,6 @@ "sourceRoot": "src", "compilerOptions": { "builder": "swc", - "typeCheck": true, - - "assets": ["**/*.prisma"] + "typeCheck": true } } diff --git a/apps/ssi-abstraction/package.json b/apps/ssi-abstraction/package.json index 5ec76770c919f0dc9b952ba4e2cbc420c843c78f..3a05f268eb6f1b7e5a683360f82b92cc6bb898ae 100644 --- a/apps/ssi-abstraction/package.json +++ b/apps/ssi-abstraction/package.json @@ -1,5 +1,5 @@ { - "name": "ssi-abstraction", + "name": "@ocm/ssi-abstraction", "version": "0.0.1", "description": "A core OCM service that provides the SSI interface through REST endpoints and events.", "author": "Vereign", @@ -36,6 +36,7 @@ "@nestjs/core": "^10.2.10", "@nestjs/microservices": "^10.2.10", "@nestjs/terminus": "^10.1.1", + "@ocm/shared": "workspace:*", "axios": "^1.6.2", "express": "^4.17.3", "joi": "^17.6.0", diff --git a/apps/ssi-abstraction/src/agent/agent.service.ts b/apps/ssi-abstraction/src/agent/agent.service.ts index 6c3855e4dab472b1246aed442accfa2d4fd6feab..7e06a896bf77496b3db9532b23b318afabbe96d9 100644 --- a/apps/ssi-abstraction/src/agent/agent.service.ts +++ b/apps/ssi-abstraction/src/agent/agent.service.ts @@ -1,9 +1,6 @@ -import type { - LedgerIds} from './utils/ledgerConfig.js'; -import type { - InitConfig} from '@aries-framework/core'; -import type { - IndyVdrPoolConfig} from '@aries-framework/indy-vdr'; +import type { LedgerIds } from '../config/ledger.js'; +import type { InitConfig } from '@aries-framework/core'; +import type { IndyVdrPoolConfig } from '@aries-framework/indy-vdr'; import { AnonCredsModule } from '@aries-framework/anoncreds'; import { AnonCredsRsModule } from '@aries-framework/anoncreds-rs'; @@ -34,16 +31,12 @@ import { ariesAskar } from '@hyperledger/aries-askar-nodejs'; import { indyVdr } from '@hyperledger/indy-vdr-nodejs'; import { Injectable } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; +import { logger } from '@ocm/shared'; -import { logger } from '../globalUtils/logger.js'; +import { LEDGERS } from '../config/ledger.js'; import { registerPublicDids } from './ledger/register.js'; -import { - ledgerNamespaces, - LEDGER_GENESIS, -} from './utils/ledgerConfig.js'; -import { AgentLogger } from './utils/logger.js'; - +import { AgentLogger } from './logger.js'; export type AppAgent = Agent<AgentService['modules']>; @@ -134,15 +127,15 @@ export class AgentService { return ledgerIds.map((id: LedgerIds) => { const ledgerId: LedgerIds = id; - if (!LEDGER_GENESIS?.[ledgerId]) { + if (!LEDGERS[ledgerId]) { throw new Error( `No pool transaction genesis provided for ledger ${ledgerId}`, ); } const ledger: IndyVdrPoolConfig = { - indyNamespace: ledgerNamespaces[ledgerId], - genesisTransactions: LEDGER_GENESIS?.[ledgerId], + indyNamespace: LEDGERS[ledgerId].namespace, + genesisTransactions: LEDGERS[ledgerId].genesisTransaction, isProduction: false, }; diff --git a/apps/ssi-abstraction/src/agent/ledger/register.ts b/apps/ssi-abstraction/src/agent/ledger/register.ts index a14c1260df442a4f93808eb91a49167df48acff9..1bff2fb5ad5c22acfda14280cd5190fac871bd4f 100644 --- a/apps/ssi-abstraction/src/agent/ledger/register.ts +++ b/apps/ssi-abstraction/src/agent/ledger/register.ts @@ -1,10 +1,9 @@ -import type { LedgerIds } from '../utils/ledgerConfig.js'; +import type { LedgerIds } from '../../config/ledger.js'; +import { logger, logAxiosError } from '@ocm/shared'; import axios from 'axios'; -import { logger } from '../../globalUtils/logger.js'; -import { logAxiosError } from '../utils/helperFunctions.js'; -import { ledgerNamespaces, NYM_URL } from '../utils/ledgerConfig.js'; +import { LEDGERS } from '../../config/ledger.js'; type RegisterPublicDidOptions = { alias: string; @@ -32,8 +31,8 @@ export const registerPublicDids = async ({ const responses: Array<RegisterPublicDidResponse> = []; for (const ledgerId of ledgerIds) { try { - const ledgerRegisterUrl = NYM_URL[ledgerId]; - const ledgerNamespace = ledgerNamespaces[ledgerId]; + const ledgerRegisterUrl = LEDGERS[ledgerId].registerNymUrl; + const ledgerNamespace = LEDGERS[ledgerId].namespace; const body: LedgerRegistrationBody = { role: 'ENDORSER', diff --git a/apps/ssi-abstraction/src/agent/utils/logger.ts b/apps/ssi-abstraction/src/agent/logger.ts similarity index 96% rename from apps/ssi-abstraction/src/agent/utils/logger.ts rename to apps/ssi-abstraction/src/agent/logger.ts index 8fbd7793eddecebd9ba038856c2b708d75302b0a..a3702af530fcec21e0c33c865567301a721c8e13 100644 --- a/apps/ssi-abstraction/src/agent/utils/logger.ts +++ b/apps/ssi-abstraction/src/agent/logger.ts @@ -1,6 +1,5 @@ import { BaseLogger, LogLevel } from '@aries-framework/core'; - -import { logger } from '../../globalUtils/logger.js'; +import { logger } from '@ocm/shared'; export class AgentLogger extends BaseLogger { public test( diff --git a/apps/ssi-abstraction/src/app.module.ts b/apps/ssi-abstraction/src/app.module.ts index d7c24842f0a01aa1a45e889e232ed3325a4aaf46..762a4ebabc01787d9729b8a7cd547a39a3b46db3 100644 --- a/apps/ssi-abstraction/src/app.module.ts +++ b/apps/ssi-abstraction/src/app.module.ts @@ -1,12 +1,12 @@ import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { TerminusModule } from '@nestjs/terminus'; +import { HealthController } from '@ocm/shared'; import { AgentModule } from './agent/agent.module.js'; import { ConnectionModule } from './agent/connection/connection.module.js'; import { config } from './config/config.js'; import { validationSchema } from './config/validation.js'; -import { HealthController } from './health/health.controller.js'; @Module({ imports: [ diff --git a/apps/ssi-abstraction/src/common/response.ts b/apps/ssi-abstraction/src/common/response.ts deleted file mode 100644 index 6fe63e566ee537d340d7372754536b85dda0dd74..0000000000000000000000000000000000000000 --- a/apps/ssi-abstraction/src/common/response.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface ResponseType { - statusCode: number; - message: string; - data?: unknown; - error?: unknown; -} diff --git a/apps/ssi-abstraction/src/config/config.ts b/apps/ssi-abstraction/src/config/config.ts index 102dd755059d0c83f897009172910aa05a022b41..874026b28f0d69b6135be58ee4f567d7bde7c0ab 100644 --- a/apps/ssi-abstraction/src/config/config.ts +++ b/apps/ssi-abstraction/src/config/config.ts @@ -1,4 +1,4 @@ -import type { AutoAcceptCredential } from '@aries-framework/core'; +import { AutoAcceptCredential } from '@aries-framework/core'; interface Config { agentHost: string; @@ -13,7 +13,7 @@ interface Config { name: string; walletId: string; walletKey: string; - ledgerIds: string[] | undefined; + ledgerIds?: string[]; host: string; peerPort: string; path: string; @@ -37,14 +37,15 @@ export const config = (): Config => ({ name: process.env.AGENT_NAME || '', walletId: process.env.AGENT_WALLET_ID || '', walletKey: process.env.AGENT_WALLET_KEY || '', - ledgerIds: process.env.AGENT_LEDGER_ID?.split(',') || undefined, + ledgerIds: process.env.AGENT_LEDGER_ID?.split(','), host: process.env.AGENT_HOST || '', peerPort: process.env.AGENT_PEER_PORT || '', path: process.env.AGENT_URL_PATH || '', publicDidSeed: process.env.AGENT_PUBLIC_DID_SEED || '', autoAcceptConnection: process.env.AGENT_AUTO_ACCEPT_CONNECTION === 'true', - autoAcceptCredential: process.env - .AGENT_AUTO_ACCEPT_CREDENTIAL as AutoAcceptCredential, + autoAcceptCredential: + (process.env.AGENT_AUTO_ACCEPT_CREDENTIAL as AutoAcceptCredential) || + AutoAcceptCredential.ContentApproved, idUnionKey: process.env.AGENT_ID_UNION_KEY || '', }, }); diff --git a/apps/ssi-abstraction/src/agent/utils/ledgerConfig.ts b/apps/ssi-abstraction/src/config/ledger.ts similarity index 79% rename from apps/ssi-abstraction/src/agent/utils/ledgerConfig.ts rename to apps/ssi-abstraction/src/config/ledger.ts index 0c2675d8084de2fd7af95d94f9166fbdb90e9a88..eea8e8c6ebf3306904f91d7b02e26cee3dbbb194 100644 --- a/apps/ssi-abstraction/src/agent/utils/ledgerConfig.ts +++ b/apps/ssi-abstraction/src/config/ledger.ts @@ -1,5 +1,8 @@ -export const LEDGER_GENESIS = { - ID_UNION: `{"reqSignature":{},"txn":{"data":{"data":{"alias":"MainIncubator","blskey":"14MPfxHnRvCL5dnbpD3SjxekAGnKyjkmifDFLnMJAvHcvEAarDLWX6KawhubPujSmmUMqRmQfPQzBambrdUqBGgHDryDS6Aj8BioWRwZkyTcH1zzkVQ7vZjE5S6ri5epkiS1VkVX42Z22z4cohdHVuKTgeQB5mjAwi55xNeRxpxhrNb","blskey_pop":"QoqRe3vMPr5Bt1qHDstYewWkxb5VEdugnvumLCWpkZAeUpdqjjaSTSKKJtT7U7aCe8CmShGSdCZFWs9hcpmMSGfMnmon7R99UTJj4jEr48smyxo1UpBcgooznc8N8USkZ8hSec3bRbN9y6NppuaFzfgt1WmJ3cdFi9L1Wbj1fNs5CK","client_ip":"35.207.81.15","client_port":"9702","node_ip":"35.207.81.15","node_port":"9701","services":["VALIDATOR"]},"dest":"EQ2oCtWpMdUCzKgQ2hvbyQ2i6VyJuQF9LcpHRfiah6rW"},"metadata":{"from":"2MZYuPv2Km7Q1eD4GCsSb6"},"type":"0"},"txnMetadata":{"seqNo":1,"txnId":"0a35c047f19448f12a0c2961d8e3085140b8149d87291acbdaf56ed956900d48"},"ver":"1"} +export const LEDGERS = { + ID_UNION: { + registerNymUrl: 'https://idu.cloudcompass.ca/register', + namespace: 'idunion:test', + genesisTransaction: `{"reqSignature":{},"txn":{"data":{"data":{"alias":"MainIncubator","blskey":"14MPfxHnRvCL5dnbpD3SjxekAGnKyjkmifDFLnMJAvHcvEAarDLWX6KawhubPujSmmUMqRmQfPQzBambrdUqBGgHDryDS6Aj8BioWRwZkyTcH1zzkVQ7vZjE5S6ri5epkiS1VkVX42Z22z4cohdHVuKTgeQB5mjAwi55xNeRxpxhrNb","blskey_pop":"QoqRe3vMPr5Bt1qHDstYewWkxb5VEdugnvumLCWpkZAeUpdqjjaSTSKKJtT7U7aCe8CmShGSdCZFWs9hcpmMSGfMnmon7R99UTJj4jEr48smyxo1UpBcgooznc8N8USkZ8hSec3bRbN9y6NppuaFzfgt1WmJ3cdFi9L1Wbj1fNs5CK","client_ip":"35.207.81.15","client_port":"9702","node_ip":"35.207.81.15","node_port":"9701","services":["VALIDATOR"]},"dest":"EQ2oCtWpMdUCzKgQ2hvbyQ2i6VyJuQF9LcpHRfiah6rW"},"metadata":{"from":"2MZYuPv2Km7Q1eD4GCsSb6"},"type":"0"},"txnMetadata":{"seqNo":1,"txnId":"0a35c047f19448f12a0c2961d8e3085140b8149d87291acbdaf56ed956900d48"},"ver":"1"} {"reqSignature":{},"txn":{"data":{"data":{"alias":"tubzecm","blskey":"3Zpdx6LMWPdybnQKPq62S3TaWUhwypr7RV2BBFkeFigjKuue7KJ7rh5w1gZY9qgugww9vZnpURLSjBuTonJpfyfN5nn2ofwFQQa3viiT77hhFf6kQqoMH53f66ZfBNWU2LzphQikXsma9zjZWALMtMsNWx7ftNZ8yzMrZpf1X6VqYX5","blskey_pop":"RbPQSMsV8iuxNXVFNEUPvb6k1wQe1rxaXroMMkpHTstiiJfCApER38jW79Ew1yrnt5ndz7wJeDRU7CkLNzJ6pEZaRYjLzhZL2shRgyaGqnMqkxvD1ewxNMSz7cSgBSChwUgLBxsms5iDyshwAM5dx8B1GayMyATcFxAdgCRiDv3EHm","client_ip":"141.23.35.186","client_port":"9702","node_ip":"141.23.35.186","node_port":"9701","services":["VALIDATOR"]},"dest":"Ddqm5GATTcEb5hrgMBbVL8w6R6mtTHjUpdpyCeWg3pVS"},"metadata":{"from":"JhyMn8Nn3xy2zsXjPaPu3B"},"type":"0"},"txnMetadata":{"seqNo":2,"txnId":"e2f9efff1bfef015098ae299a665154fa39a898a5071d0af03c7f2311fe8577f"},"ver":"1"} {"reqSignature":{},"txn":{"data":{"data":{"alias":"Bosch","blskey":"WNBd2CBPJMSaBan72XhY1v5XSkExX7GRCqxM7WNSfveoDcHSLXbQ59K1mWAcgoJZd89NaYa5pLb7N3AcLxSNUj8HJXwjd8jMECvX9iiGESVn2ssb8VFX2TDE2RBVC4nU5jDexzpwqnhJk27ev64J8H21SpbBecbHvP49ZQpRVaq6WL","blskey_pop":"QkmprUBuiKmoUGkFLGVbozGfiFRcNnjfyL8Zg4VfjPpUT7i8YPoPExbDhFxUKofgavJ1ZEsG8VZECpNDC75anfTfivsuMBr5w4a31ZKuqwCscAXzmeTPrkTPo7QLXuYc1SQMTjrm8YEkBYzHuXktJzkJXvLERnoAdLWqPqMyYWUzGo","client_ip":"20.52.38.11","client_port":"9702","node_ip":"20.52.38.11","node_port":"9701","services":["VALIDATOR"]},"dest":"9oB1GdDzFyn4p1Pb6BotYuSXozdwDWXW5s2jRjg86KpZ"},"metadata":{"from":"K3Bf63TUe3nTj1SKuQVZ2e"},"type":"0"},"txnMetadata":{"seqNo":3,"txnId":"865ce0cf621e0d5f9c2dccb9e5079733a83d80ea2e814d32c3300bc2c2755b7b"},"ver":"1"} {"reqSignature":{},"txn":{"data":{"data":{"alias":"Bundesdruckerei","blskey":"ypA6Fzaqx3WgyeBWjahz94ZYMXdyRuC9v4NruuNVehxt3VgyRPnBeiRxNcXuN9x7PgD4Y585EkAZMSEUrpego9H75hiNppqFTBppPh8cMisKKxW2qZmePnwM8AR2MkWfsytP64AcZFxhXQw1Sx9SeDZwEZAhzNFg2CGY1Ywf1VyCkB","blskey_pop":"RBGcyWimwwZhTtJrW8f3br5osAFkSbpEsEyR3UtX3Lq82kFCA2yEn1H2HHYapmQ5KQ42ZAE2srfjYa5ihZGgs96oxAHpKdkPWX4rXcnxyFcbPihDCmqY9YvnR6DrzfLMc9ew5ac6xeQfiefiEZGMENFsehLPtiQyohSzZBFEqB8Tdy","client_ip":"193.28.64.163","client_port":"9702","node_ip":"193.28.64.163","node_port":"9701","services":["VALIDATOR"]},"dest":"8CMjmTUmAULZ25XUmLx3Gd2HX8bKf5uwPvF6oxcv3qfz"},"metadata":{"from":"BdrsFY8EFRNDwQpdKb6f5k"},"type":"0"},"txnMetadata":{"seqNo":4,"txnId":"8406be5a8bde1145f642a9955a80475c7256a9957b3a984c74ca6a8484f9c0f7"},"ver":"1"} @@ -8,26 +11,23 @@ export const LEDGER_GENESIS = { {"reqSignature":{},"txn":{"data":{"data":{"alias":"DeutscheBahn","blskey":"4nJSdxfx7MPdBH1ioFy4dk9hDgRV1D21JTKbWCkWAtvqwnMNfLgg8qrXhuNf5Ux8owBjMZPPQMiYsgwd7UbBTKmi8P4Hef6udXDq7p2EYGcM512JRRi8Z6igeijcRinnzLTM3Bso7xjJngaohMTZ2yNdRmB5WuyJKbZfr5qRbzEReMd","blskey_pop":"RZTAfkfry51g41qCVbYkKbsE9Nw16hx9k6Dnnun4vJbFLbtnyvuRfWHUVrjvfdbq48MRRRyY3miVGgxdugKMCSA9LxzmXJSCJG2Hxck2xsiFKUzznsqF6DWtGfo639WNz4Qk5xCvbDxhmmRYmZ3mJhUg8X3MEoCkQCsqAEi2oAQg9D","client_ip":"81.200.193.232","client_port":"9702","node_ip":"81.200.193.232","node_port":"9701","services":["VALIDATOR"]},"dest":"Ahb65rjbm94hNxM8jynTbWBMZyNmuuvtvsCAyntKSd3k"},"metadata":{"from":"JoCzEPXHeef6zYoXGx87aZ"},"type":"0"},"txnMetadata":{"seqNo":7,"txnId":"58b0a0cb860a20b41082d4d1b2419867156ca7aea3a0bdf2bdb318a270a6a367"},"ver":"1"} {"reqSignature":{},"txn":{"data":{"data":{"alias":"siemens","blskey":"2DpsFyaZFWpHChf9pbHiNtZx9ze7RfzRhdnaAp3ZHZmLrZivyyMcnM7xhyKoc9LkZCAd1kuQHtfYNtAW4yY4DsoDQnXzKmWkLbRRwA8aNjxFK1uGP8npAXpVNTnWieNuQpj9EgQSDU5WJYR3SDgrV7sx51vwsa6ggkhAJNENyMRqZHY","blskey_pop":"RCx6QwyeaLpAHaD3AGgGZSNqyxQLsaAa9H2kKoQAMpQXkh9XZfsZtGbZTvPK2ZTXHMVvUyfCmWvaM8YxuJGRZ7QQTFAg9ECaqLPKexrp3P4huHMMs7nzj992ECVnuu66Dppbn6AEEF46NQXcXEDsEquHEHhuzD1JV9oAvcqaPGu2Hm","client_ip":"3.120.0.165","client_port":"9702","node_ip":"3.120.0.165","node_port":"9701","services":["VALIDATOR"]},"dest":"9XrquGpmLMXq5v5UuVLmPdZ5nPVDbdtMLSEWzE9Phm8H"},"metadata":{"from":"GewebF4Nq1LLRw5gwX1Dwv"},"type":"0"},"txnMetadata":{"seqNo":8,"txnId":"30e363d3e8c59f2c1319f8d73d48e3ad26db5e087951a4d7ab809c6f5401aea8"},"ver":"1"} {"reqSignature":{},"txn":{"data":{"data":{"alias":"T-Labs","blskey":"qLCWHTGoARJxSM8yCj3zDnx4gUDaTwMoX2v9enhYTg1FRLN2Wcu9Dg91hrHKcrp1RiJMphAvRYbpXZLYN7AGiu3vCfiTfSuwM9qEWmhRe23KF67kQyRDNDVa8PZjPL7xhtsQRkJ5Gox3H6TmC8H2JFYBZ5JwcbieGfZMzMF5eDku1c","blskey_pop":"RPrk8q1pZAQhzEM8KhPTp9BKixe2PrJFJFhEV6M3uq8qDrUvpbZEWJUvm9iPnfh5cXrXTojNFo472XrVtbcxtnRwxz9Xrm2dfbARu5Gjxd5s9TGn145iKuzEEFrVt2usyf18E8XudD4ZwPovVVQgp9seKStnfYPKVTYTp726Ps5fQs","client_ip":"185.27.183.119","client_port":"9702","node_ip":"185.27.183.119","node_port":"9701","services":["VALIDATOR"]},"dest":"9k4Sjfxg2XqP2GcVAPHFuVJeY2bLbSUCPcVty6FRLzbY"},"metadata":{"from":"Ta94MpvKrQwTtiNMegQMvs"},"type":"0"},"txnMetadata":{"seqNo":9,"txnId":"1626d887a6323309883ab5fb8381f6176ab5e4ff4502389bb2978daee076cc39"},"ver":"1"}`, - BCOVRIN_TEST: `{"reqSignature":{},"txn":{"data":{"data":{"alias":"Node1","blskey":"4N8aUNHSgjQVgkpm8nhNEfDf6txHznoYREg9kirmJrkivgL4oSEimFF6nsQ6M41QvhM2Z33nves5vfSn9n1UwNFJBYtWVnHYMATn76vLuL3zU88KyeAYcHfsih3He6UHcXDxcaecHVz6jhCYz1P2UZn2bDVruL5wXpehgBfBaLKm3Ba","blskey_pop":"RahHYiCvoNCtPTrVtP7nMC5eTYrsUA8WjXbdhNc8debh1agE9bGiJxWBXYNFbnJXoXhWFMvyqhqhRoq737YQemH5ik9oL7R4NTTCz2LEZhkgLJzB3QRQqJyBNyv7acbdHrAT8nQ9UkLbaVL9NBpnWXBTw4LEMePaSHEw66RzPNdAX1","client_ip":"138.197.138.255","client_port":9702,"node_ip":"138.197.138.255","node_port":9701,"services":["VALIDATOR"]},"dest":"Gw6pDLhcBcoQesN72qfotTgFa7cbuqZpkX3Xo6pLhPhv"},"metadata":{"from":"Th7MpTaRZVRYnPiabds81Y"},"type":"0"},"txnMetadata":{"seqNo":1,"txnId":"fea82e10e894419fe2bea7d96296a6d46f50f93f9eeda954ec461b2ed2950b62"},"ver":"1"} + }, + BCOVRIN_TEST: { + registerNymUrl: 'http://test.bcovrin.vonx.io/register', + namespace: 'bcovrin:test', + genesisTransaction: `{"reqSignature":{},"txn":{"data":{"data":{"alias":"Node1","blskey":"4N8aUNHSgjQVgkpm8nhNEfDf6txHznoYREg9kirmJrkivgL4oSEimFF6nsQ6M41QvhM2Z33nves5vfSn9n1UwNFJBYtWVnHYMATn76vLuL3zU88KyeAYcHfsih3He6UHcXDxcaecHVz6jhCYz1P2UZn2bDVruL5wXpehgBfBaLKm3Ba","blskey_pop":"RahHYiCvoNCtPTrVtP7nMC5eTYrsUA8WjXbdhNc8debh1agE9bGiJxWBXYNFbnJXoXhWFMvyqhqhRoq737YQemH5ik9oL7R4NTTCz2LEZhkgLJzB3QRQqJyBNyv7acbdHrAT8nQ9UkLbaVL9NBpnWXBTw4LEMePaSHEw66RzPNdAX1","client_ip":"138.197.138.255","client_port":9702,"node_ip":"138.197.138.255","node_port":9701,"services":["VALIDATOR"]},"dest":"Gw6pDLhcBcoQesN72qfotTgFa7cbuqZpkX3Xo6pLhPhv"},"metadata":{"from":"Th7MpTaRZVRYnPiabds81Y"},"type":"0"},"txnMetadata":{"seqNo":1,"txnId":"fea82e10e894419fe2bea7d96296a6d46f50f93f9eeda954ec461b2ed2950b62"},"ver":"1"} {"reqSignature":{},"txn":{"data":{"data":{"alias":"Node2","blskey":"37rAPpXVoxzKhz7d9gkUe52XuXryuLXoM6P6LbWDB7LSbG62Lsb33sfG7zqS8TK1MXwuCHj1FKNzVpsnafmqLG1vXN88rt38mNFs9TENzm4QHdBzsvCuoBnPH7rpYYDo9DZNJePaDvRvqJKByCabubJz3XXKbEeshzpz4Ma5QYpJqjk","blskey_pop":"Qr658mWZ2YC8JXGXwMDQTzuZCWF7NK9EwxphGmcBvCh6ybUuLxbG65nsX4JvD4SPNtkJ2w9ug1yLTj6fgmuDg41TgECXjLCij3RMsV8CwewBVgVN67wsA45DFWvqvLtu4rjNnE9JbdFTc1Z4WCPA3Xan44K1HoHAq9EVeaRYs8zoF5","client_ip":"138.197.138.255","client_port":9704,"node_ip":"138.197.138.255","node_port":9703,"services":["VALIDATOR"]},"dest":"8ECVSk179mjsjKRLWiQtssMLgp6EPhWXtaYyStWPSGAb"},"metadata":{"from":"EbP4aYNeTHL6q385GuVpRV"},"type":"0"},"txnMetadata":{"seqNo":2,"txnId":"1ac8aece2a18ced660fef8694b61aac3af08ba875ce3026a160acbc3a3af35fc"},"ver":"1"} {"reqSignature":{},"txn":{"data":{"data":{"alias":"Node3","blskey":"3WFpdbg7C5cnLYZwFZevJqhubkFALBfCBBok15GdrKMUhUjGsk3jV6QKj6MZgEubF7oqCafxNdkm7eswgA4sdKTRc82tLGzZBd6vNqU8dupzup6uYUf32KTHTPQbuUM8Yk4QFXjEf2Usu2TJcNkdgpyeUSX42u5LqdDDpNSWUK5deC5","blskey_pop":"QwDeb2CkNSx6r8QC8vGQK3GRv7Yndn84TGNijX8YXHPiagXajyfTjoR87rXUu4G4QLk2cF8NNyqWiYMus1623dELWwx57rLCFqGh7N4ZRbGDRP4fnVcaKg1BcUxQ866Ven4gw8y4N56S5HzxXNBZtLYmhGHvDtk6PFkFwCvxYrNYjh","client_ip":"138.197.138.255","client_port":9706,"node_ip":"138.197.138.255","node_port":9705,"services":["VALIDATOR"]},"dest":"DKVxG2fXXTU8yT5N7hGEbXB3dfdAnYv1JczDUHpmDxya"},"metadata":{"from":"4cU41vWW82ArfxJxHkzXPG"},"type":"0"},"txnMetadata":{"seqNo":3,"txnId":"7e9f355dffa78ed24668f0e0e369fd8c224076571c51e2ea8be5f26479edebe4"},"ver":"1"} {"reqSignature":{},"txn":{"data":{"data":{"alias":"Node4","blskey":"2zN3bHM1m4rLz54MJHYSwvqzPchYp8jkHswveCLAEJVcX6Mm1wHQD1SkPYMzUDTZvWvhuE6VNAkK3KxVeEmsanSmvjVkReDeBEMxeDaayjcZjFGPydyey1qxBHmTvAnBKoPydvuTAqx5f7YNNRAdeLmUi99gERUU7TD8KfAa6MpQ9bw","blskey_pop":"RPLagxaR5xdimFzwmzYnz4ZhWtYQEj8iR5ZU53T2gitPCyCHQneUn2Huc4oeLd2B2HzkGnjAff4hWTJT6C7qHYB1Mv2wU5iHHGFWkhnTX9WsEAbunJCV2qcaXScKj4tTfvdDKfLiVuU2av6hbsMztirRze7LvYBkRHV3tGwyCptsrP","client_ip":"138.197.138.255","client_port":9708,"node_ip":"138.197.138.255","node_port":9707,"services":["VALIDATOR"]},"dest":"4PS3EDQ3dW1tci1Bp6543CfuuebjFrg36kLAUcskGfaA"},"metadata":{"from":"TWwCRQRZ2ZHMJFn9TzLp7W"},"type":"0"},"txnMetadata":{"seqNo":4,"txnId":"aa5e817d7cc626170eca175822029339a444eb0ee8f0bd20d3b0b76e566fb008"},"ver":"1"}`, - GREEN_LIGHT: `{"reqSignature":{},"txn":{"data":{"data":{"alias":"Node1","blskey":"4N8aUNHSgjQVgkpm8nhNEfDf6txHznoYREg9kirmJrkivgL4oSEimFF6nsQ6M41QvhM2Z33nves5vfSn9n1UwNFJBYtWVnHYMATn76vLuL3zU88KyeAYcHfsih3He6UHcXDxcaecHVz6jhCYz1P2UZn2bDVruL5wXpehgBfBaLKm3Ba","blskey_pop":"RahHYiCvoNCtPTrVtP7nMC5eTYrsUA8WjXbdhNc8debh1agE9bGiJxWBXYNFbnJXoXhWFMvyqhqhRoq737YQemH5ik9oL7R4NTTCz2LEZhkgLJzB3QRQqJyBNyv7acbdHrAT8nQ9UkLbaVL9NBpnWXBTw4LEMePaSHEw66RzPNdAX1","client_ip":"138.197.161.221","client_port":9702,"node_ip":"138.197.161.221","node_port":9701,"services":["VALIDATOR"]},"dest":"Gw6pDLhcBcoQesN72qfotTgFa7cbuqZpkX3Xo6pLhPhv"},"metadata":{"from":"Th7MpTaRZVRYnPiabds81Y"},"type":"0"},"txnMetadata":{"seqNo":1,"txnId":"fea82e10e894419fe2bea7d96296a6d46f50f93f9eeda954ec461b2ed2950b62"},"ver":"1"} + }, + GREEN_LIGHT: { + registerNymUrl: 'http://greenlight.bcovrin.vonx.io/register', + namespace: 'bcovrin:greenlight', + genesisTransaction: `{"reqSignature":{},"txn":{"data":{"data":{"alias":"Node1","blskey":"4N8aUNHSgjQVgkpm8nhNEfDf6txHznoYREg9kirmJrkivgL4oSEimFF6nsQ6M41QvhM2Z33nves5vfSn9n1UwNFJBYtWVnHYMATn76vLuL3zU88KyeAYcHfsih3He6UHcXDxcaecHVz6jhCYz1P2UZn2bDVruL5wXpehgBfBaLKm3Ba","blskey_pop":"RahHYiCvoNCtPTrVtP7nMC5eTYrsUA8WjXbdhNc8debh1agE9bGiJxWBXYNFbnJXoXhWFMvyqhqhRoq737YQemH5ik9oL7R4NTTCz2LEZhkgLJzB3QRQqJyBNyv7acbdHrAT8nQ9UkLbaVL9NBpnWXBTw4LEMePaSHEw66RzPNdAX1","client_ip":"138.197.161.221","client_port":9702,"node_ip":"138.197.161.221","node_port":9701,"services":["VALIDATOR"]},"dest":"Gw6pDLhcBcoQesN72qfotTgFa7cbuqZpkX3Xo6pLhPhv"},"metadata":{"from":"Th7MpTaRZVRYnPiabds81Y"},"type":"0"},"txnMetadata":{"seqNo":1,"txnId":"fea82e10e894419fe2bea7d96296a6d46f50f93f9eeda954ec461b2ed2950b62"},"ver":"1"} {"reqSignature":{},"txn":{"data":{"data":{"alias":"Node2","blskey":"37rAPpXVoxzKhz7d9gkUe52XuXryuLXoM6P6LbWDB7LSbG62Lsb33sfG7zqS8TK1MXwuCHj1FKNzVpsnafmqLG1vXN88rt38mNFs9TENzm4QHdBzsvCuoBnPH7rpYYDo9DZNJePaDvRvqJKByCabubJz3XXKbEeshzpz4Ma5QYpJqjk","blskey_pop":"Qr658mWZ2YC8JXGXwMDQTzuZCWF7NK9EwxphGmcBvCh6ybUuLxbG65nsX4JvD4SPNtkJ2w9ug1yLTj6fgmuDg41TgECXjLCij3RMsV8CwewBVgVN67wsA45DFWvqvLtu4rjNnE9JbdFTc1Z4WCPA3Xan44K1HoHAq9EVeaRYs8zoF5","client_ip":"138.197.161.221","client_port":9704,"node_ip":"138.197.161.221","node_port":9703,"services":["VALIDATOR"]},"dest":"8ECVSk179mjsjKRLWiQtssMLgp6EPhWXtaYyStWPSGAb"},"metadata":{"from":"EbP4aYNeTHL6q385GuVpRV"},"type":"0"},"txnMetadata":{"seqNo":2,"txnId":"1ac8aece2a18ced660fef8694b61aac3af08ba875ce3026a160acbc3a3af35fc"},"ver":"1"} {"reqSignature":{},"txn":{"data":{"data":{"alias":"Node3","blskey":"3WFpdbg7C5cnLYZwFZevJqhubkFALBfCBBok15GdrKMUhUjGsk3jV6QKj6MZgEubF7oqCafxNdkm7eswgA4sdKTRc82tLGzZBd6vNqU8dupzup6uYUf32KTHTPQbuUM8Yk4QFXjEf2Usu2TJcNkdgpyeUSX42u5LqdDDpNSWUK5deC5","blskey_pop":"QwDeb2CkNSx6r8QC8vGQK3GRv7Yndn84TGNijX8YXHPiagXajyfTjoR87rXUu4G4QLk2cF8NNyqWiYMus1623dELWwx57rLCFqGh7N4ZRbGDRP4fnVcaKg1BcUxQ866Ven4gw8y4N56S5HzxXNBZtLYmhGHvDtk6PFkFwCvxYrNYjh","client_ip":"138.197.161.221","client_port":9706,"node_ip":"138.197.161.221","node_port":9705,"services":["VALIDATOR"]},"dest":"DKVxG2fXXTU8yT5N7hGEbXB3dfdAnYv1JczDUHpmDxya"},"metadata":{"from":"4cU41vWW82ArfxJxHkzXPG"},"type":"0"},"txnMetadata":{"seqNo":3,"txnId":"7e9f355dffa78ed24668f0e0e369fd8c224076571c51e2ea8be5f26479edebe4"},"ver":"1"} {"reqSignature":{},"txn":{"data":{"data":{"alias":"Node4","blskey":"2zN3bHM1m4rLz54MJHYSwvqzPchYp8jkHswveCLAEJVcX6Mm1wHQD1SkPYMzUDTZvWvhuE6VNAkK3KxVeEmsanSmvjVkReDeBEMxeDaayjcZjFGPydyey1qxBHmTvAnBKoPydvuTAqx5f7YNNRAdeLmUi99gERUU7TD8KfAa6MpQ9bw","blskey_pop":"RPLagxaR5xdimFzwmzYnz4ZhWtYQEj8iR5ZU53T2gitPCyCHQneUn2Huc4oeLd2B2HzkGnjAff4hWTJT6C7qHYB1Mv2wU5iHHGFWkhnTX9WsEAbunJCV2qcaXScKj4tTfvdDKfLiVuU2av6hbsMztirRze7LvYBkRHV3tGwyCptsrP","client_ip":"138.197.161.221","client_port":9708,"node_ip":"138.197.161.221","node_port":9707,"services":["VALIDATOR"]},"dest":"4PS3EDQ3dW1tci1Bp6543CfuuebjFrg36kLAUcskGfaA"},"metadata":{"from":"TWwCRQRZ2ZHMJFn9TzLp7W"},"type":"0"},"txnMetadata":{"seqNo":4,"txnId":"aa5e817d7cc626170eca175822029339a444eb0ee8f0bd20d3b0b76e566fb008"},"ver":"1"}`, -}; - -export const NYM_URL = { - ID_UNION: 'https://idu.cloudcompass.ca/register', - BCOVRIN_TEST: 'http://test.bcovrin.vonx.io/register', - GREEN_LIGHT: 'http://greenlight.bcovrin.vonx.io/register', + }, } as const; -export type LedgerIds = keyof typeof LEDGER_GENESIS; - -export const ledgerNamespaces = { - ID_UNION: 'idunion:test', - BCOVRIN_TEST: 'bcovrin:test', - GREEN_LIGHT: 'bcovrin:greenlight', -}; +export type LedgerIds = keyof typeof LEDGERS; diff --git a/apps/ssi-abstraction/src/main.ts b/apps/ssi-abstraction/src/main.ts index 1d500b60262b2a2fd8c20103a72fe6bb5e7bcdd7..f2d3a7371dde4d9fd10330dde08ae5bb0da89b7f 100644 --- a/apps/ssi-abstraction/src/main.ts +++ b/apps/ssi-abstraction/src/main.ts @@ -1,4 +1,4 @@ -import type { MicroserviceOptions} from '@nestjs/microservices'; +import type { MicroserviceOptions } from '@nestjs/microservices'; import { NestFactory } from '@nestjs/core'; import { Transport } from '@nestjs/microservices'; diff --git a/apps/ssi-abstraction/src/middleware/agentMid.middleware.ts b/apps/ssi-abstraction/src/middleware/agent.middleware.ts similarity index 85% rename from apps/ssi-abstraction/src/middleware/agentMid.middleware.ts rename to apps/ssi-abstraction/src/middleware/agent.middleware.ts index 56d1bd13d8ed3bfa51b7b928afe21d5a1ce81a0f..494f6d39f81c571619b2c9ad6650600a46474316 100644 --- a/apps/ssi-abstraction/src/middleware/agentMid.middleware.ts +++ b/apps/ssi-abstraction/src/middleware/agent.middleware.ts @@ -1,4 +1,4 @@ -import type { NestMiddleware} from '@nestjs/common'; +import type { NestMiddleware } from '@nestjs/common'; import type { Request, NextFunction, Response } from 'express'; import { Injectable, HttpStatus } from '@nestjs/common'; @@ -8,7 +8,7 @@ import { Injectable, HttpStatus } from '@nestjs/common'; * to the requests. */ @Injectable() -export class AgentMid implements NestMiddleware { +export class AgentMiddleware implements NestMiddleware { public use(req: Request, res: Response, next: NextFunction) { const [, prop] = req.url.split('/'); if (prop === 'info') { diff --git a/apps/ssi-abstraction/test/didComm.e2e-spec.ts b/apps/ssi-abstraction/test/didComm.e2e-spec.ts deleted file mode 100644 index 28e77ba9a17fbe1db4ff62daabf6bda633774d57..0000000000000000000000000000000000000000 --- a/apps/ssi-abstraction/test/didComm.e2e-spec.ts +++ /dev/null @@ -1,33 +0,0 @@ -import type { INestApplication } from '@nestjs/common'; -import type { TestingModule } from '@nestjs/testing'; - -import { Test } from '@nestjs/testing'; -import request from 'supertest'; - -import { AppModule } from '../src/app.module.js'; - -describe('DidCommController (e2e)', () => { - let app: INestApplication; - - beforeAll(async () => { - const moduleFixture: TestingModule = await Test.createTestingModule({ - imports: [AppModule], - }).compile(); - - app = moduleFixture.createNestApplication(); - await app.init(); - }); - afterAll(async () => { - await app.close(); - }); - - it('/v1/agent/connections/createConnection (POST)', async () => { - await request(app.getHttpServer()) - .post('v1/agent/connections/createConnection') - .expect(200); - }); - - it('/v1/agent/info (GET)', async () => { - await request(app.getHttpServer()).post('v1/agent/info').expect(200); - }); -}); diff --git a/apps/ssi-abstraction/tsconfig.json b/apps/ssi-abstraction/tsconfig.json index 6f83eb665f830a10825b9d9b06931a87a6aad2d2..4082f16a5d91ce6f21a9092b14170eeecc8f1d75 100644 --- a/apps/ssi-abstraction/tsconfig.json +++ b/apps/ssi-abstraction/tsconfig.json @@ -1,3 +1,3 @@ { - "extends": "../../tsconfig.json", + "extends": "../../tsconfig.json" } diff --git a/compose/aries-mediator-service/acapy/configs/mediator-auto-accept.yml b/compose/aries-mediator-service/acapy/configs/mediator-auto-accept.yml index 8f828a31d21265b674243740d42cebaeb6fb5242..caa6eff781911a50af0a8847bc370b0f016eed3d 100644 --- a/compose/aries-mediator-service/acapy/configs/mediator-auto-accept.yml +++ b/compose/aries-mediator-service/acapy/configs/mediator-auto-accept.yml @@ -21,5 +21,5 @@ auto-ping-connection: true # Print an admin invite connections-invite: true -invite-label: "Mediator" +invite-label: 'Mediator' invite-multi-use: true diff --git a/compose/aries-mediator-service/acapy/configs/mediator-with-controller.yml b/compose/aries-mediator-service/acapy/configs/mediator-with-controller.yml index 5955f18c6b072f27cc2d759108cd6d626951cce3..afe62367e2e8bd413f7db9d023242eec61c138ca 100644 --- a/compose/aries-mediator-service/acapy/configs/mediator-with-controller.yml +++ b/compose/aries-mediator-service/acapy/configs/mediator-with-controller.yml @@ -20,5 +20,5 @@ auto-ping-connection: true # Print an admin invite connections-invite: true -invite-label: "Mediator" +invite-label: 'Mediator' invite-multi-use: true diff --git a/compose/aries-mediator-service/acapy/configs/mediator-with-plugin.yml b/compose/aries-mediator-service/acapy/configs/mediator-with-plugin.yml index 967bb426a00eb49a51558b304c066a60b5a637b7..cff780e028b15a41a7028ecf6c1d1391670cb1b2 100644 --- a/compose/aries-mediator-service/acapy/configs/mediator-with-plugin.yml +++ b/compose/aries-mediator-service/acapy/configs/mediator-with-plugin.yml @@ -58,5 +58,5 @@ plugin: # Print an admin invite connections-invite: true invite-metadata: '{"group": "admin"}' -invite-label: "Mediator (Admin)" +invite-label: 'Mediator (Admin)' invite-multi-use: true diff --git a/compose/aries-mediator-service/docker-compose.yml b/compose/aries-mediator-service/docker-compose.yml index 6ab06071b055223e87a7863111b2ab4fc202fe49..4cbb954dc51a4f295226a8096ddffd95de86472c 100644 --- a/compose/aries-mediator-service/docker-compose.yml +++ b/compose/aries-mediator-service/docker-compose.yml @@ -1,4 +1,4 @@ -version: "3" +version: '3' networks: mediator-network: @@ -120,7 +120,7 @@ services: environment: POSTGRES_PASSWORD: ${POSTGRESQL_ADMIN_PASSWORD:-development} ports: # Uncomment to access postgres outside of containers - - "5435:5432" + - '5435:5432' networks: - mediator-network volumes: diff --git a/compose/docker-compose.yml b/compose/docker-compose.yml index 9f3530f4061e469d1f981ec4b6d1f2ebf73521dc..befb8e148819ddb0b1e880fd310f69dbf10a7500 100644 --- a/compose/docker-compose.yml +++ b/compose/docker-compose.yml @@ -1,4 +1,4 @@ -version: "3.9" +version: '3.9' services: connection-manager: @@ -8,7 +8,7 @@ services: - SERVICE=connection-manager init: true ports: - - "3003:3003" + - '3003:3003' env_file: ./env/connection-manager.env depends_on: - db @@ -22,7 +22,7 @@ services: - SERVICE=attestation-manager init: true ports: - - "3005:3005" + - '3005:3005' env_file: ./env/attestation-manager.env depends_on: - db @@ -36,7 +36,7 @@ services: - SERVICE=proof-manager init: true ports: - - "3007:3007" + - '3007:3007' env_file: ./env/proof-manager.env depends_on: - db @@ -50,9 +50,9 @@ services: - SERVICE=ssi-abstraction init: true ports: - - "3009:3009" - - "3010:3010" - - "4000:4000" + - '3009:3009' + - '3010:3010' + - '4000:4000' env_file: ./env/ssi-abstraction.env depends_on: - db @@ -65,7 +65,7 @@ services: ports: - 5432:5432 healthcheck: - test: ["CMD", "pg_isready", "-q", "-d", "postgres", "-U", "root"] + test: ['CMD', 'pg_isready', '-q', '-d', 'postgres', '-U', 'root'] timeout: 45s interval: 10s retries: 10 diff --git a/package.json b/package.json index 92df10c51cd7d82fa7931fd5823a83d8d10f119e..973e734dd3f6f350c54329a7daa02abc2dc76581 100644 --- a/package.json +++ b/package.json @@ -10,9 +10,9 @@ "proof:build": "pnpm -F proof-manager build", "ssi:build": "pnpm -F ssi-abstraction build", "lint": "eslint --fix", - "lint:all": "npm run lint -- .", + "lint:all": "pnpm lint -- .", "format": "prettier --write", - "format:all": "npm run format -- .", + "format:all": "pnpm format -- .", "lint-staged": "lint-staged", "prepare": "husky install" }, @@ -31,4 +31,4 @@ "lint-staged": "^15.1.0", "prettier": "^3.1.0" } -} \ No newline at end of file +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 49df92a65ab29df4cd16a0908fccaccf11bbadfb..33d3924ae78ff9ac06d26d5085e7ab170bceb11f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,11 +9,11 @@ importers: .: devDependencies: '@commitlint/cli': - specifier: ^18.4.2 - version: 18.4.2(typescript@5.3.2) + specifier: ^18.4.3 + version: 18.4.3(typescript@5.3.2) '@commitlint/config-conventional': - specifier: ^18.4.2 - version: 18.4.2 + specifier: ^18.4.3 + version: 18.4.3 '@typescript-eslint/eslint-plugin': specifier: ^6.12.0 version: 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.3.2) @@ -36,8 +36,8 @@ importers: specifier: ^5.0.1 version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.54.0)(prettier@3.1.0) eslint-plugin-workspaces: - specifier: ^0.9.0 - version: 0.9.0 + specifier: ^0.10.0 + version: 0.10.0 husky: specifier: ^8.0.0 version: 8.0.3 @@ -477,6 +477,67 @@ importers: specifier: ^5.2.2 version: 5.2.2 + apps/shared: + dependencies: + '@aries-framework/core': + specifier: 0.4.2 + version: 0.4.2(expo@49.0.18)(react-native@0.72.7) + '@elastic/ecs-winston-format': + specifier: ^1.5.0 + version: 1.5.0 + '@nestjs/common': + specifier: ^10.2.10 + version: 10.2.10(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@nestjs/microservices': + specifier: ^10.2.10 + version: 10.2.10(@nestjs/common@10.2.10)(@nestjs/core@10.2.10)(nats@2.18.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) + axios: + specifier: ^1.6.2 + version: 1.6.2 + joi: + specifier: ^17.6.0 + version: 17.11.0 + nats: + specifier: ^2.18.0 + version: 2.18.0 + rxjs: + specifier: ^7.2.0 + version: 7.8.1 + winston: + specifier: ^3.11.0 + version: 3.11.0 + devDependencies: + '@nestjs/cli': + specifier: ^10.2.1 + version: 10.2.1 + '@nestjs/testing': + specifier: ^10.2.10 + version: 10.2.10(@nestjs/common@10.2.10)(@nestjs/core@10.2.10)(@nestjs/microservices@10.2.10) + '@types/jest': + specifier: ^29.5.9 + version: 29.5.10 + '@types/node': + specifier: ^20.9.3 + version: 20.9.4 + rimraf: + specifier: ^5.0.5 + version: 5.0.5 + supertest: + specifier: ^6.1.3 + version: 6.3.3 + ts-jest: + specifier: ^29.1.1 + version: 29.1.1(@babel/core@7.23.0)(jest@29.7.0)(typescript@5.3.2) + ts-node: + specifier: ^10.0.0 + version: 10.9.1(@types/node@20.9.4)(typescript@5.3.2) + tsconfig-paths: + specifier: ^4.2.0 + version: 4.2.0 + typescript: + specifier: ~5.3.2 + version: 5.3.2 + apps/ssi-abstraction: dependencies: '@aries-framework/anoncreds': @@ -527,6 +588,9 @@ importers: '@nestjs/terminus': specifier: ^10.1.1 version: 10.1.1(@nestjs/axios@3.0.1)(@nestjs/common@10.2.10)(@nestjs/core@10.2.10)(@nestjs/microservices@10.2.10)(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@ocm/shared': + specifier: workspace:* + version: link:../shared axios: specifier: ^1.6.2 version: 1.6.2 @@ -2356,16 +2420,16 @@ packages: engines: {node: '>=0.1.90'} dev: false - /@commitlint/cli@18.4.2(typescript@5.3.2): - resolution: {integrity: sha512-dDfb2+wzeQe6ogdHNHOy0J0nraok+La0BoxamNMhBOng9/5GoESPDmKUJ1Lt1oivh5MfIgZh0Vm6f0rxkB8CoA==} + /@commitlint/cli@18.4.3(typescript@5.3.2): + resolution: {integrity: sha512-zop98yfB3A6NveYAZ3P1Mb6bIXuCeWgnUfVNkH4yhIMQpQfzFwseadazOuSn0OOfTt0lWuFauehpm9GcqM5lww==} engines: {node: '>=v18'} hasBin: true dependencies: - '@commitlint/format': 18.4.0 - '@commitlint/lint': 18.4.2 - '@commitlint/load': 18.4.2(typescript@5.3.2) - '@commitlint/read': 18.4.0 - '@commitlint/types': 18.4.0 + '@commitlint/format': 18.4.3 + '@commitlint/lint': 18.4.3 + '@commitlint/load': 18.4.3(typescript@5.3.2) + '@commitlint/read': 18.4.3 + '@commitlint/types': 18.4.3 execa: 5.1.1 lodash.isfunction: 3.0.9 resolve-from: 5.0.0 @@ -2375,26 +2439,26 @@ packages: - typescript dev: true - /@commitlint/config-conventional@18.4.2: - resolution: {integrity: sha512-qFjIqgKGV89lzUGHxanq2WJDXk5wZIxoZmZvf0I4i4CirL06Xj8qRh1shPsXNyI15d8Rj2HExww6cGJSFU9DdA==} + /@commitlint/config-conventional@18.4.3: + resolution: {integrity: sha512-729eRRaNta7JZF07qf6SAGSghoDEp9mH7yHU0m7ff0q89W97wDrWCyZ3yoV3mcQJwbhlmVmZPTkPcm7qiAu8WA==} engines: {node: '>=v18'} dependencies: conventional-changelog-conventionalcommits: 7.0.2 dev: true - /@commitlint/config-validator@18.4.0: - resolution: {integrity: sha512-1y6qHMU3o4cYQSK+Y9EnmH6H1GRiwQGjnLIUOIKlekrmfc8MrMk1ByNmb8od4vK3qHJAaL/77/5n+1uyyIF5dA==} + /@commitlint/config-validator@18.4.3: + resolution: {integrity: sha512-FPZZmTJBARPCyef9ohRC9EANiQEKSWIdatx5OlgeHKu878dWwpyeFauVkhzuBRJFcCA4Uvz/FDtlDKs008IHcA==} engines: {node: '>=v18'} dependencies: - '@commitlint/types': 18.4.0 + '@commitlint/types': 18.4.3 ajv: 8.12.0 dev: true - /@commitlint/ensure@18.4.0: - resolution: {integrity: sha512-N5cJo/n61ULSwz3W5Iz/IZJ0I9H/PaHc+OMcF2XcRVbLa6B3YwzEW66XGCRKVULlsBNSrIH6tk5un9ayXAXIdw==} + /@commitlint/ensure@18.4.3: + resolution: {integrity: sha512-MI4fwD9TWDVn4plF5+7JUyLLbkOdzIRBmVeNlk4dcGlkrVA+/l5GLcpN66q9LkFsFv6G2X31y89ApA3hqnqIFg==} engines: {node: '>=v18'} dependencies: - '@commitlint/types': 18.4.0 + '@commitlint/types': 18.4.3 lodash.camelcase: 4.3.0 lodash.kebabcase: 4.1.1 lodash.snakecase: 4.1.1 @@ -2402,45 +2466,45 @@ packages: lodash.upperfirst: 4.3.1 dev: true - /@commitlint/execute-rule@18.4.0: - resolution: {integrity: sha512-g013SWki6ZWhURBLOSXTaVQGWHdA0QlPJGiW4a+YpThezmJOemvc4LiKVpn13AjSKQ40QnmBqpBrxujOaSo+3A==} + /@commitlint/execute-rule@18.4.3: + resolution: {integrity: sha512-t7FM4c+BdX9WWZCPrrbV5+0SWLgT3kCq7e7/GhHCreYifg3V8qyvO127HF796vyFql75n4TFF+5v1asOOWkV1Q==} engines: {node: '>=v18'} dev: true - /@commitlint/format@18.4.0: - resolution: {integrity: sha512-MiAe4D5/ahty38CzULdQbpRa3ReKZtx0kyigOWcntq+N5uqez+Ac4/MO7H+3j1kC4G7nfJVfBu6TqcXeyNvhCQ==} + /@commitlint/format@18.4.3: + resolution: {integrity: sha512-8b+ItXYHxAhRAXFfYki5PpbuMMOmXYuzLxib65z2XTqki59YDQJGpJ/wB1kEE5MQDgSTQWtKUrA8n9zS/1uIDQ==} engines: {node: '>=v18'} dependencies: - '@commitlint/types': 18.4.0 + '@commitlint/types': 18.4.3 chalk: 4.1.2 dev: true - /@commitlint/is-ignored@18.4.2: - resolution: {integrity: sha512-uujjyJlrXsMsQrv0r8HDGigAwJELPAMtA1Vxi2WUB54HbyAWa0Ue6ujMRZNKov2YeA96r6o72gLDnugb6yu8IA==} + /@commitlint/is-ignored@18.4.3: + resolution: {integrity: sha512-ZseOY9UfuAI32h9w342Km4AIaTieeFskm2ZKdrG7r31+c6zGBzuny9KQhwI9puc0J3GkUquEgKJblCl7pMnjwg==} engines: {node: '>=v18'} dependencies: - '@commitlint/types': 18.4.0 + '@commitlint/types': 18.4.3 semver: 7.5.4 dev: true - /@commitlint/lint@18.4.2: - resolution: {integrity: sha512-ljGOIH7w9SnjvZFoKjf30iWFxDnezfRtOc50+rNLdDP0TpLspaYYLPhDO/TeVdmii1/AJiDgBIuBboQlaIy7Bw==} + /@commitlint/lint@18.4.3: + resolution: {integrity: sha512-18u3MRgEXNbnYkMOWoncvq6QB8/90m9TbERKgdPqVvS+zQ/MsuRhdvHYCIXGXZxUb0YI4DV2PC4bPneBV/fYuA==} engines: {node: '>=v18'} dependencies: - '@commitlint/is-ignored': 18.4.2 - '@commitlint/parse': 18.4.0 - '@commitlint/rules': 18.4.0 - '@commitlint/types': 18.4.0 + '@commitlint/is-ignored': 18.4.3 + '@commitlint/parse': 18.4.3 + '@commitlint/rules': 18.4.3 + '@commitlint/types': 18.4.3 dev: true - /@commitlint/load@18.4.2(typescript@5.3.2): - resolution: {integrity: sha512-CKmzXdF9XwZJoVijAqpUlV9qzZOkyiYni4KuSCtTZVAAVudi9H84cJ4FqZxSwEP9G21vmoJiNrW8G042AsduVg==} + /@commitlint/load@18.4.3(typescript@5.3.2): + resolution: {integrity: sha512-v6j2WhvRQJrcJaj5D+EyES2WKTxPpxENmNpNG3Ww8MZGik3jWRXtph0QTzia5ZJyPh2ib5aC/6BIDymkUUM58Q==} engines: {node: '>=v18'} dependencies: - '@commitlint/config-validator': 18.4.0 - '@commitlint/execute-rule': 18.4.0 - '@commitlint/resolve-extends': 18.4.0 - '@commitlint/types': 18.4.0 + '@commitlint/config-validator': 18.4.3 + '@commitlint/execute-rule': 18.4.3 + '@commitlint/resolve-extends': 18.4.3 + '@commitlint/types': 18.4.3 '@types/node': 18.18.10 chalk: 4.1.2 cosmiconfig: 8.3.6(typescript@5.3.2) @@ -2453,68 +2517,68 @@ packages: - typescript dev: true - /@commitlint/message@18.4.0: - resolution: {integrity: sha512-3kg6NQO6pJ+VdBTWi51KInT8ngkxPJaW+iI7URtUALjKcO9K4XY3gf80ZPmS1hDessrjb7qCr1lau8eWMINAQw==} + /@commitlint/message@18.4.3: + resolution: {integrity: sha512-ddJ7AztWUIoEMAXoewx45lKEYEOeOlBVWjk8hDMUGpprkuvWULpaXczqdjwVtjrKT3JhhN+gMs8pm5G3vB2how==} engines: {node: '>=v18'} dev: true - /@commitlint/parse@18.4.0: - resolution: {integrity: sha512-SxTCSUZH8CJNYWOlFg18YUQ2RLz8ubXKbpHUIiSNwCbiQx7UDCydp1JnhoB4sOYOxgV8d3nuDwYluRU5KnEY4A==} + /@commitlint/parse@18.4.3: + resolution: {integrity: sha512-eoH7CXM9L+/Me96KVcfJ27EIIbA5P9sqw3DqjJhRYuhaULIsPHFs5S5GBDCqT0vKZQDx0DgxhMpW6AQbnKrFtA==} engines: {node: '>=v18'} dependencies: - '@commitlint/types': 18.4.0 - conventional-changelog-angular: 6.0.0 + '@commitlint/types': 18.4.3 + conventional-changelog-angular: 7.0.0 conventional-commits-parser: 5.0.0 dev: true - /@commitlint/read@18.4.0: - resolution: {integrity: sha512-IpnABCbDeOw5npZ09SZZGLfd3T7cFtsxUYm6wT3aGmIB2fXKE3fMeuj3jxXjMibiGIyA3Z5voCMuOcKWpkNySA==} + /@commitlint/read@18.4.3: + resolution: {integrity: sha512-H4HGxaYA6OBCimZAtghL+B+SWu8ep4X7BwgmedmqWZRHxRLcX2q0bWBtUm5FsMbluxbOfrJwOs/Z0ah4roP/GQ==} engines: {node: '>=v18'} dependencies: - '@commitlint/top-level': 18.4.0 - '@commitlint/types': 18.4.0 + '@commitlint/top-level': 18.4.3 + '@commitlint/types': 18.4.3 fs-extra: 11.1.1 git-raw-commits: 2.0.11 minimist: 1.2.8 dev: true - /@commitlint/resolve-extends@18.4.0: - resolution: {integrity: sha512-qhgU6ach+S6sJMD9NjCYiEycOObGhxzWQLQzqlScJCv9zkPs15Bg0ffLXTQ3z7ipXv46XEKYMnSJzjLRw2Tlkg==} + /@commitlint/resolve-extends@18.4.3: + resolution: {integrity: sha512-30sk04LZWf8+SDgJrbJCjM90gTg2LxsD9cykCFeFu+JFHvBFq5ugzp2eO/DJGylAdVaqxej3c7eTSE64hR/lnw==} engines: {node: '>=v18'} dependencies: - '@commitlint/config-validator': 18.4.0 - '@commitlint/types': 18.4.0 + '@commitlint/config-validator': 18.4.3 + '@commitlint/types': 18.4.3 import-fresh: 3.3.0 lodash.mergewith: 4.6.2 resolve-from: 5.0.0 resolve-global: 1.0.0 dev: true - /@commitlint/rules@18.4.0: - resolution: {integrity: sha512-T3ChRxQZ6g0iNCpVLc6KeQId0/86TnyQA8PFkng+dWElO2DAA5km/yirgKZV1Xlc+gF7Rf6d+a0ottxdKpOY+w==} + /@commitlint/rules@18.4.3: + resolution: {integrity: sha512-8KIeukDf45BiY+Lul1T0imSNXF0sMrlLG6JpLLKolkmYVQ6PxxoNOriwyZ3UTFFpaVbPy0rcITaV7U9JCAfDTA==} engines: {node: '>=v18'} dependencies: - '@commitlint/ensure': 18.4.0 - '@commitlint/message': 18.4.0 - '@commitlint/to-lines': 18.4.0 - '@commitlint/types': 18.4.0 + '@commitlint/ensure': 18.4.3 + '@commitlint/message': 18.4.3 + '@commitlint/to-lines': 18.4.3 + '@commitlint/types': 18.4.3 execa: 5.1.1 dev: true - /@commitlint/to-lines@18.4.0: - resolution: {integrity: sha512-bZXuCtfBPjNgtEnG3gwJrveIgfKK2UdhIhFvKpMTrQl/gAwoto/3mzmE7qGAHwmuP4eZ2U8X7iwMnqIlWmv2Tw==} + /@commitlint/to-lines@18.4.3: + resolution: {integrity: sha512-fy1TAleik4Zfru1RJ8ZU6cOSvgSVhUellxd3WZV1D5RwHZETt1sZdcA4mQN2y3VcIZsUNKkW0Mq8CM9/L9harQ==} engines: {node: '>=v18'} dev: true - /@commitlint/top-level@18.4.0: - resolution: {integrity: sha512-TfulcA8UHF7MZ6tm4Ci3aqZgMBZa1OoCg4prccWHvwG/hsHujZ7+0FKbeKqDbcSli/YWm4NJwEjl4uh5itIJeA==} + /@commitlint/top-level@18.4.3: + resolution: {integrity: sha512-E6fJPBLPFL5R8+XUNSYkj4HekIOuGMyJo3mIx2PkYc3clel+pcWQ7TConqXxNWW4x1ugigiIY2RGot55qUq1hw==} engines: {node: '>=v18'} dependencies: find-up: 5.0.0 dev: true - /@commitlint/types@18.4.0: - resolution: {integrity: sha512-MKeaFxt0I9fhqUb2E+YIzX/gZtmkuodJET/XKiZIMvXUff8Ee4Ih86eLg+yAm2jf1pwGBmU02uNOp0y094w2Uw==} + /@commitlint/types@18.4.3: + resolution: {integrity: sha512-cvzx+vtY/I2hVBZHCLrpoh+sA0hfuzHwDc+BAFPimYLjJkpHnghQM+z8W/KyLGkygJh3BtI3xXXq+dKjnSWEmA==} engines: {node: '>=v18'} dependencies: chalk: 4.1.2 @@ -6874,9 +6938,9 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - /conventional-changelog-angular@6.0.0: - resolution: {integrity: sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==} - engines: {node: '>=14'} + /conventional-changelog-angular@7.0.0: + resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} + engines: {node: '>=16'} dependencies: compare-func: 2.0.0 dev: true @@ -7805,10 +7869,10 @@ packages: synckit: 0.8.5 dev: true - /eslint-plugin-workspaces@0.9.0: - resolution: {integrity: sha512-krMuZ+yZgzwv1oTBfz50oamNVPDIm7CDyot3i1GRKBqMD2oXAwnXHLQWH7ctpV8k6YVrkhcaZhuV9IJxD8OPAQ==} + /eslint-plugin-workspaces@0.10.0: + resolution: {integrity: sha512-H692yRZFczzzyde0Sq3nmRDlyywv6foYJnmsxO3slWImJdCf4g5D+gzdWeRpmfitgUsFZxXVJdvW4OS6yY4M9g==} dependencies: - find-workspaces: 0.2.0 + find-workspaces: 0.3.0 dev: true /eslint-scope@5.1.1: @@ -8140,7 +8204,7 @@ packages: '@expo/config': 8.1.2 chalk: 4.1.2 commander: 7.2.0 - fast-glob: 3.3.1 + fast-glob: 3.3.2 find-up: 5.0.0 fs-extra: 9.1.0 transitivePeerDependencies: @@ -8286,6 +8350,16 @@ packages: merge2: 1.4.1 micromatch: 4.0.5 + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -8534,10 +8608,10 @@ packages: semver-regex: 4.0.5 dev: true - /find-workspaces@0.2.0: - resolution: {integrity: sha512-OTHryv88yjzwvbXHGi0+XRFu7Jqe5pFuIR2mhqdatDJQOBJd7MFJOPFJv4EbNo8n1BNM/13Y2KcyDpFQYf0ETw==} + /find-workspaces@0.3.0: + resolution: {integrity: sha512-sHdt3vbddcDuN0CYnKoG/b77jrOkSYPlxoM7ve7/vEvAd29XC7u/qE2zavRzJv4eD1sbTvDnRNZskdy/e0v83A==} dependencies: - fast-glob: 3.3.1 + fast-glob: 3.3.2 pkg-types: 1.0.3 yaml: 2.3.4 dev: true