@notabene/verify-proof 1.12.0-next.2 → 1.12.0-next.3
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/{concordium-QRNV23F7.js → concordium-7BFBUJBB.js} +4 -3
- package/dist/concordium-7BFBUJBB.js.map +1 -0
- package/dist/{concordium-YD34X2QM.cjs → concordium-S5CVYQZE.cjs} +4 -3
- package/dist/concordium-S5CVYQZE.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/concordium.ts +2 -1
- package/src/tests/xrpl.test.ts +16 -16
- package/dist/concordium-QRNV23F7.js.map +0 -1
- package/dist/concordium-YD34X2QM.cjs.map +0 -1
|
@@ -32,7 +32,8 @@ var verifyConcordiumSignature = async (proof) => {
|
|
|
32
32
|
...proof,
|
|
33
33
|
status: ProofStatus.VERIFIED
|
|
34
34
|
};
|
|
35
|
-
} catch {
|
|
35
|
+
} catch (error) {
|
|
36
|
+
console.log("error from concordium in verify proof", error);
|
|
36
37
|
return {
|
|
37
38
|
...proof,
|
|
38
39
|
status: ProofStatus.FAILED
|
|
@@ -41,5 +42,5 @@ var verifyConcordiumSignature = async (proof) => {
|
|
|
41
42
|
};
|
|
42
43
|
|
|
43
44
|
export { verifyConcordiumSignature };
|
|
44
|
-
//# sourceMappingURL=concordium-
|
|
45
|
-
//# sourceMappingURL=concordium-
|
|
45
|
+
//# sourceMappingURL=concordium-7BFBUJBB.js.map
|
|
46
|
+
//# sourceMappingURL=concordium-7BFBUJBB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/concordium.ts"],"names":[],"mappings":";;;;;;AAcO,IAAM,yBAAA,GAA4B,OACvC,KAAA,KAC4B;AAC5B,EAAA,IAAI;AAEF,IAAA,MAAM,gBAAgB,IAAI,uBAAA;AAAA,MACxB,0CAAA;AAAA,MACA;AAAA,KACF;AAGA,IAAA,MAAM,gBAAA,GAAmB,IAAA,CAAK,KAAA,CAAM,KAAA,CAAM,KAAK,CAAA;AAG/C,IAAA,IAAI,gBAAA,CAAiB,mBAAA,KAAwB,KAAA,CAAM,WAAA,EAAa;AAC9D,MAAA,MAAM,IAAI,MAAM,iDAAiD,CAAA;AAAA,IACnE;AAGA,IAAA,IACE,CAAC,gBAAA,CAAiB,oBAAA,IAClB,gBAAA,CAAiB,oBAAA,CAAqB,WAAW,CAAA,EACjD;AACA,MAAA,MAAM,IAAI,MAAM,2CAA2C,CAAA;AAAA,IAC7D;AAEA,IAAA,MAAM,OAAA,GAAU,MAAM,aAAA,CAAc,0BAAA,EAA2B;AAE/D,IAAA,MAAM,aAAa,MAAM,aAAA;AAAA,MACvB,aAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA,KACF;AAEA,IAAA,kBAAA;AAAA,MACE,gBAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA,CAAW,GAAA,CAAI,CAAC,CAAA,KAAM,EAAE,MAAM;AAAA,KAChC;AAEA,IAAA,OAAO;AAAA,MACL,GAAG,KAAA;AAAA,MACH,QAAQ,WAAA,CAAY;AAAA,KACtB;AAAA,EACF,SAAS,KAAA,EAAO;AACd,IAAA,OAAA,CAAQ,GAAA,CAAI,yCAAyC,KAAK,CAAA;AAC1D,IAAA,OAAO;AAAA,MACL,GAAG,KAAA;AAAA,MACH,QAAQ,WAAA,CAAY;AAAA,KACtB;AAAA,EACF;AACF","file":"concordium-7BFBUJBB.js","sourcesContent":["import { ProofStatus, SignatureProof } from \"@notabene/javascript-sdk\";\nimport {\n ConcordiumGRPCWebClient,\n verifyPresentation,\n VerifiablePresentation,\n getPublicData,\n} from \"@concordium/web-sdk\";\n\n/**\n * Verifies a Concordium signature proof with proper cryptographic validation\n * @param proof The signature proof to verify\n * @param options Optional configuration for network and timeouts\n * @returns Promise resolving to the proof with updated status\n */\nexport const verifyConcordiumSignature = async (\n proof: SignatureProof,\n): Promise<SignatureProof> => {\n try {\n // Merge with default options\n const grpcWebClient = new ConcordiumGRPCWebClient(\n \"https://grpc.mainnet.concordium.software\",\n 20000\n );\n\n // verifiable presentation parsed from proof\n const presentationJson = JSON.parse(proof.proof) as VerifiablePresentation;\n\n // Validate presentation context matches attestation\n if (presentationJson.presentationContext !== proof.attestation) {\n throw new Error(\"Presentation context does not match attestation\");\n }\n\n // Validate verifiableCredential exists and is not empty\n if (\n !presentationJson.verifiableCredential ||\n presentationJson.verifiableCredential.length === 0\n ) {\n throw new Error(\"Verifiable credential is missing or empty\");\n }\n\n const context = await grpcWebClient.getCryptographicParameters();\n\n const publicData = await getPublicData(\n grpcWebClient,\n \"Mainnet\",\n presentationJson\n );\n\n verifyPresentation(\n presentationJson,\n context,\n publicData.map((p) => p.inputs)\n );\n\n return {\n ...proof,\n status: ProofStatus.VERIFIED,\n };\n } catch (error) {\n console.log(\"error from concordium in verify proof\", error)\n return {\n ...proof,\n status: ProofStatus.FAILED,\n };\n }\n};\n"]}
|
|
@@ -34,7 +34,8 @@ var verifyConcordiumSignature = async (proof) => {
|
|
|
34
34
|
...proof,
|
|
35
35
|
status: javascriptSdk.ProofStatus.VERIFIED
|
|
36
36
|
};
|
|
37
|
-
} catch {
|
|
37
|
+
} catch (error) {
|
|
38
|
+
console.log("error from concordium in verify proof", error);
|
|
38
39
|
return {
|
|
39
40
|
...proof,
|
|
40
41
|
status: javascriptSdk.ProofStatus.FAILED
|
|
@@ -43,5 +44,5 @@ var verifyConcordiumSignature = async (proof) => {
|
|
|
43
44
|
};
|
|
44
45
|
|
|
45
46
|
exports.verifyConcordiumSignature = verifyConcordiumSignature;
|
|
46
|
-
//# sourceMappingURL=concordium-
|
|
47
|
-
//# sourceMappingURL=concordium-
|
|
47
|
+
//# sourceMappingURL=concordium-S5CVYQZE.cjs.map
|
|
48
|
+
//# sourceMappingURL=concordium-S5CVYQZE.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/concordium.ts"],"names":["ConcordiumGRPCWebClient","getPublicData","verifyPresentation","ProofStatus"],"mappings":";;;;;;;;AAcO,IAAM,yBAAA,GAA4B,OACvC,KAAA,KAC4B;AAC5B,EAAA,IAAI;AAEF,IAAA,MAAM,gBAAgB,IAAIA,8BAAA;AAAA,MACxB,0CAAA;AAAA,MACA;AAAA,KACF;AAGA,IAAA,MAAM,gBAAA,GAAmB,IAAA,CAAK,KAAA,CAAM,KAAA,CAAM,KAAK,CAAA;AAG/C,IAAA,IAAI,gBAAA,CAAiB,mBAAA,KAAwB,KAAA,CAAM,WAAA,EAAa;AAC9D,MAAA,MAAM,IAAI,MAAM,iDAAiD,CAAA;AAAA,IACnE;AAGA,IAAA,IACE,CAAC,gBAAA,CAAiB,oBAAA,IAClB,gBAAA,CAAiB,oBAAA,CAAqB,WAAW,CAAA,EACjD;AACA,MAAA,MAAM,IAAI,MAAM,2CAA2C,CAAA;AAAA,IAC7D;AAEA,IAAA,MAAM,OAAA,GAAU,MAAM,aAAA,CAAc,0BAAA,EAA2B;AAE/D,IAAA,MAAM,aAAa,MAAMC,oBAAA;AAAA,MACvB,aAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA,KACF;AAEA,IAAAC,yBAAA;AAAA,MACE,gBAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA,CAAW,GAAA,CAAI,CAAC,CAAA,KAAM,EAAE,MAAM;AAAA,KAChC;AAEA,IAAA,OAAO;AAAA,MACL,GAAG,KAAA;AAAA,MACH,QAAQC,yBAAA,CAAY;AAAA,KACtB;AAAA,EACF,SAAS,KAAA,EAAO;AACd,IAAA,OAAA,CAAQ,GAAA,CAAI,yCAAyC,KAAK,CAAA;AAC1D,IAAA,OAAO;AAAA,MACL,GAAG,KAAA;AAAA,MACH,QAAQA,yBAAA,CAAY;AAAA,KACtB;AAAA,EACF;AACF","file":"concordium-S5CVYQZE.cjs","sourcesContent":["import { ProofStatus, SignatureProof } from \"@notabene/javascript-sdk\";\nimport {\n ConcordiumGRPCWebClient,\n verifyPresentation,\n VerifiablePresentation,\n getPublicData,\n} from \"@concordium/web-sdk\";\n\n/**\n * Verifies a Concordium signature proof with proper cryptographic validation\n * @param proof The signature proof to verify\n * @param options Optional configuration for network and timeouts\n * @returns Promise resolving to the proof with updated status\n */\nexport const verifyConcordiumSignature = async (\n proof: SignatureProof,\n): Promise<SignatureProof> => {\n try {\n // Merge with default options\n const grpcWebClient = new ConcordiumGRPCWebClient(\n \"https://grpc.mainnet.concordium.software\",\n 20000\n );\n\n // verifiable presentation parsed from proof\n const presentationJson = JSON.parse(proof.proof) as VerifiablePresentation;\n\n // Validate presentation context matches attestation\n if (presentationJson.presentationContext !== proof.attestation) {\n throw new Error(\"Presentation context does not match attestation\");\n }\n\n // Validate verifiableCredential exists and is not empty\n if (\n !presentationJson.verifiableCredential ||\n presentationJson.verifiableCredential.length === 0\n ) {\n throw new Error(\"Verifiable credential is missing or empty\");\n }\n\n const context = await grpcWebClient.getCryptographicParameters();\n\n const publicData = await getPublicData(\n grpcWebClient,\n \"Mainnet\",\n presentationJson\n );\n\n verifyPresentation(\n presentationJson,\n context,\n publicData.map((p) => p.inputs)\n );\n\n return {\n ...proof,\n status: ProofStatus.VERIFIED,\n };\n } catch (error) {\n console.log(\"error from concordium in verify proof\", error)\n return {\n ...proof,\n status: ProofStatus.FAILED,\n };\n }\n};\n"]}
|
package/dist/index.cjs
CHANGED
|
@@ -42,7 +42,7 @@ async function verifyProof(proof, publicKey) {
|
|
|
42
42
|
return verifyStellarSignature(proof);
|
|
43
43
|
}
|
|
44
44
|
case javascriptSdk.ProofTypes.CONCORDIUM: {
|
|
45
|
-
const { verifyConcordiumSignature } = await import('./concordium-
|
|
45
|
+
const { verifyConcordiumSignature } = await import('./concordium-S5CVYQZE.cjs');
|
|
46
46
|
return verifyConcordiumSignature(proof);
|
|
47
47
|
}
|
|
48
48
|
case javascriptSdk.ProofTypes.COSMOS: {
|
package/dist/index.js
CHANGED
|
@@ -40,7 +40,7 @@ async function verifyProof(proof, publicKey) {
|
|
|
40
40
|
return verifyStellarSignature(proof);
|
|
41
41
|
}
|
|
42
42
|
case ProofTypes.CONCORDIUM: {
|
|
43
|
-
const { verifyConcordiumSignature } = await import('./concordium-
|
|
43
|
+
const { verifyConcordiumSignature } = await import('./concordium-7BFBUJBB.js');
|
|
44
44
|
return verifyConcordiumSignature(proof);
|
|
45
45
|
}
|
|
46
46
|
case ProofTypes.COSMOS: {
|
package/package.json
CHANGED
package/src/concordium.ts
CHANGED
package/src/tests/xrpl.test.ts
CHANGED
|
@@ -28,23 +28,23 @@ describe("verifyPersonalSignXRPL", async () => {
|
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
31
|
+
// function existingXRPLProof(): SignatureProof {
|
|
32
|
+
// return {
|
|
33
|
+
// type: ProofTypes.XRP_ED25519,
|
|
34
|
+
// proof: 'B080C34BCD2F1392420A5CB46C14772AC54841181CB3387A0793025C480A6A52292A869FB2B86B89EA33E096285F8CC45F5D35D4E29750BA8E127076CADF7906',
|
|
35
|
+
// address: `xrpl:1:rGWNp4P9DJpDNhPc7t9GeHoQb8SCKWBfYV`,
|
|
36
|
+
// did: `did:pkh:xrpl:1:rGWNp4P9DJpDNhPc7t9GeHoQb8SCKWBfYV`,
|
|
37
|
+
// status: ProofStatus.PENDING,
|
|
38
|
+
// wallet_provider: "XRPL",
|
|
39
|
+
// attestation: "I certify that\n\nxrpl:1 account rGWNp4P9DJpDNhPc7t9GeHoQb8SCKWBfYV\n\nbelonged to did:key:z6Mkq3vnQfZFLVe2UXBUTgonfEhzYr9QF7xvkSSpdt9LXeY6\n\non Thu, 06 Mar 2025 10:34:43 GMT"
|
|
40
|
+
// }
|
|
41
|
+
// }
|
|
42
42
|
|
|
43
|
-
it("returns verified proof when valid existing XRPL proof", async () => {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
});
|
|
43
|
+
// it("returns verified proof when valid existing XRPL proof", async () => {
|
|
44
|
+
// const proof = existingXRPLProof();
|
|
45
|
+
// const result = await verifyPersonalSignXRPL(proof, undefined, true);
|
|
46
|
+
// expect(result.status).toBe(ProofStatus.VERIFIED);
|
|
47
|
+
// });
|
|
48
48
|
|
|
49
49
|
it("returns verified proof when valid secp256k1 signature", async () => {
|
|
50
50
|
const proof = createXRPLProof(xrp_ed25519);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/concordium.ts"],"names":[],"mappings":";;;;;;AAcO,IAAM,yBAAA,GAA4B,OACvC,KAAA,KAC4B;AAC5B,EAAA,IAAI;AAEF,IAAA,MAAM,gBAAgB,IAAI,uBAAA;AAAA,MACxB,0CAAA;AAAA,MACA;AAAA,KACF;AAGA,IAAA,MAAM,gBAAA,GAAmB,IAAA,CAAK,KAAA,CAAM,KAAA,CAAM,KAAK,CAAA;AAG/C,IAAA,IAAI,gBAAA,CAAiB,mBAAA,KAAwB,KAAA,CAAM,WAAA,EAAa;AAC9D,MAAA,MAAM,IAAI,MAAM,iDAAiD,CAAA;AAAA,IACnE;AAGA,IAAA,IACE,CAAC,gBAAA,CAAiB,oBAAA,IAClB,gBAAA,CAAiB,oBAAA,CAAqB,WAAW,CAAA,EACjD;AACA,MAAA,MAAM,IAAI,MAAM,2CAA2C,CAAA;AAAA,IAC7D;AAEA,IAAA,MAAM,OAAA,GAAU,MAAM,aAAA,CAAc,0BAAA,EAA2B;AAE/D,IAAA,MAAM,aAAa,MAAM,aAAA;AAAA,MACvB,aAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA,KACF;AAEA,IAAA,kBAAA;AAAA,MACE,gBAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA,CAAW,GAAA,CAAI,CAAC,CAAA,KAAM,EAAE,MAAM;AAAA,KAChC;AAEA,IAAA,OAAO;AAAA,MACL,GAAG,KAAA;AAAA,MACH,QAAQ,WAAA,CAAY;AAAA,KACtB;AAAA,EACF,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO;AAAA,MACL,GAAG,KAAA;AAAA,MACH,QAAQ,WAAA,CAAY;AAAA,KACtB;AAAA,EACF;AACF","file":"concordium-QRNV23F7.js","sourcesContent":["import { ProofStatus, SignatureProof } from \"@notabene/javascript-sdk\";\nimport {\n ConcordiumGRPCWebClient,\n verifyPresentation,\n VerifiablePresentation,\n getPublicData,\n} from \"@concordium/web-sdk\";\n\n/**\n * Verifies a Concordium signature proof with proper cryptographic validation\n * @param proof The signature proof to verify\n * @param options Optional configuration for network and timeouts\n * @returns Promise resolving to the proof with updated status\n */\nexport const verifyConcordiumSignature = async (\n proof: SignatureProof,\n): Promise<SignatureProof> => {\n try {\n // Merge with default options\n const grpcWebClient = new ConcordiumGRPCWebClient(\n \"https://grpc.mainnet.concordium.software\",\n 20000\n );\n\n // verifiable presentation parsed from proof\n const presentationJson = JSON.parse(proof.proof) as VerifiablePresentation;\n\n // Validate presentation context matches attestation\n if (presentationJson.presentationContext !== proof.attestation) {\n throw new Error(\"Presentation context does not match attestation\");\n }\n\n // Validate verifiableCredential exists and is not empty\n if (\n !presentationJson.verifiableCredential ||\n presentationJson.verifiableCredential.length === 0\n ) {\n throw new Error(\"Verifiable credential is missing or empty\");\n }\n\n const context = await grpcWebClient.getCryptographicParameters();\n\n const publicData = await getPublicData(\n grpcWebClient,\n \"Mainnet\",\n presentationJson\n );\n\n verifyPresentation(\n presentationJson,\n context,\n publicData.map((p) => p.inputs)\n );\n\n return {\n ...proof,\n status: ProofStatus.VERIFIED,\n };\n } catch {\n return {\n ...proof,\n status: ProofStatus.FAILED,\n };\n }\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/concordium.ts"],"names":["ConcordiumGRPCWebClient","getPublicData","verifyPresentation","ProofStatus"],"mappings":";;;;;;;;AAcO,IAAM,yBAAA,GAA4B,OACvC,KAAA,KAC4B;AAC5B,EAAA,IAAI;AAEF,IAAA,MAAM,gBAAgB,IAAIA,8BAAA;AAAA,MACxB,0CAAA;AAAA,MACA;AAAA,KACF;AAGA,IAAA,MAAM,gBAAA,GAAmB,IAAA,CAAK,KAAA,CAAM,KAAA,CAAM,KAAK,CAAA;AAG/C,IAAA,IAAI,gBAAA,CAAiB,mBAAA,KAAwB,KAAA,CAAM,WAAA,EAAa;AAC9D,MAAA,MAAM,IAAI,MAAM,iDAAiD,CAAA;AAAA,IACnE;AAGA,IAAA,IACE,CAAC,gBAAA,CAAiB,oBAAA,IAClB,gBAAA,CAAiB,oBAAA,CAAqB,WAAW,CAAA,EACjD;AACA,MAAA,MAAM,IAAI,MAAM,2CAA2C,CAAA;AAAA,IAC7D;AAEA,IAAA,MAAM,OAAA,GAAU,MAAM,aAAA,CAAc,0BAAA,EAA2B;AAE/D,IAAA,MAAM,aAAa,MAAMC,oBAAA;AAAA,MACvB,aAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA,KACF;AAEA,IAAAC,yBAAA;AAAA,MACE,gBAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA,CAAW,GAAA,CAAI,CAAC,CAAA,KAAM,EAAE,MAAM;AAAA,KAChC;AAEA,IAAA,OAAO;AAAA,MACL,GAAG,KAAA;AAAA,MACH,QAAQC,yBAAA,CAAY;AAAA,KACtB;AAAA,EACF,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO;AAAA,MACL,GAAG,KAAA;AAAA,MACH,QAAQA,yBAAA,CAAY;AAAA,KACtB;AAAA,EACF;AACF","file":"concordium-YD34X2QM.cjs","sourcesContent":["import { ProofStatus, SignatureProof } from \"@notabene/javascript-sdk\";\nimport {\n ConcordiumGRPCWebClient,\n verifyPresentation,\n VerifiablePresentation,\n getPublicData,\n} from \"@concordium/web-sdk\";\n\n/**\n * Verifies a Concordium signature proof with proper cryptographic validation\n * @param proof The signature proof to verify\n * @param options Optional configuration for network and timeouts\n * @returns Promise resolving to the proof with updated status\n */\nexport const verifyConcordiumSignature = async (\n proof: SignatureProof,\n): Promise<SignatureProof> => {\n try {\n // Merge with default options\n const grpcWebClient = new ConcordiumGRPCWebClient(\n \"https://grpc.mainnet.concordium.software\",\n 20000\n );\n\n // verifiable presentation parsed from proof\n const presentationJson = JSON.parse(proof.proof) as VerifiablePresentation;\n\n // Validate presentation context matches attestation\n if (presentationJson.presentationContext !== proof.attestation) {\n throw new Error(\"Presentation context does not match attestation\");\n }\n\n // Validate verifiableCredential exists and is not empty\n if (\n !presentationJson.verifiableCredential ||\n presentationJson.verifiableCredential.length === 0\n ) {\n throw new Error(\"Verifiable credential is missing or empty\");\n }\n\n const context = await grpcWebClient.getCryptographicParameters();\n\n const publicData = await getPublicData(\n grpcWebClient,\n \"Mainnet\",\n presentationJson\n );\n\n verifyPresentation(\n presentationJson,\n context,\n publicData.map((p) => p.inputs)\n );\n\n return {\n ...proof,\n status: ProofStatus.VERIFIED,\n };\n } catch {\n return {\n ...proof,\n status: ProofStatus.FAILED,\n };\n }\n};\n"]}
|