diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-04-26 03:10:52 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-04-26 03:10:52 +0200 |
commit | 79a2eed5589468c2df3e4ee2d190d9fc43b80fe9 (patch) | |
tree | b9250369bb2b54a2fb298f611ff7142a0c825999 /src/cryptoWorker.ts | |
parent | 9aab9fd6134351bba9445df2b24d3d2c6deedf0e (diff) |
remove dependency in taler-wallet-lib, implement pay signature check/storage
Diffstat (limited to 'src/cryptoWorker.ts')
-rw-r--r-- | src/cryptoWorker.ts | 14 |
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({ |