version: 3.0 constants: baseUrl: http://localhost:3332 port: 3332 # please use your own X25519 key, this is only an example # you can generate a new key by running `veramo config gen-key` in a terminal dbEncryptionKey: 29739248cad1bd1a0fc4d9b75cd4d2990de535baf5caadfdf8d8f86664aa830c databaseFile: ./database.sqlite methods: - keyManagerGetKeyManagementSystems - keyManagerCreate - keyManagerGet - keyManagerDelete - keyManagerImport - keyManagerEncryptJWE - keyManagerDecryptJWE - keyManagerSign - keyManagerSharedSecret - keyManagerSignJWT - keyManagerSignEthTX - didManagerGetProviders - didManagerFind - didManagerGet - didManagerGetByAlias - didManagerCreate - didManagerGetOrCreate - didManagerUpdate - didManagerImport - didManagerDelete - didManagerAddKey - didManagerRemoveKey - didManagerAddService - didManagerRemoveService - resolveDid - getDIDComponentById - discoverDid - dataStoreGetMessage - dataStoreSaveMessage - dataStoreGetVerifiableCredential - dataStoreSaveVerifiableCredential - dataStoreGetVerifiablePresentation - dataStoreSaveVerifiablePresentation - dataStoreORMGetIdentifiers - dataStoreORMGetIdentifiersCount - dataStoreORMGetMessages - dataStoreORMGetMessagesCount - dataStoreORMGetVerifiableCredentialsByClaims - dataStoreORMGetVerifiableCredentialsByClaimsCount - dataStoreORMGetVerifiableCredentials - dataStoreORMGetVerifiableCredentialsCount - dataStoreORMGetVerifiablePresentations - dataStoreORMGetVerifiablePresentationsCount - handleMessage - packDIDCommMessage - unpackDIDCommMessage - sendDIDCommMessage - sendMessageDIDCommAlpha1 - createVerifiableCredential - createVerifiablePresentation - verifyCredential - verifyPresentation - createSelectiveDisclosureRequest - getVerifiableCredentialsForSdr - validatePresentationAgainstSdr - cheqdCreateIdentifier - cheqdUpdateIdentifier - cheqdDeactivateIdentifier - cheqdCreateLinkedResource - cheqdGenerateDidDoc - cheqdGenerateDidDocWithLinkedResource - cheqdGenerateIdentityKeys - cheqdGenerateVersionId # Data base dbConnection: $require: typeorm#DataSource $args: - type: sqlite database: $ref: /constants/databaseFile synchronize: false migrationsRun: true migrations: $require: '@veramo/data-store?t=object#migrations' logging: false entities: $require: '@veramo/data-store?t=object#Entities' # Server configuration server: baseUrl: $ref: /constants/baseUrl port: $ref: /constants/port use: # CORS - - $require: 'cors?t=function#default' # Add agent to the request object - - $require: '@veramo/remote-server?t=function#RequestWithAgentRouter' $args: - agent: $ref: /agent # DID Documents - - $require: '@veramo/remote-server?t=function#WebDidDocRouter' # API base path - - /messaging - $require: '@veramo/remote-server?t=function#MessagingRouter' $args: - metaData: type: DIDComm value: https # API base path - - /agent - $require: '@veramo/remote-server?t=function#apiKeyAuth' $args: - apiKey: test123 - $require: '@veramo/remote-server?t=function#AgentRouter' $args: - exposedMethods: $ref: /constants/methods # Open API schema - - /open-api.json - $require: '@veramo/remote-server?t=function#ApiSchemaRouter' $args: - basePath: :3332/agent securityScheme: bearer apiName: Agent apiVersion: '1.0.0' exposedMethods: $ref: /constants/methods # Swagger docs - - /api-docs - $require: swagger-ui-express?t=object#serve - $require: swagger-ui-express?t=function#setup $args: - null - swaggerOptions: url: '/open-api.json' # Execute during server initialization init: - $require: '@veramo/remote-server?t=function#createDefaultDid' $args: - agent: $ref: /agent baseUrl: $ref: /constants/baseUrl messagingServiceEndpoint: /messaging # Message handler plugin messageHandler: $require: '@veramo/message-handler#MessageHandler' $args: - messageHandlers: - $require: '@veramo/did-comm#DIDCommMessageHandler' - $require: '@veramo/did-comm#TrustPingMessageHandler' - $require: '@veramo/did-jwt#JwtMessageHandler' - $require: '@veramo/credential-w3c#W3cMessageHandler' - $require: '@veramo/selective-disclosure#SdrMessageHandler' # DID resolvers didResolver: $require: '@veramo/did-resolver#DIDResolverPlugin' $args: - resolver: $require: did-resolver#Resolver $args: - key: $ref: /did-key-resolver cheqd: $ref: /did-cheqd-resolver # cheqd: # $ref: /universal-resolver did-key-resolver: $require: '@veramo/did-provider-key?t=function&p=/key#getDidKeyResolver' did-cheqd-resolver: $require: '@cheqd/did-provider-cheqd?t=function&p=/cheqd#getResolver' $args: - url: 'https://resolver.cheqd.net/1.0/identifiers/' # universal-resolver: # $require: '@veramo/did-resolver#UniversalResolver' # $args: # - url: https://dev.uniresolver.io/1.0/identifiers/ # Key Manager keyManager: $require: '@veramo/key-manager#KeyManager' $args: - store: $require: '@veramo/data-store#KeyStore' $args: - $ref: /dbConnection kms: local: $require: '@veramo/kms-local#KeyManagementSystem' $args: - $require: '@veramo/data-store#PrivateKeyStore' $args: - $ref: /dbConnection - $require: '@veramo/kms-local#SecretBox' $args: - $ref: /constants/dbEncryptionKey didCheqdMainnetProvider: $require: '@cheqd/did-provider-cheqd#CheqdDIDProvider' $args: - defaultKms: local cosmosPayerSeed: networkType: mainnet rpcUrl: 'https://rpc.cheqd.net' dkgOptions: chain: cheqdMainnet network: cayenne didCheqdTestnetProvider: $require: '@cheqd/did-provider-cheqd#CheqdDIDProvider' $args: - defaultKms: local cosmosPayerSeed: networkType: testnet rpcUrl: 'https://rpc.cheqd.network' dkgOptions: chain: cheqdTestnet network: cayenne # DID Manager didManager: $require: '@veramo/did-manager#DIDManager' $args: - store: $require: '@veramo/data-store#DIDStore' $args: - $ref: /dbConnection defaultProvider: did:cheqd:testnet providers: did:cheqd:mainnet: $ref: /didCheqdMainnetProvider did:cheqd:testnet: $ref: /didCheqdTestnetProvider did:key: $require: '@veramo/did-provider-key#KeyDIDProvider' $args: - defaultKms: local didDiscovery: $require: '@veramo/did-discovery#DIDDiscovery' $args: - providers: - $require: '@veramo/did-manager#AliasDiscoveryProvider' - $require: '@veramo/data-store#DataStoreDiscoveryProvider' # W3C credentialPlugin credentialIssuerLD: $require: '@veramo/credential-ld#CredentialIssuerLD' $args: - suites: - $require: '@veramo/credential-ld#VeramoEd25519Signature2018' - $require: '@veramo/credential-ld#VeramoEcdsaSecp256k1RecoverySignature2020' contextMaps: # The LdDefaultContext is a "catch-all" for now. - $require: '@veramo/credential-ld?t=object#LdDefaultContexts' - $require: '@transmute/credentials-context?t=object#contexts' # others should be included here # Agent agent: $require: '@veramo/core#Agent' $args: - schemaValidation: false plugins: - $ref: /keyManager - $ref: /didManager - $ref: /didResolver - $ref: /didDiscovery - $ref: /messageHandler - $require: '@veramo/did-comm#DIDComm' - $require: '@veramo/credential-w3c#CredentialPlugin' - $ref: /credentialIssuerLD - $require: '@veramo/selective-disclosure#SelectiveDisclosure' - $require: '@veramo/data-store#DataStore' $args: - $ref: /dbConnection - $require: '@veramo/data-store#DataStoreORM' $args: - $ref: /dbConnection - $require: '@cheqd/did-provider-cheqd#Cheqd' $args: - providers: - $ref: /didCheqdTestnetProvider - $ref: /didCheqdMainnetProvider