phygital-payment-sdk 0.2.0 → 0.3.0
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/dist/arbiter/client.d.ts +1 -0
- package/dist/arbiter/client.d.ts.map +1 -1
- package/dist/arbiter/client.js +5 -5
- package/dist/arbiter/client.js.map +1 -1
- package/dist/generated/accounts/merchantOperator.d.ts +2 -0
- package/dist/generated/accounts/merchantOperator.d.ts.map +1 -1
- package/dist/generated/accounts/merchantOperator.js +3 -1
- package/dist/generated/accounts/merchantOperator.js.map +1 -1
- package/dist/generated/instructions/addMerchantOperator.d.ts +15 -11
- package/dist/generated/instructions/addMerchantOperator.d.ts.map +1 -1
- package/dist/generated/instructions/addMerchantOperator.js +9 -4
- package/dist/generated/instructions/addMerchantOperator.js.map +1 -1
- package/dist/generated/instructions/disputeAuthorization.d.ts +19 -15
- package/dist/generated/instructions/disputeAuthorization.d.ts.map +1 -1
- package/dist/generated/instructions/disputeAuthorization.js +9 -4
- package/dist/generated/instructions/disputeAuthorization.js.map +1 -1
- package/dist/generated/instructions/registerArbiter.d.ts +15 -11
- package/dist/generated/instructions/registerArbiter.d.ts.map +1 -1
- package/dist/generated/instructions/registerArbiter.js +9 -4
- package/dist/generated/instructions/registerArbiter.js.map +1 -1
- package/dist/generated/instructions/removeMerchantOperator.d.ts +14 -10
- package/dist/generated/instructions/removeMerchantOperator.d.ts.map +1 -1
- package/dist/generated/instructions/removeMerchantOperator.js +9 -4
- package/dist/generated/instructions/removeMerchantOperator.js.map +1 -1
- package/dist/generated/programs/phygitalPayment.d.ts +3 -3
- package/dist/generated/programs/phygitalPayment.d.ts.map +1 -1
- package/dist/generated/programs/phygitalPayment.js +12 -3
- package/dist/generated/programs/phygitalPayment.js.map +1 -1
- package/dist/merchant/client.d.ts.map +1 -1
- package/dist/merchant/client.js +12 -0
- package/dist/merchant/client.js.map +1 -1
- package/dist/wallet/client.d.ts +1 -0
- package/dist/wallet/client.d.ts.map +1 -1
- package/dist/wallet/client.js +17 -15
- package/dist/wallet/client.js.map +1 -1
- package/package.json +1 -1
- package/dist/core/provider-fee-payer.d.ts +0 -5
- package/dist/core/provider-fee-payer.d.ts.map +0 -1
- package/dist/core/provider-fee-payer.js +0 -17
- package/dist/core/provider-fee-payer.js.map +0 -1
- package/dist/server/deferred-flusher.d.ts +0 -19
- package/dist/server/deferred-flusher.d.ts.map +0 -1
- package/dist/server/deferred-flusher.js +0 -57
- package/dist/server/deferred-flusher.js.map +0 -1
- package/dist/server/fee-budget.d.ts +0 -22
- package/dist/server/fee-budget.d.ts.map +0 -1
- package/dist/server/fee-budget.js +0 -58
- package/dist/server/fee-budget.js.map +0 -1
- package/dist/server/fee-payer.d.ts +0 -27
- package/dist/server/fee-payer.d.ts.map +0 -1
- package/dist/server/fee-payer.js +0 -167
- package/dist/server/fee-payer.js.map +0 -1
- package/dist/server/queue.d.ts +0 -43
- package/dist/server/queue.d.ts.map +0 -1
- package/dist/server/queue.js +0 -105
- package/dist/server/queue.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fee-payer.js","sourceRoot":"","sources":["../../src/server/fee-payer.ts"],"names":[],"mappings":"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"}
|
package/dist/server/queue.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import type { RpcSubscriptions, Signature, SolanaRpcSubscriptionsApi, TransactionSigner } from "@solana/kit";
|
|
2
|
-
import { type PhygitalPaymentSdkError } from "../core/errors.js";
|
|
3
|
-
import { type WireInstruction } from "../core/instruction-codec.js";
|
|
4
|
-
import type { SdkRpc } from "../core/payment.js";
|
|
5
|
-
export interface QueuedItem {
|
|
6
|
-
id: string;
|
|
7
|
-
instructions: WireInstruction[];
|
|
8
|
-
executeBy: number;
|
|
9
|
-
enqueuedAt: number;
|
|
10
|
-
attempts: number;
|
|
11
|
-
reference?: string;
|
|
12
|
-
}
|
|
13
|
-
export interface QueueStore {
|
|
14
|
-
enqueue(item: Omit<QueuedItem, "id" | "attempts">): Promise<string>;
|
|
15
|
-
due(nowSecs: number, leadTimeSecs: number, limit: number): Promise<QueuedItem[]>;
|
|
16
|
-
markDone(id: string, signature: string): Promise<void>;
|
|
17
|
-
markFailed(id: string, error: string, retryable: boolean): Promise<void>;
|
|
18
|
-
}
|
|
19
|
-
export declare function createInMemoryQueueStore(): QueueStore & {
|
|
20
|
-
items(): QueuedItem[];
|
|
21
|
-
};
|
|
22
|
-
export interface QueueRunnerConfig {
|
|
23
|
-
rpc: SdkRpc;
|
|
24
|
-
rpcSubscriptions: RpcSubscriptions<SolanaRpcSubscriptionsApi>;
|
|
25
|
-
store: QueueStore;
|
|
26
|
-
feePayer: TransactionSigner;
|
|
27
|
-
leadTimeSecs?: number;
|
|
28
|
-
batchSize?: number;
|
|
29
|
-
maxAttempts?: number;
|
|
30
|
-
pollIntervalMs?: number;
|
|
31
|
-
onResult?: (result: {
|
|
32
|
-
item: QueuedItem;
|
|
33
|
-
signature?: Signature;
|
|
34
|
-
error?: PhygitalPaymentSdkError;
|
|
35
|
-
}) => void;
|
|
36
|
-
}
|
|
37
|
-
export interface QueueRunner {
|
|
38
|
-
tick(): Promise<number>;
|
|
39
|
-
start(): void;
|
|
40
|
-
stop(): void;
|
|
41
|
-
}
|
|
42
|
-
export declare function createQueueRunner(config: QueueRunnerConfig): QueueRunner;
|
|
43
|
-
//# sourceMappingURL=queue.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/server/queue.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,EACT,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAqC,KAAK,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,eAAe,EAAE,CAAC;IAEhC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IAKjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACjF,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E;AAGD,wBAAgB,wBAAwB,IAAI,UAAU,GAAG;IACvD,KAAK,IAAI,UAAU,EAAE,CAAC;CACvB,CA2CA;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;IAC9D,KAAK,EAAE,UAAU,CAAC;IAElB,QAAQ,EAAE,iBAAiB,CAAC;IAE5B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAClB,IAAI,EAAE,UAAU,CAAC;QACjB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,KAAK,CAAC,EAAE,uBAAuB,CAAC;KACjC,KAAK,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAE1B,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;CACd;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAgExE"}
|
package/dist/server/queue.js
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { ProgramExecutionError, toSdkError } from "../core/errors.js";
|
|
2
|
-
import { deserializeInstructions, } from "../core/instruction-codec.js";
|
|
3
|
-
import { nowSeconds } from "../core/time.js";
|
|
4
|
-
import { createTransactionRuntime } from "../core/transactions.js";
|
|
5
|
-
export function createInMemoryQueueStore() {
|
|
6
|
-
const rows = new Map();
|
|
7
|
-
const byReference = new Map();
|
|
8
|
-
let nextId = 1;
|
|
9
|
-
return {
|
|
10
|
-
enqueue(item) {
|
|
11
|
-
if (item.reference) {
|
|
12
|
-
const existing = byReference.get(item.reference);
|
|
13
|
-
if (existing)
|
|
14
|
-
return Promise.resolve(existing);
|
|
15
|
-
}
|
|
16
|
-
const id = `q_${nextId++}`;
|
|
17
|
-
rows.set(id, { ...item, id, attempts: 0, status: "pending" });
|
|
18
|
-
if (item.reference)
|
|
19
|
-
byReference.set(item.reference, id);
|
|
20
|
-
return Promise.resolve(id);
|
|
21
|
-
},
|
|
22
|
-
due(nowSecs, leadTimeSecs, limit) {
|
|
23
|
-
const ready = [...rows.values()]
|
|
24
|
-
.filter((row) => row.status === "pending" && row.executeBy <= nowSecs + leadTimeSecs)
|
|
25
|
-
.sort((a, b) => a.executeBy - b.executeBy)
|
|
26
|
-
.slice(0, limit);
|
|
27
|
-
return Promise.resolve(ready.map((row) => ({ ...row })));
|
|
28
|
-
},
|
|
29
|
-
markDone(id, signature) {
|
|
30
|
-
const row = rows.get(id);
|
|
31
|
-
if (row)
|
|
32
|
-
Object.assign(row, { status: "done", signature });
|
|
33
|
-
return Promise.resolve();
|
|
34
|
-
},
|
|
35
|
-
markFailed(id, error, retryable) {
|
|
36
|
-
const row = rows.get(id);
|
|
37
|
-
if (row) {
|
|
38
|
-
row.attempts += 1;
|
|
39
|
-
row.error = error;
|
|
40
|
-
if (!retryable)
|
|
41
|
-
row.status = "failed";
|
|
42
|
-
}
|
|
43
|
-
return Promise.resolve();
|
|
44
|
-
},
|
|
45
|
-
items: () => [...rows.values()].map((row) => ({ ...row })),
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
export function createQueueRunner(config) {
|
|
49
|
-
const runtime = createTransactionRuntime(config);
|
|
50
|
-
const leadTime = config.leadTimeSecs ?? 300;
|
|
51
|
-
const batchSize = config.batchSize ?? 25;
|
|
52
|
-
const maxAttempts = config.maxAttempts ?? 5;
|
|
53
|
-
let timer = null;
|
|
54
|
-
let ticking = false;
|
|
55
|
-
async function executeItem(item) {
|
|
56
|
-
const now = nowSeconds();
|
|
57
|
-
if (now > item.executeBy) {
|
|
58
|
-
await config.store.markFailed(item.id, `deadline ${item.executeBy} passed at ${now}`, false);
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
try {
|
|
62
|
-
const instructions = deserializeInstructions(item.instructions);
|
|
63
|
-
const signature = await runtime.sendAndConfirm(config.feePayer, instructions);
|
|
64
|
-
await config.store.markDone(item.id, signature);
|
|
65
|
-
config.onResult?.({ item, signature });
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
const sdkError = toSdkError(error);
|
|
69
|
-
const retryable = !(sdkError instanceof ProgramExecutionError) &&
|
|
70
|
-
item.attempts + 1 < maxAttempts;
|
|
71
|
-
await config.store.markFailed(item.id, sdkError.message, retryable);
|
|
72
|
-
config.onResult?.({ item, error: sdkError });
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
async function tick() {
|
|
76
|
-
if (ticking)
|
|
77
|
-
return 0;
|
|
78
|
-
ticking = true;
|
|
79
|
-
try {
|
|
80
|
-
const due = await config.store.due(nowSeconds(), leadTime, batchSize);
|
|
81
|
-
for (const item of due) {
|
|
82
|
-
await executeItem(item);
|
|
83
|
-
}
|
|
84
|
-
return due.length;
|
|
85
|
-
}
|
|
86
|
-
finally {
|
|
87
|
-
ticking = false;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return {
|
|
91
|
-
tick,
|
|
92
|
-
start() {
|
|
93
|
-
if (timer)
|
|
94
|
-
return;
|
|
95
|
-
timer = setInterval(() => void tick(), config.pollIntervalMs ?? 15_000);
|
|
96
|
-
},
|
|
97
|
-
stop() {
|
|
98
|
-
if (timer) {
|
|
99
|
-
clearInterval(timer);
|
|
100
|
-
timer = null;
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
//# sourceMappingURL=queue.js.map
|
package/dist/server/queue.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/server/queue.ts"],"names":[],"mappings":"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"}
|