solana-age-verify-sdk 2.0.0-beta.11 → 2.0.0-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/verify.js +30 -13
- package/package.json +1 -1
package/dist/verify.js
CHANGED
|
@@ -8,13 +8,6 @@ import { generateChallengeSequence } from './liveness/challenges';
|
|
|
8
8
|
import { getPlatformPublicKey, getProtocolFee } from './security';
|
|
9
9
|
import { createSpinnerHTML } from './ui/spinner';
|
|
10
10
|
// Lazy getter to avoid top-level PublicKey construction before polyfills load
|
|
11
|
-
let _memoProgramId = null;
|
|
12
|
-
function getMemoProgramId() {
|
|
13
|
-
if (!_memoProgramId) {
|
|
14
|
-
_memoProgramId = new PublicKey('MemoSq4gqABAXib96qFbncnscymPme7yS4AtGf4Vb7');
|
|
15
|
-
}
|
|
16
|
-
return _memoProgramId;
|
|
17
|
-
}
|
|
18
11
|
export async function verifyHost18Plus(options) {
|
|
19
12
|
const config = { ...DEFAULT_CONFIG, ...options.config };
|
|
20
13
|
// Cooldown & Retry Check
|
|
@@ -703,20 +696,44 @@ export async function verifyHost18Plus(options) {
|
|
|
703
696
|
const memoText = `Solana-Age-Registry | ${statusStr} | HASH: ${facehash} | ${verifiedAt}`;
|
|
704
697
|
// Step 3: Memo Instruction
|
|
705
698
|
try {
|
|
706
|
-
//
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
699
|
+
// DEBUG: Log all keys to identify the culprit
|
|
700
|
+
console.log('--- KEY DEBUG START ---');
|
|
701
|
+
console.log('Wallet Key (base58):', fromPubkey?.toBase58 ? fromPubkey.toBase58() : 'INVALID_OBJ');
|
|
702
|
+
console.log('Platform Key (base58):', platformPubKey?.toBase58 ? platformPubKey.toBase58() : 'INVALID_OBJ');
|
|
703
|
+
let cleanFromKey;
|
|
704
|
+
try {
|
|
705
|
+
cleanFromKey = new PublicKey(fromPubkey.toBase58());
|
|
706
|
+
}
|
|
707
|
+
catch (e) {
|
|
708
|
+
throw new Error(`Invalid Wallet Key: ${e.message}`);
|
|
709
|
+
}
|
|
710
|
+
let cleanPlatformKey;
|
|
711
|
+
try {
|
|
712
|
+
cleanPlatformKey = new PublicKey(platformPubKey.toBase58());
|
|
713
|
+
}
|
|
714
|
+
catch (e) {
|
|
715
|
+
throw new Error(`Invalid Platform Key: ${e.message}`);
|
|
716
|
+
}
|
|
717
|
+
let cleanMemoId;
|
|
718
|
+
try {
|
|
719
|
+
// Switch to Memo Program v1 - v2 ID (MemoSq...) caused validation errors in some envs
|
|
720
|
+
cleanMemoId = new PublicKey('Memo1UhkJRfHyvLMcVucJwxXeuD728EqVDDwQDxFMNo');
|
|
721
|
+
}
|
|
722
|
+
catch (e) {
|
|
723
|
+
throw new Error(`Invalid Memo Program ID: ${e.message}`);
|
|
724
|
+
}
|
|
725
|
+
console.log('Keys reconstructed successfully.');
|
|
710
726
|
transaction.add(new TransactionInstruction({
|
|
711
727
|
keys: [
|
|
712
728
|
{ pubkey: cleanFromKey, isSigner: true, isWritable: false },
|
|
713
|
-
{ pubkey: cleanPlatformKey, isSigner: false, isWritable: false }
|
|
729
|
+
{ pubkey: cleanPlatformKey, isSigner: false, isWritable: false }
|
|
714
730
|
],
|
|
715
|
-
programId:
|
|
731
|
+
programId: cleanMemoId,
|
|
716
732
|
data: new TextEncoder().encode(memoText),
|
|
717
733
|
}));
|
|
718
734
|
}
|
|
719
735
|
catch (e) {
|
|
736
|
+
console.error('Memo Instruction Construction Failed:', e);
|
|
720
737
|
throw new Error(`Memo Instruction Failed: ${e.message}`);
|
|
721
738
|
}
|
|
722
739
|
const { blockhash } = await options.connection.getLatestBlockhash();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "solana-age-verify-sdk",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.13",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Solana Age Verify is a premium, client-side SDK for privacy-preserving age verification and liveness detection. It generates a deterministic Face Hash linked to a wallet without storing facial data.",
|
|
6
6
|
"license": "MIT",
|