Skip to content

Commit

Permalink
do not use viem verify signature
Browse files Browse the repository at this point in the history
  • Loading branch information
Wilbert957 committed Feb 21, 2025
1 parent 2e4e95f commit fc4fa75
Showing 1 changed file with 6 additions and 18 deletions.
24 changes: 6 additions & 18 deletions agent/src/agentNFTClient.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
import { ethers } from 'ethers';
import { ethers, verifyMessage } from 'ethers';
import fs from 'fs';
import path from 'path';
import { elizaLogger, stringToUuid } from "@elizaos/core";
import { TokenData, AgentMetadata } from './types';
import { AgentNFT } from './contracts/AgentNFT';
import { AgentNFT__factory } from './contracts/factories/AgentNFT__factory';
import { Indexer, ZgFile } from '@0glabs/0g-ts-sdk';
import { createPublicClient, http, hashMessage } from 'viem'
import { mainnet } from 'viem/chains'

export class AgentNFTClient {
private provider: ethers.Provider;
Expand Down Expand Up @@ -137,23 +135,13 @@ export class AgentNFTClient {
elizaLogger.info("signature", signature);
const decodedMessage = Buffer.from(message, 'base64').toString('utf-8');
elizaLogger.info("decodedMessage:", decodedMessage);
const publicClient = createPublicClient({
chain: mainnet,
transport: http()
})

const valid = await publicClient.verifySiweMessage({
message: decodedMessage,
signature: `0x${signature.replace(/^0x/, '')}`,
})

const hash = hashMessage(decodedMessage);
elizaLogger.info("hash:", hash)
// Recover the public key from the hash and the signature.
const recoveredPublicKey = ethers.SigningKey.recoverPublicKey(hash, signature);
elizaLogger.info("recoveredPublicKey", recoveredPublicKey);
const recoveredAddress = ethers.computeAddress(recoveredPublicKey);
const verfiyStart = Date.now();
const recoveredAddress = verifyMessage(decodedMessage, signature);
elizaLogger.info("recoveredAddress", recoveredAddress);
const verfiyEnd = Date.now();
elizaLogger.info("verifyMessage time: ", verfiyEnd - verfiyStart, "ms");

elizaLogger.info("tokenOwner", tokenOwner);
return recoveredAddress.toLowerCase() === tokenOwner.toLowerCase();
} catch (error) {
Expand Down

0 comments on commit fc4fa75

Please sign in to comment.