}
const privateKey = new Uint8Array(32)
const publicKey = new Uint8Array(32)
- let buffer = new DataView(exports.memory.buffer)
+ let buffer = new Uint8Array(exports.memory.buffer)
try {
privateKey.set(normalize('private key', 32, 32, k))
let inPtr = exports.getInputPointer()
for (let i = 0; i < 32; i++) {
- buffer.setUint8(inPtr + i, privateKey[i])
+ buffer[inPtr + i] = privateKey[i]
}
exports.derive()
const outPtr = exports.getOutputPointer()
- buffer = new DataView(exports.memory.buffer)
+ buffer = new Uint8Array(exports.memory.buffer)
for (let i = 0; i < 32; i++) {
- publicKey[i] = buffer.getUint8(outPtr + i)
+ publicKey[i] = buffer[outPtr + i]
}
if (typeof k === 'string') {
let hex = ''
}
const secretKey = new Uint8Array(64)
const signature = new Uint8Array(64)
- let buffer: DataView | undefined = new DataView(exports.memory.buffer)
+ let buffer = new Uint8Array(exports.memory.buffer)
try {
secretKey.set(normalize('secret key', 64, 64, k))
let inPtr = exports.getInputPointer()
for (let i = 0; i < 64; i++) {
- buffer.setUint8(inPtr + i, secretKey[i])
+ buffer[inPtr + i] = secretKey[i]
}
const message = normalize('message', 0, 32768, m)
let mPtr = exports.getMessagePointer()
for (let i = 0; i < message.byteLength; i++) {
- buffer.setUint8(mPtr + i, message[i])
+ buffer[mPtr + i] = message[i]
}
exports.sign(message.byteLength)
const outPtr = exports.getOutputPointer()
- buffer = new DataView(exports.memory.buffer)
+ buffer = new Uint8Array(exports.memory.buffer)
for (let i = 0; i < 64; i++) {
- signature[i] = buffer.getUint8(outPtr + i)
+ signature[i] = buffer[outPtr + i]
}
if (typeof k === 'string') {
let hex = ''
}
function verify (s: unknown, m: unknown, k: unknown): boolean {
- let buffer: DataView | undefined = new DataView(exports.memory.buffer)
+ let buffer = new Uint8Array(exports.memory.buffer)
try {
const signature = normalize('signature', 64, 64, s)
const message = normalize('message', 0, 32768, m)
let mPtr = exports.getMessagePointer()
let inPtr = exports.getInputPointer()
for (let i = 0; i < message.byteLength; i++) {
- buffer.setUint8(mPtr + i, message[i])
+ buffer[mPtr + i] = message[i]
}
for (let i = 0; i < 64; i++) {
- buffer.setUint8(inPtr + i, signature[i])
+ buffer[inPtr + i] = signature[i]
}
inPtr += 64
for (let i = 0; i < 32; i++) {
- buffer.setUint8(inPtr + i, publicKey[i])
+ buffer[inPtr + i] = publicKey[i]
}
const v = exports.verify(message.byteLength)
return v === 0
}
}
- function clear (buffer: DataView): void {
+ function clear (buffer: Uint8Array): void {
let inPtr = exports.getInputPointer()
let outPtr = exports.getOutputPointer()
- for (let i = 0; i < 64; i++) {
- buffer.setUint16(inPtr + (i << 1), 0)
- buffer.setUint8(outPtr + i, 0)
- }
+ buffer.fill(0, inPtr, inPtr + 96)
+ buffer.fill(0, outPtr, outPtr + 64)
}
function isBytes (a: unknown): a is Uint8Array<ArrayBuffer> {