saito-js 0.2.210 → 0.2.211
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/lib/custom/shared_methods.web.js +2 -2
- package/lib/custom/shared_methods.web.js.map +1 -1
- package/lib/slip.d.ts.map +1 -1
- package/lib/slip.js +1 -0
- package/lib/slip.js.map +1 -1
- package/lib/stun_peer.js +2 -2
- package/lib/stun_peer.js.map +1 -1
- package/lib/wasm_host_bridge.d.ts +37 -0
- package/lib/wasm_host_bridge.d.ts.map +1 -0
- package/lib/wasm_host_bridge.js +114 -0
- package/lib/wasm_host_bridge.js.map +1 -0
- package/package.json +6 -2
- package/saito.d.ts +2 -0
- package/saito.d.ts.map +1 -1
- package/saito.js +43 -135
- package/saito.js.map +1 -1
- package/tests/wasm_host_bridge.test.d.ts +2 -0
- package/tests/wasm_host_bridge.test.d.ts.map +1 -0
- package/tests/wasm_host_bridge.test.js +112 -0
- package/tests/wasm_host_bridge.test.js.map +1 -0
- package/tests/wrappers.test.d.ts +2 -0
- package/tests/wrappers.test.d.ts.map +1 -0
- package/tests/wrappers.test.js +175 -0
- package/tests/wrappers.test.js.map +1 -0
|
@@ -19,7 +19,7 @@ class WebSharedMethods extends custom_shared_methods_1.default {
|
|
|
19
19
|
socket.onmessage = (event) => {
|
|
20
20
|
try {
|
|
21
21
|
let buffer = Buffer.from(event.data);
|
|
22
|
-
saito_1.default.
|
|
22
|
+
saito_1.default.getRuntimeInstance()
|
|
23
23
|
.process_msg_buffer_from_peer(buffer, peer.instance)
|
|
24
24
|
.then((buffer) => {
|
|
25
25
|
if (buffer && buffer.byteLength > 0) {
|
|
@@ -49,7 +49,7 @@ class WebSharedMethods extends custom_shared_methods_1.default {
|
|
|
49
49
|
socket.onclose = () => {
|
|
50
50
|
try {
|
|
51
51
|
console.debug("socket.onclose : " + url + " , key : " + peer.publicKey);
|
|
52
|
-
saito_1.default.
|
|
52
|
+
saito_1.default.getRuntimeInstance().process_peer_disconnection(peer.publicKey);
|
|
53
53
|
}
|
|
54
54
|
catch (error) {
|
|
55
55
|
console.error(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared_methods.web.js","sourceRoot":"","sources":["../../../lib/custom/shared_methods.web.ts"],"names":[],"mappings":";;;;;AAAA,wDAAgC;AAEhC,oFAA0D;AAC1D,mEAA0C;AAE1C,MAAqB,gBAAiB,SAAQ,+BAAmB;IAC/D,aAAa,CAAC,GAAW;QACvB,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC;YAC/C,IAAI,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC;YAElC,wBAAwB;YACxB,IAAI,IAAI,GAAG,IAAI,sBAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAErB,wDAAwD;YAExD,MAAM,CAAC,SAAS,GAAG,CAAC,KAAmB,EAAE,EAAE;gBACzC,IAAI,CAAC;oBACH,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAErC,eAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"shared_methods.web.js","sourceRoot":"","sources":["../../../lib/custom/shared_methods.web.ts"],"names":[],"mappings":";;;;;AAAA,wDAAgC;AAEhC,oFAA0D;AAC1D,mEAA0C;AAE1C,MAAqB,gBAAiB,SAAQ,+BAAmB;IAC/D,aAAa,CAAC,GAAW;QACvB,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC;YAC/C,IAAI,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC;YAElC,wBAAwB;YACxB,IAAI,IAAI,GAAG,IAAI,sBAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAErB,wDAAwD;YAExD,MAAM,CAAC,SAAS,GAAG,CAAC,KAAmB,EAAE,EAAE;gBACzC,IAAI,CAAC;oBACH,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAErC,eAAK,CAAC,kBAAkB,EAAE;yBACvB,4BAA4B,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;yBACnD,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;wBACpB,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;4BACpC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACtB,CAAC;wBACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;4BACnB,IAAI,CAAC,eAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gCACnD,OAAO,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gCACvE,eAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;4BACtD,CAAC;wBACH,CAAC;oBACH,CAAC,CAAC,CAAC;gBACP,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;gBACnB,IAAI,CAAC;oBACH,4DAA4D;oBAC5D,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC;gBACzC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC,CAAC;YACF,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;gBACpB,IAAI,CAAC;oBACH,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,GAAG,GAAG,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;oBACxE,eAAK,CAAC,kBAAkB,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC,CAAC;YACF,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;gBACzB,IAAI,CAAC;oBACH,OAAO,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,SAAS,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC3D,eAAK,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,SAAiB;QAClC,OAAO,CAAC,KAAK,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAAC;QACrD,eAAK,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,kBAAkB,CAAC,GAAW;QAC5B,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,GAAG,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC,GAAG,CAAC;aACd,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;YACjB,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,MAAmB,EAAE,EAAE;YAC5B,OAAO,CAAC,KAAK,CAAC,uBAAuB,GAAG,GAAG,GAAG,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YAClF,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;YAC/C,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,cAAc,CAAC,GAAW;QACxB,IAAI,CAAC;YACH,OAAO,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,IAAI,CAAC;YACH,IAAI,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,GAAG,CAAC,CAAC;gBACjD,OAAO,IAAI,UAAU,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACxC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,8DAA8D;gBAC9D,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACzC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,UAAU,EAAE,CAAC;IAC1B,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,IAAI,CAAC;YACH,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,WAAW,CAAC,SAAiB,EAAE,MAAkB;QAC/C,IAAI,CAAC;YACH,IAAI,eAAK,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1D,MAAM,QAAQ,GAAG,eAAK,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACxE,IAAI,QAAQ,EAAE,CAAC;oBACb,YAAY;oBACZ,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;oBAC/C,YAAY;oBACZ,MAAM,EAAE,GAAG,cAAc,CAAC,EAAE,CAAC;oBAC7B,IAAI,EAAE,EAAE,CAAC;wBACP,IAAI,EAAE,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;4BAC7B,OAAO,CAAC,KAAK,CAAC,gCAAgC,SAAS,mBAAmB,CAAC,CAAC;4BAC5E,IAAI,CAAC;gCACH,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BAClB,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACf,OAAO,CAAC,KAAK,CACX,sCAAsC,SAAS,oBAAoB,EACnE,KAAK,CACN,CAAC;4BACJ,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,IAAI,CACV,8BAA8B,SAAS,gCAAgC,EAAE,CAAC,UAAU,EAAE,CACvF,CAAC;wBACJ,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,8BAA8B,SAAS,qBAAqB,CAAC,CAAC;oBAC7E,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,aAAa,SAAS,YAAY,CAAC,CAAC;gBACnD,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,MAAM,GAAG,eAAK,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,MAAkB,EAAE,UAAyB;QAC5D,2EAA2E;QAC3E,0CAA0C;QAC1C,eAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAC9C,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBACzB,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO;gBACT,CAAC;gBACD,aAAa;gBACb,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;oBACtC,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACN,aAAa;oBACb,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,GAAW,EAAE,KAAiB;QACvC,IAAI,CAAC;YACH,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,WAAW,CAAC,GAAW,EAAE,KAAiB;QACxC,uEAAuE;IACzE,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,uEAAuE;IACzE,CAAC;IAED,kBAAkB,CAAC,KAAa,EAAE,UAAkB;QAClD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACF;AA7ND,mCA6NC"}
|
package/lib/slip.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slip.d.ts","sourceRoot":"","sources":["../../lib/slip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAGzC,oBAAY,QAAQ;IAChB,MAAM,IAAI;IACV,GAAG,IAAI;IACP,QAAQ,IAAI;IACZ,SAAS,IAAI;IACb,UAAU,IAAI;IACd,WAAW,IAAI;IACf,WAAW,IAAI;IACf,YAAY,IAAI;IAChB,UAAU,IAAI;IACd,KAAK,IAAI;CACZ;AAED,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW,CAAC,QAAQ,CAAC;IAEnD,OAAc,IAAI,EAAE,GAAG,CAAC;gBAEZ,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,GAAG;IAiBvC,IAAW,QAAQ,IAAI,QAAQ,CAE9B;IAED,IAAW,IAAI,IAAI,QAAQ,CAE1B;IAED,IAAW,IAAI,CAAC,IAAI,EAAE,QAAQ,EAE7B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAExC;IAED,IAAW,SAAS,IAAI,MAAM,CAK7B;IAED,IAAW,SAAS,CAAC,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"slip.d.ts","sourceRoot":"","sources":["../../lib/slip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAGzC,oBAAY,QAAQ;IAChB,MAAM,IAAI;IACV,GAAG,IAAI;IACP,QAAQ,IAAI;IACZ,SAAS,IAAI;IACb,UAAU,IAAI;IACd,WAAW,IAAI;IACf,WAAW,IAAI;IACf,YAAY,IAAI;IAChB,UAAU,IAAI;IACd,KAAK,IAAI;CACZ;AAED,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW,CAAC,QAAQ,CAAC;IAEnD,OAAc,IAAI,EAAE,GAAG,CAAC;gBAEZ,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,GAAG;IAiBvC,IAAW,QAAQ,IAAI,QAAQ,CAE9B;IAED,IAAW,IAAI,IAAI,QAAQ,CAE1B;IAED,IAAW,IAAI,CAAC,IAAI,EAAE,QAAQ,EAE7B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAExC;IAED,IAAW,SAAS,IAAI,MAAM,CAK7B;IAED,IAAW,SAAS,CAAC,GAAG,EAAE,MAAM,EAM/B;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,OAAO,CAAC,EAAE,EAAE,MAAM,EAE5B;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,SAAS,CAAC,OAAO,EAAE,MAAM,EAEnC;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,OAAO,CAAC,GAAG,EAAE,MAAM,EAE7B;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;WAEa,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAUhD,MAAM,IAAI;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,GAAG,CAAC;KACb;IAYM,KAAK;CAGf"}
|
package/lib/slip.js
CHANGED
package/lib/slip.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slip.js","sourceRoot":"","sources":["../../lib/slip.ts"],"names":[],"mappings":";;;;;;AACA,kEAAyC;AACzC,qCAA+C;AAE/C,IAAY,QAWX;AAXD,WAAY,QAAQ;IAChB,2CAAU,CAAA;IACV,qCAAO,CAAA;IACP,+CAAY,CAAA;IACZ,iDAAa,CAAA;IACb,mDAAc,CAAA;IACd,qDAAe,CAAA;IACf,qDAAe,CAAA;IACf,uDAAgB,CAAA;IAChB,mDAAc,CAAA;IACd,yCAAS,CAAA;AACb,CAAC,EAXW,QAAQ,wBAAR,QAAQ,QAWnB;AAED,MAAqB,IAAK,SAAQ,sBAAqB;IACnD,0BAA0B;IACnB,MAAM,CAAC,IAAI,CAAM;IAExB,YAAY,IAAe,EAAE,IAAU;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;QACD,KAAK,CAAC,IAAK,CAAC,CAAC;QAEb,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,CAAC;IACL,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAqB,CAAC;IAC/C,CAAC;IAED,IAAW,IAAI,CAAC,IAAc;QAC1B,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAc,CAAC;IAC7C,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,IAAW,MAAM,CAAC,MAAuB;QACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,IAAW,SAAS;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,8BAAqB,EAAE,CAAC;YACpD,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IACpC,CAAC;IAED,IAAW,SAAS,CAAC,GAAW;QAC5B,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,8BAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"slip.js","sourceRoot":"","sources":["../../lib/slip.ts"],"names":[],"mappings":"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"}
|
package/lib/stun_peer.js
CHANGED
|
@@ -46,7 +46,7 @@ class StunManager {
|
|
|
46
46
|
}
|
|
47
47
|
this.stunPeers.set(publicKey, { peerConnection, publicKey });
|
|
48
48
|
console.log(`Data channel opened and STUN peer added with public key: ${publicKey}`);
|
|
49
|
-
saito_1.default.
|
|
49
|
+
saito_1.default.getRuntimeInstance().process_stun_peer(publicKey);
|
|
50
50
|
};
|
|
51
51
|
dataChannel.onerror = (error) => {
|
|
52
52
|
console.error("Data channel error for STUN peer", publicKey, error);
|
|
@@ -78,7 +78,7 @@ class StunManager {
|
|
|
78
78
|
else {
|
|
79
79
|
console.warn(`Attempt to remove non-existent STUN peer with index: ${publicKey}`);
|
|
80
80
|
}
|
|
81
|
-
saito_1.default.
|
|
81
|
+
saito_1.default.getRuntimeInstance().remove_stun_peer(publicKey);
|
|
82
82
|
}
|
|
83
83
|
findPeerIndexByPublicKey(publicKey) {
|
|
84
84
|
for (const [index, peer] of this.stunPeers) {
|
package/lib/stun_peer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stun_peer.js","sourceRoot":"","sources":["../../lib/stun_peer.ts"],"names":[],"mappings":";;;;;;AAAA,qDAA6B;AAC7B,kEAAyC;AAEzC,MAAa,WAAW;IACF;IAApB,YAAoB,aAAoB;QAApB,kBAAa,GAAb,aAAa,CAAO;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAEO,SAAS,GACf,IAAI,GAAG,EAAE,CAAC;IAEL,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,cAAiC;QAC3E,wEAAwE;QACxE,MAAM,kBAAkB,GAAuB;YAC7C,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,OAAO;SAClB,CAAC;QACF,MAAM,EAAE,GAAG,cAAc,CAAC,iBAAiB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAEhF,YAAY;QACZ,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC;QACvB,cAAc,CAAC,aAAa,GAAG,CAAC,KAAK,EAAE,EAAE;YACvC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC;YAClC,IAAI,IAAI,GAAG,IAAI,sBAAW,EAAE,CAAC;YAE7B,WAAW,CAAC,SAAS,GAAG,CAAC,YAAY,EAAE,EAAE;gBACvC,2BAA2B;gBAC3B,IAAI,YAAY,CAAC,IAAI,YAAY,WAAW,EAAE,CAAC;oBAC7C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBACjD,eAAK,CAAC,WAAW,EAAE,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC3D,OAAO,CAAC,GAAG,CAAC,8CAA8C,EAAE,SAAS,CAAC,CAAC;gBACzE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,8CAA8C,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC,CAAC;YAEF,WAAW,CAAC,MAAM,GAAG,GAAG,EAAE;gBACxB,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,SAAS,CAAC,CAAC;gBAC7D,IAAI,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;gBACjE,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,CACT,4CAA4C,iBAAiB,oBAAoB,SAAS,EAAE,CAC7F,CAAC;oBACF,kCAAkC;oBAClC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;gBACzC,CAAC;gBAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,4DAA4D,SAAS,EAAE,CAAC,CAAC;gBACrF,eAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"stun_peer.js","sourceRoot":"","sources":["../../lib/stun_peer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import SharedMethods from "../shared_methods";
|
|
2
|
+
export interface SaitoWasmHostBridge {
|
|
3
|
+
send_message(publicKey: string, buffer: Uint8Array): void;
|
|
4
|
+
send_message_to_all(buffer: Uint8Array, exceptions: Array<string>): void;
|
|
5
|
+
connect_to_peer(url: string): void;
|
|
6
|
+
write_value(key: string, value: Uint8Array): void;
|
|
7
|
+
append_value(key: string, value: Uint8Array): void;
|
|
8
|
+
flush_data(key: string): void;
|
|
9
|
+
ensure_directory_exists(path: string): void;
|
|
10
|
+
read_value(key: string): Uint8Array;
|
|
11
|
+
load_block_file_list(): Array<string>;
|
|
12
|
+
is_existing_file(key: string): boolean;
|
|
13
|
+
remove_value(key: string): void;
|
|
14
|
+
disconnect_from_peer(publicKey: string): void;
|
|
15
|
+
fetch_block_from_peer(hash: Uint8Array, publicKey: string, url: string, blockId: bigint): void;
|
|
16
|
+
process_api_call(buffer: Uint8Array, msgIndex: number, publicKey: string): Promise<void>;
|
|
17
|
+
process_api_success(buffer: Uint8Array, msgIndex: number, publicKey: string): void;
|
|
18
|
+
process_api_error(buffer: Uint8Array, msgIndex: number, publicKey: string): void;
|
|
19
|
+
send_interface_event(event: string, publicKey: string): void;
|
|
20
|
+
send_block_fetch_status_event(count: bigint): void;
|
|
21
|
+
send_block_success(hash: string, blockId: bigint): void;
|
|
22
|
+
send_wallet_update(): void;
|
|
23
|
+
save_wallet(wallet: unknown): void;
|
|
24
|
+
load_wallet(wallet: unknown): void;
|
|
25
|
+
save_blockchain(blockchain: unknown): void;
|
|
26
|
+
load_blockchain(blockchain: unknown): void;
|
|
27
|
+
get_my_services(): unknown;
|
|
28
|
+
send_new_version_alert(major: number, minor: number, patch: number, publicKey: string): void;
|
|
29
|
+
send_new_chain_detected_event(): void;
|
|
30
|
+
}
|
|
31
|
+
declare global {
|
|
32
|
+
var __saito_wasm_bridge__: SaitoWasmHostBridge | undefined;
|
|
33
|
+
}
|
|
34
|
+
export declare function createWasmHostBridge(sharedMethods: SharedMethods, getRuntimeInstance: () => any): SaitoWasmHostBridge;
|
|
35
|
+
export declare function installWasmHostBridge(sharedMethods: SharedMethods, getRuntimeInstance: () => any): SaitoWasmHostBridge;
|
|
36
|
+
export declare function uninstallWasmHostBridge(): void;
|
|
37
|
+
//# sourceMappingURL=wasm_host_bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm_host_bridge.d.ts","sourceRoot":"","sources":["../../lib/wasm_host_bridge.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1D,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACzE,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IAClD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACnD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IACpC,oBAAoB,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/F,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACnF,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACjF,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7D,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,kBAAkB,IAAI,IAAI,CAAC;IAC3B,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,eAAe,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C,eAAe,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C,eAAe,IAAI,OAAO,CAAC;IAC3B,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7F,6BAA6B,IAAI,IAAI,CAAC;CACvC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,qBAAqB,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC5D;AAED,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,MAAM,GAAG,GAC5B,mBAAmB,CAoGrB;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,MAAM,GAAG,GAC5B,mBAAmB,CAIrB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.uninstallWasmHostBridge = exports.installWasmHostBridge = exports.createWasmHostBridge = void 0;
|
|
4
|
+
function createWasmHostBridge(sharedMethods, getRuntimeInstance) {
|
|
5
|
+
return {
|
|
6
|
+
send_message: (publicKey, buffer) => {
|
|
7
|
+
sharedMethods.sendMessage(publicKey, buffer);
|
|
8
|
+
},
|
|
9
|
+
send_message_to_all: (buffer, exceptions) => {
|
|
10
|
+
sharedMethods.sendMessageToAll(buffer, exceptions);
|
|
11
|
+
},
|
|
12
|
+
connect_to_peer: (url) => {
|
|
13
|
+
sharedMethods.connectToPeer(url);
|
|
14
|
+
},
|
|
15
|
+
write_value: (key, value) => {
|
|
16
|
+
sharedMethods.writeValue(key, value);
|
|
17
|
+
},
|
|
18
|
+
append_value: (key, value) => {
|
|
19
|
+
sharedMethods.appendValue(key, value);
|
|
20
|
+
},
|
|
21
|
+
flush_data: (key) => {
|
|
22
|
+
sharedMethods.flushData(key);
|
|
23
|
+
},
|
|
24
|
+
ensure_directory_exists: (path) => {
|
|
25
|
+
sharedMethods.ensureDirExists(path);
|
|
26
|
+
},
|
|
27
|
+
read_value: (key) => {
|
|
28
|
+
return sharedMethods.readValue(key);
|
|
29
|
+
},
|
|
30
|
+
load_block_file_list: () => {
|
|
31
|
+
return sharedMethods.loadBlockFileList();
|
|
32
|
+
},
|
|
33
|
+
is_existing_file: (key) => {
|
|
34
|
+
return sharedMethods.isExistingFile(key);
|
|
35
|
+
},
|
|
36
|
+
remove_value: (key) => {
|
|
37
|
+
sharedMethods.removeValue(key);
|
|
38
|
+
},
|
|
39
|
+
disconnect_from_peer: (publicKey) => {
|
|
40
|
+
sharedMethods.disconnectFromPeer(publicKey);
|
|
41
|
+
},
|
|
42
|
+
fetch_block_from_peer: (hash, publicKey, url, blockId) => {
|
|
43
|
+
sharedMethods
|
|
44
|
+
.fetchBlockFromPeer(url)
|
|
45
|
+
.then((buffer) => {
|
|
46
|
+
return getRuntimeInstance().process_fetched_block(buffer, hash, blockId, publicKey);
|
|
47
|
+
})
|
|
48
|
+
.catch((error) => {
|
|
49
|
+
console.log("failed fetching block for url : " +
|
|
50
|
+
url +
|
|
51
|
+
" from peer : " +
|
|
52
|
+
publicKey +
|
|
53
|
+
", block id = " +
|
|
54
|
+
blockId);
|
|
55
|
+
console.error(error);
|
|
56
|
+
return getRuntimeInstance().process_failed_block_fetch(hash, blockId, publicKey);
|
|
57
|
+
});
|
|
58
|
+
},
|
|
59
|
+
process_api_call: (buffer, msgIndex, publicKey) => {
|
|
60
|
+
return sharedMethods.processApiCall(buffer, msgIndex, publicKey).then(() => { });
|
|
61
|
+
},
|
|
62
|
+
process_api_success: (buffer, msgIndex, publicKey) => {
|
|
63
|
+
return sharedMethods.processApiSuccess(buffer, msgIndex, publicKey);
|
|
64
|
+
},
|
|
65
|
+
process_api_error: (buffer, msgIndex, publicKey) => {
|
|
66
|
+
return sharedMethods.processApiError(buffer, msgIndex, publicKey);
|
|
67
|
+
},
|
|
68
|
+
send_interface_event: (event, publicKey) => {
|
|
69
|
+
return sharedMethods.sendInterfaceEvent(event, publicKey);
|
|
70
|
+
},
|
|
71
|
+
send_block_fetch_status_event: (count) => {
|
|
72
|
+
return sharedMethods.sendBlockFetchStatus(count);
|
|
73
|
+
},
|
|
74
|
+
send_block_success: (hash, blockId) => {
|
|
75
|
+
return sharedMethods.sendBlockSuccess(hash, blockId);
|
|
76
|
+
},
|
|
77
|
+
send_wallet_update: () => {
|
|
78
|
+
return sharedMethods.sendWalletUpdate();
|
|
79
|
+
},
|
|
80
|
+
save_wallet: (wallet) => {
|
|
81
|
+
return sharedMethods.saveWallet(wallet);
|
|
82
|
+
},
|
|
83
|
+
load_wallet: (wallet) => {
|
|
84
|
+
return sharedMethods.loadWallet(wallet);
|
|
85
|
+
},
|
|
86
|
+
save_blockchain: (blockchain) => {
|
|
87
|
+
return sharedMethods.saveBlockchain(blockchain);
|
|
88
|
+
},
|
|
89
|
+
load_blockchain: (blockchain) => {
|
|
90
|
+
return sharedMethods.loadBlockchain(blockchain);
|
|
91
|
+
},
|
|
92
|
+
get_my_services: () => {
|
|
93
|
+
return sharedMethods.getMyServices().instance;
|
|
94
|
+
},
|
|
95
|
+
send_new_version_alert: (major, minor, patch, publicKey) => {
|
|
96
|
+
return sharedMethods.sendNewVersionAlert(major, minor, patch, publicKey);
|
|
97
|
+
},
|
|
98
|
+
send_new_chain_detected_event: () => {
|
|
99
|
+
return sharedMethods.sendNewChainDetectedEvent();
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
exports.createWasmHostBridge = createWasmHostBridge;
|
|
104
|
+
function installWasmHostBridge(sharedMethods, getRuntimeInstance) {
|
|
105
|
+
const bridge = createWasmHostBridge(sharedMethods, getRuntimeInstance);
|
|
106
|
+
globalThis.__saito_wasm_bridge__ = bridge;
|
|
107
|
+
return bridge;
|
|
108
|
+
}
|
|
109
|
+
exports.installWasmHostBridge = installWasmHostBridge;
|
|
110
|
+
function uninstallWasmHostBridge() {
|
|
111
|
+
delete globalThis.__saito_wasm_bridge__;
|
|
112
|
+
}
|
|
113
|
+
exports.uninstallWasmHostBridge = uninstallWasmHostBridge;
|
|
114
|
+
//# sourceMappingURL=wasm_host_bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm_host_bridge.js","sourceRoot":"","sources":["../../lib/wasm_host_bridge.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "saito-js",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.211",
|
|
4
4
|
"description": "js wrappings around saito-core using wasm",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "env TS_NODE_PROJECT=\"tsconfig.testing.json\" mocha --require ts-node/register 'tests/**/*.ts'",
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
"author": "",
|
|
11
11
|
"license": "ISC",
|
|
12
12
|
"devDependencies": {
|
|
13
|
+
"@types/mocha": "^10.0.10",
|
|
14
|
+
"@types/node": "^20.17.19",
|
|
13
15
|
"@types/jest": "29.2.5",
|
|
14
16
|
"@types/ws": "8.5.5",
|
|
15
17
|
"babel-loader": "8.2.3",
|
|
@@ -18,10 +20,12 @@
|
|
|
18
20
|
"crypto-browserify": "3.12.0",
|
|
19
21
|
"html-webpack-plugin": "5.5.0",
|
|
20
22
|
"ignore-loader": "0.1.2",
|
|
23
|
+
"mocha": "^11.1.0",
|
|
21
24
|
"path-browserify": "1.0.1",
|
|
22
25
|
"prettier": "2.8.8",
|
|
23
26
|
"source-map-loader": "3.0.0",
|
|
24
27
|
"stream-browserify": "3.0.0",
|
|
28
|
+
"ts-node": "^10.9.2",
|
|
25
29
|
"ts-loader": "9.4.2",
|
|
26
30
|
"ts-node-dev": "2.0.0",
|
|
27
31
|
"typescript": "5.4.x"
|
|
@@ -36,7 +40,7 @@
|
|
|
36
40
|
"morgan": "1.10.1",
|
|
37
41
|
"node-fetch": "2.7.0",
|
|
38
42
|
"process": "0.11.10",
|
|
39
|
-
"saito-wasm": "0.2.
|
|
43
|
+
"saito-wasm": "0.2.211",
|
|
40
44
|
"url": "0.11.0",
|
|
41
45
|
"util": "0.12.5",
|
|
42
46
|
"ws": "8.18.3"
|
package/saito.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export declare enum LogLevel {
|
|
|
18
18
|
export default class Saito {
|
|
19
19
|
private static instance;
|
|
20
20
|
private static libInstance;
|
|
21
|
+
private static runtimeInstance;
|
|
21
22
|
peers: Map<string, NetworkPeer>;
|
|
22
23
|
private stunPeers;
|
|
23
24
|
stunManager: StunPeer;
|
|
@@ -34,6 +35,7 @@ export default class Saito {
|
|
|
34
35
|
constructor(factory: Factory);
|
|
35
36
|
static getInstance(): Saito;
|
|
36
37
|
static getLibInstance(): any;
|
|
38
|
+
static getRuntimeInstance(): any;
|
|
37
39
|
static setLibInstance(instance: any): void;
|
|
38
40
|
static setWasmMemory(memory: any): void;
|
|
39
41
|
static getWasmMemory(): WebAssembly.Memory | null;
|
package/saito.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saito.d.ts","sourceRoot":"","sources":["../saito.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,IAAI,MAAM,YAAY,CAAC;AAC9B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,MAAkC,MAAM,cAAc,CAAC;AAC9D,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,eAAe,MAAM,wBAAwB,CAAC;AAErD,OAAO,WAAW,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"saito.d.ts","sourceRoot":"","sources":["../saito.ts"],"names":[],"mappings":"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"}
|
package/saito.js
CHANGED
|
@@ -9,6 +9,7 @@ const stun_peer_1 = __importDefault(require("./lib/stun_peer"));
|
|
|
9
9
|
const wallet_1 = require("./lib/wallet");
|
|
10
10
|
const balance_snapshot_1 = __importDefault(require("./lib/balance_snapshot"));
|
|
11
11
|
const nft_1 = __importDefault(require("./lib/nft"));
|
|
12
|
+
const wasm_host_bridge_1 = require("./lib/wasm_host_bridge");
|
|
12
13
|
var LogLevel;
|
|
13
14
|
(function (LogLevel) {
|
|
14
15
|
LogLevel[LogLevel["Error"] = 0] = "Error";
|
|
@@ -20,6 +21,7 @@ var LogLevel;
|
|
|
20
21
|
class Saito {
|
|
21
22
|
static instance;
|
|
22
23
|
static libInstance;
|
|
24
|
+
static runtimeInstance;
|
|
23
25
|
peers = new Map();
|
|
24
26
|
stunPeers = new Map();
|
|
25
27
|
stunManager;
|
|
@@ -32,109 +34,12 @@ class Saito {
|
|
|
32
34
|
static async initialize(configs, sharedMethods, factory = new factory_1.default(), privateKey, logLevel, haste_multiplier, deleteOldBlocks) {
|
|
33
35
|
console.log("initializing saito lib");
|
|
34
36
|
Saito.instance = new Saito(factory);
|
|
35
|
-
|
|
36
|
-
globalThis.shared_methods = {
|
|
37
|
-
send_message: (public_key, buffer) => {
|
|
38
|
-
sharedMethods.sendMessage(public_key, buffer);
|
|
39
|
-
},
|
|
40
|
-
send_message_to_all: (buffer, exceptions) => {
|
|
41
|
-
sharedMethods.sendMessageToAll(buffer, exceptions);
|
|
42
|
-
},
|
|
43
|
-
connect_to_peer: (url) => {
|
|
44
|
-
sharedMethods.connectToPeer(url);
|
|
45
|
-
},
|
|
46
|
-
write_value: (key, value) => {
|
|
47
|
-
return sharedMethods.writeValue(key, value);
|
|
48
|
-
},
|
|
49
|
-
append_value: (key, value) => {
|
|
50
|
-
return sharedMethods.appendValue(key, value);
|
|
51
|
-
},
|
|
52
|
-
flush_data: (key) => {
|
|
53
|
-
return sharedMethods.flushData(key);
|
|
54
|
-
},
|
|
55
|
-
ensure_directory_exists: (path) => {
|
|
56
|
-
return sharedMethods.ensureDirExists(path);
|
|
57
|
-
},
|
|
58
|
-
read_value: (key) => {
|
|
59
|
-
return sharedMethods.readValue(key);
|
|
60
|
-
},
|
|
61
|
-
load_block_file_list: () => {
|
|
62
|
-
return sharedMethods.loadBlockFileList();
|
|
63
|
-
},
|
|
64
|
-
is_existing_file: (key) => {
|
|
65
|
-
return sharedMethods.isExistingFile(key);
|
|
66
|
-
},
|
|
67
|
-
remove_value: (key) => {
|
|
68
|
-
return sharedMethods.removeValue(key);
|
|
69
|
-
},
|
|
70
|
-
disconnect_from_peer: (public_key) => {
|
|
71
|
-
return sharedMethods.disconnectFromPeer(public_key);
|
|
72
|
-
},
|
|
73
|
-
fetch_block_from_peer: (hash, public_key, url, block_id) => {
|
|
74
|
-
sharedMethods
|
|
75
|
-
.fetchBlockFromPeer(url)
|
|
76
|
-
.then((buffer) => {
|
|
77
|
-
return Saito.getLibInstance().process_fetched_block(buffer, hash, block_id, public_key);
|
|
78
|
-
})
|
|
79
|
-
.catch((error) => {
|
|
80
|
-
console.log("failed fetching block for url : " +
|
|
81
|
-
url +
|
|
82
|
-
" from peer : " +
|
|
83
|
-
public_key +
|
|
84
|
-
", block id = " +
|
|
85
|
-
block_id);
|
|
86
|
-
console.error(error);
|
|
87
|
-
return Saito.getLibInstance().process_failed_block_fetch(hash, block_id, public_key);
|
|
88
|
-
});
|
|
89
|
-
},
|
|
90
|
-
process_api_call: (buffer, msgIndex, public_key) => {
|
|
91
|
-
return sharedMethods.processApiCall(buffer, msgIndex, public_key).then(() => { });
|
|
92
|
-
},
|
|
93
|
-
process_api_success: (buffer, msgIndex, public_key) => {
|
|
94
|
-
return sharedMethods.processApiSuccess(buffer, msgIndex, public_key);
|
|
95
|
-
},
|
|
96
|
-
process_api_error: (buffer, msgIndex, public_key) => {
|
|
97
|
-
return sharedMethods.processApiError(buffer, msgIndex, public_key);
|
|
98
|
-
},
|
|
99
|
-
send_interface_event: (event, public_key) => {
|
|
100
|
-
return sharedMethods.sendInterfaceEvent(event, public_key);
|
|
101
|
-
},
|
|
102
|
-
send_block_fetch_status_event: (count) => {
|
|
103
|
-
return sharedMethods.sendBlockFetchStatus(count);
|
|
104
|
-
},
|
|
105
|
-
send_block_success: (hash, blockId) => {
|
|
106
|
-
return sharedMethods.sendBlockSuccess(hash, blockId);
|
|
107
|
-
},
|
|
108
|
-
send_wallet_update: () => {
|
|
109
|
-
return sharedMethods.sendWalletUpdate();
|
|
110
|
-
},
|
|
111
|
-
save_wallet: (wallet) => {
|
|
112
|
-
return sharedMethods.saveWallet(wallet);
|
|
113
|
-
},
|
|
114
|
-
load_wallet: (wallet) => {
|
|
115
|
-
return sharedMethods.loadWallet(wallet);
|
|
116
|
-
},
|
|
117
|
-
save_blockchain: (blockchain) => {
|
|
118
|
-
return sharedMethods.saveBlockchain(blockchain);
|
|
119
|
-
},
|
|
120
|
-
load_blockchain: (blockchain) => {
|
|
121
|
-
return sharedMethods.loadBlockchain(blockchain);
|
|
122
|
-
},
|
|
123
|
-
get_my_services: () => {
|
|
124
|
-
return sharedMethods.getMyServices().instance;
|
|
125
|
-
},
|
|
126
|
-
send_new_version_alert: (major, minor, patch, public_key) => {
|
|
127
|
-
return sharedMethods.sendNewVersionAlert(major, minor, patch, public_key);
|
|
128
|
-
},
|
|
129
|
-
send_new_chain_detected_event: () => {
|
|
130
|
-
return sharedMethods.sendNewChainDetectedEvent();
|
|
131
|
-
},
|
|
132
|
-
};
|
|
37
|
+
(0, wasm_host_bridge_1.installWasmHostBridge)(sharedMethods, () => Saito.getRuntimeInstance());
|
|
133
38
|
if (privateKey === "") {
|
|
134
39
|
privateKey = wallet_1.DefaultEmptyPrivateKey;
|
|
135
40
|
}
|
|
136
41
|
let configStr = JSON.stringify(configs);
|
|
137
|
-
await Saito.getLibInstance().
|
|
42
|
+
Saito.runtimeInstance = await Saito.getLibInstance().initialize_runtime(configStr, privateKey, logLevel, haste_multiplier, deleteOldBlocks);
|
|
138
43
|
let blockchain = await Saito.getInstance().getBlockchain();
|
|
139
44
|
console.log("last callback block id set as : " + configs.blockchain?.last_block_id);
|
|
140
45
|
blockchain.last_callback_block_id = configs.blockchain?.last_block_id || 0;
|
|
@@ -149,7 +54,7 @@ class Saito {
|
|
|
149
54
|
call_timed_functions(interval, lastCalledTime) {
|
|
150
55
|
setTimeout(() => {
|
|
151
56
|
let time = Date.now();
|
|
152
|
-
Saito.
|
|
57
|
+
Saito.getRuntimeInstance()
|
|
153
58
|
.process_timer_event(BigInt(time - lastCalledTime))
|
|
154
59
|
.then(() => {
|
|
155
60
|
this.call_timed_functions(interval, time);
|
|
@@ -159,7 +64,7 @@ class Saito {
|
|
|
159
64
|
call_stat_functions(interval) {
|
|
160
65
|
setTimeout(() => {
|
|
161
66
|
let time = Date.now();
|
|
162
|
-
Saito.
|
|
67
|
+
Saito.getRuntimeInstance()
|
|
163
68
|
.process_stat_interval(BigInt(time))
|
|
164
69
|
.then(() => {
|
|
165
70
|
this.call_stat_functions(interval);
|
|
@@ -176,6 +81,9 @@ class Saito {
|
|
|
176
81
|
static getLibInstance() {
|
|
177
82
|
return Saito.libInstance;
|
|
178
83
|
}
|
|
84
|
+
static getRuntimeInstance() {
|
|
85
|
+
return Saito.runtimeInstance || Saito.libInstance;
|
|
86
|
+
}
|
|
179
87
|
static setLibInstance(instance) {
|
|
180
88
|
Saito.libInstance = instance;
|
|
181
89
|
}
|
|
@@ -222,14 +130,14 @@ class Saito {
|
|
|
222
130
|
}
|
|
223
131
|
}
|
|
224
132
|
async initialize(configs) {
|
|
225
|
-
return Saito.
|
|
133
|
+
return Saito.getRuntimeInstance().initialize?.(configs);
|
|
226
134
|
}
|
|
227
135
|
async getLatestBlockHash() {
|
|
228
|
-
return Saito.
|
|
136
|
+
return Saito.getRuntimeInstance().get_latest_block_hash();
|
|
229
137
|
}
|
|
230
138
|
async getBlock(blockHash) {
|
|
231
139
|
try {
|
|
232
|
-
let block = await Saito.
|
|
140
|
+
let block = await Saito.getRuntimeInstance().get_block(blockHash);
|
|
233
141
|
return Saito.getInstance().factory.createBlock(block);
|
|
234
142
|
}
|
|
235
143
|
catch (error) {
|
|
@@ -238,16 +146,16 @@ class Saito {
|
|
|
238
146
|
}
|
|
239
147
|
}
|
|
240
148
|
async processPeerDisconnection(public_key) {
|
|
241
|
-
return Saito.
|
|
149
|
+
return Saito.getRuntimeInstance().process_peer_disconnection(public_key);
|
|
242
150
|
}
|
|
243
151
|
async processMsgBufferFromPeer(buffer, peer) {
|
|
244
|
-
return Saito.
|
|
152
|
+
return Saito.getRuntimeInstance().process_msg_buffer_from_peer(buffer, peer.instance);
|
|
245
153
|
}
|
|
246
154
|
async processFetchedBlock(buffer, hash, block_id, public_key) {
|
|
247
|
-
return Saito.
|
|
155
|
+
return Saito.getRuntimeInstance().process_fetched_block(buffer, hash, block_id, public_key);
|
|
248
156
|
}
|
|
249
157
|
async processTimerEvent(duration_in_ms) {
|
|
250
|
-
return Saito.
|
|
158
|
+
return Saito.getRuntimeInstance().process_timer_event(duration_in_ms);
|
|
251
159
|
}
|
|
252
160
|
hash(buffer) {
|
|
253
161
|
return Saito.getLibInstance().hash(buffer);
|
|
@@ -259,48 +167,48 @@ class Saito {
|
|
|
259
167
|
return Saito.getLibInstance().verify_signature(buffer, signature, publicKey);
|
|
260
168
|
}
|
|
261
169
|
async createTransaction(publickey = "", amount = BigInt(0), fee = BigInt(0), force_merge = false) {
|
|
262
|
-
let wasmTx = await Saito.
|
|
170
|
+
let wasmTx = await Saito.getRuntimeInstance().create_transaction(publickey, amount, fee, force_merge);
|
|
263
171
|
let tx = Saito.getInstance().factory.createTransaction(wasmTx);
|
|
264
172
|
tx.timestamp = new Date().getTime();
|
|
265
173
|
return tx;
|
|
266
174
|
}
|
|
267
175
|
async createTransactionWithMultiplePayments(keys, amounts, fee) {
|
|
268
|
-
let wasmTx = await Saito.
|
|
176
|
+
let wasmTx = await Saito.getRuntimeInstance().create_transaction_with_multiple_payments(keys, amounts, fee);
|
|
269
177
|
let tx = Saito.getInstance().factory.createTransaction(wasmTx);
|
|
270
178
|
tx.timestamp = new Date().getTime();
|
|
271
179
|
return tx;
|
|
272
180
|
}
|
|
273
181
|
async createBoundTransaction(num, deposit, tx_msg, fee, recipient_public_key, nft_type) {
|
|
274
182
|
let tx_msg_arr = new Uint8Array(Buffer.from(JSON.stringify(tx_msg), "utf-8"));
|
|
275
|
-
let wasmTx = await Saito.
|
|
183
|
+
let wasmTx = await Saito.getRuntimeInstance().create_bound_transaction(num, deposit, new Uint8Array(tx_msg_arr), fee, recipient_public_key, nft_type);
|
|
276
184
|
let tx = Saito.getInstance().factory.createTransaction(wasmTx);
|
|
277
185
|
tx.timestamp = new Date().getTime();
|
|
278
186
|
return tx;
|
|
279
187
|
}
|
|
280
188
|
async createSendBoundTransaction(amt, slip1UtxoKey, slip2UtxoKey, slip3UtxoKey, recipientPublicKey, tx_msg) {
|
|
281
189
|
let tx_msg_arr = new Uint8Array(Buffer.from(JSON.stringify(tx_msg), "utf-8"));
|
|
282
|
-
const wasmTx = await Saito.
|
|
190
|
+
const wasmTx = await Saito.getRuntimeInstance().create_send_bound_transaction(amt, slip1UtxoKey, slip2UtxoKey, slip3UtxoKey, recipientPublicKey, new Uint8Array(tx_msg_arr));
|
|
283
191
|
const tx = Saito.getInstance().factory.createTransaction(wasmTx);
|
|
284
192
|
tx.timestamp = Date.now();
|
|
285
193
|
return tx;
|
|
286
194
|
}
|
|
287
195
|
async createAtomizeBoundTransaction(slip1UtxoKey, slip2UtxoKey, slip3UtxoKey, tx_msg) {
|
|
288
196
|
const tx_msg_arr = Buffer.from(JSON.stringify(tx_msg), "utf-8");
|
|
289
|
-
const wasmTx = await Saito.
|
|
197
|
+
const wasmTx = await Saito.getRuntimeInstance().create_atomize_bound_transaction(slip1UtxoKey, slip2UtxoKey, slip3UtxoKey, new Uint8Array(tx_msg_arr));
|
|
290
198
|
const tx = Saito.getInstance().factory.createTransaction(wasmTx);
|
|
291
199
|
tx.timestamp = Date.now();
|
|
292
200
|
return tx;
|
|
293
201
|
}
|
|
294
202
|
async createSplitBoundTransaction(slip1UtxoKey, slip2UtxoKey, slip3UtxoKey, leftCount, rightCount, tx_msg) {
|
|
295
203
|
let tx_msg_arr = new Uint8Array(Buffer.from(JSON.stringify(tx_msg), "utf-8"));
|
|
296
|
-
const wasmTx = await Saito.
|
|
204
|
+
const wasmTx = await Saito.getRuntimeInstance().create_split_bound_transaction(slip1UtxoKey, slip2UtxoKey, slip3UtxoKey, leftCount, rightCount, new Uint8Array(tx_msg_arr));
|
|
297
205
|
const tx = Saito.getInstance().factory.createTransaction(wasmTx);
|
|
298
206
|
tx.timestamp = Date.now();
|
|
299
207
|
return tx;
|
|
300
208
|
}
|
|
301
209
|
async createMergeBoundTransaction(nftId, tx_msg) {
|
|
302
210
|
let tx_msg_arr = new Uint8Array(Buffer.from(JSON.stringify(tx_msg), "utf-8"));
|
|
303
|
-
const wasmTx = await Saito.
|
|
211
|
+
const wasmTx = await Saito.getRuntimeInstance().create_merge_bound_transaction(nftId, new Uint8Array(tx_msg_arr));
|
|
304
212
|
const tx = Saito.getInstance().factory.createTransaction(wasmTx);
|
|
305
213
|
tx.timestamp = Date.now();
|
|
306
214
|
return tx;
|
|
@@ -308,20 +216,20 @@ class Saito {
|
|
|
308
216
|
async createRemoveBoundTransaction(slip1UtxoKey, slip2UtxoKey, slip3UtxoKey, tx_msg // ADD THIS
|
|
309
217
|
) {
|
|
310
218
|
let tx_msg_arr = new Uint8Array(Buffer.from(JSON.stringify(tx_msg), "utf-8"));
|
|
311
|
-
const wasmTx = await Saito.
|
|
219
|
+
const wasmTx = await Saito.getRuntimeInstance().create_remove_bound_transaction(slip1UtxoKey, slip2UtxoKey, slip3UtxoKey, new Uint8Array(tx_msg_arr) // SEND IT TO WASM
|
|
312
220
|
);
|
|
313
221
|
const tx = Saito.getInstance().factory.createTransaction(wasmTx);
|
|
314
222
|
tx.timestamp = Date.now();
|
|
315
223
|
return tx;
|
|
316
224
|
}
|
|
317
225
|
async getPeers() {
|
|
318
|
-
let peers = await Saito.
|
|
226
|
+
let peers = await Saito.getRuntimeInstance().get_peers();
|
|
319
227
|
return peers.map((peer) => {
|
|
320
228
|
return this.factory.createPeer(peer);
|
|
321
229
|
});
|
|
322
230
|
}
|
|
323
231
|
async getPeer(publicKey) {
|
|
324
|
-
let peer = await Saito.
|
|
232
|
+
let peer = await Saito.getRuntimeInstance().get_peer(publicKey);
|
|
325
233
|
if (!peer) {
|
|
326
234
|
return null;
|
|
327
235
|
}
|
|
@@ -336,7 +244,7 @@ class Saito {
|
|
|
336
244
|
}
|
|
337
245
|
async propagateTransaction(tx) {
|
|
338
246
|
let tx2 = tx.clone();
|
|
339
|
-
return Saito.
|
|
247
|
+
return Saito.getRuntimeInstance().propagate_transaction(tx2.wasmTransaction);
|
|
340
248
|
}
|
|
341
249
|
async sendApiCall(buffer, publicKey, waitForReply) {
|
|
342
250
|
if (!!publicKey) {
|
|
@@ -355,18 +263,18 @@ class Saito {
|
|
|
355
263
|
resolve,
|
|
356
264
|
reject,
|
|
357
265
|
});
|
|
358
|
-
Saito.
|
|
266
|
+
Saito.getRuntimeInstance().send_api_call(buffer, this.callbackIndex, publicKey || "");
|
|
359
267
|
});
|
|
360
268
|
}
|
|
361
269
|
else {
|
|
362
|
-
return Saito.
|
|
270
|
+
return Saito.getRuntimeInstance().send_api_call(buffer, this.callbackIndex, publicKey || "");
|
|
363
271
|
}
|
|
364
272
|
}
|
|
365
273
|
async sendApiSuccess(msgId, buffer, publicKey) {
|
|
366
|
-
return Saito.
|
|
274
|
+
return Saito.getRuntimeInstance().send_api_success(buffer, msgId, publicKey);
|
|
367
275
|
}
|
|
368
276
|
async sendApiError(msgId, buffer, publicKey) {
|
|
369
|
-
return Saito.
|
|
277
|
+
return Saito.getRuntimeInstance().send_api_error(buffer, msgId, publicKey);
|
|
370
278
|
}
|
|
371
279
|
async sendTransactionWithCallback(transaction, callback, publicKey) {
|
|
372
280
|
// TODO : implement retry on fail
|
|
@@ -413,43 +321,43 @@ class Saito {
|
|
|
413
321
|
}
|
|
414
322
|
async getWallet() {
|
|
415
323
|
if (!this.wallet) {
|
|
416
|
-
let w = await Saito.
|
|
324
|
+
let w = await Saito.getRuntimeInstance().get_wallet();
|
|
417
325
|
this.wallet = this.factory.createWallet(w);
|
|
418
326
|
}
|
|
419
327
|
return this.wallet;
|
|
420
328
|
}
|
|
421
329
|
async getBlockchain() {
|
|
422
330
|
if (!this.blockchain) {
|
|
423
|
-
let b = await Saito.
|
|
331
|
+
let b = await Saito.getRuntimeInstance().get_blockchain();
|
|
424
332
|
this.blockchain = this.factory.createBlockchain(b);
|
|
425
333
|
}
|
|
426
334
|
return this.blockchain;
|
|
427
335
|
}
|
|
428
336
|
async getMempoolTxs() {
|
|
429
|
-
let txs = await Saito.
|
|
337
|
+
let txs = await Saito.getRuntimeInstance().get_mempool_txs();
|
|
430
338
|
return Promise.all(txs.map(async (tx) => {
|
|
431
339
|
let txObj = await Saito.getInstance().factory.createTransaction(tx);
|
|
432
340
|
return txObj.toJson();
|
|
433
341
|
}));
|
|
434
342
|
}
|
|
435
343
|
async getAccountSlips(publicKey) {
|
|
436
|
-
return Saito.
|
|
344
|
+
return Saito.getRuntimeInstance().get_account_slips(publicKey);
|
|
437
345
|
}
|
|
438
346
|
async getBalanceSnapshot(keys) {
|
|
439
|
-
let snapshot = await Saito.
|
|
347
|
+
let snapshot = await Saito.getRuntimeInstance().get_balance_snapshot(keys);
|
|
440
348
|
return new balance_snapshot_1.default(snapshot);
|
|
441
349
|
}
|
|
442
350
|
async getNftList() {
|
|
443
|
-
const raw = await Saito.
|
|
351
|
+
const raw = await Saito.getRuntimeInstance().get_nft_list();
|
|
444
352
|
const arr = Array.from(raw);
|
|
445
353
|
const json = JSON.stringify(arr.map((w) => new nft_1.default(w).toJSON()));
|
|
446
354
|
return json;
|
|
447
355
|
}
|
|
448
356
|
async updateBalanceFrom(snapshot) {
|
|
449
|
-
await Saito.
|
|
357
|
+
await Saito.getRuntimeInstance().update_from_balance_snapshot(snapshot.instance);
|
|
450
358
|
}
|
|
451
359
|
async setWalletVersion(major, minor, patch) {
|
|
452
|
-
await Saito.
|
|
360
|
+
await Saito.getRuntimeInstance().set_wallet_version(major, minor, patch);
|
|
453
361
|
}
|
|
454
362
|
isValidPublicKey(key) {
|
|
455
363
|
try {
|
|
@@ -462,7 +370,7 @@ class Saito {
|
|
|
462
370
|
}
|
|
463
371
|
async writeIssuanceFile(threshold) {
|
|
464
372
|
try {
|
|
465
|
-
return Saito.
|
|
373
|
+
return Saito.getRuntimeInstance().write_issuance_file(threshold);
|
|
466
374
|
}
|
|
467
375
|
catch (error) {
|
|
468
376
|
console.warn("failed writing issuance file");
|
|
@@ -480,7 +388,7 @@ class Saito {
|
|
|
480
388
|
}
|
|
481
389
|
async disableProducingBlocksByTimer() {
|
|
482
390
|
try {
|
|
483
|
-
return Saito.
|
|
391
|
+
return Saito.getRuntimeInstance().disable_producing_blocks_by_timer();
|
|
484
392
|
}
|
|
485
393
|
catch (e) {
|
|
486
394
|
console.error(e);
|
|
@@ -488,7 +396,7 @@ class Saito {
|
|
|
488
396
|
}
|
|
489
397
|
async produceBlockWithGt() {
|
|
490
398
|
try {
|
|
491
|
-
return Saito.
|
|
399
|
+
return Saito.getRuntimeInstance().produce_block_with_gt();
|
|
492
400
|
}
|
|
493
401
|
catch (e) {
|
|
494
402
|
console.error(e);
|
|
@@ -497,7 +405,7 @@ class Saito {
|
|
|
497
405
|
}
|
|
498
406
|
async produceBlockWithoutGt() {
|
|
499
407
|
try {
|
|
500
|
-
return Saito.
|
|
408
|
+
return Saito.getRuntimeInstance().produce_block_without_gt();
|
|
501
409
|
}
|
|
502
410
|
catch (error) {
|
|
503
411
|
console.error(error);
|
package/saito.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saito.js","sourceRoot":"","sources":["../saito.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"saito.js","sourceRoot":"","sources":["../saito.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm_host_bridge.test.d.ts","sourceRoot":"","sources":["../../tests/wasm_host_bridge.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const strict_1 = __importDefault(require("node:assert/strict"));
|
|
7
|
+
const wasm_host_bridge_1 = require("../lib/wasm_host_bridge");
|
|
8
|
+
describe("wasm host bridge", function () {
|
|
9
|
+
it("installs a bridge on globalThis", function () {
|
|
10
|
+
const sharedMethods = {
|
|
11
|
+
sendMessage() { },
|
|
12
|
+
sendMessageToAll() { },
|
|
13
|
+
connectToPeer() { },
|
|
14
|
+
writeValue() { },
|
|
15
|
+
appendValue() { },
|
|
16
|
+
flushData() { },
|
|
17
|
+
ensureDirExists() { },
|
|
18
|
+
readValue() {
|
|
19
|
+
return new Uint8Array();
|
|
20
|
+
},
|
|
21
|
+
loadBlockFileList() {
|
|
22
|
+
return [];
|
|
23
|
+
},
|
|
24
|
+
isExistingFile() {
|
|
25
|
+
return false;
|
|
26
|
+
},
|
|
27
|
+
removeValue() { },
|
|
28
|
+
disconnectFromPeer() { },
|
|
29
|
+
fetchBlockFromPeer() {
|
|
30
|
+
return Promise.resolve(new Uint8Array());
|
|
31
|
+
},
|
|
32
|
+
processApiCall() {
|
|
33
|
+
return Promise.resolve();
|
|
34
|
+
},
|
|
35
|
+
processApiSuccess() { },
|
|
36
|
+
processApiError() { },
|
|
37
|
+
sendInterfaceEvent() { },
|
|
38
|
+
sendBlockFetchStatus() { },
|
|
39
|
+
sendNewVersionAlert() { },
|
|
40
|
+
sendBlockSuccess() { },
|
|
41
|
+
sendWalletUpdate() { },
|
|
42
|
+
saveWallet() { },
|
|
43
|
+
loadWallet() { },
|
|
44
|
+
saveBlockchain() { },
|
|
45
|
+
loadBlockchain() { },
|
|
46
|
+
getMyServices() {
|
|
47
|
+
return { instance: { services: [] } };
|
|
48
|
+
},
|
|
49
|
+
sendNewChainDetectedEvent() { },
|
|
50
|
+
};
|
|
51
|
+
const bridge = (0, wasm_host_bridge_1.installWasmHostBridge)(sharedMethods, () => ({}));
|
|
52
|
+
strict_1.default.equal(globalThis.__saito_wasm_bridge__, bridge);
|
|
53
|
+
(0, wasm_host_bridge_1.uninstallWasmHostBridge)();
|
|
54
|
+
strict_1.default.equal(globalThis.__saito_wasm_bridge__, undefined);
|
|
55
|
+
});
|
|
56
|
+
it("routes block fetch results back into the wasm lib instance", async function () {
|
|
57
|
+
let fetched = [];
|
|
58
|
+
const bridge = (0, wasm_host_bridge_1.createWasmHostBridge)({
|
|
59
|
+
sendMessage() { },
|
|
60
|
+
sendMessageToAll() { },
|
|
61
|
+
connectToPeer() { },
|
|
62
|
+
writeValue() { },
|
|
63
|
+
appendValue() { },
|
|
64
|
+
flushData() { },
|
|
65
|
+
ensureDirExists() { },
|
|
66
|
+
readValue() {
|
|
67
|
+
return new Uint8Array();
|
|
68
|
+
},
|
|
69
|
+
loadBlockFileList() {
|
|
70
|
+
return [];
|
|
71
|
+
},
|
|
72
|
+
isExistingFile() {
|
|
73
|
+
return false;
|
|
74
|
+
},
|
|
75
|
+
removeValue() { },
|
|
76
|
+
disconnectFromPeer() { },
|
|
77
|
+
fetchBlockFromPeer() {
|
|
78
|
+
return Promise.resolve(new Uint8Array([7, 8, 9]));
|
|
79
|
+
},
|
|
80
|
+
processApiCall() {
|
|
81
|
+
return Promise.resolve();
|
|
82
|
+
},
|
|
83
|
+
processApiSuccess() { },
|
|
84
|
+
processApiError() { },
|
|
85
|
+
sendInterfaceEvent() { },
|
|
86
|
+
sendBlockFetchStatus() { },
|
|
87
|
+
sendNewVersionAlert() { },
|
|
88
|
+
sendBlockSuccess() { },
|
|
89
|
+
sendWalletUpdate() { },
|
|
90
|
+
saveWallet() { },
|
|
91
|
+
loadWallet() { },
|
|
92
|
+
saveBlockchain() { },
|
|
93
|
+
loadBlockchain() { },
|
|
94
|
+
getMyServices() {
|
|
95
|
+
return { instance: { services: [] } };
|
|
96
|
+
},
|
|
97
|
+
sendNewChainDetectedEvent() { },
|
|
98
|
+
}, () => ({
|
|
99
|
+
process_fetched_block(buffer, hash, blockId, publicKey) {
|
|
100
|
+
fetched = [Array.from(buffer), Array.from(hash), blockId, publicKey];
|
|
101
|
+
},
|
|
102
|
+
process_failed_block_fetch() {
|
|
103
|
+
throw new Error("unexpected fetch failure");
|
|
104
|
+
},
|
|
105
|
+
}));
|
|
106
|
+
bridge.fetch_block_from_peer(new Uint8Array([1, 2]), "peer", "http://peer", BigInt(4));
|
|
107
|
+
await Promise.resolve();
|
|
108
|
+
await Promise.resolve();
|
|
109
|
+
strict_1.default.deepEqual(fetched, [[7, 8, 9], [1, 2], BigInt(4), "peer"]);
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
//# sourceMappingURL=wasm_host_bridge.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm_host_bridge.test.js","sourceRoot":"","sources":["../../tests/wasm_host_bridge.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrappers.test.d.ts","sourceRoot":"","sources":["../../tests/wrappers.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const strict_1 = __importDefault(require("node:assert/strict"));
|
|
30
|
+
const factory_1 = __importDefault(require("../lib/factory"));
|
|
31
|
+
const hop_1 = __importDefault(require("../lib/hop"));
|
|
32
|
+
const slip_1 = __importDefault(require("../lib/slip"));
|
|
33
|
+
const transaction_1 = __importStar(require("../lib/transaction"));
|
|
34
|
+
const wallet_1 = __importStar(require("../lib/wallet"));
|
|
35
|
+
class FakeWasmSlip {
|
|
36
|
+
static parse_slip_from_utxokey(_utxoKey) {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
slip_type = 0;
|
|
40
|
+
amount = BigInt(0);
|
|
41
|
+
public_key = wallet_1.DefaultEmptyPublicKey;
|
|
42
|
+
slip_index = 0;
|
|
43
|
+
block_id = BigInt(0);
|
|
44
|
+
tx_ordinal = BigInt(0);
|
|
45
|
+
utxo_key = "";
|
|
46
|
+
}
|
|
47
|
+
class FakeWasmHop {
|
|
48
|
+
from = "from-key";
|
|
49
|
+
to = "to-key";
|
|
50
|
+
sig = "hop-sig";
|
|
51
|
+
}
|
|
52
|
+
class FakeWasmTransaction {
|
|
53
|
+
static deserialize(buffer) {
|
|
54
|
+
const tx = new FakeWasmTransaction();
|
|
55
|
+
tx.data = buffer;
|
|
56
|
+
return tx;
|
|
57
|
+
}
|
|
58
|
+
to = [];
|
|
59
|
+
from = [];
|
|
60
|
+
routing_path = [];
|
|
61
|
+
type = transaction_1.TransactionType.Normal;
|
|
62
|
+
timestamp = BigInt(0);
|
|
63
|
+
signature = "";
|
|
64
|
+
data = new Uint8Array();
|
|
65
|
+
txs_replacements = 0;
|
|
66
|
+
total_fees = BigInt(0);
|
|
67
|
+
add_from_slip(slip) {
|
|
68
|
+
this.from.push(slip);
|
|
69
|
+
}
|
|
70
|
+
add_to_slip(slip) {
|
|
71
|
+
this.to.push(slip);
|
|
72
|
+
}
|
|
73
|
+
sign() {
|
|
74
|
+
this.signature = "signed";
|
|
75
|
+
return this.signature;
|
|
76
|
+
}
|
|
77
|
+
is_from(key) {
|
|
78
|
+
return this.from.some((slip) => slip.public_key === key);
|
|
79
|
+
}
|
|
80
|
+
is_to(key) {
|
|
81
|
+
return this.to.some((slip) => slip.public_key === key);
|
|
82
|
+
}
|
|
83
|
+
serialize() {
|
|
84
|
+
return this.data;
|
|
85
|
+
}
|
|
86
|
+
generate_hash_for_signature() { }
|
|
87
|
+
get_hash_for_signature() {
|
|
88
|
+
return new Uint8Array([1, 2, 3]);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
class FakeWasmWallet {
|
|
92
|
+
publicKey = wallet_1.DefaultEmptyPublicKey;
|
|
93
|
+
privateKey = wallet_1.DefaultEmptyPrivateKey;
|
|
94
|
+
async save() { }
|
|
95
|
+
async load() { }
|
|
96
|
+
async reset(_keepKeys) { }
|
|
97
|
+
async get_public_key() {
|
|
98
|
+
return this.publicKey;
|
|
99
|
+
}
|
|
100
|
+
async set_public_key(key) {
|
|
101
|
+
this.publicKey = key;
|
|
102
|
+
}
|
|
103
|
+
async get_private_key() {
|
|
104
|
+
return this.privateKey;
|
|
105
|
+
}
|
|
106
|
+
async set_private_key(key) {
|
|
107
|
+
this.privateKey = key;
|
|
108
|
+
}
|
|
109
|
+
async get_balance() {
|
|
110
|
+
return BigInt(0);
|
|
111
|
+
}
|
|
112
|
+
async get_pending_txs() {
|
|
113
|
+
return [];
|
|
114
|
+
}
|
|
115
|
+
async get_slips() {
|
|
116
|
+
return [];
|
|
117
|
+
}
|
|
118
|
+
async add_slip(_slip) { }
|
|
119
|
+
async get_key_list() {
|
|
120
|
+
return [];
|
|
121
|
+
}
|
|
122
|
+
async set_key_list(_keyList) { }
|
|
123
|
+
async add_to_pending(_tx) { }
|
|
124
|
+
async add_nft() { }
|
|
125
|
+
}
|
|
126
|
+
describe("saito-js wrappers", function () {
|
|
127
|
+
beforeEach(function () {
|
|
128
|
+
transaction_1.default.Type = FakeWasmTransaction;
|
|
129
|
+
slip_1.default.Type = FakeWasmSlip;
|
|
130
|
+
hop_1.default.Type = FakeWasmHop;
|
|
131
|
+
wallet_1.default.Type = FakeWasmWallet;
|
|
132
|
+
});
|
|
133
|
+
it("packs and unpacks normal transaction message data", function () {
|
|
134
|
+
const tx = new transaction_1.default();
|
|
135
|
+
tx.msg = { memo: "hello", amount: 22 };
|
|
136
|
+
tx.packData();
|
|
137
|
+
tx.unpackData();
|
|
138
|
+
strict_1.default.deepEqual(tx.msg, { memo: "hello", amount: 22 });
|
|
139
|
+
strict_1.default.equal(Buffer.from(tx.data).toString("utf-8"), '{"memo":"hello","amount":22}');
|
|
140
|
+
});
|
|
141
|
+
it("clears unpacked message data for non-normal transaction types", function () {
|
|
142
|
+
const tx = new transaction_1.default();
|
|
143
|
+
tx.type = transaction_1.TransactionType.Fee;
|
|
144
|
+
tx.data = new Uint8Array(Buffer.from('{"memo":"ignored"}', "utf-8"));
|
|
145
|
+
tx.unpackData();
|
|
146
|
+
strict_1.default.deepEqual(tx.msg, {});
|
|
147
|
+
});
|
|
148
|
+
it("preserves the default empty public key sentinel in slips", function () {
|
|
149
|
+
const slip = new slip_1.default();
|
|
150
|
+
slip.publicKey = "";
|
|
151
|
+
strict_1.default.equal(slip.wasmSlip.public_key, wallet_1.DefaultEmptyPublicKey);
|
|
152
|
+
strict_1.default.equal(slip.publicKey, "");
|
|
153
|
+
});
|
|
154
|
+
it("maps wallet empty keys to an ergonomic empty string", async function () {
|
|
155
|
+
const wallet = new wallet_1.default(new FakeWasmWallet());
|
|
156
|
+
strict_1.default.equal(await wallet.getPublicKey(), "");
|
|
157
|
+
strict_1.default.equal(await wallet.getPrivateKey(), "");
|
|
158
|
+
await wallet.setPublicKey("");
|
|
159
|
+
await wallet.setPrivateKey("");
|
|
160
|
+
const wasmWallet = wallet.instance;
|
|
161
|
+
strict_1.default.equal(wasmWallet.publicKey, wallet_1.DefaultEmptyPublicKey);
|
|
162
|
+
strict_1.default.equal(wasmWallet.privateKey, wallet_1.DefaultEmptyPrivateKey);
|
|
163
|
+
});
|
|
164
|
+
it("uses the configured wrapper constructors in the factory", function () {
|
|
165
|
+
const factory = new factory_1.default();
|
|
166
|
+
const tx = factory.createTransaction();
|
|
167
|
+
const slip = factory.createSlip();
|
|
168
|
+
const path = factory.createRoutingPath();
|
|
169
|
+
strict_1.default.ok(tx instanceof transaction_1.default);
|
|
170
|
+
strict_1.default.ok(slip instanceof slip_1.default);
|
|
171
|
+
strict_1.default.ok(path instanceof hop_1.default);
|
|
172
|
+
strict_1.default.equal(path.toJson().sig, "hop-sig");
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
//# sourceMappingURL=wrappers.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrappers.test.js","sourceRoot":"","sources":["../../tests/wrappers.test.ts"],"names":[],"mappings":"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"}
|