saito-wasm 0.0.4 → 0.0.6

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.
Files changed (34) hide show
  1. package/.cargo/config +2 -0
  2. package/Cargo.toml +18 -10
  3. package/dist/browser/index.d.ts +114 -66
  4. package/dist/browser/index.js +16 -6
  5. package/dist/server/{99068887e3f663e620cf.module.wasm → 9769c62254c661ddd6e4.module.wasm} +0 -0
  6. package/dist/server/index.d.ts +41 -6
  7. package/dist/server/pkg_node_index_js.index.js +6 -6
  8. package/dist/types/index.node.d.ts +5 -1
  9. package/dist/types/index.node.d.ts.map +1 -1
  10. package/dist/types/js/msg_handler.d.ts +1 -0
  11. package/dist/types/js/msg_handler.d.ts.map +1 -1
  12. package/dist/types/pkg/node/index_bg.d.ts +134 -68
  13. package/dist/types/pkg/node/index_bg.d.ts.map +1 -1
  14. package/dist/types/pkg/node/snippets/{saito-wasm-10de7e358f6ef4db → saito-wasm-806a53ec0c43fc4b}/js/msg_handler.d.ts +1 -0
  15. package/dist/types/pkg/node/snippets/saito-wasm-806a53ec0c43fc4b/js/msg_handler.d.ts.map +1 -0
  16. package/dist/types/pkg/web/index.d.ts +65 -15
  17. package/dist/types/pkg/web/index.d.ts.map +1 -1
  18. package/dist/types/pkg/web/snippets/{saito-wasm-10de7e358f6ef4db → saito-wasm-806a53ec0c43fc4b}/js/msg_handler.d.ts +1 -0
  19. package/dist/types/pkg/web/snippets/saito-wasm-806a53ec0c43fc4b/js/msg_handler.d.ts.map +1 -0
  20. package/dist/types/webpack.prod.config.d.ts +1 -1
  21. package/js/msg_handler.js +4 -0
  22. package/package.json +6 -4
  23. package/src/lib.rs +1 -0
  24. package/src/saitowasm.rs +49 -19
  25. package/src/wasm_configuration.rs +1 -1
  26. package/src/wasm_io_handler.rs +37 -9
  27. package/src/wasm_peer.rs +16 -8
  28. package/src/wasm_peer_service.rs +66 -0
  29. package/src/wasm_transaction.rs +2 -20
  30. package/src/wasm_wallet.rs +2 -2
  31. package/webpack.config.js +7 -1
  32. package/webpack.prod.config.js +7 -1
  33. package/dist/types/pkg/node/snippets/saito-wasm-10de7e358f6ef4db/js/msg_handler.d.ts.map +0 -1
  34. package/dist/types/pkg/web/snippets/saito-wasm-10de7e358f6ef4db/js/msg_handler.d.ts.map +0 -1
package/.cargo/config ADDED
@@ -0,0 +1,2 @@
1
+ #[target.wasm32-unknown-unknown]
2
+ #rustflags = ["-C", "target-feature=+bulk-memory,+mutable-globals"]
package/Cargo.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "saito-wasm"
3
- version = "0.1.0"
3
+ version = "0.1.1"
4
4
  edition = "2021"
5
5
 
6
6
  # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@@ -9,22 +9,30 @@ crate-type = ["cdylib"]
9
9
 
10
10
  [dependencies]
11
11
  saito-core = { path = "../saito-core" }
12
- wasm-bindgen = { version = "0.2.83", features = ["serde-serialize"] }
13
- wasm-bindgen-futures = "0.4.33"
14
- serde = { version = "1.0.152", features = ["derive"] }
15
- web-sys = "0.3.60"
16
- async-trait = "0.1.61"
12
+ wasm-bindgen = { version = "0.2.86" }
13
+ wasm-bindgen-futures = "0.4.36"
14
+ serde = { version = "1.0.163", features = ["derive"] }
15
+ serde-wasm-bindgen = "0.5.0"
16
+ web-sys = "0.3.63"
17
+ async-trait = "0.1.68"
17
18
  hex = "0.4.3"
