UNPKG

urbit-key-generation

Version:

Key derivation and HD wallet generation functions for Urbit.

23 lines (20 loc) 1.14 kB
var serial = require('../serial.js'), noun = require('../noun.js'), n = noun.dwim, test = require('tape'), check = require('tape-check').check, nounT = require('./noun.js'), BigInteger = require('jsbn').BigInteger; test('examples', function(t) { t.plan(5); nounT.equals(t, serial.jam(n(42)), n(5456), 'jam 1'); nounT.equals(t, serial.cue(n(5456)), n(42), 'cue 1'); nounT.equals(t, serial.jam(n('foo', 'bar')), noun.Atom.fromString('1054973063816666730241'), 'jam 2'); nounT.equals(t, serial.cue(noun.Atom.fromString('1054973063816666730241')), n('foo', 'bar'), 'cue 2'); var addPill = new noun.Atom.Atom(new BigInteger("829878621bce21b21920c888730c9059367e61cfcc39f98721920f9099110dd6986c86483c425fa84c8886dc2ec3b1330b26e2c9b478d937168f1b26e4e1887ab8e61b213c612cc4b21920fc4dc324164d5912c86483a425c21362dc2ec38b4e2c9ae2b041", 16)); nounT.equals(t, serial.jam(serial.cue(addPill)), addPill, "add pill"); }); test('generative', check({times: 1000}, nounT.genNoun, function(t, n) { t.plan(1); nounT.equals(t, serial.cue(serial.jam(n)), n, 'round trip'); }));