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.
Files changed (56) hide show
  1. package/dist/arbiter/client.d.ts +1 -0
  2. package/dist/arbiter/client.d.ts.map +1 -1
  3. package/dist/arbiter/client.js +5 -5
  4. package/dist/arbiter/client.js.map +1 -1
  5. package/dist/generated/accounts/merchantOperator.d.ts +2 -0
  6. package/dist/generated/accounts/merchantOperator.d.ts.map +1 -1
  7. package/dist/generated/accounts/merchantOperator.js +3 -1
  8. package/dist/generated/accounts/merchantOperator.js.map +1 -1
  9. package/dist/generated/instructions/addMerchantOperator.d.ts +15 -11
  10. package/dist/generated/instructions/addMerchantOperator.d.ts.map +1 -1
  11. package/dist/generated/instructions/addMerchantOperator.js +9 -4
  12. package/dist/generated/instructions/addMerchantOperator.js.map +1 -1
  13. package/dist/generated/instructions/disputeAuthorization.d.ts +19 -15
  14. package/dist/generated/instructions/disputeAuthorization.d.ts.map +1 -1
  15. package/dist/generated/instructions/disputeAuthorization.js +9 -4
  16. package/dist/generated/instructions/disputeAuthorization.js.map +1 -1
  17. package/dist/generated/instructions/registerArbiter.d.ts +15 -11
  18. package/dist/generated/instructions/registerArbiter.d.ts.map +1 -1
  19. package/dist/generated/instructions/registerArbiter.js +9 -4
  20. package/dist/generated/instructions/registerArbiter.js.map +1 -1
  21. package/dist/generated/instructions/removeMerchantOperator.d.ts +14 -10
  22. package/dist/generated/instructions/removeMerchantOperator.d.ts.map +1 -1
  23. package/dist/generated/instructions/removeMerchantOperator.js +9 -4
  24. package/dist/generated/instructions/removeMerchantOperator.js.map +1 -1
  25. package/dist/generated/programs/phygitalPayment.d.ts +3 -3
  26. package/dist/generated/programs/phygitalPayment.d.ts.map +1 -1
  27. package/dist/generated/programs/phygitalPayment.js +12 -3
  28. package/dist/generated/programs/phygitalPayment.js.map +1 -1
  29. package/dist/merchant/client.d.ts.map +1 -1
  30. package/dist/merchant/client.js +12 -0
  31. package/dist/merchant/client.js.map +1 -1
  32. package/dist/wallet/client.d.ts +1 -0
  33. package/dist/wallet/client.d.ts.map +1 -1
  34. package/dist/wallet/client.js +17 -15
  35. package/dist/wallet/client.js.map +1 -1
  36. package/package.json +1 -1
  37. package/dist/core/provider-fee-payer.d.ts +0 -5
  38. package/dist/core/provider-fee-payer.d.ts.map +0 -1
  39. package/dist/core/provider-fee-payer.js +0 -17
  40. package/dist/core/provider-fee-payer.js.map +0 -1
  41. package/dist/server/deferred-flusher.d.ts +0 -19
  42. package/dist/server/deferred-flusher.d.ts.map +0 -1
  43. package/dist/server/deferred-flusher.js +0 -57
  44. package/dist/server/deferred-flusher.js.map +0 -1
  45. package/dist/server/fee-budget.d.ts +0 -22
  46. package/dist/server/fee-budget.d.ts.map +0 -1
  47. package/dist/server/fee-budget.js +0 -58
  48. package/dist/server/fee-budget.js.map +0 -1
  49. package/dist/server/fee-payer.d.ts +0 -27
  50. package/dist/server/fee-payer.d.ts.map +0 -1
  51. package/dist/server/fee-payer.js +0 -167
  52. package/dist/server/fee-payer.js.map +0 -1
  53. package/dist/server/queue.d.ts +0 -43
  54. package/dist/server/queue.d.ts.map +0 -1
  55. package/dist/server/queue.js +0 -105
  56. 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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"}
@@ -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"}
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/server/queue.ts"],"names":[],"mappings":"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"}