Skeletons for wrappers.
This commit is contained in:
parent
441f41decc
commit
9da386ed63
@ -32,6 +32,7 @@ var emscAlloc = {
|
|||||||
get_amount: getEmsc('TALER_WRALL_get_amount', 'number', ['number', 'number', 'number', 'string']),
|
get_amount: getEmsc('TALER_WRALL_get_amount', 'number', ['number', 'number', 'number', 'string']),
|
||||||
eddsa_key_create: getEmsc('GNUNET_CRYPTO_eddsa_key_create', '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']),
|
eddsa_public_key_from_private: getEmsc('TALER_WRALL_eddsa_public_key_from_private', 'number', ['number']),
|
||||||
|
data_to_string_alloc: getEmsc('GNUNET_STRINGS_data_to_string_alloc', 'number', ['number', 'number']),
|
||||||
malloc: (size) => Module._malloc(size),
|
malloc: (size) => Module._malloc(size),
|
||||||
};
|
};
|
||||||
class ArenaObject {
|
class ArenaObject {
|
||||||
@ -119,12 +120,23 @@ class Amount extends ArenaObject {
|
|||||||
emsc.amount_normalize(this.nativePtr);
|
emsc.amount_normalize(this.nativePtr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
class EddsaPrivateKey extends ArenaObject {
|
class SizedArenaObject extends ArenaObject {
|
||||||
|
encode() {
|
||||||
|
var d = emscAlloc.data_to_string_alloc(this.nativePtr, this.size);
|
||||||
|
var s = Module.Pointer_stringify(d);
|
||||||
|
emsc.free(d);
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
class EddsaPrivateKey extends SizedArenaObject {
|
||||||
static create(a) {
|
static create(a) {
|
||||||
let k = new EddsaPrivateKey(a);
|
let k = new EddsaPrivateKey(a);
|
||||||
k.nativePtr = emscAlloc.eddsa_key_create();
|
k.nativePtr = emscAlloc.eddsa_key_create();
|
||||||
return k;
|
return k;
|
||||||
}
|
}
|
||||||
|
get size() {
|
||||||
|
return 32;
|
||||||
|
}
|
||||||
destroy() {
|
destroy() {
|
||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
@ -133,16 +145,13 @@ class EddsaPrivateKey extends ArenaObject {
|
|||||||
pk.nativePtr = emscAlloc.eddsa_public_key_from_private(this.nativePtr);
|
pk.nativePtr = emscAlloc.eddsa_public_key_from_private(this.nativePtr);
|
||||||
return pk;
|
return pk;
|
||||||
}
|
}
|
||||||
encode() {
|
|
||||||
throw "not implemented";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
class EddsaPublicKey extends ArenaObject {
|
class EddsaPublicKey extends SizedArenaObject {
|
||||||
destroy() {
|
destroy() {
|
||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
encode() {
|
get size() {
|
||||||
throw "not implemented";
|
return 32;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
class RsaBlindingKey extends ArenaObject {
|
class RsaBlindingKey extends ArenaObject {
|
||||||
|
@ -58,6 +58,9 @@ var emscAlloc = {
|
|||||||
eddsa_public_key_from_private: getEmsc('TALER_WRALL_eddsa_public_key_from_private',
|
eddsa_public_key_from_private: getEmsc('TALER_WRALL_eddsa_public_key_from_private',
|
||||||
'number',
|
'number',
|
||||||
['number']),
|
['number']),
|
||||||
|
data_to_string_alloc: getEmsc('GNUNET_STRINGS_data_to_string_alloc',
|
||||||
|
'number',
|
||||||
|
['number', 'number']),
|
||||||
malloc: (size : number) => Module._malloc(size),
|
malloc: (size : number) => Module._malloc(size),
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -168,36 +171,42 @@ class Amount extends ArenaObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class EddsaPrivateKey extends ArenaObject {
|
abstract class PackedArenaObject extends ArenaObject {
|
||||||
|
size: number;
|
||||||
|
|
||||||
|
encode(): string {
|
||||||
|
var d = emscAlloc.data_to_string_alloc(this.nativePtr, this.size);
|
||||||
|
var s = Module.Pointer_stringify(d);
|
||||||
|
emsc.free(d);
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class EddsaPrivateKey extends PackedArenaObject {
|
||||||
static create(a?: Arena): EddsaPrivateKey {
|
static create(a?: Arena): EddsaPrivateKey {
|
||||||
let k = new EddsaPrivateKey(a);
|
let k = new EddsaPrivateKey(a);
|
||||||
k.nativePtr = emscAlloc.eddsa_key_create();
|
k.nativePtr = emscAlloc.eddsa_key_create();
|
||||||
return k;
|
return k;
|
||||||
}
|
}
|
||||||
|
|
||||||
destroy() {
|
get size() { return 32; }
|
||||||
// TODO
|
|
||||||
}
|
|
||||||
|
|
||||||
getPublicKey(): EddsaPublicKey {
|
getPublicKey(): EddsaPublicKey {
|
||||||
let pk = new EddsaPublicKey(this.arena);
|
let pk = new EddsaPublicKey(this.arena);
|
||||||
pk.nativePtr = emscAlloc.eddsa_public_key_from_private(this.nativePtr);
|
pk.nativePtr = emscAlloc.eddsa_public_key_from_private(this.nativePtr);
|
||||||
return pk;
|
return pk;
|
||||||
}
|
}
|
||||||
|
|
||||||
encode(): string {
|
|
||||||
throw "not implemented";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class EddsaPublicKey extends ArenaObject {
|
class EddsaPublicKey extends PackedArenaObject {
|
||||||
destroy() {
|
destroy() {
|
||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
encode(): string {
|
get size() {
|
||||||
throw "not implemented";
|
return 32;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -216,7 +225,7 @@ class HashCode extends ArenaObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class ByteArray extends ArenaObject {
|
class ByteArray extends PackedArenaObject {
|
||||||
destroy() {
|
destroy() {
|
||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user