return [...bytes].map(b => b.toString(16).padStart(2, '0')).join('')
}
- const derive = (sk, api) => {
- const sk8 = new Uint8Array(sk.match(/.{2}/g).map(b => parseInt(b, 16)))
+ const derive = (prv, api) => {
+ const prv8 = new Uint8Array(prv.match(/.{2}/g).map(b => parseInt(b, 16)))
switch (api) {
case 'nano25519': {
- const pk8 = nano25519.derive(sk8)
- return [...pk8].map(b => b.toString(16).padStart(2, '0')).join('')
+ const pub8 = nano25519.derive(prv8)
+ return [...pub8].map(b => b.toString(16).padStart(2, '0')).join('')
}
case 'NanocurrencyWeb': {
- return NanocurrencyWeb.wallet.legacyAccounts(sk)[0].publicKey
+ return NanocurrencyWeb.wallet.legacyAccounts(prv)[0].publicKey
}
case 'Sodium': {
- return sodium.crypto_sign_seed_keypair(sk8, 'hex').publicKey
+ return sodium.crypto_sign_seed_keypair(prv8, 'hex').publicKey
}
case 'TweetNaCl.js': {
- const pk8 = nacl.sign.keyPair.fromSeed(sk8).publicKey
- return [...pk8].map(b => b.toString(16).padStart(2, '0')).join('')
+ const pub8 = nacl.sign.keyPair.fromSeed(prv8).publicKey
+ return [...pub8].map(b => b.toString(16).padStart(2, '0')).join('')
}
default: {
return null
}
const sign = (msg, prv, pub, api) => {
- const h8 = new Uint8Array(msg.match(/.{2}/g).map(b => parseInt(b, 16)))
- const sk8 = new Uint8Array((prv + pub).match(/.{2}/g).map(b => parseInt(b, 16)))
+ const msg8 = new Uint8Array(msg.match(/.{2}/g).map(b => parseInt(b, 16)))
const prv8 = new Uint8Array(prv.match(/.{2}/g).map(b => parseInt(b, 16)))
const pub8 = new Uint8Array(pub.match(/.{2}/g).map(b => parseInt(b, 16)))
+ const sk8 = new Uint8Array((prv + pub).match(/.{2}/g).map(b => parseInt(b, 16)))
switch (api) {
case 'nano25519': {
- const sig8 = nano25519.sign(h8, prv8, pub8)
+ const sig8 = nano25519.sign(msg8, prv8, pub8)
return [...sig8].map(b => b.toString(16).padStart(2, '0')).join('')
}
case 'NanocurrencyWeb': {
return NanocurrencyWeb.tools.sign(privateKey, msg)
}
case 'Sodium': {
- return sodium.crypto_sign_detached(new Uint8Array(h8), new Uint8Array(sk8), 'hex')
+ return sodium.crypto_sign_detached(new Uint8Array(msg8), new Uint8Array(sk8), 'hex')
}
case 'TweetNaCl.js': {
- const sig8 = nacl.sign.detached(new Uint8Array(h8), new Uint8Array(sk8))
+ const sig8 = nacl.sign.detached(new Uint8Array(msg8), new Uint8Array(sk8))
return [...sig8].map(b => b.toString(16).padStart(2, '0')).join('')
}
default: {