refactor(with-solana): use solanaWallet.verifyMessageSignature
This commit is contained in:
parent
b382036c83
commit
9e77f51464
@ -45,8 +45,8 @@
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2",
|
||||
"react-scripts": "^4.0.3",
|
||||
"solana-wallet": "^1.0.1",
|
||||
"styled-components": "^5.2.0",
|
||||
"tweetnacl": "^1.0.3",
|
||||
"typescript": "^4.3.2",
|
||||
"web-vitals": "^0.2.4"
|
||||
},
|
||||
|
@ -2,7 +2,7 @@ import React, { useState } from "react";
|
||||
import { version } from "@walletconnect/client/package.json";
|
||||
import { clusterApiUrl, Connection, Keypair, SystemProgram, Transaction } from "@solana/web3.js";
|
||||
import bs58 from "bs58";
|
||||
import nacl from "tweetnacl";
|
||||
import { verifyMessageSignature } from "solana-wallet";
|
||||
|
||||
import Banner from "./components/Banner";
|
||||
import Blockchain from "./components/Blockchain";
|
||||
@ -166,8 +166,8 @@ export default function App() {
|
||||
const senderPublicKey = publicKeys[address];
|
||||
|
||||
// Encode message to `UInt8Array` first via `TextEncoder` so we can pass it to `bs58.encode`.
|
||||
const message = new TextEncoder().encode(
|
||||
`This is an example message to be signed - ${Date.now()}`,
|
||||
const message = bs58.encode(
|
||||
new TextEncoder().encode(`This is an example message to be signed - ${Date.now()}`),
|
||||
);
|
||||
|
||||
try {
|
||||
@ -177,16 +177,12 @@ export default function App() {
|
||||
method: SolanaRpcMethod.SOL_SIGN_MESSAGE,
|
||||
params: {
|
||||
pubkey: senderPublicKey.toBase58(),
|
||||
message: bs58.encode(message),
|
||||
message,
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
const valid = nacl.sign.detached.verify(
|
||||
message,
|
||||
bs58.decode(signature),
|
||||
senderPublicKey.toBytes(),
|
||||
);
|
||||
const valid = verifyMessageSignature(senderPublicKey.toBase58(), signature, message);
|
||||
|
||||
return {
|
||||
method: SolanaRpcMethod.SOL_SIGN_MESSAGE,
|
||||
|
@ -1851,7 +1851,7 @@
|
||||
dependencies:
|
||||
buffer "~6.0.3"
|
||||
|
||||
"@solana/web3.js@^1.36.0":
|
||||
"@solana/web3.js@^1.35.1", "@solana/web3.js@^1.36.0":
|
||||
version "1.36.0"
|
||||
resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.36.0.tgz#79d7d5217b49b80139f4de68953adc5b9a9a264f"
|
||||
integrity sha512-RNT1451iRR7TyW7EJKMCrH/0OXawIe4zVm0DWQASwXlR/u1jmW6FrmH0lujIh7cGTlfOVbH+2ZU9AVUPLBFzwA==
|
||||
@ -11481,6 +11481,15 @@ sockjs@^0.3.21:
|
||||
uuid "^8.3.2"
|
||||
websocket-driver "^0.7.4"
|
||||
|
||||
solana-wallet@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/solana-wallet/-/solana-wallet-1.0.1.tgz#4e1bfebbb99640105ed42abd1445baab4f6e0b57"
|
||||
integrity sha512-rkYu9gwayAdVMhWGdZSz6a+IaOJXs3TNtYXWuSQsdMJUndkQ+puy7cB9/u5pwZTjqzxtd1DN9cbAFKFH5648xQ==
|
||||
dependencies:
|
||||
"@solana/web3.js" "^1.35.1"
|
||||
bs58 "^5.0.0"
|
||||
tweetnacl "^1.0.3"
|
||||
|
||||
sonic-boom@^1.0.2:
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-1.4.1.tgz#d35d6a74076624f12e6f917ade7b9d75e918f53e"
|
||||
|
Loading…
Reference in New Issue
Block a user