Skip to content

Commit c0a67fe

Browse files
authored
fix: restore signature verification (#252)
1 parent 9850689 commit c0a67fe

File tree

2 files changed

+42
-39
lines changed

2 files changed

+42
-39
lines changed

apps/server/.env.example

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
DATABASE_URL="file:./dev.db"
22
PRIVY_APP_SECRET="TODO"
3-
PRIVY_APP_ID="TODO"
3+
PRIVY_APP_ID="TODO"
4+
HYPERGRAPH_CHAIN="geogenesis"

packages/hypergraph/src/identity/prove-ownership.ts

Lines changed: 40 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
//import { http, type Chain, type Hex, type WalletClient, createPublicClient, verifyMessage } from 'viem';
2-
import type { Chain, Hex, WalletClient } from 'viem';
1+
import { http, type Chain, type Hex, type WalletClient, createPublicClient, verifyMessage } from 'viem';
32
import { privateKeyToAccount } from 'viem/accounts';
43

54
import type { SmartAccountClient } from 'permissionless';
65
import { DEFAULT_RPC_URL, GEOGENESIS } from '../connect/smart-account.js';
7-
//import { publicKeyToAddress } from '../utils/index.js';
6+
import { publicKeyToAddress } from '../utils/index.js';
87
import type { IdentityKeys } from './types.js';
98

109
export const getAccountProofMessage = (accountAddress: string, publicKey: string): string => {
@@ -60,43 +59,46 @@ export const verifyIdentityOwnership = async (
6059
rpcUrl: string = DEFAULT_RPC_URL,
6160
): Promise<boolean> => {
6261
console.log('verifyIdentityOwnership', accountAddress, publicKey, accountProof, keyProof, chain, rpcUrl);
63-
// const keyProofMessage = getKeyProofMessage(accountAddress, publicKey);
64-
// const publicClient = createPublicClient({
65-
// chain,
66-
// transport: http(rpcUrl),
67-
// });
62+
const keyProofMessage = getKeyProofMessage(accountAddress, publicKey);
63+
const publicClient = createPublicClient({
64+
chain,
65+
transport: http(rpcUrl),
66+
});
67+
console.log('publicClient', publicClient);
68+
console.log('rpcUrl', rpcUrl);
69+
console.log('chain', chain);
6870

69-
// console.log('accountProof', accountProof);
70-
// console.log('accountAddress', accountAddress);
71-
// console.log('publicKey', publicKey);
71+
console.log('accountProof', accountProof);
72+
console.log('accountAddress', accountAddress);
73+
console.log('publicKey', publicKey);
7274

73-
// const accountProofMessage = getAccountProofMessage(accountAddress, publicKey);
74-
// const validAccountProof = await publicClient.verifyTypedData({
75-
// address: accountAddress as Hex,
76-
// message: {
77-
// message: accountProofMessage,
78-
// },
79-
// types: {
80-
// Message: [{ name: 'message', type: 'string' }],
81-
// },
82-
// domain: accountProofDomain,
83-
// primaryType: 'Message',
84-
// signature: accountProof as Hex,
85-
// });
86-
// if (!validAccountProof) {
87-
// console.log('Invalid account proof');
88-
// return false;
89-
// }
75+
const accountProofMessage = getAccountProofMessage(accountAddress, publicKey);
76+
const validAccountProof = await publicClient.verifyTypedData({
77+
address: accountAddress as Hex,
78+
message: {
79+
message: accountProofMessage,
80+
},
81+
types: {
82+
Message: [{ name: 'message', type: 'string' }],
83+
},
84+
domain: accountProofDomain,
85+
primaryType: 'Message',
86+
signature: accountProof as Hex,
87+
});
88+
if (!validAccountProof) {
89+
console.log('Invalid account proof');
90+
return false;
91+
}
9092

91-
// const keyAddress = publicKeyToAddress(publicKey) as Hex;
92-
// const validKeyProof = await verifyMessage({
93-
// address: keyAddress,
94-
// message: keyProofMessage,
95-
// signature: keyProof as Hex,
96-
// });
97-
// if (!validKeyProof) {
98-
// console.log('Invalid key proof');
99-
// return false;
100-
// }
93+
const keyAddress = publicKeyToAddress(publicKey) as Hex;
94+
const validKeyProof = await verifyMessage({
95+
address: keyAddress,
96+
message: keyProofMessage,
97+
signature: keyProof as Hex,
98+
});
99+
if (!validKeyProof) {
100+
console.log('Invalid key proof');
101+
return false;
102+
}
101103
return true;
102104
};

0 commit comments

Comments
 (0)