@fedimint/core-web 0.0.6 → 0.0.8
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/README.md +6 -71
- package/dist/{FedimintWallet.d.ts → dts/FedimintWallet.d.ts} +3 -3
- package/dist/dts/FedimintWallet.d.ts.map +1 -0
- package/dist/dts/index.d.ts +3 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/{services → dts/services}/BalanceService.d.ts +5 -4
- package/dist/dts/services/BalanceService.d.ts.map +1 -0
- package/dist/{services → dts/services}/FederationService.d.ts +1 -1
- package/dist/dts/services/FederationService.d.ts.map +1 -0
- package/dist/dts/services/LightningService.d.ts +21 -0
- package/dist/dts/services/LightningService.d.ts.map +1 -0
- package/dist/{services → dts/services}/MintService.d.ts +6 -5
- package/dist/dts/services/MintService.d.ts.map +1 -0
- package/dist/{services → dts/services}/RecoveryService.d.ts +1 -1
- package/dist/dts/services/RecoveryService.d.ts.map +1 -0
- package/dist/dts/services/index.d.ts.map +1 -0
- package/dist/dts/types/index.d.ts +4 -0
- package/dist/dts/types/index.d.ts.map +1 -0
- package/dist/dts/types/utils.d.ts +16 -0
- package/dist/dts/types/utils.d.ts.map +1 -0
- package/dist/{types → dts/types}/wallet.d.ts +4 -14
- package/dist/dts/types/wallet.d.ts.map +1 -0
- package/dist/dts/types/worker.d.ts +4 -0
- package/dist/dts/types/worker.d.ts.map +1 -0
- package/dist/dts/utils/logger.d.ts.map +1 -0
- package/dist/{worker → dts/worker}/WorkerClient.d.ts +4 -4
- package/dist/dts/worker/WorkerClient.d.ts.map +1 -0
- package/dist/dts/worker/index.d.ts.map +1 -0
- package/dist/index.d.ts +298 -5
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/worker.js +1 -1
- package/dist/worker.js.map +1 -1
- package/package.json +8 -5
- package/src/FedimintWallet.test.ts +43 -60
- package/src/FedimintWallet.ts +20 -14
- package/src/index.ts +2 -22
- package/src/services/BalanceService.ts +5 -4
- package/src/services/FederationService.test.ts +1 -1
- package/src/services/FederationService.ts +1 -1
- package/src/services/LightningService.test.ts +103 -63
- package/src/services/LightningService.ts +84 -47
- package/src/services/MintService.test.ts +16 -2
- package/src/services/MintService.ts +8 -8
- package/src/services/RecoveryService.ts +1 -1
- package/src/test/TestFedimintWallet.ts +10 -1
- package/src/test/TestingService.ts +49 -30
- package/src/test/crypto.ts +44 -0
- package/src/test/fixtures.test.ts +18 -0
- package/src/test/{setupTests.ts → fixtures.ts} +25 -4
- package/src/types/index.ts +3 -0
- package/src/types/utils.ts +25 -0
- package/src/types/wallet.ts +4 -23
- package/src/types/worker.ts +13 -0
- package/src/worker/WorkerClient.test.ts +6 -0
- package/src/worker/WorkerClient.ts +28 -20
- package/src/worker/worker.js +9 -0
- package/src/worker/worker.test.ts +2 -2
- package/dist/FedimintWallet.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/services/BalanceService.d.ts.map +0 -1
- package/dist/services/FederationService.d.ts.map +0 -1
- package/dist/services/LightningService.d.ts +0 -18
- package/dist/services/LightningService.d.ts.map +0 -1
- package/dist/services/MintService.d.ts.map +0 -1
- package/dist/services/RecoveryService.d.ts.map +0 -1
- package/dist/services/index.d.ts.map +0 -1
- package/dist/types/wallet.d.ts.map +0 -1
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/worker/WorkerClient.d.ts.map +0 -1
- package/dist/worker/index.d.ts.map +0 -1
- /package/dist/{services → dts/services}/index.d.ts +0 -0
- /package/dist/{utils → dts/utils}/logger.d.ts +0 -0
- /package/dist/{worker → dts/worker}/index.d.ts +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { LightningService } from '../services'
|
|
1
2
|
import { WorkerClient } from '../worker'
|
|
2
3
|
|
|
3
4
|
export const TESTING_INVITE =
|
|
@@ -7,7 +8,10 @@ export const TESTING_INVITE =
|
|
|
7
8
|
// of the WorkerClient. It is not intended for use in production.
|
|
8
9
|
export class TestingService {
|
|
9
10
|
public TESTING_INVITE: string
|
|
10
|
-
constructor(
|
|
11
|
+
constructor(
|
|
12
|
+
private client: WorkerClient,
|
|
13
|
+
private lightning: LightningService,
|
|
14
|
+
) {
|
|
11
15
|
// Solo Mint on mutinynet
|
|
12
16
|
this.TESTING_INVITE = TESTING_INVITE
|
|
13
17
|
}
|
|
@@ -20,40 +24,55 @@ export class TestingService {
|
|
|
20
24
|
return this.client._getRequestCallbackMap()
|
|
21
25
|
}
|
|
22
26
|
|
|
23
|
-
async
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
async getInviteCode() {
|
|
28
|
+
const res = await fetch('http://localhost:15243/connect-string')
|
|
29
|
+
if (res.ok) {
|
|
30
|
+
return await res.text()
|
|
31
|
+
} else {
|
|
32
|
+
throw new Error(`Failed to get invite code: ${await res.text()}`)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
28
35
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
36
|
+
private async getFaucetGatewayApi() {
|
|
37
|
+
const res = await fetch('http://localhost:15243/gateway-api')
|
|
38
|
+
if (res.ok) {
|
|
39
|
+
return await res.text()
|
|
40
|
+
} else {
|
|
41
|
+
throw new Error(`Failed to get gateway: ${await res.text()}`)
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
async getFaucetGatewayInfo() {
|
|
46
|
+
const gateways = await this.lightning.listGateways()
|
|
47
|
+
const api = await this.getFaucetGatewayApi()
|
|
48
|
+
const gateway = gateways.find((g) => g.info.api === api)
|
|
49
|
+
if (!gateway) {
|
|
50
|
+
throw new Error(`Gateway not found: ${api}`)
|
|
51
|
+
}
|
|
52
|
+
return gateway.info
|
|
53
|
+
}
|
|
34
54
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
55
|
+
async payFaucetInvoice(invoice: string) {
|
|
56
|
+
const res = await fetch('http://localhost:15243/pay', {
|
|
57
|
+
method: 'POST',
|
|
58
|
+
body: invoice,
|
|
59
|
+
})
|
|
60
|
+
if (res.ok) {
|
|
61
|
+
return await res.text()
|
|
62
|
+
} else {
|
|
63
|
+
throw new Error(`Failed to pay faucet invoice: ${await res.text()}`)
|
|
39
64
|
}
|
|
40
65
|
}
|
|
41
66
|
|
|
42
|
-
async
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return await response.json()
|
|
54
|
-
} catch (error) {
|
|
55
|
-
console.error('Error getting external invoice', error)
|
|
56
|
-
throw error
|
|
67
|
+
async createFaucetInvoice(amount: number) {
|
|
68
|
+
const res = await fetch('http://localhost:15243/invoice', {
|
|
69
|
+
method: 'POST',
|
|
70
|
+
body: amount.toString(),
|
|
71
|
+
})
|
|
72
|
+
if (res.ok) {
|
|
73
|
+
return await res.text()
|
|
74
|
+
} else {
|
|
75
|
+
throw new Error(`Failed to generate faucet invoice: ${await res.text()}`)
|
|
57
76
|
}
|
|
58
77
|
}
|
|
59
78
|
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as secp256k1 from 'secp256k1'
|
|
2
|
+
|
|
3
|
+
const randomBytes = (size: number): Uint8Array => {
|
|
4
|
+
const array = new Uint8Array(size)
|
|
5
|
+
window.crypto.getRandomValues(array)
|
|
6
|
+
return array
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
interface KeyPair {
|
|
10
|
+
secretKey: string
|
|
11
|
+
publicKey: string
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const keyPair = (secretKey?: Uint8Array): KeyPair => {
|
|
15
|
+
const privateKey: Uint8Array = secretKey
|
|
16
|
+
? validatePrivateKey(secretKey)
|
|
17
|
+
: generatePrivateKey()
|
|
18
|
+
|
|
19
|
+
const publicKey = secp256k1.publicKeyCreate(privateKey)
|
|
20
|
+
|
|
21
|
+
return {
|
|
22
|
+
secretKey: Array.from(privateKey)
|
|
23
|
+
.map((b) => b.toString(16).padStart(2, '0'))
|
|
24
|
+
.join(''), // Convert Uint8Array to hex string
|
|
25
|
+
publicKey: Array.from(publicKey)
|
|
26
|
+
.map((b) => b.toString(16).padStart(2, '0'))
|
|
27
|
+
.join(''), // Convert Uint8Array to hex string
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const validatePrivateKey = (key: Uint8Array): Uint8Array => {
|
|
32
|
+
if (!secp256k1.privateKeyVerify(key)) {
|
|
33
|
+
throw new Error('Invalid private key provided')
|
|
34
|
+
}
|
|
35
|
+
return key
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const generatePrivateKey = (): Uint8Array => {
|
|
39
|
+
let key: Uint8Array
|
|
40
|
+
do {
|
|
41
|
+
key = randomBytes(32)
|
|
42
|
+
} while (!secp256k1.privateKeyVerify(key))
|
|
43
|
+
return key
|
|
44
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { expect } from 'vitest'
|
|
2
|
+
import { walletTest } from './fixtures'
|
|
3
|
+
|
|
4
|
+
walletTest('Fund wallet 1', async ({ fundedWallet }) => {
|
|
5
|
+
expect(fundedWallet).toBeDefined()
|
|
6
|
+
})
|
|
7
|
+
|
|
8
|
+
walletTest('Fund wallet 2', async ({ fundedWallet }) => {
|
|
9
|
+
expect(fundedWallet).toBeDefined()
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
walletTest('Fund wallet 3', async ({ fundedWallet }) => {
|
|
13
|
+
expect(fundedWallet).toBeDefined()
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
walletTest('Fund wallet 4', async ({ fundedWallet }) => {
|
|
17
|
+
expect(fundedWallet).toBeDefined()
|
|
18
|
+
})
|
|
@@ -1,24 +1,40 @@
|
|
|
1
1
|
import { expect, test } from 'vitest'
|
|
2
2
|
import { TestFedimintWallet } from './TestFedimintWallet'
|
|
3
|
+
import { WorkerClient } from '../worker/WorkerClient'
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Adds Fixtures for setting up and tearing down a test FedimintWallet instance
|
|
6
7
|
*/
|
|
7
|
-
export const walletTest = test.extend<{
|
|
8
|
+
export const walletTest = test.extend<{
|
|
9
|
+
wallet: TestFedimintWallet
|
|
10
|
+
fundedWallet: TestFedimintWallet
|
|
11
|
+
}>({
|
|
8
12
|
wallet: async ({}, use) => {
|
|
9
13
|
const randomTestingId = Math.random().toString(36).substring(2, 15)
|
|
10
14
|
const wallet = new TestFedimintWallet()
|
|
11
15
|
expect(wallet).toBeDefined()
|
|
12
|
-
|
|
16
|
+
const inviteCode = await wallet.testing.getInviteCode()
|
|
13
17
|
await expect(
|
|
14
|
-
wallet.joinFederation(
|
|
18
|
+
wallet.joinFederation(inviteCode, randomTestingId),
|
|
15
19
|
).resolves.toBeUndefined()
|
|
20
|
+
|
|
16
21
|
await use(wallet)
|
|
17
22
|
|
|
18
23
|
// clear up browser resources
|
|
19
24
|
await wallet.cleanup()
|
|
25
|
+
|
|
20
26
|
// remove the wallet db
|
|
21
|
-
|
|
27
|
+
await new Promise((resolve) => {
|
|
28
|
+
const request = indexedDB.deleteDatabase(randomTestingId)
|
|
29
|
+
request.onsuccess = resolve
|
|
30
|
+
request.onerror = resolve
|
|
31
|
+
request.onblocked = resolve
|
|
32
|
+
})
|
|
33
|
+
},
|
|
34
|
+
|
|
35
|
+
fundedWallet: async ({ wallet }, use) => {
|
|
36
|
+
await wallet.fundWallet(10_000)
|
|
37
|
+
await use(wallet)
|
|
22
38
|
},
|
|
23
39
|
})
|
|
24
40
|
|
|
@@ -28,6 +44,7 @@ export const walletTest = test.extend<{ wallet: TestFedimintWallet }>({
|
|
|
28
44
|
export const workerTest = test.extend<{
|
|
29
45
|
worker: Worker
|
|
30
46
|
clientName: string
|
|
47
|
+
workerClient: WorkerClient
|
|
31
48
|
}>({
|
|
32
49
|
worker: async ({}, use) => {
|
|
33
50
|
const worker = new Worker(new URL('../worker/worker.js', import.meta.url), {
|
|
@@ -40,4 +57,8 @@ export const workerTest = test.extend<{
|
|
|
40
57
|
const randomTestingId = Math.random().toString(36).substring(2, 15)
|
|
41
58
|
await use(randomTestingId)
|
|
42
59
|
},
|
|
60
|
+
workerClient: async ({}, use) => {
|
|
61
|
+
const workerClient = new WorkerClient()
|
|
62
|
+
await use(workerClient)
|
|
63
|
+
},
|
|
43
64
|
})
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
type Alias<T> = T & {}
|
|
2
|
+
type Resolve<T> = T & unknown
|
|
3
|
+
|
|
4
|
+
type Seconds = Alias<number>
|
|
5
|
+
type Nanos = Alias<number>
|
|
6
|
+
|
|
7
|
+
type Duration = {
|
|
8
|
+
nanos: Nanos
|
|
9
|
+
secs: Seconds
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
type MSats = Alias<number>
|
|
13
|
+
type Sats = Alias<number>
|
|
14
|
+
|
|
15
|
+
type JSONValue =
|
|
16
|
+
| string
|
|
17
|
+
| number
|
|
18
|
+
| boolean
|
|
19
|
+
| null
|
|
20
|
+
| { [key: string]: JSONValue }
|
|
21
|
+
| JSONValue[]
|
|
22
|
+
|
|
23
|
+
type JSONObject = Record<string, JSONValue>
|
|
24
|
+
|
|
25
|
+
export { Alias, Resolve, Duration, MSats, Sats, JSONValue, JSONObject }
|
package/src/types/wallet.ts
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
|
+
import { MSats, Duration, JSONValue } from './utils'
|
|
2
|
+
|
|
1
3
|
const MODULE_KINDS = ['', 'ln', 'mint'] as const
|
|
2
4
|
type ModuleKind = (typeof MODULE_KINDS)[number]
|
|
3
|
-
type JSONValue =
|
|
4
|
-
| string
|
|
5
|
-
| number
|
|
6
|
-
| boolean
|
|
7
|
-
| null
|
|
8
|
-
| { [key: string]: JSONValue }
|
|
9
|
-
| JSONValue[]
|
|
10
|
-
|
|
11
|
-
type JSONObject = Record<string, JSONValue>
|
|
12
|
-
|
|
13
5
|
type GatewayInfo = {
|
|
14
6
|
gateway_id: string
|
|
15
7
|
api: string
|
|
@@ -21,10 +13,7 @@ type GatewayInfo = {
|
|
|
21
13
|
type LightningGateway = {
|
|
22
14
|
info: GatewayInfo
|
|
23
15
|
vetted: boolean
|
|
24
|
-
ttl:
|
|
25
|
-
nanos: number
|
|
26
|
-
secs: number
|
|
27
|
-
}
|
|
16
|
+
ttl: Duration
|
|
28
17
|
}
|
|
29
18
|
|
|
30
19
|
type RouteHint = {
|
|
@@ -38,7 +27,7 @@ type FeeToAmount = {
|
|
|
38
27
|
type OutgoingLightningPayment = {
|
|
39
28
|
payment_type: PayType
|
|
40
29
|
contract_id: string
|
|
41
|
-
fee:
|
|
30
|
+
fee: MSats
|
|
42
31
|
}
|
|
43
32
|
|
|
44
33
|
type PayType = {
|
|
@@ -100,19 +89,12 @@ type ReissueExternalNotesState =
|
|
|
100
89
|
| 'Done'
|
|
101
90
|
| { Failed: { error: string } }
|
|
102
91
|
|
|
103
|
-
type Duration = {
|
|
104
|
-
nanos: number
|
|
105
|
-
secs: number
|
|
106
|
-
}
|
|
107
|
-
|
|
108
92
|
type MintSpendNotesResponse = {
|
|
109
93
|
notes: string
|
|
110
94
|
operation_id: string
|
|
111
95
|
}
|
|
112
96
|
|
|
113
97
|
export {
|
|
114
|
-
JSONValue,
|
|
115
|
-
JSONObject,
|
|
116
98
|
LightningGateway,
|
|
117
99
|
RouteHint,
|
|
118
100
|
FeeToAmount,
|
|
@@ -128,6 +110,5 @@ export {
|
|
|
128
110
|
ModuleKind,
|
|
129
111
|
CancelFunction,
|
|
130
112
|
ReissueExternalNotesState,
|
|
131
|
-
Duration,
|
|
132
113
|
MintSpendNotesResponse,
|
|
133
114
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type {
|
|
2
2
|
CancelFunction,
|
|
3
3
|
JSONValue,
|
|
4
4
|
ModuleKind,
|
|
5
5
|
StreamError,
|
|
6
6
|
StreamResult,
|
|
7
|
-
|
|
7
|
+
WorkerMessageType,
|
|
8
|
+
} from '../types'
|
|
8
9
|
import { logger } from '../utils/logger'
|
|
9
10
|
|
|
10
11
|
// Handles communication with the wasm worker
|
|
@@ -13,7 +14,7 @@ export class WorkerClient {
|
|
|
13
14
|
private worker: Worker
|
|
14
15
|
private requestCounter = 0
|
|
15
16
|
private requestCallbacks = new Map<number, (value: any) => void>()
|
|
16
|
-
private initPromise: Promise<
|
|
17
|
+
private initPromise: Promise<boolean> | undefined = undefined
|
|
17
18
|
|
|
18
19
|
constructor() {
|
|
19
20
|
// Must create the URL inside the constructor for vite
|
|
@@ -65,26 +66,32 @@ export class WorkerClient {
|
|
|
65
66
|
// TODO: Handle timeouts
|
|
66
67
|
// TODO: Handle multiple errors
|
|
67
68
|
|
|
68
|
-
sendSingleMessage
|
|
69
|
+
sendSingleMessage<
|
|
70
|
+
Response extends JSONValue = JSONValue,
|
|
71
|
+
Payload extends JSONValue = JSONValue,
|
|
72
|
+
>(type: WorkerMessageType, payload?: Payload): Promise<Response> {
|
|
69
73
|
return new Promise((resolve, reject) => {
|
|
70
74
|
const requestId = ++this.requestCounter
|
|
71
75
|
logger.debug('WorkerClient - sendSingleMessage', requestId, type, payload)
|
|
72
|
-
this.requestCallbacks.set(
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
)
|
|
79
|
-
if (response.data) resolve(response.data)
|
|
80
|
-
else if (response.error) reject(response.error)
|
|
81
|
-
else
|
|
82
|
-
logger.warn(
|
|
83
|
-
'WorkerClient - sendSingleMessage - malformed response',
|
|
76
|
+
this.requestCallbacks.set(
|
|
77
|
+
requestId,
|
|
78
|
+
(response: StreamResult<Response>) => {
|
|
79
|
+
this.requestCallbacks.delete(requestId)
|
|
80
|
+
logger.debug(
|
|
81
|
+
'WorkerClient - sendSingleMessage - response',
|
|
84
82
|
requestId,
|
|
85
83
|
response,
|
|
86
84
|
)
|
|
87
|
-
|
|
85
|
+
if (response.data) resolve(response.data)
|
|
86
|
+
else if (response.error) reject(response.error)
|
|
87
|
+
else
|
|
88
|
+
logger.warn(
|
|
89
|
+
'WorkerClient - sendSingleMessage - malformed response',
|
|
90
|
+
requestId,
|
|
91
|
+
response,
|
|
92
|
+
)
|
|
93
|
+
},
|
|
94
|
+
)
|
|
88
95
|
this.worker.postMessage({ type, payload, requestId })
|
|
89
96
|
})
|
|
90
97
|
}
|
|
@@ -213,9 +220,10 @@ export class WorkerClient {
|
|
|
213
220
|
})
|
|
214
221
|
}
|
|
215
222
|
|
|
216
|
-
cleanup() {
|
|
217
|
-
this.
|
|
218
|
-
this.
|
|
223
|
+
async cleanup() {
|
|
224
|
+
await this.sendSingleMessage('cleanup')
|
|
225
|
+
this.requestCounter = 0
|
|
226
|
+
this.initPromise = undefined
|
|
219
227
|
this.requestCallbacks.clear()
|
|
220
228
|
}
|
|
221
229
|
|
package/src/worker/worker.js
CHANGED
|
@@ -80,6 +80,15 @@ self.onmessage = async (event) => {
|
|
|
80
80
|
rpcHandle.free()
|
|
81
81
|
streamCancelMap.delete(requestId)
|
|
82
82
|
}
|
|
83
|
+
} else if (type === 'cleanup') {
|
|
84
|
+
console.log('cleanup message received')
|
|
85
|
+
client?.free()
|
|
86
|
+
self.postMessage({
|
|
87
|
+
type: 'cleanup',
|
|
88
|
+
data: {},
|
|
89
|
+
requestId,
|
|
90
|
+
})
|
|
91
|
+
close()
|
|
83
92
|
} else {
|
|
84
93
|
self.postMessage({
|
|
85
94
|
type: 'error',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { expect } from 'vitest'
|
|
2
|
-
import { JSONObject } from '../types/wallet'
|
|
3
2
|
import { TESTING_INVITE } from '../test/TestingService'
|
|
4
|
-
import {
|
|
3
|
+
import { JSONObject } from '../types'
|
|
4
|
+
import { workerTest } from '../test/fixtures'
|
|
5
5
|
|
|
6
6
|
// Waits for a message of a given type from the worker
|
|
7
7
|
const waitForWorkerResponse = (
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FedimintWallet.d.ts","sourceRoot":"","sources":["../src/FedimintWallet.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAChB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAU,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAItD,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAc;IAEtB,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,WAAW,CAAA;IACjB,SAAS,EAAE,gBAAgB,CAAA;IAC3B,UAAU,EAAE,iBAAiB,CAAA;IAC7B,QAAQ,EAAE,eAAe,CAAA;IAEhC,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,OAAO,CAAiB;IAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;gBACS,IAAI,GAAE,OAAe;IAkB3B,UAAU;IAMV,WAAW;IAKX,IAAI,CAAC,UAAU,GAAE,MAA4B;IAc7C,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAA4B;IAkB1C;;;OAGG;IACG,OAAO;IAMb,MAAM;IAIN;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,QAAQ;CAI5B"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,wBAAwB,EACxB,OAAO,EACP,UAAU,EACV,oBAAoB,EACrB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,cAAc,EAAE,CAAA;AAEzB,YAAY,EACV,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,wBAAwB,EACxB,OAAO,EACP,UAAU,EACV,oBAAoB,GACrB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BalanceService.d.ts","sourceRoot":"","sources":["../../src/services/BalanceService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC;;;;GAIG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAExC;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC;;;;;;;;;;;;OAYG;IACH,gBAAgB,CACd,SAAS,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAe,EAC/C,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;CAY9C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FederationService.d.ts","sourceRoot":"","sources":["../../src/services/FederationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,qBAAa,iBAAiB;IAChB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;IAI/B,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIlC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAInD,cAAc,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAG7C"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { WorkerClient } from '../worker';
|
|
2
|
-
import { CreateBolt11Response, GatewayInfo, JSONObject, JSONValue, LightningGateway, LnPayState, LnReceiveState, OutgoingLightningPayment } from '../types/wallet';
|
|
3
|
-
export declare class LightningService {
|
|
4
|
-
private client;
|
|
5
|
-
constructor(client: WorkerClient);
|
|
6
|
-
createInvoiceWithGateway(amount: number, description: string, expiryTime: (number | null) | undefined, extraMeta: JSONObject | undefined, gatewayInfo: GatewayInfo): Promise<JSONValue>;
|
|
7
|
-
createInvoice(amount: number, description: string, expiryTime?: number | null, extraMeta?: JSONObject): Promise<CreateBolt11Response>;
|
|
8
|
-
payInvoiceWithGateway(invoice: string, gatewayInfo: GatewayInfo, extraMeta?: JSONObject): Promise<JSONValue>;
|
|
9
|
-
private _getDefaultGatewayInfo;
|
|
10
|
-
payInvoice(invoice: string, extraMeta?: JSONObject): Promise<OutgoingLightningPayment>;
|
|
11
|
-
subscribeLnPay(operationId: string, onSuccess?: (state: LnPayState) => void, onError?: (error: string) => void): import("../types/wallet").CancelFunction;
|
|
12
|
-
subscribeLnReceive(operationId: string, onSuccess?: (state: LnReceiveState) => void, onError?: (error: string) => void): import("../types/wallet").CancelFunction;
|
|
13
|
-
waitForReceive(operationId: string): Promise<LnReceiveState>;
|
|
14
|
-
getGateway(gatewayId?: string | null, forceInternal?: boolean): Promise<LightningGateway | null>;
|
|
15
|
-
listGateways(): Promise<LightningGateway[]>;
|
|
16
|
-
updateGatewayCache(): Promise<JSONValue>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=LightningService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LightningService.d.ts","sourceRoot":"","sources":["../../src/services/LightningService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,wBAAwB,EACzB,MAAM,iBAAiB,CAAA;AAExB,qBAAa,gBAAgB;IACf,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,wBAAwB,CAC5B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,MAAM,GAAG,IAAI,aAAO,EAChC,SAAS,EAAE,UAAU,YAAK,EAC1B,WAAW,EAAE,WAAW;IAWpB,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,MAAM,GAAG,IAAW,EAChC,SAAS,GAAE,UAAe,GACzB,OAAO,CAAC,oBAAoB,CAAC;IAY1B,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,SAAS,GAAE,UAAe;YASd,sBAAsB;IAK9B,UAAU,CACd,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,UAAe,GACzB,OAAO,CAAC,wBAAwB,CAAC;IAUpC,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAe,EACjD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAa7C,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAe,EACrD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAavC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAgB5D,UAAU,CACd,SAAS,GAAE,MAAM,GAAG,IAAW,EAC/B,aAAa,GAAE,OAAe,GAC7B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAO7B,YAAY,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAI3C,kBAAkB,IAAI,OAAO,CAAC,SAAS,CAAC;CAG/C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MintService.d.ts","sourceRoot":"","sources":["../../src/services/MintService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EACL,QAAQ,EACR,UAAU,EACV,SAAS,EACT,sBAAsB,EAEvB,MAAM,iBAAiB,CAAA;AAExB,qBAAa,WAAW;IACV,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzC,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,UAAe,GACzB,OAAO,CAAC,MAAM,CAAC;IAOlB,6BAA6B,CAC3B,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAe,EAChD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAavC,UAAU,CACd,SAAS,EAAE,MAAM,EAKjB,cAAc,GAAE,MAAM,GAAG,QAAY,EACrC,aAAa,GAAE,OAAe,EAC9B,SAAS,GAAE,SAAc,GACxB,OAAO,CAAC,sBAAsB,CAAC;IAyB5B,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMhD,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7D,mBAAmB,CACjB,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAe,EAChD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAavC,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;CAKnE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RecoveryService.d.ts","sourceRoot":"","sources":["../../src/services/RecoveryService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,qBAAa,eAAe;IACd,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3C,2BAA2B,CACzB,SAAS,EAAE,CAAC,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,IAAI,EACzE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAC/B,MAAM,IAAI;CAQd"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/types/wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,SAAS,qDAAsD,CAAA;AACrE,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAAU;gBAEX,KAAK,GAAE,QAAiB;IAIpC,QAAQ,CAAC,KAAK,EAAE,QAAQ;IAIxB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAOpC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IASlD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAIrC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAIpC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAIpC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAIrC,OAAO,CAAC,SAAS;CAYlB;AAED,eAAO,MAAM,MAAM,QAAe,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerClient.d.ts","sourceRoot":"","sources":["../../src/worker/WorkerClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EAEZ,MAAM,iBAAiB,CAAA;AAKxB,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,WAAW,CAA6B;;IAchD,UAAU;IAMV,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,mBAAmB;IAuB3B,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAwB5D;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SAAS,CACP,QAAQ,SAAS,SAAS,GAAG,SAAS,EACtC,IAAI,SAAS,SAAS,GAAG,SAAS,EAElC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,IAAI,EAClC,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,EAC5C,KAAK,GAAE,MAAM,IAAe,GAC3B,cAAc;YAoCH,eAAe;IA2C7B,SAAS,CAAC,QAAQ,SAAS,SAAS,GAAG,SAAS,EAC9C,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,QAAQ,CAAC;IAOpB,OAAO;IAOP,kBAAkB;IAGlB,sBAAsB,wBAnN6B,GAAG,KAAK,IAAI;CAsNhE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|