s_ota on Nostr: nostr-tools 内部でも使っている noble-secp256k1 で "破壊的変更" ...
nostr-tools 内部でも使っている noble-secp256k1 で "破壊的変更" が来てた。
Nostr に関連しそうなのはこの辺。シュノア署名は @noble/curves に移動。今まで非同期だったのが同期になった等。
```
-import * as secp from '@noble/secp256k1';
+import { secp256k1, schnorr } from '@noble/curves/secp256k1';
+import * as utils from '@noble/curves/abstract/utils';
+import { sha256 } from '@noble/hashes/sha256';
-event.sig = secp.utils.bytesToHex(await secp.schnorr.sign(event.id, getPrivateKey(account)));
-// console.assert(await secp.schnorr.verify(event.sig, event.id, event.pubkey));
+event.sig = utils.bytesToHex(schnorr.sign(event.id, getPrivateKey(account)));
+// console.assert(schnorr.verify(event.sig, event.id, event.pubkey));
-const key = secp.getSharedSecret(privkey, '02' + pubkey);
+const key = secp256k1.getSharedSecret(privkey, '02' + pubkey);
```
https://github.com/susumuota/nostr-keyx/commit/1c405ac1568a01b8d8129cff1a3bdb2d09e79338
Nostr に関連しそうなのはこの辺。シュノア署名は @noble/curves に移動。今まで非同期だったのが同期になった等。
```
-import * as secp from '@noble/secp256k1';
+import { secp256k1, schnorr } from '@noble/curves/secp256k1';
+import * as utils from '@noble/curves/abstract/utils';
+import { sha256 } from '@noble/hashes/sha256';
-event.sig = secp.utils.bytesToHex(await secp.schnorr.sign(event.id, getPrivateKey(account)));
-// console.assert(await secp.schnorr.verify(event.sig, event.id, event.pubkey));
+event.sig = utils.bytesToHex(schnorr.sign(event.id, getPrivateKey(account)));
+// console.assert(schnorr.verify(event.sig, event.id, event.pubkey));
-const key = secp.getSharedSecret(privkey, '02' + pubkey);
+const key = secp256k1.getSharedSecret(privkey, '02' + pubkey);
```
https://github.com/susumuota/nostr-keyx/commit/1c405ac1568a01b8d8129cff1a3bdb2d09e79338