@fedimint/core-web 0.0.3 → 0.0.5

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 (61) hide show
  1. package/README.md +4 -4
  2. package/dist/FedimintWallet.d.ts +42 -65
  3. package/dist/FedimintWallet.d.ts.map +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/services/BalanceService.d.ts +34 -0
  7. package/dist/services/BalanceService.d.ts.map +1 -0
  8. package/dist/services/FederationService.d.ts +11 -0
  9. package/dist/services/FederationService.d.ts.map +1 -0
  10. package/dist/services/LightningService.d.ts +18 -0
  11. package/dist/services/LightningService.d.ts.map +1 -0
  12. package/dist/services/MintService.d.ts +15 -0
  13. package/dist/services/MintService.d.ts.map +1 -0
  14. package/dist/services/RecoveryService.d.ts +13 -0
  15. package/dist/services/RecoveryService.d.ts.map +1 -0
  16. package/dist/services/index.d.ts +6 -0
  17. package/dist/services/index.d.ts.map +1 -0
  18. package/dist/types/wallet.d.ts +16 -11
  19. package/dist/types/wallet.d.ts.map +1 -1
  20. package/dist/utils/logger.d.ts +17 -0
  21. package/dist/utils/logger.d.ts.map +1 -0
  22. package/dist/worker/WorkerClient.d.ts +44 -0
  23. package/dist/worker/WorkerClient.d.ts.map +1 -0
  24. package/dist/worker/index.d.ts +2 -0
  25. package/dist/worker/index.d.ts.map +1 -0
  26. package/dist/worker.js +1 -1
  27. package/dist/worker.js.map +1 -1
  28. package/package.json +9 -9
  29. package/src/FedimintWallet.test.ts +77 -0
  30. package/src/FedimintWallet.ts +91 -466
  31. package/src/services/BalanceService.test.ts +50 -0
  32. package/src/services/BalanceService.ts +50 -0
  33. package/src/services/FederationService.test.ts +58 -0
  34. package/src/services/FederationService.ts +22 -0
  35. package/src/services/LightningService.test.ts +168 -0
  36. package/src/services/LightningService.ts +144 -0
  37. package/src/services/MintService.test.ts +19 -0
  38. package/src/services/MintService.ts +96 -0
  39. package/src/services/RecoveryService.ts +26 -0
  40. package/src/services/index.ts +5 -0
  41. package/src/test/TestFedimintWallet.ts +17 -0
  42. package/src/test/TestingService.ts +59 -0
  43. package/src/test/setupTests.ts +43 -0
  44. package/src/types/wallet.ts +20 -13
  45. package/src/utils/logger.ts +61 -0
  46. package/src/worker/WorkerClient.ts +229 -0
  47. package/src/worker/index.ts +1 -0
  48. package/src/worker/worker.js +96 -0
  49. package/src/worker/worker.test.ts +90 -0
  50. package/node_modules/fedimint-client-wasm/fedimint_client_wasm.d.ts +0 -49
  51. package/node_modules/fedimint-client-wasm/fedimint_client_wasm.js +0 -4
  52. package/node_modules/fedimint-client-wasm/fedimint_client_wasm_bg.js +0 -1411
  53. package/node_modules/fedimint-client-wasm/fedimint_client_wasm_bg.wasm +0 -0
  54. package/node_modules/fedimint-client-wasm/package.json +0 -26
  55. package/src/worker.js +0 -80
  56. package/wasm/fedimint_client_wasm.d.ts +0 -49
  57. package/wasm/fedimint_client_wasm.js +0 -4
  58. package/wasm/fedimint_client_wasm_bg.js +0 -1411
  59. package/wasm/fedimint_client_wasm_bg.wasm +0 -0
  60. package/wasm/fedimint_client_wasm_bg.wasm.d.ts +0 -110
  61. package/wasm/package.json +0 -26
