This commit is contained in:
Florian Dold 2018-09-20 21:32:10 +02:00
parent 74fe752ea0
commit 1f9ca30a91
No known key found for this signature in database
GPG Key ID: D2E4F00F29D02A4B
4 changed files with 29 additions and 121331 deletions

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -103,7 +103,11 @@ interface EmscAllocFunctions {
ecdsa_public_key_from_private(a1: number): number;
eddsa_key_create(): number;
eddsa_public_key_from_private(a1: number): number;
get_amount(a1: number, a2: number, a22: number, a3: string): number;
/**
* Note that value_1 and value_2 are the first 64-bit parameter,
* and not two separate parameters (by the emscripten calling convention).
*/
get_amount(value_1: number, value_2: number, fraction: number, currency: string): number;
hash_context_start(): number;
malloc(size: number): number;
purpose_create(a1: number, a2: number, a3: number): number;
@ -147,7 +151,7 @@ class EmscEnvironment {
ecdsa_public_key_from_private: getEmsc( "TALER_WRALL_ecdsa_public_key_from_private", "number", ["number"]),
eddsa_key_create: getEmsc("GNUNET_CRYPTO_eddsa_key_create", "number", []),
eddsa_public_key_from_private: getEmsc( "TALER_WRALL_eddsa_public_key_from_private", "number", ["number"]),
get_amount: getEmsc("TALER_WRALL_get_amount", "number", ["number", "number", "string"]),
get_amount: getEmsc("TALER_WRALL_get_amount", "number", ["number", "number", "number", "string"]),
hash_context_start: getEmsc("GNUNET_CRYPTO_hash_context_start", "number", []),
malloc: (size: number) => lib._malloc(size),
purpose_create: getEmsc("TALER_WRALL_purpose_create", "number", ["number", "number", "number"]),

View File

@ -71,16 +71,14 @@ export function getLib() {
return scriptDir + "../emscripten/" + path;
};
console.log("instantiating TalerEmscriptenLib");
//const lib = self.TalerEmscriptenLib({ locateFile });
const lib = self.TalerEmscriptenLib;
const lib = self.TalerEmscriptenLib({ locateFile });
cachedLib = lib;
return Promise.resolve({ lib: lib });
//return new Promise((resolve, reject) => {
// lib.then(mod => {
// console.log("emscripten module fully loaded");
// resolve({ lib: mod });
// });
//});
return new Promise((resolve, reject) => {
lib.then(mod => {
console.log("emscripten module fully loaded");
resolve({ lib: mod });
});
});
}
// Last resort, we don't have require, we're not running in a webworker.