// Created from the setup in https://veramo.io/docs/guides/react_native // Core interfaces /* import { createAgent, IDIDManager, IResolver, IDataStore, IKeyManager, } from "@veramo/core"; */ // Core identity manager plugin //import { DIDManager } from "@veramo/did-manager"; // Ethr did identity provider //import { EthrDIDProvider } from "@veramo/did-provider-ethr"; // Core key manager plugin //import { KeyManager } from "@veramo/key-manager"; // Custom key management system for RN //import { KeyManagementSystem } from '@veramo/kms-local-react-native' // Custom resolver // Custom resolvers //import { DIDResolverPlugin } from "@veramo/did-resolver"; /* import { Resolver } from "did-resolver"; import { getResolver as ethrDidResolver } from "ethr-did-resolver"; import { getResolver as webDidResolver } from "web-did-resolver"; */ // for VCs and VPs https://veramo.io/docs/api/credential-w3c //import { CredentialIssuer } from '@veramo/credential-w3c' // Storage plugin using TypeOrm /* import { Entities, KeyStore, DIDStore, IDataStoreORM, } from "@veramo/data-store"; */ // TypeORM is installed with @veramo/typeorm //import { createConnection } from 'typeorm' //import * as R from "ramda"; /* import { Contact } from '../entity/contact' import { Settings } from '../entity/settings' import { PrivateData } from '../entity/privateData' import { Initial1616938713828 } from '../migration/1616938713828-initial' import { SettingsContacts1616967972293 } from '../migration/1616967972293-settings-contacts' import { EncryptedSeed1637856484788 } from '../migration/1637856484788-EncryptedSeed' import { HomeScreenConfig1639947962124 } from '../migration/1639947962124-HomeScreenConfig' import { HandlePublicKeys1652142819353 } from '../migration/1652142819353-HandlePublicKeys' import { LastClaimsSeen1656811846836 } from '../migration/1656811846836-LastClaimsSeen' import { ContactRegistered1662256903367 }from '../migration/1662256903367-ContactRegistered' import { PrivateData1663080623479 } from '../migration/1663080623479-PrivateData' const ALL_ENTITIES = Entities.concat([Contact, Settings, PrivateData]) // Create react native DB connection configured by ormconfig.js export const dbConnection = createConnection({ database: 'endorser-mobile.sqlite', entities: ALL_ENTITIES, location: 'default', logging: ['error', 'info', 'warn'], migrations: [ Initial1616938713828, SettingsContacts1616967972293, EncryptedSeed1637856484788, HomeScreenConfig1639947962124, HandlePublicKeys1652142819353, LastClaimsSeen1656811846836, ContactRegistered1662256903367, PrivateData1663080623479 ], migrationsRun: true, type: 'react-native', }) */ function didProviderName(netName: string) { return "did:ethr" + (netName === "mainnet" ? "" : ":" + netName); } //const NETWORK_NAMES = ["mainnet", "rinkeby"]; const DEFAULT_DID_PROVIDER_NETWORK_NAME = "mainnet"; export const DEFAULT_DID_PROVIDER_NAME = didProviderName( DEFAULT_DID_PROVIDER_NETWORK_NAME ); export const HANDY_APP = false; // this is used as the object in RegisterAction claims export const SERVICE_ID = "endorser.ch"; //const INFURA_PROJECT_ID = "INFURA_PROJECT_ID"; /* const providers = {} NETWORK_NAMES.forEach((networkName) => { providers[didProviderName(networkName)] = new EthrDIDProvider({ defaultKms: 'local', network: networkName, rpcUrl: 'https://' + networkName + '.infura.io/v3/' + INFURA_PROJECT_ID, gas: 1000001, ttl: 60 * 60 * 24 * 30 * 12 + 1, }) }) const didManager = new DIDManager({ store: new DIDStore(dbConnection), defaultProvider: DEFAULT_DID_PROVIDER_NAME, providers: providers, }) */ /* const basicDidResolvers = NETWORK_NAMES.map((networkName) => [ networkName, new Resolver({ ethr: ethrDidResolver({ networks: [ { name: networkName, rpcUrl: "https://" + networkName + ".infura.io/v3/" + INFURA_PROJECT_ID, }, ], }).ethr, web: webDidResolver().web, }), ]); const basicResolverMap = R.fromPairs(basicDidResolvers) export const DEFAULT_BASIC_RESOLVER = basicResolverMap[DEFAULT_DID_PROVIDER_NETWORK_NAME] const agentDidResolvers = NETWORK_NAMES.map((networkName) => { return new DIDResolverPlugin({ resolver: basicResolverMap[networkName], }) }) let allPlugins = [ new CredentialIssuer(), new KeyManager({ store: new KeyStore(dbConnection), kms: { local: new KeyManagementSystem(), }, }), didManager, ].concat(agentDidResolvers) */ //export const agent = createAgent({ plugins: allPlugins })