@dvmkit/sdk 0.1.5-rc.9 → 0.2.1-rc.9
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 +14 -0
- package/dist/{chunk-MLRCSJYX.js → chunk-2D75MNNG.js} +178 -550
- package/dist/{chunk-BIFLRKMO.js → chunk-2KGG5ORW.js} +1 -1
- package/dist/{chunk-27V2ILSR.js → chunk-4A2RAKCW.js} +2 -2
- package/dist/{chunk-5URG56JJ.js → chunk-A4CM2BD3.js} +18 -2
- package/dist/{chunk-L4OYF4DQ.js → chunk-AJNFXR7J.js} +2 -2
- package/dist/{chunk-S3XAHZQY.js → chunk-COYKJRMM.js} +24 -3
- package/dist/{chunk-UP2F5RRT.js → chunk-D7YQYLLM.js} +1 -4
- package/dist/{chunk-CEOAHV2I.js → chunk-FDKRXOZO.js} +0 -5
- package/dist/{chunk-TQWGQCNV.js → chunk-FPOLJRBF.js} +5 -5
- package/dist/{chunk-BTZY7VPH.js → chunk-GAIPXGM3.js} +1 -1
- package/dist/{chunk-SSSZUVWM.js → chunk-JAHRF5X3.js} +89 -39
- package/dist/{chunk-5PBOA25N.js → chunk-JNKQZVZX.js} +472 -617
- package/dist/{chunk-U6M3ATSG.js → chunk-MD3H3BF7.js} +40 -6
- package/dist/{chunk-CGKZDODG.js → chunk-MG67KXU7.js} +0 -5
- package/dist/{chunk-KSQEFVFJ.js → chunk-MMCE7XSR.js} +1 -1
- package/dist/{chunk-JZWELPFH.js → chunk-N5B66UOS.js} +4 -16
- package/dist/{chunk-BIP6G74V.js → chunk-O6D72KYA.js} +10 -10
- package/dist/{chunk-KXCKFIJI.js → chunk-QX52F6IB.js} +1 -1
- package/dist/{chunk-RW5LP57K.js → chunk-SDK6KDJN.js} +0 -1
- package/dist/{chunk-KVEHHC7W.js → chunk-U5VNEALI.js} +24 -13
- package/dist/{chunk-FROTD5XQ.js → chunk-V5ZRATJH.js} +2 -3
- package/dist/{chunk-EVBK675R.js → chunk-VA7GT6C6.js} +31 -37
- package/dist/{chunk-2UUXIIOC.js → chunk-VIVXB4CD.js} +3 -3
- package/dist/{chunk-6BQM7TOW.js → chunk-XMDQOXHO.js} +11 -38
- package/dist/{chunk-DMNLFNTW.js → chunk-XRLKGCAW.js} +2 -2
- package/dist/{chunk-M7LHFJ5K.js → chunk-XZ7LW4S5.js} +2 -3
- package/dist/{chunk-E4EVGPDX.js → chunk-YO56VCTQ.js} +0 -6
- package/dist/{credit-ledger-2DFQHNLB.js → credit-ledger-MHA652TV.js} +2 -2
- package/dist/{credit-menu-enwMbn55.d.ts → credit-menu-kDA9RVzD.d.ts} +524 -1077
- package/dist/{fx-D860pZvP.d.ts → fx-DhyT1Cjh.d.ts} +38 -82
- package/dist/index.d.ts +11 -26
- package/dist/index.js +2 -2
- package/dist/internal/caller.d.ts +644 -2140
- package/dist/internal/caller.js +32 -66
- package/dist/internal/server.d.ts +40 -90
- package/dist/internal/server.js +16 -16
- package/dist/{job-store-BUGqvCfL.d.ts → job-store-D3CcZp_g.d.ts} +73 -66
- package/dist/{lightning-backend-BozcevPZ.d.ts → lightning-backend-BhsyrBLa.d.ts} +19 -41
- package/dist/{memory-credit-ledger-MNUOTQO5.js → memory-credit-ledger-BYBATRN3.js} +3 -3
- package/dist/{mpp-secret-state-WNAQQ6K4.js → mpp-secret-state-B5GCILVH.js} +1 -1
- package/dist/{mpp-setup-4FJD6ZHV.js → mpp-setup-MPP3ST5X.js} +1 -1
- package/dist/{payout-reporter-RG6XNGPI.js → payout-reporter-KEMUXEUO.js} +2 -2
- package/dist/{postgres-consumed-credential-store-VHBT4KEA.js → postgres-consumed-credential-store-6N2V5MJN.js} +2 -2
- package/dist/postgres-job-store-MZZZMS2B.js +7 -0
- package/dist/postgres-kv-store-DXGTKXLU.js +7 -0
- package/dist/{postgres-replay-store-UJXRT6VO.js → postgres-replay-store-ZF4JNZOW.js} +2 -2
- package/dist/{pricing-4CEB34RM.js → pricing-MU5GNUJZ.js} +1 -1
- package/dist/{processed-payment-store-HAA4SFNK.js → processed-payment-store-GKMAWOM3.js} +2 -2
- package/dist/revenue-reporter-O75BGYFK.js +7 -0
- package/dist/server/index.d.ts +47 -159
- package/dist/server/index.js +67 -138
- package/dist/{ssrf-DbFkpDv0.d.ts → ssrf-dMooihtY.d.ts} +1 -2
- package/dist/{step-cache-5dljDqrQ.d.ts → step-cache-v2yhyhSZ.d.ts} +617 -1532
- package/dist/{tempo-charge-store-RIFTALZK.js → tempo-charge-store-SDTUNTKA.js} +2 -2
- package/dist/{tempo-lifecycle-DFIXQ54Q.js → tempo-lifecycle-G5SB4HFC.js} +5 -5
- package/dist/{tempo-session-store-2JNOKJGX.js → tempo-session-store-WF3VZXNF.js} +2 -2
- package/dist/{tempo-wallet-4QKSV65O.js → tempo-wallet-ZFNUDFVO.js} +2 -2
- package/dist/testing/index.d.ts +5 -15
- package/dist/testing/index.js +4 -11
- package/dist/{usd-DoRuAckA.d.ts → usd-Cu9G6xv2.d.ts} +14 -16
- package/dist/{wallet-CJC8lwxx.d.ts → wallet-Dwjs5n_M.d.ts} +1 -1
- package/dist/{x402-5H27DCBE.js → x402-CI6PSHNO.js} +5 -5
- package/package.json +3 -2
- package/dist/postgres-job-store-3RAXMNSY.js +0 -7
- package/dist/postgres-kv-store-JFBDP5IP.js +0 -7
- package/dist/revenue-reporter-ASZ7SHHH.js +0 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { W as JsonValue } from './step-cache-
|
|
1
|
+
import { W as JsonValue } from './step-cache-v2yhyhSZ.js';
|
|
2
2
|
|
|
3
3
|
declare const lockPubkeyBrand: unique symbol;
|
|
4
4
|
/**
|
|
@@ -23,11 +23,9 @@ type LockPubkey = string & {
|
|
|
23
23
|
declare function toLockPubkey(raw: string): LockPubkey;
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
* Canonical deploy-time attestation payload
|
|
26
|
+
* Canonical deploy-time attestation payload. One signature serves
|
|
27
27
|
* both auth-on-deploy and the `/v1/info#builder` attestation — the bytes the
|
|
28
|
-
* builder signs are the canonical JSON of this object.
|
|
29
|
-
* also requires the coordinated fleet-before-caller release note in
|
|
30
|
-
* `public compatibility guide`.
|
|
28
|
+
* builder signs are the canonical JSON of this object.
|
|
31
29
|
*/
|
|
32
30
|
interface AttestationPayload {
|
|
33
31
|
/** Immutable platform or self-hosted DVM identifier this attestation applies to. */
|
|
@@ -35,12 +33,12 @@ interface AttestationPayload {
|
|
|
35
33
|
/** DVM slug the attestation applies to (must match the deploy request's slug). */
|
|
36
34
|
slug: string;
|
|
37
35
|
/** sha256(`canonicaliseForSigning(capabilities)`) hex. Binds the attestation
|
|
38
|
-
*
|
|
36
|
+
* to the capability shape declared at deploy time. */
|
|
39
37
|
capabilities_hash: string;
|
|
40
38
|
/** Builder identity x-only secp256k1 pubkey, hex (32 bytes / 64 chars). */
|
|
41
39
|
builder_pubkey: string;
|
|
42
40
|
/**
|
|
43
|
-
* Per-DVM receipt-signing x-only pubkey, hex
|
|
41
|
+
* Per-DVM receipt-signing x-only pubkey, hex. Binds the key the
|
|
44
42
|
* deployed DVM signs job receipts with to the cold builder identity: the
|
|
45
43
|
* builder signs this payload, so a receipt verifying under
|
|
46
44
|
* `receipt_pubkey` inherits the builder's authority.
|
|
@@ -54,14 +52,12 @@ interface AttestationPayload {
|
|
|
54
52
|
/** Unix seconds at which the attestation was signed. */
|
|
55
53
|
deployed_at: number;
|
|
56
54
|
}
|
|
57
|
-
/** Result of {@link generateIdentity}: hex pubkey + hex secret. */
|
|
58
55
|
interface BuilderIdentityKeypair {
|
|
59
56
|
/** secp256k1 BIP-340 x-only pubkey, 32 bytes hex (64 chars). */
|
|
60
57
|
pubkey: string;
|
|
61
58
|
/** secp256k1 secret, 32 bytes hex (64 chars). */
|
|
62
59
|
secret: string;
|
|
63
60
|
}
|
|
64
|
-
/** Generate a fresh BIP-340 Schnorr keypair for builder identity. */
|
|
65
61
|
declare function generateIdentity(): BuilderIdentityKeypair;
|
|
66
62
|
/**
|
|
67
63
|
* Read the builder identity secret from `~/.dvmkit/builder.key`. Returns
|
|
@@ -96,7 +92,7 @@ declare function writeIdentity(keypair: BuilderIdentityKeypair, opts?: {
|
|
|
96
92
|
*/
|
|
97
93
|
declare function hashCapabilities(capabilities: JsonValue): string;
|
|
98
94
|
/**
|
|
99
|
-
* Assemble the deploy-time attestation payload
|
|
95
|
+
* Assemble the deploy-time attestation payload. `deployedAt`
|
|
100
96
|
* defaults to the current Unix second; tests can pin it for reproducibility.
|
|
101
97
|
*/
|
|
102
98
|
declare function buildAttestation(args: {
|
|
@@ -104,8 +100,8 @@ declare function buildAttestation(args: {
|
|
|
104
100
|
slug: string;
|
|
105
101
|
capabilities: JsonValue;
|
|
106
102
|
builderPubkey: string;
|
|
107
|
-
/** Receipt-signing pubkey to attest
|
|
108
|
-
*
|
|
103
|
+
/** Receipt-signing pubkey to attest. Omitted when the deploy path
|
|
104
|
+
* can't provision the matching `DVMKIT_RECEIPT_KEY`. */
|
|
109
105
|
receiptPubkey?: string;
|
|
110
106
|
deployedAt?: number;
|
|
111
107
|
}): AttestationPayload;
|
|
@@ -126,7 +122,7 @@ declare function verifyAttestation(payload: AttestationPayload, signatureHex: st
|
|
|
126
122
|
|
|
127
123
|
/**
|
|
128
124
|
* Per-method amount limits a mint advertises on its NUT-4 / NUT-5 bolt11/sat
|
|
129
|
-
* entry
|
|
125
|
+
* entry. Both values are in the method's own unit — `sat` here,
|
|
130
126
|
* never msats.
|
|
131
127
|
*
|
|
132
128
|
* `null` means the mint advertised nothing in that direction, which reads as
|
|
@@ -140,9 +136,7 @@ interface MintAmountBounds {
|
|
|
140
136
|
/** Largest amount the mint will quote, or `null` when unadvertised. */
|
|
141
137
|
maxSats: number | null;
|
|
142
138
|
}
|
|
143
|
-
/** Error categories returned when a mint health probe fails. */
|
|
144
139
|
type HealthErrorCode = "timeout" | "http_error" | "network" | "parse_error" | "missing_fields";
|
|
145
|
-
/** Outcome of a single health probe against one mint. */
|
|
146
140
|
interface MintHealthCheckResult {
|
|
147
141
|
/** Mint URL exactly as passed in (not normalised). */
|
|
148
142
|
mintUrl: string;
|
|
@@ -150,9 +144,7 @@ interface MintHealthCheckResult {
|
|
|
150
144
|
ok: boolean;
|
|
151
145
|
/** Wall-clock duration of the successful (or final failed) attempt in ms. */
|
|
152
146
|
latencyMs: number;
|
|
153
|
-
/** NUT-06 mint pubkey when present. */
|
|
154
147
|
pubkey?: string;
|
|
155
|
-
/** NUT-06 mint version string (e.g. "Nutshell/0.20.0") when present. */
|
|
156
148
|
version?: string;
|
|
157
149
|
/** Sorted list of NUT keys the mint declares support for. */
|
|
158
150
|
supportedNuts?: string[];
|
|
@@ -167,7 +159,7 @@ interface MintHealthCheckResult {
|
|
|
167
159
|
* is not switched off (`disabled: true`). Distinct from
|
|
168
160
|
* {@link bolt11SatMintSupported}, which only asks whether the method exists:
|
|
169
161
|
* a mint in melt-only recovery keeps advertising the method and turns the
|
|
170
|
-
* flag on. Consulted when picking a funding default
|
|
162
|
+
* flag on. Consulted when picking a funding default.
|
|
171
163
|
*/
|
|
172
164
|
mintingEnabled?: boolean;
|
|
173
165
|
/** Same question for NUT-05 (melt) — whether the mint can currently pay out. */
|
|
@@ -176,12 +168,11 @@ interface MintHealthCheckResult {
|
|
|
176
168
|
* True when the mint can currently serve `/v1/swap` — see {@link canSwap} for
|
|
177
169
|
* why an unadvertised NUT-3 reads as `true`. This is what a per-call spend
|
|
178
170
|
* needs, so a `false` here is the reason a spend routes around this mint
|
|
179
|
-
* (internal-review).
|
|
180
171
|
*/
|
|
181
172
|
swapEnabled?: boolean;
|
|
182
173
|
/**
|
|
183
174
|
* Amount limits the mint advertises for issuing (NUT-04 bolt11/sat), in sats
|
|
184
|
-
*
|
|
175
|
+
* Consulted when picking a funding default and when refusing an
|
|
185
176
|
* amount locally, so a fund outside the range never opens a Lightning quote.
|
|
186
177
|
*/
|
|
187
178
|
mintAmountBounds?: MintAmountBounds;
|
|
@@ -191,7 +182,7 @@ interface MintHealthCheckResult {
|
|
|
191
182
|
* True when the mint passes the full {@link assertNutSupport} gate — every
|
|
192
183
|
* required NUT present (not `supported: false`) and bolt11/sat on NUT-4 +
|
|
193
184
|
* NUT-5. The runtime `MintHealthTracker` treats a mint as healthy only when
|
|
194
|
-
* this is true, reproducing the boot-time NUT gate post-`listen
|
|
185
|
+
* this is true, reproducing the boot-time NUT gate post-`listen`.
|
|
195
186
|
*/
|
|
196
187
|
nutCompliant?: boolean;
|
|
197
188
|
/** Raw `nuts` object from the `/v1/info` response. Used by `assertNutSupport`. */
|
|
@@ -202,7 +193,6 @@ interface MintHealthCheckResult {
|
|
|
202
193
|
message: string;
|
|
203
194
|
};
|
|
204
195
|
}
|
|
205
|
-
/** Tunables for `checkMintHealth`. */
|
|
206
196
|
interface CheckMintHealthOptions {
|
|
207
197
|
/** Per-attempt timeout in ms. Default: 5000. */
|
|
208
198
|
timeoutMs?: number;
|
|
@@ -221,11 +211,10 @@ interface CheckMintHealthOptions {
|
|
|
221
211
|
declare function checkMintHealth(mintUrl: string, opts?: CheckMintHealthOptions): Promise<MintHealthCheckResult>;
|
|
222
212
|
/**
|
|
223
213
|
* Whether the mint can currently serve `/v1/swap` — the operation every
|
|
224
|
-
* per-call Cashu payment depends on
|
|
214
|
+
* per-call Cashu payment depends on.
|
|
225
215
|
*
|
|
226
216
|
* **An absent NUT-3 means yes.** Swap is a baseline mint operation and healthy
|
|
227
|
-
* mints do not enumerate it — neither coinos nor lnvoltz advertises a `"3"` key
|
|
228
|
-
* (see `public design rationale`).
|
|
217
|
+
* mints do not enumerate it — neither coinos nor lnvoltz advertises a `"3"` key.
|
|
229
218
|
* Reading silence as "incapable" would rule out every working mint.
|
|
230
219
|
*
|
|
231
220
|
* A mint that has *switched swaps off* does say so: a mint in melt-only
|
|
@@ -250,17 +239,15 @@ declare function amountBoundsVerdict(sats: number, bounds?: MintAmountBounds): A
|
|
|
250
239
|
/**
|
|
251
240
|
* Assert that a mint's NUT-06 `nuts` object advertises all required capabilities.
|
|
252
241
|
* Two-phase check:
|
|
253
|
-
*
|
|
254
|
-
*
|
|
255
|
-
*
|
|
256
|
-
*
|
|
257
|
-
*
|
|
242
|
+
* 1. Dict-level — each NUT in `requiredNuts` must be present and not have
|
|
243
|
+
* `supported: false`. Throws naming the missing NUT numbers and mint URL.
|
|
244
|
+
* 2. Method-level — NUT-4 and NUT-5 must each advertise a `bolt11`/`sat`
|
|
245
|
+
* entry in their `methods` array (covers NUT-23). Throws naming the
|
|
246
|
+
* missing method.
|
|
258
247
|
*/
|
|
259
248
|
declare function assertNutSupport(mintUrl: string, nuts: Record<string, unknown>, requiredNuts?: readonly number[]): void;
|
|
260
249
|
|
|
261
|
-
/** A Lightning invoice created by the backend. */
|
|
262
250
|
interface CreatedInvoice {
|
|
263
|
-
/** BOLT11 payment request string. */
|
|
264
251
|
bolt11: string;
|
|
265
252
|
/** Payment hash (hex) — primary key for looking up settlement. */
|
|
266
253
|
paymentHash: string;
|
|
@@ -269,7 +256,6 @@ interface CreatedInvoice {
|
|
|
269
256
|
/** Unix milliseconds when the invoice expires. */
|
|
270
257
|
expiresAt: number;
|
|
271
258
|
}
|
|
272
|
-
/** Result of looking up an invoice's settlement status. */
|
|
273
259
|
interface InvoiceStatus {
|
|
274
260
|
/** True once the invoice has been paid and preimage is known. */
|
|
275
261
|
settled: boolean;
|
|
@@ -282,7 +268,6 @@ interface InvoiceStatus {
|
|
|
282
268
|
}
|
|
283
269
|
/** How a payment reached a settled state — see `payInvoiceReconciling`. */
|
|
284
270
|
type LightningPayOutcome = "paid" | "reconciled" | "republished";
|
|
285
|
-
/** Settled payment plus the audit trail of how it got there. */
|
|
286
271
|
interface LightningPayment {
|
|
287
272
|
/** Payment preimage (hex) — proof the invoice was paid. */
|
|
288
273
|
preimage: string;
|
|
@@ -291,7 +276,6 @@ interface LightningPayment {
|
|
|
291
276
|
/** Whether the wallet answered directly, or the outcome had to be reconciled. */
|
|
292
277
|
outcome: LightningPayOutcome;
|
|
293
278
|
}
|
|
294
|
-
/** Bounds for a read-only wallet transaction snapshot. */
|
|
295
279
|
interface LightningTransactionListOptions {
|
|
296
280
|
/** Include transactions created at or after this Unix timestamp (seconds). */
|
|
297
281
|
from?: number;
|
|
@@ -315,9 +299,7 @@ interface LightningTransactionSnapshot {
|
|
|
315
299
|
createdAt: number;
|
|
316
300
|
settledAt?: number;
|
|
317
301
|
}
|
|
318
|
-
/** What a backend can tell us about the wallet behind it. */
|
|
319
302
|
interface LightningWalletInfo {
|
|
320
|
-
/** Human-readable wallet name (e.g. "Alby Hub"). */
|
|
321
303
|
alias?: string;
|
|
322
304
|
/** Operations the wallet supports (e.g. `pay_invoice`, `lookup_invoice`). */
|
|
323
305
|
methods: string[];
|
|
@@ -330,7 +312,6 @@ interface LightningWalletInfo {
|
|
|
330
312
|
*/
|
|
331
313
|
walletReportedBudget?: Record<string, unknown>;
|
|
332
314
|
}
|
|
333
|
-
/** Abstraction over Lightning wallet backends (NWC, future). */
|
|
334
315
|
interface LightningBackend {
|
|
335
316
|
/**
|
|
336
317
|
* Pay a bolt11 invoice exactly once. Returns the preimage on success.
|
|
@@ -346,15 +327,12 @@ interface LightningBackend {
|
|
|
346
327
|
payInvoice(bolt11: string, amountMsats?: number): Promise<LightningPayment>;
|
|
347
328
|
/** Get wallet balance in millisatoshis. */
|
|
348
329
|
getBalance(): Promise<number>;
|
|
349
|
-
/** Get wallet info (name, supported methods, any volunteered budget fields). */
|
|
350
330
|
getInfo(): Promise<LightningWalletInfo>;
|
|
351
|
-
/** Create a new incoming invoice for the given amount and description. */
|
|
352
331
|
createInvoice(params: {
|
|
353
332
|
amountMsats: number;
|
|
354
333
|
description?: string;
|
|
355
334
|
expirySeconds?: number;
|
|
356
335
|
}): Promise<CreatedInvoice>;
|
|
357
|
-
/** Look up an invoice's settlement status by payment hash. */
|
|
358
336
|
lookupInvoice(paymentHash: string): Promise<InvoiceStatus>;
|
|
359
337
|
/**
|
|
360
338
|
* Return a bounded, credential-safe transaction snapshot when supported.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MemoryCreditLedger
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-U5VNEALI.js";
|
|
4
|
+
import "./chunk-2D75MNNG.js";
|
|
5
|
+
import "./chunk-COYKJRMM.js";
|
|
6
6
|
import "./chunk-C3MTFLC6.js";
|
|
7
7
|
export {
|
|
8
8
|
MemoryCreditLedger
|
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
PAYOUT_SNAPSHOT_INTERVAL_MS,
|
|
4
4
|
PayoutReporter,
|
|
5
5
|
PostgresX402BatchStore
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-XMDQOXHO.js";
|
|
7
|
+
import "./chunk-COYKJRMM.js";
|
|
8
8
|
export {
|
|
9
9
|
MemoryX402BatchStore,
|
|
10
10
|
PAYOUT_SNAPSHOT_INTERVAL_MS,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
withSdkInitLock
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-COYKJRMM.js";
|
|
4
4
|
|
|
5
5
|
// src/sdk/server/postgres-consumed-credential-store.ts
|
|
6
6
|
var DEFAULT_TABLE_NAME = "consumed_credentials";
|
|
@@ -27,7 +27,7 @@ var PostgresConsumedCredentialStore = class {
|
|
|
27
27
|
async init() {
|
|
28
28
|
await withSdkInitLock(this.pool, () => this.createTables());
|
|
29
29
|
}
|
|
30
|
-
/** The boot DDL itself — always runs under {@link withSdkInitLock}
|
|
30
|
+
/** The boot DDL itself — always runs under {@link withSdkInitLock}. */
|
|
31
31
|
async createTables() {
|
|
32
32
|
await this.pool.query(`
|
|
33
33
|
CREATE TABLE IF NOT EXISTS ${this.tableName} (
|
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
MemoryProcessedPaymentStore,
|
|
3
3
|
PostgresProcessedPaymentStore,
|
|
4
4
|
ProcessedPaymentReplayError
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-XRLKGCAW.js";
|
|
6
|
+
import "./chunk-COYKJRMM.js";
|
|
7
7
|
export {
|
|
8
8
|
MemoryProcessedPaymentStore,
|
|
9
9
|
PostgresProcessedPaymentStore,
|