saito-js 0.0.6 → 0.0.7

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.
@@ -0,0 +1,154 @@
1
+ import Slip from "./slip";
2
+ import Saito from "../saito";
3
+ export var TransactionType;
4
+ (function (TransactionType) {
5
+ TransactionType[TransactionType["Normal"] = 0] = "Normal";
6
+ TransactionType[TransactionType["Fee"] = 1] = "Fee";
7
+ TransactionType[TransactionType["GoldenTicket"] = 2] = "GoldenTicket";
8
+ TransactionType[TransactionType["ATR"] = 3] = "ATR";
9
+ TransactionType[TransactionType["Vip"] = 4] = "Vip";
10
+ TransactionType[TransactionType["SPV"] = 5] = "SPV";
11
+ TransactionType[TransactionType["Issuance"] = 6] = "Issuance";
12
+ TransactionType[TransactionType["Other"] = 7] = "Other";
13
+ })(TransactionType || (TransactionType = {}));
14
+ export default class Transaction {
15
+ // TODO : factory pattern might be useful here to remove unnecessary wrappings
16
+ constructor(tx, json) {
17
+ this.msg = {};
18
+ if (tx) {
19
+ this.tx = tx;
20
+ }
21
+ else {
22
+ this.tx = new Transaction.Type();
23
+ }
24
+ if (json) {
25
+ for (let slip of json.to) {
26
+ let s = new Slip(undefined, slip);
27
+ this.addToSlip(s);
28
+ }
29
+ for (let slip of json.from) {
30
+ let s = new Slip(undefined, slip);
31
+ this.addFromSlip(s);
32
+ }
33
+ this.timestamp = json.timestamp;
34
+ this.type = json.type;
35
+ this.signature = json.signature;
36
+ this.data = new Uint8Array(Buffer.from(json.buffer, "base64"));
37
+ this.txs_replacements = json.txs_replacements;
38
+ }
39
+ }
40
+ get wasmTransaction() {
41
+ return this.tx;
42
+ }
43
+ addFromSlip(slip) {
44
+ this.tx.add_from_slip(slip.wasmSlip);
45
+ }
46
+ addToSlip(slip) {
47
+ this.tx.add_to_slip(slip.wasmSlip);
48
+ }
49
+ get to() {
50
+ return this.tx.to.map((slip) => {
51
+ return Saito.getInstance().factory.createSlip(slip);
52
+ });
53
+ }
54
+ get from() {
55
+ return this.tx.from.map((slip) => {
56
+ return Saito.getInstance().factory.createSlip(slip);
57
+ });
58
+ }
59
+ get type() {
60
+ return this.tx.type;
61
+ }
62
+ set type(type) {
63
+ this.tx.type = type;
64
+ }
65
+ get timestamp() {
66
+ return Number(this.tx.timestamp);
67
+ }
68
+ set timestamp(timestamp) {
69
+ this.tx.timestamp = BigInt(timestamp);
70
+ }
71
+ set signature(sig) {
72
+ this.tx.signature = sig;
73
+ }
74
+ get signature() {
75
+ return this.tx.signature;
76
+ }
77
+ set data(buffer) {
78
+ this.tx.data = buffer;
79
+ }
80
+ get data() {
81
+ return this.tx.data;
82
+ }
83
+ set txs_replacements(r) {
84
+ this.tx.txs_replacements = r;
85
+ }
86
+ get txs_replacements() {
87
+ return this.tx.txs_replacements;
88
+ }
89
+ get total_fees() {
90
+ return this.tx.total_fees;
91
+ }
92
+ async sign() {
93
+ return this.tx.sign();
94
+ }
95
+ async signAndEncrypt() {
96
+ return this.tx.sign_and_encrypt();
97
+ }
98
+ isFrom(key) {
99
+ return this.tx.is_from(key);
100
+ }
101
+ isTo(key) {
102
+ return this.tx.is_to(key);
103
+ }
104
+ toJson() {
105
+ this.packData();
106
+ return {
107
+ to: this.to.map((slip) => slip.toJson()),
108
+ from: this.from.map((slip) => slip.toJson()),
109
+ type: this.type,
110
+ timestamp: this.timestamp,
111
+ signature: this.signature,
112
+ buffer: Buffer.from(this.data).toString("base64"),
113
+ txs_replacements: this.txs_replacements,
114
+ total_fees: this.total_fees,
115
+ };
116
+ }
117
+ static deserialize(buffer, factory) {
118
+ try {
119
+ let wasmTx = Transaction.Type.deserialize(buffer);
120
+ return factory.createTransaction(wasmTx);
121
+ }
122
+ catch (e) {
123
+ console.debug(e);
124
+ return null;
125
+ }
126
+ }
127
+ serialize() {
128
+ return this.tx.serialize();
129
+ }
130
+ packData() {
131
+ if (Object.keys(this.msg).length === 0) {
132
+ this.data = new Uint8Array(Buffer.alloc(0));
133
+ }
134
+ else {
135
+ this.data = new Uint8Array(Buffer.from(JSON.stringify(this.msg), "utf-8"));
136
+ }
137
+ }
138
+ unpackData() {
139
+ if (this.data.byteLength === 0) {
140
+ this.msg = {};
141
+ }
142
+ else {
143
+ try {
144
+ this.msg = JSON.parse(Buffer.from(this.data).toString("utf-8"));
145
+ }
146
+ catch (error) {
147
+ console.log("failed parsing tx buffer into msg");
148
+ console.error(error);
149
+ this.msg = {};
150
+ }
151
+ }
152
+ }
153
+ }
154
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../lib/transaction.ts"],"names":[],"mappings":"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"}
package/lib/wallet.js ADDED
@@ -0,0 +1,45 @@
1
+ import Saito from "../saito";
2
+ export const DefaultEmptyPrivateKey = "0000000000000000000000000000000000000000000000000000000000000000";
3
+ export const DefaultEmptyPublicKey = "000000000000000000000000000000000000000000000000000000000000000000";
4
+ export default class Wallet {
5
+ constructor(wallet) {
6
+ this.wallet = wallet;
7
+ }
8
+ async save() {
9
+ return this.wallet.save();
10
+ }
11
+ async load() {
12
+ return this.wallet.load();
13
+ }
14
+ async reset() {
15
+ return this.wallet.reset();
16
+ }
17
+ async getPublicKey() {
18
+ let key = await this.wallet.get_public_key();
19
+ return key === DefaultEmptyPublicKey ? "" : key;
20
+ }
21
+ async setPublicKey(key) {
22
+ if (key === "") {
23
+ key = DefaultEmptyPublicKey;
24
+ }
25
+ return this.wallet.set_public_key(key);
26
+ }
27
+ async getPrivateKey() {
28
+ let key = await this.wallet.get_private_key();
29
+ return key === DefaultEmptyPrivateKey ? "" : key;
30
+ }
31
+ async setPrivateKey(key) {
32
+ if (key === "") {
33
+ key = DefaultEmptyPrivateKey;
34
+ }
35
+ return this.wallet.set_private_key(key);
36
+ }
37
+ async getBalance() {
38
+ return this.wallet.get_balance();
39
+ }
40
+ async getPendingTxs() {
41
+ let txs = await this.wallet.get_pending_txs();
42
+ return txs.map((tx) => Saito.getInstance().factory.createTransaction(tx));
43
+ }
44
+ }
45
+ //# sourceMappingURL=wallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../lib/wallet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,UAAU,CAAC;AAE7B,MAAM,CAAC,MAAM,sBAAsB,GACjC,kEAAkE,CAAC;AACrE,MAAM,CAAC,MAAM,qBAAqB,GAChC,oEAAoE,CAAC;AAEvE,MAAM,CAAC,OAAO,OAAO,MAAM;IAIzB,YAAY,MAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,YAAY;QACvB,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC7C,OAAO,GAAG,KAAK,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,GAAW;QACnC,IAAI,GAAG,KAAK,EAAE,EAAE;YACd,GAAG,GAAG,qBAAqB,CAAC;SAC7B;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,aAAa;QACxB,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC9C,OAAO,GAAG,KAAK,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACnD,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,GAAW;QACpC,IAAI,GAAG,KAAK,EAAE,EAAE;YACd,GAAG,GAAG,sBAAsB,CAAC;SAC9B;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,aAAa;QACxB,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC9C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;CACF"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "saito-js",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
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'",
7
7
  "build prod": "webpack --config webpack.prod.config.js",
