UNPKG

@neo-one/simulation-react-template-esnext-esm

Version:

NEO•ONE React Template Simulation.

125 lines (117 loc) 4.66 kB
/* @hash 379c56095494a1184c4629046c407a27 */ // tslint:disable /* eslint-disable */ import { Client, DeveloperClient, LocalKeyStore, LocalMemoryStore, LocalUserAccountProvider, NEOONEProvider, NEOONEOneDataProvider, OneClient, NEOONEDataProviderOptions, UserAccountProvider, } from '@neo-one/client-esnext-esm'; import { projectID } from './projectID'; export type DefaultUserAccountProviders = { readonly memory: LocalUserAccountProvider<LocalKeyStore, NEOONEProvider>; }; const getDefaultUserAccountProviders = (provider: NEOONEProvider): DefaultUserAccountProviders => ({ memory: new LocalUserAccountProvider({ keystore: new LocalKeyStore({ store: new LocalMemoryStore() }), provider, }), }); const isLocalUserAccountProvider = ( userAccountProvider: UserAccountProvider, ): userAccountProvider is LocalUserAccountProvider<any, any> => userAccountProvider instanceof LocalUserAccountProvider; export const createClient = < TUserAccountProviders extends { readonly [K: string]: UserAccountProvider } = DefaultUserAccountProviders >( getUserAccountProviders: (provider: NEOONEProvider) => TUserAccountProviders = getDefaultUserAccountProviders as any, ): Client<TUserAccountProviders> => { const providers: Array<NEOONEOneDataProvider | NEOONEDataProviderOptions> = []; if (process.env.NODE_ENV !== 'production' || process.env.NEO_ONE_DEV === 'true') { providers.push(new NEOONEOneDataProvider({ network: 'local', projectID, port: 40101 })); } const provider = new NEOONEProvider(providers); const userAccountProviders = getUserAccountProviders(provider); const localUserAccountProviders = Object.values(userAccountProviders).filter(isLocalUserAccountProvider); const localUserAccountProvider = localUserAccountProviders.find( (userAccountProvider) => userAccountProvider.keystore instanceof LocalKeyStore, ); if (process.env.NODE_ENV !== 'production' || process.env.NEO_ONE_DEV === 'true') { if (localUserAccountProvider !== undefined) { const localKeyStore = localUserAccountProvider.keystore; if (localKeyStore instanceof LocalKeyStore) { Promise.all([ localKeyStore.addAccount({ network: 'local', name: 'master', privateKey: 'L4qhHtwbiAMu1nrSmsTP5a3dJbxA3SNS6oheKnKd8E7KTJyCLcUv', }), localKeyStore.addAccount({ network: 'local', name: 'alfa', privateKey: 'KyX5sPKRpAMb3XAFLUrHv7u1LxKkKFrpyJDgE4kceRX9FRJ4WRCQ', }), localKeyStore.addAccount({ network: 'local', name: 'bravo', privateKey: 'L5LfJc2Ngsxu8ZFMvnJbYJ1QdQCstzRXmKLybsFS1aQFURkJ5CHS', }), localKeyStore.addAccount({ network: 'local', name: 'charlie', privateKey: 'KxCH2Ei4TLqp2Qa7swz9bstQc5uREiCpvzvL9R6xLX8X5U8ZqeBj', }), localKeyStore.addAccount({ network: 'local', name: 'delta', privateKey: 'KyVvngWhhfHiociMuwyLmGw8xTu9myKXRnvv5Fes9jDMa2Zyc6P9', }), localKeyStore.addAccount({ network: 'local', name: 'echo', privateKey: 'L37qr7PWqWmgjUPfRC9mS78GjRxgGi4azySCsLUBMAa5hMka2JEm', }), localKeyStore.addAccount({ network: 'local', name: 'foxtrot', privateKey: 'KwFf8gdSWxvC5Pp8AidNdF6mHqjH3CukyF3RnfwS5vzMQKLGTP13', }), localKeyStore.addAccount({ network: 'local', name: 'golf', privateKey: 'Kyn2BN3QuHGYgkt9qJgvwzY8yH4xgTUAKwnGhvU1w8Nh3JnivrAr', }), localKeyStore.addAccount({ network: 'local', name: 'hotel', privateKey: 'L5UXfz1xyzDkghGwistNMCV8pbpU4fg14Ez9rfo1y4KgwiadnWX3', }), localKeyStore.addAccount({ network: 'local', name: 'india', privateKey: 'L5Yoq3X4ojx2FvZZxHbMcvT6var4LaXKHEpMYyyxw4jjhSUNJTRa', }), localKeyStore.addAccount({ network: 'local', name: 'juliett', privateKey: 'L1DWex8PtmQJH4GYK9YAuyzmotyL6anY937LxJF54iaALrTtxsD6', }), ]).catch(() => { // do nothing }); } } } return new Client(userAccountProviders); }; export const createDeveloperClients = (): { [network: string]: DeveloperClient } => ({ local: new DeveloperClient(new NEOONEOneDataProvider({ network: 'local', projectID, port: 40101 })), }); export const createOneClients = (): { [network: string]: OneClient } => ({ local: new OneClient(40101), });