@notabene/verify-proof 1.0.0 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@notabene/verify-proof",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Verify ownership proofs",
5
5
  "source": "src/index.ts",
6
6
  "type": "module",
@@ -25,7 +25,6 @@
25
25
  "devDependencies": {
26
26
  "eslint": "^9.9.0",
27
27
  "microbundle": "^0.15.1",
28
- "ox": "^0.2.2",
29
28
  "typescript": "^5.5.4",
30
29
  "vite": "^5.4.11",
31
30
  "vitest": "^2.0.5"
@@ -33,10 +32,8 @@
33
32
  "dependencies": {
34
33
  "@bitauth/libauth": "^3.0.0",
35
34
  "@notabene/javascript-sdk": "^2.0.2",
36
- "@stablelib/base64": "^2.0.0",
37
- "bech32": "^2.0.0",
38
- "bigi": "^1.4.2",
39
- "bs58": "^6.0.0",
35
+ "@scure/base": "^1.2.1",
36
+ "ox": "^0.2.2",
40
37
  "tweetnacl": "^1.0.3",
41
38
  "varuint-bitcoin": "^2.0.0"
42
39
  }
package/src/bitcoin.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { ProofStatus, SignatureProof } from "@notabene/javascript-sdk";
2
- import { bech32 } from "bech32";
3
2
 
4
3
  import {
5
4
  secp256k1,
@@ -9,7 +8,7 @@ import {
9
8
  encodeBase58AddressFormat,
10
9
  } from "@bitauth/libauth";
11
10
  import { encode as encodeLength } from "varuint-bitcoin";
12
- import { decode as decodeBase64 } from "@stablelib/base64";
11
+ import { base64, bech32 } from "@scure/base";
13
12
 
14
13
  enum SEGWIT_TYPES {
15
14
  P2WPKH = "p2wpkh",
@@ -76,7 +75,7 @@ type DecodedSignature = {
76
75
  };
77
76
 
78
77
  function decodeSignature(proof: string): DecodedSignature {
79
- const signature = decodeBase64(proof);
78
+ const signature = base64.decode(proof);
80
79
  if (signature.length !== 65) throw new Error("Invalid signature length");
81
80
 
82
81
  const flagByte = signature[0] - 27;
package/src/solana.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import nacl from "tweetnacl";
2
2
  import { ProofStatus, SignatureProof } from "@notabene/javascript-sdk";
3
- import { decode as decodeBase64 } from "@stablelib/base64";
4
- import bs58 from "bs58";
3
+ import { base64, base58 } from "@scure/base";
5
4
 
6
5
  export async function verifySolanaSignature(
7
6
  proof: SignatureProof,
@@ -9,9 +8,9 @@ export async function verifySolanaSignature(
9
8
  const [ns, _, address] = proof.address.split(/:/);
10
9
  if (ns !== "solana") return { ...proof, status: ProofStatus.FAILED };
11
10
  try {
12
- const publicKey = bs58.decode(address);
11
+ const publicKey = base58.decode(address);
13
12
  const messageBytes = new TextEncoder().encode(proof.attestation);
14
- const signatureBytes = decodeBase64(proof.proof);
13
+ const signatureBytes = base64.decode(proof.proof);
15
14
  const verified = nacl.sign.detached.verify(
16
15
  messageBytes,
17
16
  signatureBytes,
@@ -1,5 +1,5 @@
1
1
  import { describe, it, expect } from "vitest";
2
- import bs58 from "bs58";
2
+ import { base58 } from "@scure/base";
3
3
  import nacl from "tweetnacl";
4
4
  import {
5
5
  ProofStatus,
@@ -10,7 +10,7 @@ import { verifySolanaSignature } from "../solana";
10
10
 
11
11
  describe("verifySolanaSignature", () => {
12
12
  const keypair = nacl.sign.keyPair();
13
- const address = bs58.encode(keypair.publicKey);
13
+ const address = base58.encode(keypair.publicKey);
14
14
  it("verifies valid Solana signature", async () => {
15
15
  // Generate a test keypair
16
16
  const message = "Test message";
@@ -1 +0,0 @@
1
- export {};