8
- "build": "webpack",
8
+ "build": "tsc",
9
9
  "serve": "webpack-dev-server"
10
10
  },
11
11
  "author": "",
package/saito.js ADDED
@@ -0,0 +1,302 @@
1
+ import Factory from "./lib/factory";
2
+ import { DefaultEmptyPrivateKey } from "./lib/wallet";
3
+ // export enum MessageType {
4
+ // HandshakeChallenge = 1,
5
+ // HandshakeResponse,
6
+ // //HandshakeCompletion,
7
+ // ApplicationMessage = 4,
8
+ // Block,
9
+ // Transaction,
10
+ // BlockchainRequest,
11
+ // BlockHeaderHash,
12
+ // Ping,
13
+ // SPVChain,
14
+ // Services,
15
+ // GhostChain,
16
+ // GhostChainRequest,
17
+ // Result,
18
+ // Error,
19
+ // ApplicationTransaction,
20
+ // }
21
+ export default class Saito {
22
+ static async initialize(configs, sharedMethods, factory = new Factory(), privateKey) {
23
+ this.instance = new Saito(factory);
24
+ // @ts-ignore
25
+ globalThis.shared_methods = {
26
+ send_message: (peer_index, buffer) => {
27
+ sharedMethods.sendMessage(peer_index, buffer);
28
+ },
29
+ send_message_to_all: (buffer, exceptions) => {
30
+ sharedMethods.sendMessageToAll(buffer, exceptions);
31
+ },
32
+ connect_to_peer: (peer_data) => {
33
+ sharedMethods.connectToPeer(peer_data);
34
+ },
35
+ write_value: (key, value) => {
36
+ return sharedMethods.writeValue(key, value);
37
+ },
38
+ read_value: (key) => {
39
+ return sharedMethods.readValue(key);
40
+ },
41
+ load_block_file_list: () => {
42
+ return sharedMethods.loadBlockFileList();
43
+ },
44
+ is_existing_file: (key) => {
45
+ return sharedMethods.isExistingFile(key);
46
+ },
47
+ remove_value: (key) => {
48
+ return sharedMethods.removeValue(key);
49
+ },
50
+ disconnect_from_peer: (peer_index) => {
51
+ return sharedMethods.disconnectFromPeer(peer_index);
52
+ },
53
+ fetch_block_from_peer: (hash, peer_index, url) => {
54
+ console.log("fetching block : " + url);
55
+ sharedMethods.fetchBlockFromPeer(url).then((buffer) => {
56
+ Saito.getLibInstance().process_fetched_block(buffer, hash, peer_index);
57
+ });
58
+ },
59
+ process_api_call: (buffer, msgIndex, peerIndex) => {
60
+ return sharedMethods.processApiCall(buffer, msgIndex, peerIndex).then(() => {
61
+ });
62
+ },
63
+ process_api_success: (buffer, msgIndex, peerIndex) => {
64
+ return sharedMethods.processApiSuccess(buffer, msgIndex, peerIndex);
65
+ },
66
+ process_api_error: (buffer, msgIndex, peerIndex) => {
67
+ return sharedMethods.processApiError(buffer, msgIndex, peerIndex);
68
+ },
69
+ send_interface_event: (event, peerIndex) => {
70
+ return sharedMethods.sendInterfaceEvent(event, peerIndex);
71
+ },
72
+ save_wallet: (wallet) => {
73
+ return sharedMethods.saveWallet(wallet);
74
+ },
75
+ load_wallet: (wallet) => {
76
+ return sharedMethods.loadWallet(wallet);
77
+ },
78
+ save_blockchain: (blockchain) => {
79
+ return sharedMethods.saveBlockchain(blockchain);
80
+ },
81
+ load_blockchain: (blockchain) => {
82
+ return sharedMethods.loadBlockchain(blockchain);
83
+ },
84
+ };
85
+ if (privateKey === "") {
86
+ privateKey = DefaultEmptyPrivateKey;
87
+ }
88
+ await Saito.getLibInstance().initialize(JSON.stringify(configs), privateKey);
89
+ console.log("saito initialized");
90
+ setInterval(() => {
91
+ Saito.getLibInstance().process_timer_event(BigInt(100));
92
+ // console.log(`WASM memory usage is ${wasm.memory.buffer.byteLength} bytes`);
93
+ }, 100);
94
+ }
95
+ constructor(factory) {
96
+ this.sockets = new Map();
97
+ this.nextIndex = BigInt(0);
98
+ this.factory = new Factory();
99
+ this.promises = new Map();
100
+ this.callbackIndex = 1;
101
+ this.wallet = null;
102
+ this.blockchain = null;
103
+ this.factory = factory;
104
+ }
105
+ static getInstance() {
106
+ return Saito.instance;
107
+ }
108
+ static getLibInstance() {
109
+ return Saito.libInstance;
110
+ }
111
+ static setLibInstance(instance) {
112
+ Saito.libInstance = instance;
113
+ }
114
+ addNewSocket(socket) {
115
+ this.nextIndex++;
116
+ this.sockets.set(this.nextIndex, socket);
117
+ return this.nextIndex;
118
+ }
119
+ getSocket(index) {
120
+ return this.sockets.get(index);
121
+ }
122
+ removeSocket(index) {
123
+ let socket = this.sockets.get(index);
124
+ this.sockets.delete(index);
125
+ socket.close();
126
+ }
127
+ async initialize(configs) {
128
+ return Saito.getLibInstance().initialize(configs);
129
+ }
130
+ async getLatestBlockHash() {
131
+ return Saito.getLibInstance().get_latest_block_hash();
132
+ }
133
+ async getBlock(blockHash) {
134
+ let block = await Saito.getLibInstance().get_block(blockHash);
135
+ return Saito.getInstance().factory.createBlock(block);
136
+ }
137
+ // public async getPublicKey(): Promise<string> {
138
+ // return Saito.getLibInstance().get_public_key();
139
+ // }
140
+ //
141
+ // public async getPrivateKey(): Promise<string> {
142
+ // return Saito.getLibInstance().get_private_key();
143
+ // }
144
+ async processNewPeer(index, peer_config) {
145
+ return Saito.getLibInstance().process_new_peer(index, peer_config);
146
+ }
147
+ async processPeerDisconnection(peer_index) {
148
+ return Saito.getLibInstance().process_peer_disconnection(peer_index);
149
+ }
150
+ async processMsgBufferFromPeer(buffer, peer_index) {
151
+ return Saito.getLibInstance().process_msg_buffer_from_peer(buffer, peer_index);
152
+ }
153
+ async processFetchedBlock(buffer, hash, peer_index) {
154
+ return Saito.getLibInstance().process_fetched_block(buffer, hash, peer_index);
155
+ }
156
+ async processTimerEvent(duration_in_ms) {
157
+ return Saito.getLibInstance().process_timer_event(duration_in_ms);
158
+ }
159
+ hash(buffer) {
160
+ return Saito.getLibInstance().hash(buffer);
161
+ }
162
+ signBuffer(buffer, privateKey) {
163
+ return Saito.getLibInstance().sign_buffer(buffer, privateKey);
164
+ }
165
+ verifySignature(buffer, signature, publicKey) {
166
+ return Saito.getLibInstance().verify_signature(buffer, signature, publicKey);
167
+ }
168
+ async createTransaction(publickey = "", amount = BigInt(0), fee = BigInt(0), force_merge = false) {
169
+ let wasmTx = await Saito.getLibInstance().create_transaction(publickey, amount, fee, force_merge);
170
+ let tx = Saito.getInstance().factory.createTransaction(wasmTx);
171
+ tx.timestamp = new Date().getTime();
172
+ return tx;
173
+ }
174
+ // public async signTransaction(tx: Transaction): Promise<Transaction> {
175
+ // tx.packData();
176
+ // await tx.wasmTransaction.sign();
177
+ // return tx;
178
+ // }
179
+ // public async getPendingTransactions<Tx extends Transaction>(): Promise<Array<Tx>> {
180
+ // let txs = await Saito.getLibInstance().get_pending_txs();
181
+ // return txs.map((tx: any) => Saito.getInstance().factory.createTransaction(tx));
182
+ // }
183
+ // public async signAndEncryptTransaction(tx: Transaction) {
184
+ // return tx.wasmTransaction.sign_and_encrypt();
185
+ // }
186
+ // public async getBalance(): Promise<bigint> {
187
+ // return Saito.getLibInstance().get_balance();
188
+ // }
189
+ async getPeers() {
190
+ let peers = await Saito.getLibInstance().get_peers();
191
+ return peers.map((peer) => {
192
+ return this.factory.createPeer(peer);
193
+ });
194
+ }
195
+ async getPeer(index) {
196
+ let peer = await Saito.getLibInstance().get_peer(index);
197
+ if (!peer) {
198
+ return null;
199
+ }
200
+ return this.factory.createPeer(peer);
201
+ }
202
+ generatePrivateKey() {
203
+ return Saito.getLibInstance().generate_private_key();
204
+ }
205
+ generatePublicKey(privateKey) {
206
+ return Saito.getLibInstance().generate_public_key(privateKey);
207
+ }
208
+ async propagateTransaction(tx) {
209
+ return Saito.getLibInstance().propagate_transaction(tx.wasmTransaction);
210
+ }
211
+ async sendApiCall(buffer, peerIndex, waitForReply) {
212
+ console.log("saito.sendApiCall : peer = " + peerIndex + " wait for reply = " + waitForReply);
213
+ let callbackIndex = this.callbackIndex++;
214
+ if (waitForReply) {
215
+ return new Promise((resolve, reject) => {
216
+ this.promises.set(callbackIndex, {
217
+ resolve,
218
+ reject,
219
+ });
220
+ Saito.getLibInstance().send_api_call(buffer, callbackIndex, peerIndex);
221
+ });
222
+ }
223
+ else {
224
+ return Saito.getLibInstance().send_api_call(buffer, callbackIndex, peerIndex);
225
+ }
226
+ }
227
+ async sendApiSuccess(msgId, buffer, peerIndex) {
228
+ await Saito.getLibInstance().send_api_success(buffer, msgId, peerIndex);
229
+ }
230
+ async sendApiError(msgId, buffer, peerIndex) {
231
+ await Saito.getLibInstance().send_api_error(buffer, msgId, peerIndex);
232
+ }
233
+ async sendTransactionWithCallback(transaction, callback, peerIndex) {
234
+ // TODO : implement retry on fail
235
+ // TODO : stun code goes here probably???
236
+ console.log("saito.sendTransactionWithCallback : peer = " + peerIndex + " sig = " + transaction.signature);
237
+ let buffer = transaction.wasmTransaction.serialize();
238
+ console.log("sendTransactionWithCallback : " +
239
+ peerIndex +
240
+ " with length : " +
241
+ buffer.byteLength +
242
+ " sent : ", transaction.msg);
243
+ await this.sendApiCall(buffer, peerIndex || BigInt(0), !!callback)
244
+ .then((buffer) => {
245
+ if (callback) {
246
+ // console.log("deserializing tx. buffer length = " + buffer.byteLength);
247
+ console.log("sendTransactionWithCallback. buffer length = " + buffer.byteLength);
248
+ let tx = this.factory.createTransaction();
249
+ tx.data = buffer;
250
+ tx.unpackData();
251
+ // let tx = Transaction.deserialize(buffer, this.factory);
252
+ // if (tx) {
253
+ // console.log("sendTransactionWithCallback received : ", tx);
254
+ // return callback(tx.data);
255
+ // } else {
256
+ // console.log("sendTransactionWithCallback sending direct buffer since tx deserialization failed");
257
+ return callback(tx);
258
+ // }
259
+ }
260
+ })
261
+ .catch((error) => {
262
+ console.error(error);
263
+ if (callback) {
264
+ return callback({ err: error.toString() });
265
+ }
266
+ });
267
+ }
268
+ async propagateServices(peerIndex, services) {
269
+ return Saito.getLibInstance().propagate_services(peerIndex, services);
270
+ }
271
+ async sendRequest(message, data = "", callback, peerIndex) {
272
+ console.log("saito.sendRequest : peer = " + peerIndex);
273
+ let wallet = await this.getWallet();
274
+ let publicKey = await wallet.getPublicKey();
275
+ let tx = await this.createTransaction(publicKey, BigInt(0), BigInt(0));
276
+ tx.msg = {
277
+ request: message,
278
+ data: data,
279
+ };
280
+ tx.packData();
281
+ return this.sendTransactionWithCallback(tx, (tx) => {
282
+ if (callback) {
283
+ return callback(tx.msg);
284
+ }
285
+ }, peerIndex);
286
+ }
287
+ async getWallet() {
288
+ if (!this.wallet) {
289
+ let w = await Saito.getLibInstance().get_wallet();
290
+ this.wallet = this.factory.createWallet(w);
291
+ }
292
+ return this.wallet;
293
+ }
294
+ async getBlockchain() {
295
+ if (!this.blockchain) {
296
+ let b = await Saito.getLibInstance().get_blockchain();
297
+ this.blockchain = this.factory.createBlockchain(b);
298
+ }
299
+ return this.blockchain;
300
+ }
301
+ }
302
+ //# sourceMappingURL=saito.js.map
package/saito.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saito.js","sourceRoot":"","sources":["../saito.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=shared_methods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared_methods.js","sourceRoot":"","sources":["../shared_methods.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ // // @ts-ignore
3
+ // import {expect} from "chai";
4
+ // import SaitoJs from "../index";
5
+ //
6
+ //
7
+ // describe('setup test', function () {
8
+ // it('should load the wasm lib correctly', async function () {
9
+ // console.log("loading...");
10
+ //
11
+ // // // @ts-ignore
12
+ // // const s = await import("saito-wasm/dist/server");
13
+ // // // @ts-ignore
14
+ // //
15
+ // // console.log("s = ", s);
16
+ // // // @ts-ignore
17
+ // // let s1 = await s;
18
+ // // console.log("s1 = ", s1);
19
+ // // // @ts-ignore
20
+ // // let saito = s1.default;
21
+ // // // console.log("s2 = ", saito);
22
+ // //
23
+ // // expect(saito).to.exist;
24
+ // // // let s = await saito.default;
25
+ // // // console.log(s);
26
+ // // console.log("lib test 2 = ", saito);
27
+ // let result = await SaitoJs.initialize();
28
+ // expect(result).to.equal("initialized");
29
+ //
30
+ // let saito = SaitoJs.getInstance();
31
+ //
32
+ // expect(saito).to.exist;
33
+ // expect(saito.get_public_key).to.exist;
34
+ // expect(saito.get_public_key()).to.equal("publickey");
35
+ // });
36
+ // });
37
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../tests/index.test.ts"],"names":[],"mappings":";AAAA,gBAAgB;AAChB,+BAA+B;AAC/B,kCAAkC;AAClC,EAAE;AACF,EAAE;AACF,uCAAuC;AACvC,mEAAmE;AACnE,qCAAqC;AACrC,EAAE;AACF,2BAA2B;AAC3B,+DAA+D;AAC/D,2BAA2B;AAC3B,aAAa;AACb,qCAAqC;AACrC,2BAA2B;AAC3B,+BAA+B;AAC/B,uCAAuC;AACvC,2BAA2B;AAC3B,qCAAqC;AACrC,6CAA6C;AAC7C,aAAa;AACb,qCAAqC;AACrC,6CAA6C;AAC7C,gCAAgC;AAChC,kDAAkD;AAClD,mDAAmD;AACnD,kDAAkD;AAClD,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,kCAAkC;AAClC,iDAAiD;AACjD,gEAAgE;AAChE,UAAU;AACV,MAAM"}