aboutsummaryrefslogtreecommitdiff
path: root/extension/background/emscriptif.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2015-12-07 23:39:25 +0100
committerFlorian Dold <florian.dold@gmail.com>2015-12-07 23:39:25 +0100
commit415570a720a7a74b2d25699a55d03403e6d6231a (patch)
tree1fb56e2adc5da40bfd7247a42b41e5cf6d9d69b0 /extension/background/emscriptif.js
parentaeac228df7121dada4827ac248e61ba8b1db7318 (diff)
Towards reserve creation.
Diffstat (limited to 'extension/background/emscriptif.js')
-rw-r--r--extension/background/emscriptif.js102
1 files changed, 20 insertions, 82 deletions
diff --git a/extension/background/emscriptif.js b/extension/background/emscriptif.js
index 62b233eda..ceed32c97 100644
--- a/extension/background/emscriptif.js
+++ b/extension/background/emscriptif.js
@@ -13,87 +13,10 @@
You should have received a copy of the GNU General Public License along with
TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
-
-
*/
+"use strict";
-var EXPORTED_SYMBOLS = [
- 'TWRhelloWorld',
- 'TWRgetValue',
- 'TWRgetFraction',
- 'TWRgetCurrency',
- 'TamountCmp',
- 'TWRverifyConfirmation',
- 'TWRverifySignKey',
- 'TWRverifyDenom',
- 'TWRverifyDenoms',
- 'TWRALLrsaPublicKeyHash',
- 'TWRALLgetEncodingFromRsaSignature',
- 'DWRtestStringCmp',
- 'TWRmultiplyAmount',
- 'TWRmultiplyAmounts',
- 'DWRdumpAmount',
- 'TWRALLgetAmount',
- 'DWRtestString',
- 'DWRgetPurpose',
- 'TWReddsaVerify',
- 'TamountAdd',
- 'TamountSubtract',
- 'TWRALLmakeEddsaSignature',
- 'TWRALLamountAdd',
- 'TWRALLeddsaPublicKeyFromPrivate',
- 'TWRALLeddsaPublicKeyFromPrivString',
- 'TWRALLeddsaPrivateKeyFromString',
- 'TWRALLeccEcdh',
- 'TWRALLhash',
- 'TWRALLecdhePublicKeyFromPrivateKey',
- 'TWRALLrsaPublicKeyDecodeFromString',
- 'GCeddsaSign',
- 'TWRALLmakeWithdrawBundle',
- 'GCALLrsaSignatureDecode',
- 'GCrsaSignatureEncode',
- 'TWRALLsignDepositPermission',
- 'GCALLrsaPublicKeyDecode',
- 'GCALLrsaPublicKeyEncode',
- 'WRALLeddsaPublicKey',
- 'GCALLeddsaKeyCreate',
- 'WRALLecdhePublicKey ',
- 'GSALLdataToStringAlloc',
- 'TWRgnunetFree',
- 'GSstringToData',
- 'TWRALLgetCurrentTime',
- 'TWRgetFancyTime',
- 'GChash',
- 'getHashedArray',
- 'TWRALLsignTest',
- 'GCALLecdheKeyCreate',
- 'GCecdheKeyGetPublic',
- 'WRALLecdhePublicKey',
- 'WRverifyTest',
- 'GCeccEcdh',
- 'TWRALLgenSymmetricKey',
- 'TWRALLgenInitVector',
- 'GCsymmetricDecrypt',
- 'GCsymmetricEncrypt',
- 'TWRALLgenKeyFromBlob',
- 'GCALLrsaPrivateKeyGetPublic',
- 'GCALLrsaPrivateKeyCreate',
- 'GCALLrsaBlindingKeyCreate',
- 'GCrsaBlindingKeyFree',
- 'GCrsaPublicKeyFree',
- 'GCrsaPrivateKeyFree',
- 'GCALLrsaBlind',
- 'GCALLrsaUnblind',
- 'GCALLrsaSign',
- 'GCrsaVerify',
- 'GCrsaSignatureFree',
- 'GCeddsaKeyGetPublic',
- 'WRALLmakePurpose',
- 'GChkdf',
- 'emscMalloc',
- 'emscFree'
-];
/* The following definition is needed to make emscripted library to remain
'alive' after its loading. Otherwise, the normal behaviour would be:
@@ -143,19 +66,15 @@ getLastWindow().Module = {
// shortcut to emscr's 'malloc'
function emscMalloc(size) {
-
var ptr = Module._malloc(size);
return ptr;
-
}
/* shortcut to emscr's 'free'. This function is problematic:
it randomly stops working giving 'emscFree is not a function'
error */
function emscFree(ptr) {
-
Module._free(ptr);
-
}
var getEmsc = Module.cwrap;
@@ -585,3 +504,22 @@ var TWRALLsignTest = getEmsc('TALER_WRALL_sign_test',
var WRverifyTest = getEmsc('WR_verify_test',
'number',
['number']);
+
+
+let d2s = getEmsc('GNUNET_STRINGS_data_to_string_alloc',
+ 'string',
+ ['number', 'number']);
+
+
+let sizeof_EddsaPrivateKey = 32;
+let sizeof_EddsaPublicKey = 32;
+
+
+function createEddsaKeyPair() {
+ let privPtr = GCALLeddsaKeyCreate();
+ let pubPtr = emscMalloc(sizeof_EddsaPublicKey);
+ GCeddsaKeyGetPublic(privPtr, pubPtr);
+ let privStr = d2s(privPtr, sizeof_EddsaPrivateKey);
+ let pubStr = d2s(pubPtr, sizeof_EddsaPublicKey);
+ return {priv: privStr, pub: pubStr};
+}