saito-wasm 0.0.5 → 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.
package/Cargo.toml CHANGED
@@ -9,9 +9,10 @@ crate-type = ["cdylib"]
9
9
 
10
10
  [dependencies]
11
11
  saito-core = { path = "../saito-core" }
12
- wasm-bindgen = { version = "0.2.86", features = ["serde-serialize"] }
12
+ wasm-bindgen = { version = "0.2.86" }
13
13
  wasm-bindgen-futures = "0.4.36"
14
14
  serde = { version = "1.0.163", features = ["derive"] }
15
+ serde-wasm-bindgen = "0.5.0"
15
16
  web-sys = "0.3.63"
16
17
  async-trait = "0.1.68"
17
18
  hex = "0.4.3"
@@ -19,6 +19,11 @@ export function create_transaction(public_key: string, amount: bigint, fee: bigi
19
19
  */
20
20
  export function get_latest_block_hash(): Promise<string>;
21
21
  /**
22
+ * @param {string} block_hash
23
+ * @returns {Promise<WasmBlock>}
24
+ */
25
+ export function get_block(block_hash: string): Promise<WasmBlock>;
26
+ /**
22
27
  * @param {bigint} index
23
28
  * @param {any} peer_config
24
29
  * @returns {Promise<void>}
@@ -110,12 +115,6 @@ export function send_api_success(buffer: Uint8Array, msg_index: number, peer_ind
110
115
  */
111
116
  export function send_api_error(buffer: Uint8Array, msg_index: number, peer_index: bigint): Promise<void>;
112
117
  /**
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
118
  * @returns {Promise<WasmWallet>}
120
119
  */
121
120
  export function get_wallet(): Promise<WasmWallet>;
@@ -152,15 +151,39 @@ export class WasmBlock {
152
151
  */
153
152
  serialize(): Uint8Array;
154
153
  /**
154
+ * @param {Uint8Array} buffer
155
+ * @returns {any}
156
+ */
157
+ deserialize(buffer: Uint8Array): any;
158
+ /**
159
+ * @param {Array<any>} keylist
160
+ * @returns {boolean}
161
+ */
162
+ has_keylist_txs(keylist: Array<any>): boolean;
163
+ /**
164
+ * @param {Array<any>} keylist
165
+ * @returns {WasmBlock}
166
+ */
167
+ generate_lite_block(keylist: Array<any>): WasmBlock;
168
+ /**
155
169
  */
156
170
  creator: string;
157
171
  /**
172
+ */
173
+ readonly file_name: string;
174
+ /**
175
+ */
176
+ readonly force_loaded: boolean;
177
+ /**
158
178
  */
159
179
  readonly hash: string;
160
180
  /**
161
181
  */
162
182
  id: bigint;
163
183
  /**
184
+ */
185
+ readonly in_longest_chain: boolean;
186
+ /**
164
187
  */
165
188
  previous_block_hash: string;
166
189
  /**
@@ -181,6 +204,19 @@ export class WasmBlockchain {
181
204
  * @returns {Promise<void>}
182
205
  */
183
206
  reset(): Promise<void>;
207
+ /**
208
+ * @returns {Promise<bigint>}
209
+ */
210
+ get_last_block_id(): Promise<bigint>;
211
+ /**
212
+ * @returns {Promise<bigint>}
213
+ */
214
+ get_last_timestamp(): Promise<bigint>;
215
+ /**
216
+ * @param {bigint} id
217
+ * @returns {Promise<string>}
218
+ */
219
+ get_longest_chain_hash_at(id: bigint): Promise<string>;
184
220
  }
185
221
  /**
186
222
  */
@@ -217,6 +253,35 @@ export class WasmPeer {
217
253
  }
218
254
  /**
219
255
  */
256
+ export class WasmPeerService {
257
+ free(): void;
258
+ /**
259
+ */
260
+ constructor();
261
+ /**
262
+ */
263
+ domain: string;
264
+ /**
265
+ */
266
+ name: string;
267
+ /**
268
+ */
269
+ service: string;
270
+ }
271
+ /**
272
+ */
273
+ export class WasmPeerServiceList {
274
+ free(): void;
275
+ /**
276
+ * @param {WasmPeerService} service
277
+ */
278
+ push(service: WasmPeerService): void;
279
+ /**
280
+ */
281
+ constructor();
282
+ }
283
+ /**
284
+ */
220
285
  export class WasmSlip {
221
286
  free(): void;
222
287
  /**
@@ -359,29 +424,38 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
359
424
 
360
425
  export interface InitOutput {
361
426
  readonly memory: WebAssembly.Memory;
362
- readonly __wbg_wasmtransaction_free: (a: number) => void;
363
- readonly wasmtransaction_new: () => number;
364
- readonly wasmtransaction_signature: (a: number) => number;
365
- readonly wasmtransaction_set_signature: (a: number, b: number) => void;
366
- readonly wasmtransaction_add_to_slip: (a: number, b: number) => void;
367
- readonly wasmtransaction_add_from_slip: (a: number, b: number) => void;
368
- readonly wasmtransaction_get_txs_replacements: (a: number) => number;
369
- readonly wasmtransaction_set_txs_replacements: (a: number, b: number) => void;
370
- readonly wasmtransaction_to: (a: number) => number;
371
- readonly wasmtransaction_from: (a: number) => number;
372
- readonly wasmtransaction_is_from: (a: number, b: number) => number;
373
- readonly wasmtransaction_is_to: (a: number, b: number) => number;
374
- readonly wasmtransaction_get_data: (a: number) => number;
375
- readonly wasmtransaction_set_data: (a: number, b: number) => void;
376
- readonly wasmtransaction_get_timestamp: (a: number) => number;
377
- readonly wasmtransaction_set_timestamp: (a: number, b: number) => void;
378
- readonly wasmtransaction_sign: (a: number) => number;
379
- readonly wasmtransaction_sign_and_encrypt: (a: number) => number;
380
- readonly wasmtransaction_get_type: (a: number) => number;
381
- readonly wasmtransaction_set_type: (a: number, b: number) => void;
382
- readonly wasmtransaction_total_fees: (a: number) => number;
383
- readonly wasmtransaction_serialize: (a: number) => number;
384
- readonly wasmtransaction_deserialize: (a: number, b: number) => void;
427
+ readonly __wbg_wasmblock_free: (a: number) => void;
428
+ readonly wasmblock_new: () => number;
429
+ readonly wasmblock_get_transactions: (a: number) => number;
430
+ readonly wasmblock_get_id: (a: number) => number;
431
+ readonly wasmblock_set_id: (a: number, b: number) => void;
432
+ readonly wasmblock_get_timestamp: (a: number) => number;
433
+ readonly wasmblock_set_timestamp: (a: number, b: number) => void;
434
+ readonly wasmblock_get_previous_block_hash: (a: number) => number;
435
+ readonly wasmblock_set_previous_block_hash: (a: number, b: number) => void;
436
+ readonly wasmblock_set_creator: (a: number, b: number) => void;
437
+ readonly wasmblock_get_creator: (a: number) => number;
438
+ readonly wasmblock_get_type: (a: number) => number;
439
+ readonly wasmblock_set_type: (a: number, b: number) => void;
440
+ readonly wasmblock_get_hash: (a: number) => number;
441
+ readonly wasmblock_in_longest_chain: (a: number) => number;
442
+ readonly wasmblock_force_loaded: (a: number) => number;
443
+ readonly wasmblock_get_file_name: (a: number) => number;
444
+ readonly wasmblock_serialize: (a: number) => number;
445
+ readonly wasmblock_deserialize: (a: number, b: number, c: number) => void;
446
+ readonly wasmblock_has_keylist_txs: (a: number, b: number) => number;
447
+ readonly wasmblock_generate_lite_block: (a: number, b: number) => number;
448
+ readonly __wbg_wasmpeerservicelist_free: (a: number) => void;
449
+ readonly __wbg_wasmpeerservice_free: (a: number) => void;
450
+ readonly wasmpeerservice_new: () => number;
451
+ readonly wasmpeerservice_set_service: (a: number, b: number) => void;
452
+ readonly wasmpeerservice_get_service: (a: number) => number;
453
+ readonly wasmpeerservice_set_name: (a: number, b: number) => void;
454
+ readonly wasmpeerservice_get_name: (a: number) => number;
455
+ readonly wasmpeerservice_set_domain: (a: number, b: number) => void;
456
+ readonly wasmpeerservice_get_domain: (a: number) => number;
457
+ readonly wasmpeerservicelist_push: (a: number, b: number) => void;
458
+ readonly wasmpeerservicelist_new: () => number;
385
459
  readonly __wbg_wasmpeer_free: (a: number) => void;
386
460
  readonly wasmpeer_get_public_key: (a: number) => number;
387
461
  readonly wasmpeer_get_key_list: (a: number) => number;
@@ -408,12 +482,11 @@ export interface InitOutput {
408
482
  readonly wasmslip_set_utxo_key: (a: number, b: number) => void;
409
483
  readonly wasmslip_utxo_key: (a: number) => number;
410
484
  readonly wasmslip_new: () => number;
411
- readonly __wbg_wasmblockchain_free: (a: number) => void;
412
- readonly wasmblockchain_reset: (a: number) => number;
413
485
  readonly __wbg_saitowasm_free: (a: number) => void;
414
486
  readonly initialize: (a: number, b: number) => number;
415
487
  readonly create_transaction: (a: number, b: number, c: number, d: number) => number;
416
488
  readonly get_latest_block_hash: () => number;
489
+ readonly get_block: (a: number) => number;
417
490
  readonly process_new_peer: (a: number, b: number) => number;
418
491
  readonly process_peer_disconnection: (a: number) => number;
419
492
  readonly process_msg_buffer_from_peer: (a: number, b: number) => number;
@@ -430,27 +503,39 @@ export interface InitOutput {
430
503
  readonly send_api_call: (a: number, b: number, c: number) => number;
431
504
  readonly send_api_success: (a: number, b: number, c: number) => number;
432
505
  readonly send_api_error: (a: number, b: number, c: number) => number;
433
- readonly propagate_services: (a: number, b: number) => number;
434
506
  readonly get_wallet: () => number;
435
507
  readonly get_blockchain: () => number;
436
508
  readonly test_buffer_in: (a: number) => void;
437
509
  readonly test_buffer_out: () => number;
438
510
  readonly test_buffer_out_async: () => number;
439
- readonly __wbg_wasmblock_free: (a: number) => void;
440
- readonly wasmblock_new: () => number;
441
- readonly wasmblock_get_transactions: (a: number) => number;
442
- readonly wasmblock_get_id: (a: number) => number;
443
- readonly wasmblock_set_id: (a: number, b: number) => void;
444
- readonly wasmblock_get_timestamp: (a: number) => number;
445
- readonly wasmblock_set_timestamp: (a: number, b: number) => void;
446
- readonly wasmblock_get_previous_block_hash: (a: number) => number;
447
- readonly wasmblock_set_previous_block_hash: (a: number, b: number) => void;
448
- readonly wasmblock_set_creator: (a: number, b: number) => void;
449
- readonly wasmblock_get_creator: (a: number) => number;
450
- readonly wasmblock_get_type: (a: number) => number;
451
- readonly wasmblock_set_type: (a: number, b: number) => void;
452
- readonly wasmblock_get_hash: (a: number) => number;
453
- readonly wasmblock_serialize: (a: number) => number;
511
+ readonly __wbg_wasmblockchain_free: (a: number) => void;
512
+ readonly wasmblockchain_reset: (a: number) => number;
513
+ readonly wasmblockchain_get_last_block_id: (a: number) => number;
514
+ readonly wasmblockchain_get_last_timestamp: (a: number) => number;
515
+ readonly wasmblockchain_get_longest_chain_hash_at: (a: number, b: number) => number;
516
+ readonly __wbg_wasmtransaction_free: (a: number) => void;
517
+ readonly wasmtransaction_new: () => number;
518
+ readonly wasmtransaction_signature: (a: number) => number;
519
+ readonly wasmtransaction_set_signature: (a: number, b: number) => void;
520
+ readonly wasmtransaction_add_to_slip: (a: number, b: number) => void;
521
+ readonly wasmtransaction_add_from_slip: (a: number, b: number) => void;
522
+ readonly wasmtransaction_get_txs_replacements: (a: number) => number;
523
+ readonly wasmtransaction_set_txs_replacements: (a: number, b: number) => void;
524
+ readonly wasmtransaction_to: (a: number) => number;
525
+ readonly wasmtransaction_from: (a: number) => number;
526
+ readonly wasmtransaction_is_from: (a: number, b: number) => number;
527
+ readonly wasmtransaction_is_to: (a: number, b: number) => number;
528
+ readonly wasmtransaction_get_data: (a: number) => number;
529
+ readonly wasmtransaction_set_data: (a: number, b: number) => void;
530
+ readonly wasmtransaction_get_timestamp: (a: number) => number;
531
+ readonly wasmtransaction_set_timestamp: (a: number, b: number) => void;
532
+ readonly wasmtransaction_sign: (a: number) => number;
533
+ readonly wasmtransaction_sign_and_encrypt: (a: number) => number;
534
+ readonly wasmtransaction_get_type: (a: number) => number;
535
+ readonly wasmtransaction_set_type: (a: number, b: number) => void;
536
+ readonly wasmtransaction_total_fees: (a: number) => number;
537
+ readonly wasmtransaction_serialize: (a: number) => number;
538
+ readonly wasmtransaction_deserialize: (a: number, b: number) => void;
454
539
  readonly __wbg_wasmwallet_free: (a: number) => void;
455
540
  readonly wasmwallet_save: (a: number) => number;
456
541
  readonly wasmwallet_reset: (a: number) => number;
@@ -468,11 +553,11 @@ export interface InitOutput {
468
553
  readonly __wbindgen_malloc: (a: number) => number;
469
554
  readonly __wbindgen_realloc: (a: number, b: number, c: number) => number;
470
555
  readonly __wbindgen_export_2: WebAssembly.Table;
471
- readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hd6957ac441c285fe: (a: number, b: number, c: number) => void;
556
+ readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h8b4540ae3fe11649: (a: number, b: number, c: number) => void;
472
557
  readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
473
558
  readonly __wbindgen_exn_store: (a: number) => void;
474
559
  readonly __wbindgen_free: (a: number, b: number) => void;
475
- readonly wasm_bindgen__convert__closures__invoke2_mut__h691abc92ef6a7d1c: (a: number, b: number, c: number, d: number) => void;
560
+ readonly wasm_bindgen__convert__closures__invoke2_mut__h96ff962a60c042de: (a: number, b: number, c: number, d: number) => void;
476
561
  }
477
562
 
478
563
  export type SyncInitInput = BufferSource | WebAssembly.Module;