@@ -1,26 +0,0 @@
1
- {
2
- "name": "fedimint-client-wasm",
3
- "type": "module",
4
- "collaborators": [
5
- "The Fedimint Developers"
6
- ],
7
- "description": "fedimint client for wasm",
8
- "version": "0.5.0-alpha",
9
- "license": "MIT",
10
- "repository": {
11
- "type": "git",
12
- "url": "https://github.com/fedimint/fedimint"
13
- },
14
- "files": [
15
- "fedimint_client_wasm_bg.wasm",
16
- "fedimint_client_wasm.js",
17
- "fedimint_client_wasm_bg.js",
18
- "fedimint_client_wasm.d.ts"
19
- ],
20
- "main": "fedimint_client_wasm.js",
21
- "types": "fedimint_client_wasm.d.ts",
22
- "sideEffects": [
23
- "./fedimint_client_wasm.js",
24
- "./snippets/*"
25
- ]
26
- }
package/src/worker.js DELETED
@@ -1,80 +0,0 @@
1
- // import { WasmClient } from '../wasm/fedimint_client_wasm.js'
2
- // import { WasmClient } from 'fedimint-client-wasm'
3
- // import wasm from '../wasm/fedimint_client_wasm_bg.wasm'
4
-
5
- let WasmClient = null
6
- let client = null
7
-
8
- const streamCancelMap = new Map()
9
-
10
- const handleFree = (requestId) => {
11
- streamCancelMap.delete(requestId)
12
- }
13
-
14
- self.onmessage = async (event) => {
15
- const { type, payload, requestId } = event.data
16
-
17
- if (type === 'init') {
18
- WasmClient = (await import('fedimint-client-wasm')).WasmClient
19
- self.postMessage({ type: 'initialized', data: {}, requestId })
20
- } else if (type === 'open') {
21
- const { clientName } = payload
22
- client = (await WasmClient.open(clientName)) || null
23
- self.postMessage({
24
- type: 'open',
25
- data: { success: !!client },
26
- requestId,
27
- })
28
- } else if (type === 'join') {
29
- const { inviteCode, clientName: joinClientName } = payload
30
- try {
31
- client = await WasmClient.join_federation(joinClientName, inviteCode)
32
- self.postMessage({
33
- type: 'join',
34
- data: { success: !!client },
35
- requestId,
36
- })
37
- } catch (e) {
38
- self.postMessage({ type: 'error', error: e.message, requestId })
39
- }
40
- } else if (type === 'rpc') {
41
- const { module, method, body } = payload
42
- if (!client) {
43
- self.postMessage({
44
- type: 'error',
45
- error: 'WasmClient not initialized',
46
- requestId,
47
- })
48
- return
49
- }
50
- const rpcHandle = await client.rpc(
51
- module,
52
- method,
53
- JSON.stringify(body),
54
- (res) => {
55
- const data = JSON.parse(res)
56
- self.postMessage({ type: 'rpcResponse', requestId, ...data })
57
-
58
- if (data.end === undefined) return
59
-
60
- // Handle stream ending
61
- const handle = streamCancelMap.get(requestId)
62
- handle?.free()
63
- },
64
- )
65
- streamCancelMap.set(requestId, rpcHandle)
66
- } else if (type === 'unsubscribe') {
67
- const rpcHandle = streamCancelMap.get(requestId)
68
- if (rpcHandle) {
69
- rpcHandle.cancel()
70
- rpcHandle.free()
71
- streamCancelMap.delete(requestId)
72
- }
73
- } else {
74
- self.postMessage({
75
- type: 'error',
76
- error: 'Unknown message type',
77
- requestId,
78
- })
79
- }
80
- }
@@ -1,49 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- */
5
- export class RpcHandle {
6
- free(): void
7
- /**
8
- */
9
- cancel(): void
10
- }
11
- /**
12
- */
13
- export class WasmClient {
14
- free(): void
15
- /**
16
- * Open fedimint client with already joined federation.
17
- *
18
- * After you have joined a federation, you can reopen the fedimint client
19
- * with same client_name. Opening client with same name at same time is
20
- * not supported. You can close the current client by calling
21
- * `client.free()`. NOTE: The client will remain active until all the
22
- * running rpc calls have finished.
23
- * @param {string} client_name
24
- * @returns {Promise<WasmClient | undefined>}
25
- */
26
- static open(client_name: string): Promise<WasmClient | undefined>
27
- /**
28
- * Open a fedimint client by join a federation.
29
- * @param {string} client_name
30
- * @param {string} invite_code
31
- * @returns {Promise<WasmClient>}
32
- */
33
- static join_federation(
34
- client_name: string,
35
- invite_code: string,
36
- ): Promise<WasmClient>
37
- /**
38
- * Call a fedimint client rpc the responses are returned using `cb`
39
- * callback. Each rpc call *can* return multiple responses by calling
40
- * `cb` multiple times. The returned RpcHandle can be used to cancel the
41
- * operation.
42
- * @param {string} module
43
- * @param {string} method
44
- * @param {string} payload
45
- * @param {Function} cb
46
- * @returns {RpcHandle}
47
- */
48
- rpc(module: string, method: string, payload: string, cb: Function): RpcHandle
49
- }
@@ -1,4 +0,0 @@
1
- import * as wasm from './fedimint_client_wasm_bg.wasm'
2
- import { __wbg_set_wasm } from './fedimint_client_wasm_bg.js'
3
- __wbg_set_wasm(wasm)
4
- export * from './fedimint_client_wasm_bg.js'