18
19
  tokio = "1.24.2"
19
- js-sys = "0.3.60"
20
+ js-sys = "0.3.63"
20
21
  lazy_static = "1.4.0"
21
- console_log = { version = "0.2.0", features = ["color"] }
22
+ console_log = { version = "0.2.2", features = ["color"] }
22
23
  log = "0.4.17"
23
24
  getrandom = { version = "0.2.8", features = ["js", "std"] }
24
25
  rand = { version = "0.8.5", features = ["getrandom"] }
25
- secp256k1 = { version = "0.26.0", features = ["bitcoin_hashes", "global-context", "serde"] }
26
+ secp256k1 = { version = "0.27.0", features = ["bitcoin_hashes", "global-context", "serde"] }
26
27
  base58 = "0.2.0"
27
28
  figment = { version = "0.10.8", features = ["json"] }
28
- serde_json = "1.0.91"
29
+ serde_json = "1.0.96"
29
30
  num-derive = "0.3.3"
30
31
  num-traits = "0.2.15"
32
+ wee_alloc = "0.4.5"
33
+
34
+ [package.metadata.wasm-pack.profile.release]
35
+ wasm-opt = ['-Oz']
36
+
37
+ [profile.release]
38
+ lto = true
@@ -110,12 +110,6 @@ export function send_api_success(buffer: Uint8Array, msg_index: number, peer_ind
110
110
  */
111
111
  export function send_api_error(buffer: Uint8Array, msg_index: number, peer_index: bigint): Promise<void>;
112
112
  /**
113
- * @param {bigint} peer_index
114
- * @param {any} services
115
- * @returns {Promise<void>}
116
- */
117
- export function propagate_services(peer_index: bigint, services: any): Promise<void>;
118
- /**
119
113
  * @returns {Promise<WasmWallet>}
120
114
  */
121
115
  export function get_wallet(): Promise<WasmWallet>;
@@ -124,6 +118,18 @@ export function get_wallet(): Promise<WasmWallet>;
124
118
  */
125
119
  export function get_blockchain(): Promise<WasmBlockchain>;
126
120
  /**
121
+ * @param {Uint8Array} buffer
122
+ */
123
+ export function test_buffer_in(buffer: Uint8Array): void;
124
+ /**
125
+ * @returns {Uint8Array}
126
+ */
127
+ export function test_buffer_out(): Uint8Array;
128
+ /**
129
+ * @returns {Promise<Uint8Array>}
130
+ */
131
+ export function test_buffer_out_async(): Promise<Uint8Array>;
132
+ /**
127
133
  */
128
134
  export class SaitoWasm {
129
135
  free(): void;
@@ -205,6 +211,35 @@ export class WasmPeer {
205
211
  }
206
212
  /**
207
213
  */
214
+ export class WasmPeerService {
215
+ free(): void;
216
+ /**
217
+ */
218
+ constructor();
219
+ /**
220
+ */
221
+ domain: string;
222
+ /**
223
+ */
224
+ name: string;
225
+ /**
226
+ */
227
+ service: string;
228
+ }
229
+ /**
230
+ */
231
+ export class WasmPeerServiceList {
232
+ free(): void;
233
+ /**
234
+ * @param {WasmPeerService} service
235
+ */
236
+ push(service: WasmPeerService): void;
237
+ /**
238
+ */
239
+ constructor();
240
+ }
241
+ /**
242
+ */
208
243
  export class WasmSlip {
209
244
  free(): void;
210
245
  /**
@@ -347,47 +382,17 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
347
382
 
348
383
  export interface InitOutput {
349
384
  readonly memory: WebAssembly.Memory;
350
- readonly __wbg_wasmslip_free: (a: number) => void;
351
- readonly wasmslip_amount: (a: number) => number;
352
- readonly wasmslip_set_amount: (a: number, b: number) => void;
353
- readonly wasmslip_slip_type: (a: number) => number;
354
- readonly wasmslip_set_slip_type: (a: number, b: number) => void;
355
- readonly wasmslip_public_key: (a: number) => number;
356
- readonly wasmslip_set_public_key: (a: number, b: number) => void;
357
- readonly wasmslip_slip_index: (a: number) => number;
358
- readonly wasmslip_set_slip_index: (a: number, b: number) => void;
359
- readonly wasmslip_block_id: (a: number) => number;
360
- readonly wasmslip_set_block_id: (a: number, b: number) => void;
361
- readonly wasmslip_tx_ordinal: (a: number) => number;
362
- readonly wasmslip_set_tx_ordinal: (a: number, b: number) => void;
363
- readonly wasmslip_set_utxo_key: (a: number, b: number) => void;
364
- readonly wasmslip_utxo_key: (a: number) => number;
365
- readonly wasmslip_new: () => number;
366
- readonly __wbg_wasmblockchain_free: (a: number) => void;
367
- readonly wasmblockchain_reset: (a: number) => number;
368
- readonly __wbg_wasmtransaction_free: (a: number) => void;
369
- readonly wasmtransaction_new: () => number;
370
- readonly wasmtransaction_signature: (a: number) => number;
371
- readonly wasmtransaction_set_signature: (a: number, b: number) => void;
372
- readonly wasmtransaction_add_to_slip: (a: number, b: number) => void;
373
- readonly wasmtransaction_add_from_slip: (a: number, b: number) => void;
374
- readonly wasmtransaction_get_txs_replacements: (a: number) => number;
375
- readonly wasmtransaction_set_txs_replacements: (a: number, b: number) => void;
376
- readonly wasmtransaction_to: (a: number) => number;
377
- readonly wasmtransaction_from: (a: number) => number;
378
- readonly wasmtransaction_is_from: (a: number, b: number) => number;
379
- readonly wasmtransaction_is_to: (a: number, b: number) => number;
380
- readonly wasmtransaction_get_data: (a: number) => number;
381
- readonly wasmtransaction_set_data: (a: number, b: number) => void;
382
- readonly wasmtransaction_get_timestamp: (a: number) => number;
383
- readonly wasmtransaction_set_timestamp: (a: number, b: number) => void;
384
- readonly wasmtransaction_sign: (a: number) => number;
385
- readonly wasmtransaction_sign_and_encrypt: (a: number) => number;
386
- readonly wasmtransaction_get_type: (a: number) => number;
387
- readonly wasmtransaction_set_type: (a: number, b: number) => void;
388
- readonly wasmtransaction_total_fees: (a: number) => number;
389
- readonly wasmtransaction_serialize: (a: number) => number;
390
- readonly wasmtransaction_deserialize: (a: number, b: number) => void;
385
+ readonly __wbg_wasmpeerservicelist_free: (a: number) => void;
386
+ readonly __wbg_wasmpeerservice_free: (a: number) => void;
387
+ readonly wasmpeerservice_new: () => number;
388
+ readonly wasmpeerservice_set_service: (a: number, b: number) => void;
389
+ readonly wasmpeerservice_get_service: (a: number) => number;
390
+ readonly wasmpeerservice_set_name: (a: number, b: number) => void;
391
+ readonly wasmpeerservice_get_name: (a: number) => number;
392
+ readonly wasmpeerservice_set_domain: (a: number, b: number) => void;
393
+ readonly wasmpeerservice_get_domain: (a: number) => number;
394
+ readonly wasmpeerservicelist_push: (a: number, b: number) => void;
395
+ readonly wasmpeerservicelist_new: () => number;
391
396
  readonly __wbg_wasmpeer_free: (a: number) => void;
392
397
  readonly wasmpeer_get_public_key: (a: number) => number;
393
398
  readonly wasmpeer_get_key_list: (a: number) => number;
@@ -418,9 +423,46 @@ export interface InitOutput {
418
423
  readonly send_api_call: (a: number, b: number, c: number) => number;
419
424
  readonly send_api_success: (a: number, b: number, c: number) => number;
420
425
  readonly send_api_error: (a: number, b: number, c: number) => number;
421
- readonly propagate_services: (a: number, b: number) => number;
422
426
  readonly get_wallet: () => number;
423
427
  readonly get_blockchain: () => number;
428
+ readonly test_buffer_in: (a: number) => void;
429
+ readonly test_buffer_out: () => number;
430
+ readonly test_buffer_out_async: () => number;
431
+ readonly __wbg_wasmtransaction_free: (a: number) => void;
432
+ readonly wasmtransaction_new: () => number;
433
+ readonly wasmtransaction_signature: (a: number) => number;
434
+ readonly wasmtransaction_set_signature: (a: number, b: number) => void;
435
+ readonly wasmtransaction_add_to_slip: (a: number, b: number) => void;
436
+ readonly wasmtransaction_add_from_slip: (a: number, b: number) => void;
437
+ readonly wasmtransaction_get_txs_replacements: (a: number) => number;
438
+ readonly wasmtransaction_set_txs_replacements: (a: number, b: number) => void;
439
+ readonly wasmtransaction_to: (a: number) => number;
440
+ readonly wasmtransaction_from: (a: number) => number;
441
+ readonly wasmtransaction_is_from: (a: number, b: number) => number;
442
+ readonly wasmtransaction_is_to: (a: number, b: number) => number;
443
+ readonly wasmtransaction_get_data: (a: number) => number;
444
+ readonly wasmtransaction_set_data: (a: number, b: number) => void;
445
+ readonly wasmtransaction_get_timestamp: (a: number) => number;
446
+ readonly wasmtransaction_set_timestamp: (a: number, b: number) => void;
447
+ readonly wasmtransaction_sign: (a: number) => number;
448
+ readonly wasmtransaction_sign_and_encrypt: (a: number) => number;
449
+ readonly wasmtransaction_get_type: (a: number) => number;
450
+ readonly wasmtransaction_set_type: (a: number, b: number) => void;
451
+ readonly wasmtransaction_total_fees: (a: number) => number;
452
+ readonly wasmtransaction_serialize: (a: number) => number;
453
+ readonly wasmtransaction_deserialize: (a: number, b: number) => void;
454
+ readonly __wbg_wasmblockchain_free: (a: number) => void;
455
+ readonly wasmblockchain_reset: (a: number) => number;
456
+ readonly __wbg_wasmwallet_free: (a: number) => void;
457
+ readonly wasmwallet_save: (a: number) => number;
458
+ readonly wasmwallet_reset: (a: number) => number;
459
+ readonly wasmwallet_load: (a: number) => number;
460
+ readonly wasmwallet_get_public_key: (a: number) => number;
461
+ readonly wasmwallet_set_public_key: (a: number, b: number) => number;
462
+ readonly wasmwallet_get_private_key: (a: number) => number;
463
+ readonly wasmwallet_set_private_key: (a: number, b: number) => number;
464
+ readonly wasmwallet_get_balance: (a: number) => number;
465
+ readonly wasmwallet_get_pending_txs: (a: number) => number;
424
466
  readonly __wbg_wasmblock_free: (a: number) => void;
425
467
  readonly wasmblock_new: () => number;
426
468
  readonly wasmblock_get_transactions: (a: number) => number;
@@ -436,28 +478,34 @@ export interface InitOutput {
436
478
  readonly wasmblock_set_type: (a: number, b: number) => void;
437
479
  readonly wasmblock_get_hash: (a: number) => number;
438
480
  readonly wasmblock_serialize: (a: number) => number;
439
- readonly __wbg_wasmwallet_free: (a: number) => void;
440
- readonly wasmwallet_save: (a: number) => number;
441
- readonly wasmwallet_reset: (a: number) => number;
442
- readonly wasmwallet_load: (a: number) => number;
443
- readonly wasmwallet_get_public_key: (a: number) => number;
444
- readonly wasmwallet_set_public_key: (a: number, b: number) => number;
445
- readonly wasmwallet_get_private_key: (a: number) => number;
446
- readonly wasmwallet_set_private_key: (a: number, b: number) => number;
447
- readonly wasmwallet_get_balance: (a: number) => number;
448
- readonly wasmwallet_get_pending_txs: (a: number) => number;
449
- readonly rustsecp256k1_v0_8_0_context_create: (a: number) => number;
450
- readonly rustsecp256k1_v0_8_0_context_destroy: (a: number) => void;
451
- readonly rustsecp256k1_v0_8_0_default_illegal_callback_fn: (a: number, b: number) => void;
452
- readonly rustsecp256k1_v0_8_0_default_error_callback_fn: (a: number, b: number) => void;
481
+ readonly __wbg_wasmslip_free: (a: number) => void;
482
+ readonly wasmslip_amount: (a: number) => number;
483
+ readonly wasmslip_set_amount: (a: number, b: number) => void;
484
+ readonly wasmslip_slip_type: (a: number) => number;
485
+ readonly wasmslip_set_slip_type: (a: number, b: number) => void;
486
+ readonly wasmslip_public_key: (a: number) => number;
487
+ readonly wasmslip_set_public_key: (a: number, b: number) => void;
488
+ readonly wasmslip_slip_index: (a: number) => number;
489
+ readonly wasmslip_set_slip_index: (a: number, b: number) => void;
490
+ readonly wasmslip_block_id: (a: number) => number;
491
+ readonly wasmslip_set_block_id: (a: number, b: number) => void;
492
+ readonly wasmslip_tx_ordinal: (a: number) => number;
493
+ readonly wasmslip_set_tx_ordinal: (a: number, b: number) => void;
494
+ readonly wasmslip_set_utxo_key: (a: number, b: number) => void;
495
+ readonly wasmslip_utxo_key: (a: number) => number;
496
+ readonly wasmslip_new: () => number;
497
+ readonly rustsecp256k1_v0_8_1_context_create: (a: number) => number;
498
+ readonly rustsecp256k1_v0_8_1_context_destroy: (a: number) => void;
499
+ readonly rustsecp256k1_v0_8_1_default_illegal_callback_fn: (a: number, b: number) => void;
500
+ readonly rustsecp256k1_v0_8_1_default_error_callback_fn: (a: number, b: number) => void;
453
501
  readonly __wbindgen_malloc: (a: number) => number;
454
502
  readonly __wbindgen_realloc: (a: number, b: number, c: number) => number;
455
503
  readonly __wbindgen_export_2: WebAssembly.Table;
456
- readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h7601a9465fc85bf4: (a: number, b: number, c: number) => void;
457
- readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
504
+ readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h8b4540ae3fe11649: (a: number, b: number, c: number) => void;
458
505
  readonly __wbindgen_exn_store: (a: number) => void;
459
506
  readonly __wbindgen_free: (a: number, b: number) => void;
460
- readonly wasm_bindgen__convert__closures__invoke2_mut__hf0a4c7d3fb650638: (a: number, b: number, c: number, d: number) => void;
507
+ readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
508
+ readonly wasm_bindgen__convert__closures__invoke2_mut__h96ff962a60c042de: (a: number, b: number, c: number, d: number) => void;
461
509
  }
462
510
 
463
511
  export type SyncInitInput = BufferSource | WebAssembly.Module;
@@ -479,4 +527,4 @@ export function initSync(module: SyncInitInput): InitOutput;
479
527
  *
480
528
  * @returns {Promise<InitOutput>}
481
529
  */
482
- export default function init (module_or_path?: InitInput | Promise<InitInput>): Promise<InitOutput>;
530
+ export default function __wbg_init (module_or_path?: InitInput | Promise<InitInput>): Promise<InitOutput>;