UNPKG

@symfoni/ethr-did-resolver

Version:

Resolve DID documents for ethereum addresses and public keys

103 lines (100 loc) 4.39 kB
import { ExternalProvider, JsonRpcProvider, Web3Provider } from '@ethersproject/providers' import ganache from 'ganache' export function createProvider(): JsonRpcProvider { return new Web3Provider( ganache.provider({ logging: { quiet: true }, accounts: [ { secretKey: '0x278a5de700e29faae8e40e366ec5012b5ec63d36ec77e8a2417154cc1d25383f', // address: '0xf3beac30c498d9e26865f34fcaa57dbb935b0d74', // publicKey: '03fdd57adec3d438ea237fe46b33ee1e016eda6b585c3e27ea66686c2ea5358479' balance: '0x1000000000000000000000', }, { secretKey: '0x0000000000000000000000000000000000000000000000000000000000000001', // address: '0x7e5f4552091a69125d5dfcb7b8c2659029395bdf', // publicKey: '0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798' balance: '0x1000000000000000000000', }, { secretKey: '0x0000000000000000000000000000000000000000000000000000000000000002', // address: '0x2b5ad5c4795c026514f8317c7a215e218dccd6cf', // publicKey: '02c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5' balance: '0x1000000000000000000000', }, { secretKey: '0x0000000000000000000000000000000000000000000000000000000000000003', // address: '0x6813eb9362372eef6200f3b1dbc3f819671cba69', // publicKey: '02f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9' balance: '0x1000000000000000000000', }, { secretKey: '0x0000000000000000000000000000000000000000000000000000000000000004', // address: '0x1eff47bc3a10a45d4b230b5d10e37751fe6aa718', // publicKey: '02e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13' balance: '0x1000000000000000000000', }, { secretKey: '0x0000000000000000000000000000000000000000000000000000000000000005', // address: '0xe1ab8145f7e55dc933d51a18c793f901a3a0b276' // publicKey: '022f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4' balance: '0x1000000000000000000000', }, { secretKey: '0x0000000000000000000000000000000000000000000000000000000000000006', balance: `0x1000000000000000000000`, }, { secretKey: '0x0000000000000000000000000000000000000000000000000000000000000007', balance: `0x1000000000000000000000`, }, { secretKey: '0x0000000000000000000000000000000000000000000000000000000000000008', balance: `0x1000000000000000000000`, }, { secretKey: '0x0000000000000000000000000000000000000000000000000000000000000009', balance: `0x1000000000000000000000`, }, { secretKey: '0x000000000000000000000000000000000000000000000000000000000000000a', balance: `0x1000000000000000000000`, }, { secretKey: '0x000000000000000000000000000000000000000000000000000000000000000b', balance: `0x1000000000000000000000`, }, { secretKey: '0x000000000000000000000000000000000000000000000000000000000000000c', balance: `0x1000000000000000000000`, }, { secretKey: '0x000000000000000000000000000000000000000000000000000000000000000d', balance: `0x1000000000000000000000`, }, { secretKey: '0x000000000000000000000000000000000000000000000000000000000000000e', balance: `0x1000000000000000000000`, }, { secretKey: '0x000000000000000000000000000000000000000000000000000000000000000f', balance: `0x1000000000000000000000`, }, { secretKey: '0x0000000000000000000000000000000000000000000000000000000000000010', balance: `0x1000000000000000000000`, }, ], }) as unknown as ExternalProvider ) } export async function sleep(milliseconds: number): Promise<void> { return new Promise((resolve) => setTimeout(resolve, milliseconds)) } export async function stopMining(provider: JsonRpcProvider): Promise<unknown> { return provider.send('miner_stop', []) } export async function startMining(provider: JsonRpcProvider): Promise<unknown> { return provider.send('miner_start', [1]) }