1// import * as bip32 from 'bip32';
2import * as bip39 from 'bip39';
3import { bip32 } from 'bitcoinjs-lib';
4import { Just, Nothing } from 'folktale/maybe';
5import * as secp256k1 from 'secp256k1';
6import * as kg from 'urbit-key-generation';
7import { publicToAddress } from 'ethereumjs-util';
8import { toHex } from 'web3-utils';
9import { bufferedPublicKeyToAddress } from './utils/crypto';
11export function EthereumWallet(privateKey) {
12 this.privateKey = privateKey;
13 this.publicKey = secp256k1.publicKeyCreate(this.privateKey);
14 this.address = bufferedPublicKeyToAddress(this.publicKey);
17export const urbitWalletFromTicket = async (ticket, point, passphrase) => {
18 return await kg.generateWallet({
21 passphrase: passphrase,
25export const walletFromMnemonic = (
32 skipMnemonicCheck || bip39.validateMnemonic(mnemonic)
33 ? Just(bip39.mnemonicToSeedSync(mnemonic, passphrase))
36 const toWallet = (sd, path) => {
38 const hd = bip32.fromSeed(sd);
39 wal = hd.derivePath(path);
40 wal.address = bufferedPublicKeyToAddress(wal.publicKey);
41 wal.passphrase = passphrase || '';
46 const wallet = seed.chain(sd => toWallet(sd, hdpath));
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list