ecash-lib 1.2.2-rc13 → 1.2.2-rc14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ecc.d.ts +8 -2
- package/dist/ecc.d.ts.map +1 -1
- package/dist/ecc.js +86 -5
- package/dist/ecc.js.map +1 -1
- package/package.json +1 -1
package/dist/ecc.d.ts
CHANGED
|
@@ -14,8 +14,14 @@ export declare class EccDummy implements Ecc {
|
|
|
14
14
|
schnorrSign(_seckey: Uint8Array, _msg: Uint8Array): Uint8Array;
|
|
15
15
|
}
|
|
16
16
|
/** Ecc implementation using WebAssembly */
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
/** Ecc implementation using WebAssembly */
|
|
18
|
+
/** Ecc implementation using WebAssembly */
|
|
19
|
+
export declare const Ecc: {
|
|
20
|
+
new (): {
|
|
21
|
+
derivePubkey(_seckey: Uint8Array): Uint8Array;
|
|
22
|
+
ecdsaSign(_seckey: Uint8Array, _msg: Uint8Array): Uint8Array;
|
|
23
|
+
schnorrSign(_seckey: Uint8Array, _msg: Uint8Array): Uint8Array;
|
|
24
|
+
};
|
|
19
25
|
};
|
|
20
26
|
export declare function __setEcc(ecc: {
|
|
21
27
|
new (): Ecc;
|
package/dist/ecc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecc.d.ts","sourceRoot":"","sources":["../src/ecc.ts"],"names":[],"mappings":"AAIA,6DAA6D;AAC7D,MAAM,WAAW,GAAG;IAChB,2CAA2C;IAC3C,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;IAE7C,8DAA8D;IAC9D,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAAC;IAE3D,+DAA+D;IAC/D,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAAC;CAChE;AAED,yEAAyE;AACzE,qBAAa,QAAS,YAAW,GAAG;IAChC,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU;IAI7C,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU;IAI5D,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU;CAGjE;
|
|
1
|
+
{"version":3,"file":"ecc.d.ts","sourceRoot":"","sources":["../src/ecc.ts"],"names":[],"mappings":"AAIA,6DAA6D;AAC7D,MAAM,WAAW,GAAG;IAChB,2CAA2C;IAC3C,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;IAE7C,8DAA8D;IAC9D,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAAC;IAE3D,+DAA+D;IAC/D,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAAC;CAChE;AAED,yEAAyE;AACzE,qBAAa,QAAS,YAAW,GAAG;IAChC,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU;IAI7C,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU;IAI5D,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU;CAGjE;AAuBD,2CAA2C;AA6C3C,2CAA2C;AAC3C,2CAA2C;AAG3C,eAAO,MAAM,GAAG;;8BAEc,UAAU,GAAG,UAAU;2BAI1B,UAAU,QAAQ,UAAU,GAAG,UAAU;6BAIvC,UAAU,QAAQ,UAAU,GAAG,UAAU;;CAcrE,CAAC;AAEF,wBAAgB,QAAQ,CAAC,GAAG,EAAE;IAAE,QAAQ,GAAG,CAAA;CAAE,QAsB5C"}
|
package/dist/ecc.js
CHANGED
|
@@ -17,19 +17,100 @@ class EccDummy {
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
exports.EccDummy = EccDummy;
|
|
20
|
+
/** Uninitialized Ecc for fallback */
|
|
21
|
+
class EccUninitialized {
|
|
22
|
+
constructor() {
|
|
23
|
+
if (!exports.Ecc.prototype.derivePubkey) {
|
|
24
|
+
throw new Error('Ecc not initialized. Call initWasm first.');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
derivePubkey(_seckey) {
|
|
28
|
+
throw new Error('Ecc not initialized. Call initWasm first.');
|
|
29
|
+
}
|
|
30
|
+
ecdsaSign(_seckey, _msg) {
|
|
31
|
+
throw new Error('Ecc not initialized. Call initWasm first.');
|
|
32
|
+
}
|
|
33
|
+
schnorrSign(_seckey, _msg) {
|
|
34
|
+
throw new Error('Ecc not initialized. Call initWasm first.');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/** Ecc implementation using WebAssembly */
|
|
38
|
+
//export let Ecc: { new (): Ecc };
|
|
39
|
+
// note this doesn't work bc we can't build ecash-lib without it throwing an undefined error
|
|
40
|
+
// otherwise it would probably work
|
|
41
|
+
//export const Ecc = (globalThis as unknown as GlobalThis).ecashlib.Ecc;
|
|
42
|
+
// This won't work because it gets assigned when it runs
|
|
43
|
+
// TODO next step is to re-explore grok's getter setter solution
|
|
44
|
+
/* Uncomment these to get back to the failure you understand
|
|
45
|
+
export let Ecc = (() => {
|
|
46
|
+
return 'ecashlib' in globalThis &&
|
|
47
|
+
'Ecc' in (globalThis as unknown as GlobalThis).ecashlib
|
|
48
|
+
? (globalThis as unknown as GlobalThis).ecashlib.Ecc
|
|
49
|
+
: EccUninitialized;
|
|
50
|
+
})();
|
|
51
|
+
|
|
52
|
+
export function __setEcc(ecc: { new (): Ecc }) {
|
|
53
|
+
console.log(
|
|
54
|
+
`ecashlib in globalThis BEFORE injection`,
|
|
55
|
+
'ecashlib' in globalThis,
|
|
56
|
+
);
|
|
57
|
+
Object.assign(globalThis, {
|
|
58
|
+
ecashlib: {
|
|
59
|
+
...((globalThis as Record<string, any>).ecashlib || {}),
|
|
60
|
+
Ecc: ecc,
|
|
61
|
+
},
|
|
62
|
+
} as Partial<typeof globalThis>);
|
|
63
|
+
console.log(
|
|
64
|
+
`ecashlib in globalThis AFTER injection`,
|
|
65
|
+
'ecashlib' in globalThis,
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
// Update Ecc now that we know it is available in globalThis
|
|
69
|
+
console.log(`Updating Ecc in __setEcc`);
|
|
70
|
+
console.log(`Ecc before update`, Ecc);
|
|
71
|
+
// Re-assign
|
|
72
|
+
// But if we call initWasm() in parent lib, it does not reassign in the child lib
|
|
73
|
+
// So we need to "get it right" without any re-assigning
|
|
74
|
+
Ecc = (globalThis as unknown as GlobalThis).ecashlib.Ecc;
|
|
75
|
+
console.log(`Ecc after update`, Ecc);
|
|
76
|
+
}
|
|
77
|
+
*/
|
|
78
|
+
/** Ecc implementation using WebAssembly */
|
|
79
|
+
/** Ecc implementation using WebAssembly */
|
|
80
|
+
// Define Ecc as a getter function
|
|
81
|
+
exports.Ecc = new Proxy(class {
|
|
82
|
+
derivePubkey(_seckey) {
|
|
83
|
+
return new Uint8Array(33);
|
|
84
|
+
}
|
|
85
|
+
ecdsaSign(_seckey, _msg) {
|
|
86
|
+
return new Uint8Array(73);
|
|
87
|
+
}
|
|
88
|
+
schnorrSign(_seckey, _msg) {
|
|
89
|
+
return new Uint8Array(64);
|
|
90
|
+
}
|
|
91
|
+
}, {
|
|
92
|
+
construct: () => {
|
|
93
|
+
const currentEcc = 'ecashlib' in globalThis &&
|
|
94
|
+
'Ecc' in globalThis.ecashlib
|
|
95
|
+
? globalThis.ecashlib.Ecc
|
|
96
|
+
: EccUninitialized;
|
|
97
|
+
return new currentEcc();
|
|
98
|
+
},
|
|
99
|
+
});
|
|
20
100
|
function __setEcc(ecc) {
|
|
21
|
-
console.log(`
|
|
101
|
+
console.log(`Ecc before update`, exports.Ecc);
|
|
102
|
+
console.log(`ecashlib in globalThis BEFORE injection`, 'ecashlib' in globalThis);
|
|
22
103
|
Object.assign(globalThis, {
|
|
23
104
|
ecashlib: {
|
|
24
105
|
...(globalThis.ecashlib || {}),
|
|
25
106
|
Ecc: ecc,
|
|
26
107
|
},
|
|
27
108
|
});
|
|
28
|
-
console.log(`globalThis
|
|
109
|
+
console.log(`ecashlib in globalThis AFTER injection`, 'ecashlib' in globalThis);
|
|
29
110
|
// Update Ecc now that we know it is available in globalThis
|
|
30
|
-
console.log(`
|
|
31
|
-
console.log(`Ecc before update`,
|
|
32
|
-
|
|
111
|
+
//console.log(`Updating Ecc in __setEcc`);
|
|
112
|
+
//console.log(`Ecc before update`, Ecc);
|
|
113
|
+
//Ecc = ecc; // This will use the setter defined above
|
|
33
114
|
console.log(`Ecc after update`, exports.Ecc);
|
|
34
115
|
}
|
|
35
116
|
exports.__setEcc = __setEcc;
|
package/dist/ecc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecc.js","sourceRoot":"","sources":["../src/ecc.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;AActE,yEAAyE;AACzE,MAAa,QAAQ;IACjB,YAAY,CAAC,OAAmB;QAC5B,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,OAAmB,EAAE,IAAgB;QAC3C,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW,CAAC,OAAmB,EAAE,IAAgB;QAC7C,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAZD,4BAYC;
|
|
1
|
+
{"version":3,"file":"ecc.js","sourceRoot":"","sources":["../src/ecc.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;AActE,yEAAyE;AACzE,MAAa,QAAQ;IACjB,YAAY,CAAC,OAAmB;QAC5B,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,OAAmB,EAAE,IAAgB;QAC3C,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW,CAAC,OAAmB,EAAE,IAAgB;QAC7C,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAZD,4BAYC;AAED,qCAAqC;AACrC,MAAM,gBAAgB;IAClB;QACI,IAAI,CAAC,WAAG,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACjE,CAAC;IACL,CAAC;IAED,YAAY,CAAC,OAAmB;QAC5B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACjE,CAAC;IAED,SAAS,CAAC,OAAmB,EAAE,IAAgB;QAC3C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACjE,CAAC;IAED,WAAW,CAAC,OAAmB,EAAE,IAAgB;QAC7C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACjE,CAAC;CACJ;AAED,2CAA2C;AAC3C,kCAAkC;AAElC,4FAA4F;AAC5F,mCAAmC;AACnC,wEAAwE;AAExE,wDAAwD;AACxD,gEAAgE;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCE;AAEF,2CAA2C;AAC3C,2CAA2C;AAE3C,kCAAkC;AACrB,QAAA,GAAG,GAAG,IAAI,KAAK,CACxB;IACI,YAAY,CAAC,OAAmB;QAC5B,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,OAAmB,EAAE,IAAgB;QAC3C,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW,CAAC,OAAmB,EAAE,IAAgB;QAC7C,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ,EACD;IACI,SAAS,EAAE,GAAG,EAAE;QACZ,MAAM,UAAU,GACZ,UAAU,IAAI,UAAU;YACxB,KAAK,IAAK,UAAoC,CAAC,QAAQ;YACnD,CAAC,CAAE,UAAoC,CAAC,QAAQ,CAAC,GAAG;YACpD,CAAC,CAAC,gBAAgB,CAAC;QAC3B,OAAO,IAAI,UAAU,EAAE,CAAC;IAC5B,CAAC;CACJ,CACJ,CAAC;AAEF,SAAgB,QAAQ,CAAC,GAAoB;IACzC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,WAAG,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CACP,yCAAyC,EACzC,UAAU,IAAI,UAAU,CAC3B,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;QACtB,QAAQ,EAAE;YACN,GAAG,CAAE,UAAkC,CAAC,QAAQ,IAAI,EAAE,CAAC;YACvD,GAAG,EAAE,GAAG;SACX;KAC0B,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CACP,wCAAwC,EACxC,UAAU,IAAI,UAAU,CAC3B,CAAC;IAEF,4DAA4D;IAC5D,0CAA0C;IAC1C,wCAAwC;IACxC,sDAAsD;IACtD,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,WAAG,CAAC,CAAC;AACzC,CAAC;AAtBD,4BAsBC"}
|