aboutsummaryrefslogtreecommitdiff
path: root/src/cryptoWorker.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-04-26 03:10:52 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-04-26 03:10:52 +0200
commit79a2eed5589468c2df3e4ee2d190d9fc43b80fe9 (patch)
treeb9250369bb2b54a2fb298f611ff7142a0c825999 /src/cryptoWorker.ts
parent9aab9fd6134351bba9445df2b24d3d2c6deedf0e (diff)
remove dependency in taler-wallet-lib, implement pay signature check/storage
Diffstat (limited to 'src/cryptoWorker.ts')
-rw-r--r--src/cryptoWorker.ts14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/cryptoWorker.ts b/src/cryptoWorker.ts
index 0abcb36ff..cb7bee40b 100644
--- a/src/cryptoWorker.ts
+++ b/src/cryptoWorker.ts
@@ -97,6 +97,20 @@ namespace RpcFunctions {
}
+ export function isValidPaymentSignature(sig: string, contractHash: string, merchantPub: string) {
+ let p = new native.PaymentSignaturePS({
+ contract_hash: native.HashCode.fromCrock(contractHash),
+ });
+ let nativeSig = new native.EddsaSignature();
+ nativeSig.loadCrock(sig);
+ let nativePub = native.EddsaPublicKey.fromCrock(merchantPub);
+ return native.eddsaVerify(native.SignaturePurpose.MERCHANT_PAYMENT_OK,
+ p.toPurpose(),
+ nativeSig,
+ nativePub);
+ }
+
+
export function isValidDenom(denom: DenominationRecord,
masterPub: string): boolean {
let p = new native.DenominationKeyValidityPS({