diff options
author | Florian Dold <florian.dold@gmail.com> | 2018-09-20 21:32:10 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2018-09-20 21:32:10 +0200 |
commit | 1f9ca30a9116018ae77c70730536032c8785116d (patch) | |
tree | 853c0d7b93d02baecbc6e779e529ed86dd3b86f6 /src | |
parent | 74fe752ea0bd8b0c25a0db15bbc56b1753bb3a11 (diff) |
wasm
Diffstat (limited to 'src')
-rw-r--r-- | src/crypto/emscInterface.ts | 8 | ||||
-rw-r--r-- | src/crypto/emscLoader.js | 16 |
2 files changed, 13 insertions, 11 deletions
diff --git a/src/crypto/emscInterface.ts b/src/crypto/emscInterface.ts index eae8ee5c0..61289fb75 100644 --- a/src/crypto/emscInterface.ts +++ b/src/crypto/emscInterface.ts @@ -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"]), diff --git a/src/crypto/emscLoader.js b/src/crypto/emscLoader.js index 7251a5984..59437da42 100644 --- a/src/crypto/emscLoader.js +++ b/src/crypto/emscLoader.js @@ -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. |